Re: Issue: CMPLX is not defined
Joel Sherrill <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <CAF9ehCVg3=JiwrWR73QoEiUhD505f2apUwcTFsTFO3FfCkyBmw@mail.gmail.com> |
On Tue, May 10, 2022 at 10:40 AM Pavel M <[email protected]> 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