[libc-commits] [libc] [libc] Use __attribute__((__nothrow__)) for __NOEXCEPT in C (PR #114653)

LLVM Continuous Integration via libc-commits libc-commits at lists.llvm.org
Tue Dec 17 12:21:53 PST 2024


llvm-ci wrote:

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

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

<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)
...
[3504/3693] Building CXX object libc/test/src/arpa/inet/CMakeFiles/libc.test.src.arpa.inet.ntohl.__build__.dir/ntohl_test.cpp.o
[3505/3693] Building CXX object libc/test/src/locale/CMakeFiles/libc.test.src.locale.localeconv_test.__unit__.__build__.dir/localeconv_test.cpp.o
[3506/3693] Building CXX object libc/test/src/locale/CMakeFiles/libc.test.src.locale.locale_test.__unit__.__build__.dir/locale_test.cpp.o
[3507/3693] Running unit test libc.test.src.unistd._exit_test.__unit__
[==========] Running 1 test from 1 test suite.
[ RUN      ] LlvmLibcUniStd._exit
[       OK ] LlvmLibcUniStd._exit (937 us)
Ran 1 tests.  PASS: 1  FAIL: 0
[3508/3693] Building CXX object libc/test/src/dirent/CMakeFiles/libc.test.src.dirent.dirent_test.__build__.dir/dirent_test.cpp.o
[3509/3693] Building C object libc/test/include/CMakeFiles/libc.test.include.stdbit_c_test.__unit__.__build__.dir/stdbit_test.c.o
FAILED: libc/test/include/CMakeFiles/libc.test.include.stdbit_c_test.__unit__.__build__.dir/stdbit_test.c.o 
/usr/local/bin/gcc -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/libc/include -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -Wimplicit-fallthrough -Wno-comment -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -Wno-pedantic -Wall -Werror -MD -MT libc/test/include/CMakeFiles/libc.test.include.stdbit_c_test.__unit__.__build__.dir/stdbit_test.c.o -MF libc/test/include/CMakeFiles/libc.test.include.stdbit_c_test.__unit__.__build__.dir/stdbit_test.c.o.d -o libc/test/include/CMakeFiles/libc.test.include.stdbit_c_test.__unit__.__build__.dir/stdbit_test.c.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_test.c
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_test.c:23:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:20:3: error: attributes should be specified before the declarator in a function definition
   20 |   unsigned FUNC_NAME##_uc(unsigned char x) __NOEXCEPT {                        \
      |   ^~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:38:1: note: in expansion of macro ‘STDBIT_STUB_FUNCTION’
   38 | STDBIT_STUB_FUNCTION(stdc_leading_zeros, 0xA)
      | ^~~~~~~~~~~~~~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:23:3: error: attributes should be specified before the declarator in a function definition
   23 |   unsigned FUNC_NAME##_us(unsigned short x) __NOEXCEPT {                       \
      |   ^~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:38:1: note: in expansion of macro ‘STDBIT_STUB_FUNCTION’
   38 | STDBIT_STUB_FUNCTION(stdc_leading_zeros, 0xA)
      | ^~~~~~~~~~~~~~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:26:3: error: attributes should be specified before the declarator in a function definition
   26 |   unsigned FUNC_NAME##_ui(unsigned int x) __NOEXCEPT {                         \
      |   ^~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:38:1: note: in expansion of macro ‘STDBIT_STUB_FUNCTION’
   38 | STDBIT_STUB_FUNCTION(stdc_leading_zeros, 0xA)
      | ^~~~~~~~~~~~~~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:29:3: error: attributes should be specified before the declarator in a function definition
   29 |   unsigned FUNC_NAME##_ul(unsigned long x) __NOEXCEPT {                        \
      |   ^~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:38:1: note: in expansion of macro ‘STDBIT_STUB_FUNCTION’
   38 | STDBIT_STUB_FUNCTION(stdc_leading_zeros, 0xA)
      | ^~~~~~~~~~~~~~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:32:3: error: attributes should be specified before the declarator in a function definition
   32 |   unsigned FUNC_NAME##_ull(unsigned long long x) __NOEXCEPT {                  \
      |   ^~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:38:1: note: in expansion of macro ‘STDBIT_STUB_FUNCTION’
   38 | STDBIT_STUB_FUNCTION(stdc_leading_zeros, 0xA)
      | ^~~~~~~~~~~~~~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:20:3: error: attributes should be specified before the declarator in a function definition
   20 |   unsigned FUNC_NAME##_uc(unsigned char x) __NOEXCEPT {                        \
      |   ^~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:39:1: note: in expansion of macro ‘STDBIT_STUB_FUNCTION’
   39 | STDBIT_STUB_FUNCTION(stdc_leading_ones, 0xB)
      | ^~~~~~~~~~~~~~~~~~~~
