[libc-commits] [libc] [libc] Implement CMPLX related macros (PR #156344)

LLVM Continuous Integration via libc-commits libc-commits at lists.llvm.org
Thu Sep 4 19:11:53 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `libc-aarch64-ubuntu-fullbuild-dbg` running on `libc-aarch64-ubuntu` while building `libc` at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/71/builds/30613

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py ...' (failure)
...
[4351/4439] Building CXX object libc/test/include/CMakeFiles/libc.test.include.isfinite_test.__unit__.__build__.dir/isfinite_test.cpp.o
[4352/4439] Building CXX object libc/test/include/CMakeFiles/libc.test.include.sys_queue_test.__unit__.__build__.dir/sys/queue_test.cpp.o
warning: unknown warning option '-Wno-gnu-statement-expression-from-macro-expansion'; did you mean '-Wno-gnu-statement-expression'? [-Wunknown-warning-option]
1 warning generated.
[4353/4439] Linking CXX executable libc/test/include/libc.test.include.isnormalf_test.__unit__.__build__
[4354/4439] Linking CXX executable libc/test/include/libc.test.include.issubnormalf_test.__unit__.__build__
[4355/4439] Linking CXX executable libc/test/include/libc.test.include.fpclassifyf_test.__unit__.__build__
[4356/4439] Building CXX object libc/test/include/CMakeFiles/libc.test.include.fpclassify_test.__unit__.__build__.dir/fpclassify_test.cpp.o
[4357/4439] Linking CXX executable libc/test/include/libc.test.include.isfinite_test.__unit__.__build__
[4358/4439] Building CXX object libc/test/include/CMakeFiles/libc.test.include.complex_test.__unit__.__build__.dir/complex_test.cpp.o
FAILED: libc/test/include/CMakeFiles/libc.test.include.complex_test.__unit__.__build__.dir/complex_test.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc -isystem libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wstrict-prototypes -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wthread-safety -DLIBC_TEST=UNIT -std=gnu++17 -MD -MT libc/test/include/CMakeFiles/libc.test.include.complex_test.__unit__.__build__.dir/complex_test.cpp.o -MF libc/test/include/CMakeFiles/libc.test.include.complex_test.__unit__.__build__.dir/complex_test.cpp.o.d -o libc/test/include/CMakeFiles/libc.test.include.complex_test.__unit__.__build__.dir/complex_test.cpp.o -c /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/include/complex_test.cpp
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/include/complex_test.cpp:22:17: error: use of undeclared identifier '__builtin_complex'
  EXPECT_CFP_EQ(CMPLX(0, 1.0), I);
                ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/include/llvm-libc-macros/complex-macros.h:25:21: note: expanded from macro 'CMPLX'
#define CMPLX(x, y) __builtin_complex((double)(x), (double)(y))
                    ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/include/complex_test.cpp:23:17: error: use of undeclared identifier '__builtin_complex'
  EXPECT_CFP_EQ(CMPLX(1.0, 0), 1.0);
                ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/include/llvm-libc-macros/complex-macros.h:25:21: note: expanded from macro 'CMPLX'
#define CMPLX(x, y) __builtin_complex((double)(x), (double)(y))
                    ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/include/complex_test.cpp:24:17: error: use of undeclared identifier '__builtin_complex'
  EXPECT_CFP_EQ(CMPLXF(0, 1.0f), I);
                ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/include/llvm-libc-macros/complex-macros.h:26:22: note: expanded from macro 'CMPLXF'
#define CMPLXF(x, y) __builtin_complex((float)(x), (float)(y))
                     ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/include/complex_test.cpp:25:17: error: use of undeclared identifier '__builtin_complex'
  EXPECT_CFP_EQ(CMPLXF(1.0f, 0), 1.0f);
                ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/include/llvm-libc-macros/complex-macros.h:26:22: note: expanded from macro 'CMPLXF'
#define CMPLXF(x, y) __builtin_complex((float)(x), (float)(y))
                     ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/include/complex_test.cpp:26:17: error: use of undeclared identifier '__builtin_complex'
  EXPECT_CFP_EQ(CMPLXL(0, 1.0l), I);
                ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/include/llvm-libc-macros/complex-macros.h:27:22: note: expanded from macro 'CMPLXL'
#define CMPLXL(x, y) __builtin_complex((long double)(x), (long double)(y))
                     ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/include/complex_test.cpp:27:17: error: use of undeclared identifier '__builtin_complex'
  EXPECT_CFP_EQ(CMPLXL(1.0l, 0), 1.0l);
                ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/include/llvm-libc-macros/complex-macros.h:27:22: note: expanded from macro 'CMPLXL'
#define CMPLXL(x, y) __builtin_complex((long double)(x), (long double)(y))
                     ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/include/complex_test.cpp:35:17: error: use of undeclared identifier '__builtin_complex'
Step 8 (libc-unit-tests) failure: libc-unit-tests (failure)
...
[4351/4439] Building CXX object libc/test/include/CMakeFiles/libc.test.include.isfinite_test.__unit__.__build__.dir/isfinite_test.cpp.o
[4352/4439] Building CXX object libc/test/include/CMakeFiles/libc.test.include.sys_queue_test.__unit__.__build__.dir/sys/queue_test.cpp.o
warning: unknown warning option '-Wno-gnu-statement-expression-from-macro-expansion'; did you mean '-Wno-gnu-statement-expression'? [-Wunknown-warning-option]
1 warning generated.
[4353/4439] Linking CXX executable libc/test/include/libc.test.include.isnormalf_test.__unit__.__build__
[4354/4439] Linking CXX executable libc/test/include/libc.test.include.issubnormalf_test.__unit__.__build__
[4355/4439] Linking CXX executable libc/test/include/libc.test.include.fpclassifyf_test.__unit__.__build__
[4356/4439] Building CXX object libc/test/include/CMakeFiles/libc.test.include.fpclassify_test.__unit__.__build__.dir/fpclassify_test.cpp.o
[4357/4439] Linking CXX executable libc/test/include/libc.test.include.isfinite_test.__unit__.__build__
[4358/4439] Building CXX object libc/test/include/CMakeFiles/libc.test.include.complex_test.__unit__.__build__.dir/complex_test.cpp.o
FAILED: libc/test/include/CMakeFiles/libc.test.include.complex_test.__unit__.__build__.dir/complex_test.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc -isystem libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wstrict-prototypes -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wthread-safety -DLIBC_TEST=UNIT -std=gnu++17 -MD -MT libc/test/include/CMakeFiles/libc.test.include.complex_test.__unit__.__build__.dir/complex_test.cpp.o -MF libc/test/include/CMakeFiles/libc.test.include.complex_test.__unit__.__build__.dir/complex_test.cpp.o.d -o libc/test/include/CMakeFiles/libc.test.include.complex_test.__unit__.__build__.dir/complex_test.cpp.o -c /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/include/complex_test.cpp
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/include/complex_test.cpp:22:17: error: use of undeclared identifier '__builtin_complex'
  EXPECT_CFP_EQ(CMPLX(0, 1.0), I);
                ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/include/llvm-libc-macros/complex-macros.h:25:21: note: expanded from macro 'CMPLX'
#define CMPLX(x, y) __builtin_complex((double)(x), (double)(y))
                    ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/include/complex_test.cpp:23:17: error: use of undeclared identifier '__builtin_complex'
  EXPECT_CFP_EQ(CMPLX(1.0, 0), 1.0);
                ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/include/llvm-libc-macros/complex-macros.h:25:21: note: expanded from macro 'CMPLX'
#define CMPLX(x, y) __builtin_complex((double)(x), (double)(y))
                    ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/include/complex_test.cpp:24:17: error: use of undeclared identifier '__builtin_complex'
  EXPECT_CFP_EQ(CMPLXF(0, 1.0f), I);
                ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/include/llvm-libc-macros/complex-macros.h:26:22: note: expanded from macro 'CMPLXF'
#define CMPLXF(x, y) __builtin_complex((float)(x), (float)(y))
                     ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/include/complex_test.cpp:25:17: error: use of undeclared identifier '__builtin_complex'
  EXPECT_CFP_EQ(CMPLXF(1.0f, 0), 1.0f);
                ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/include/llvm-libc-macros/complex-macros.h:26:22: note: expanded from macro 'CMPLXF'
#define CMPLXF(x, y) __builtin_complex((float)(x), (float)(y))
                     ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/include/complex_test.cpp:26:17: error: use of undeclared identifier '__builtin_complex'
  EXPECT_CFP_EQ(CMPLXL(0, 1.0l), I);
                ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/include/llvm-libc-macros/complex-macros.h:27:22: note: expanded from macro 'CMPLXL'
#define CMPLXL(x, y) __builtin_complex((long double)(x), (long double)(y))
                     ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/include/complex_test.cpp:27:17: error: use of undeclared identifier '__builtin_complex'
  EXPECT_CFP_EQ(CMPLXL(1.0l, 0), 1.0l);
                ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/include/llvm-libc-macros/complex-macros.h:27:22: note: expanded from macro 'CMPLXL'
#define CMPLXL(x, y) __builtin_complex((long double)(x), (long double)(y))
                     ^
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/include/complex_test.cpp:35:17: error: use of undeclared identifier '__builtin_complex'

```

</details>

https://github.com/llvm/llvm-project/pull/156344


More information about the libc-commits mailing list