On Fri, 17 Mar 2023, Jakub Jelinek wrote:

> Hi!
> 
> As written in the PR, newlib headers aren't C11 compliant in that they
> don't define CMPLXF macro, and glibc before 2.16 doesn't define that
> either.  I think it is easier to use __builtin_complex directly, over
> another patch which keeps including complex.h but defines CMPLXF if it
> isn't defined, we want to test how forwprop behaves rather than what
> complex.h defines or doesn't define.
> 
> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

OK.

> 2023-03-17  Jakub Jelinek  <ja...@redhat.com>
> 
>       PR testsuite/109145
>       * gcc.dg/tree-ssa/forwprop-39.c: Don't include complex.h.
>       (foo): Use __builtin_complex rather than CMPLXF.
> 
> --- gcc/testsuite/gcc.dg/tree-ssa/forwprop-39.c.jj    2023-03-13 
> 10:18:59.545433477 +0100
> +++ gcc/testsuite/gcc.dg/tree-ssa/forwprop-39.c       2023-03-16 
> 18:49:40.563504504 +0100
> @@ -1,14 +1,12 @@
>  /* { dg-do compile } */
>  /* { dg-options "-std=c11 -O2 -fdump-tree-forwprop1 -fdump-tree-optimized" } 
> */
>  
> -#include <complex.h>
> -
>  extern void push1(void *p, float _Complex x);
>  void foo (void *q, float _Complex *x)
>  {
>    float r = __real *x;
>    float i = __imag *x;
> -  push1 (q, CMPLXF (r, i));
> +  push1 (q, __builtin_complex (r, i));
>  }
>  
>  /* { dg-final { scan-tree-dump-not "COMPLEX_EXPR" "forwprop1" } } */
> 
>       Jakub
> 
> 

-- 
Richard Biener <rguent...@suse.de>
SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg,
Germany; GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman;
HRB 36809 (AG Nuernberg)

Reply via email to