Step 8 (libc-unit-tests) failure: libc-unit-tests (failure)
...
[3504/3693] Building CXX object libc/test/src/arpa/inet/CMakeFiles/libc.test.src.arpa.inet.ntohl.__build__.dir/ntohl_test.cpp.o
[3505/3693] Building CXX object libc/test/src/locale/CMakeFiles/libc.test.src.locale.localeconv_test.__unit__.__build__.dir/localeconv_test.cpp.o
[3506/3693] Building CXX object libc/test/src/locale/CMakeFiles/libc.test.src.locale.locale_test.__unit__.__build__.dir/locale_test.cpp.o
[3507/3693] Running unit test libc.test.src.unistd._exit_test.__unit__
[==========] Running 1 test from 1 test suite.
[ RUN      ] LlvmLibcUniStd._exit
[       OK ] LlvmLibcUniStd._exit (937 us)
Ran 1 tests.  PASS: 1  FAIL: 0
[3508/3693] Building CXX object libc/test/src/dirent/CMakeFiles/libc.test.src.dirent.dirent_test.__build__.dir/dirent_test.cpp.o
[3509/3693] Building C object libc/test/include/CMakeFiles/libc.test.include.stdbit_c_test.__unit__.__build__.dir/stdbit_test.c.o
FAILED: libc/test/include/CMakeFiles/libc.test.include.stdbit_c_test.__unit__.__build__.dir/stdbit_test.c.o 
/usr/local/bin/gcc -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/libc/include -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -Wimplicit-fallthrough -Wno-comment -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -Wno-pedantic -Wall -Werror -MD -MT libc/test/include/CMakeFiles/libc.test.include.stdbit_c_test.__unit__.__build__.dir/stdbit_test.c.o -MF libc/test/include/CMakeFiles/libc.test.include.stdbit_c_test.__unit__.__build__.dir/stdbit_test.c.o.d -o libc/test/include/CMakeFiles/libc.test.include.stdbit_c_test.__unit__.__build__.dir/stdbit_test.c.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_test.c
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_test.c:23:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:20:3: error: attributes should be specified before the declarator in a function definition
   20 |   unsigned FUNC_NAME##_uc(unsigned char x) __NOEXCEPT {                        \
      |   ^~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:38:1: note: in expansion of macro ‘STDBIT_STUB_FUNCTION’
   38 | STDBIT_STUB_FUNCTION(stdc_leading_zeros, 0xA)
      | ^~~~~~~~~~~~~~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:23:3: error: attributes should be specified before the declarator in a function definition
   23 |   unsigned FUNC_NAME##_us(unsigned short x) __NOEXCEPT {                       \
      |   ^~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:38:1: note: in expansion of macro ‘STDBIT_STUB_FUNCTION’
   38 | STDBIT_STUB_FUNCTION(stdc_leading_zeros, 0xA)
      | ^~~~~~~~~~~~~~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:26:3: error: attributes should be specified before the declarator in a function definition
   26 |   unsigned FUNC_NAME##_ui(unsigned int x) __NOEXCEPT {                         \
      |   ^~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:38:1: note: in expansion of macro ‘STDBIT_STUB_FUNCTION’
   38 | STDBIT_STUB_FUNCTION(stdc_leading_zeros, 0xA)
      | ^~~~~~~~~~~~~~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:29:3: error: attributes should be specified before the declarator in a function definition
   29 |   unsigned FUNC_NAME##_ul(unsigned long x) __NOEXCEPT {                        \
      |   ^~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:38:1: note: in expansion of macro ‘STDBIT_STUB_FUNCTION’
   38 | STDBIT_STUB_FUNCTION(stdc_leading_zeros, 0xA)
      | ^~~~~~~~~~~~~~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:32:3: error: attributes should be specified before the declarator in a function definition
   32 |   unsigned FUNC_NAME##_ull(unsigned long long x) __NOEXCEPT {                  \
      |   ^~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:38:1: note: in expansion of macro ‘STDBIT_STUB_FUNCTION’
   38 | STDBIT_STUB_FUNCTION(stdc_leading_zeros, 0xA)
      | ^~~~~~~~~~~~~~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:20:3: error: attributes should be specified before the declarator in a function definition
   20 |   unsigned FUNC_NAME##_uc(unsigned char x) __NOEXCEPT {                        \
      |   ^~~~~~~~
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/stdbit_stub.h:39:1: note: in expansion of macro ‘STDBIT_STUB_FUNCTION’
   39 | STDBIT_STUB_FUNCTION(stdc_leading_ones, 0xB)
      | ^~~~~~~~~~~~~~~~~~~~

```

</details>

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


More information about the libc-commits mailing list