Issue: CMPLX is not defined
Joel Sherrill
joel@rtems.org
Tue May 10 15:49:18 GMT 2022
On Tue, May 10, 2022 at 10:40 AM Pavel M <pavel.morozkin@gmail.com> wrote:
> Hi all,
>
> Issue: CMPLX is not defined.
>
> $ cat t649.c
> #if __STDC_NO_COMPLEX__ != 1
> #include <complex.h>
> #ifndef CMPLX
> #error
> #endif
> #endif
>
> $ gcc t649.c -std=c11 -pedantic -Wall -Wextra
> t649.c:4:2: error: #error
> 4 | #error
> | ^~~~~
>
> C11:
> > 7.3.9.3 The CMPLX macros
>
> Please fix.
>
If you really need these, they are simple to implement and patches are
always welcomed. This is the entirety of the implementation for glibc:
#if defined __USE_ISOC11 && __GNUC_PREREQ (4, 7)
/* Macros to expand into expression of specified complex type. */
# define CMPLX(x, y) __builtin_complex ((double) (x), (double) (y))
# define CMPLXF(x, y) __builtin_complex ((float) (x), (float) (y))
# ifndef __NO_LONG_DOUBLE_MATH
# define CMPLXL(x, y) __builtin_complex ((long double) (x), (long double)
(y))
# endif
#endif
Should be a simple patch to complex.h
--joel
More information about the Newlib
mailing list