Skip to content

[libc] fix behavior of strrchr(x, '\0') #112620

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 30, 2024

Conversation

gburgessiv
Copy link
Member

strrchr("foo", '\0') is defined to point to the end of foo, rather than returning NULL. This wasn't caught by tests, since llvm-libc's ASSERT_STREQ(nullptr, ""); is not an assertion error.

While I'm here, refactor the test slightly to check for NULL more specifically. I considered adding fancier ASSERTs (and changing the semantics of ASSERT_STREQ), but opted for a more local fix by fair dice roll.

@llvmbot
Copy link
Member

llvmbot commented Oct 16, 2024

@llvm/pr-subscribers-libc

Author: George Burgess IV (gburgessiv)

Changes

strrchr("foo", '\0') is defined to point to the end of foo, rather than returning NULL. This wasn't caught by tests, since llvm-libc's ASSERT_STREQ(nullptr, ""); is not an assertion error.

While I'm here, refactor the test slightly to check for NULL more specifically. I considered adding fancier ASSERTs (and changing the semantics of ASSERT_STREQ), but opted for a more local fix by fair dice roll.


Full diff: https://github.com/llvm/llvm-project/pull/112620.diff

2 Files Affected:

  • (modified) libc/src/string/string_utils.h (+4-2)
  • (modified) libc/test/src/string/StrchrTest.h (+18-14)
diff --git a/libc/src/string/string_utils.h b/libc/src/string/string_utils.h
index 78381e46e480dd..90f6e4e710e5c4 100644
--- a/libc/src/string/string_utils.h
+++ b/libc/src/string/string_utils.h
@@ -239,11 +239,13 @@ LIBC_INLINE constexpr static char *strrchr_implementation(const char *src,
                                                           int c) {
   char ch = static_cast<char>(c);
   char *last_occurrence = nullptr;
-  for (; *src; ++src) {
+  while (true) {
     if (*src == ch)
       last_occurrence = const_cast<char *>(src);
+    if (!*src)
+      return last_occurrence;
+    ++src;
   }
-  return last_occurrence;
 }
 
 } // namespace internal
diff --git a/libc/test/src/string/StrchrTest.h b/libc/test/src/string/StrchrTest.h
index 74e172de95953e..c6267f042f59ea 100644
--- a/libc/test/src/string/StrchrTest.h
+++ b/libc/test/src/string/StrchrTest.h
@@ -40,14 +40,16 @@ template <auto Func> struct StrchrTest : public LIBC_NAMESPACE::testing::Test {
     const char *src = "abcde";
 
     // Should return null terminator.
-    ASSERT_STREQ(Func(src, '\0'), "");
+    const char *nul_terminator = Func(src, '\0');
+    ASSERT_TRUE(nul_terminator != nullptr);
+    ASSERT_STREQ(nul_terminator, "");
     // Source string should not change.
     ASSERT_STREQ(src, "abcde");
   }
 
   void characterNotWithinStringShouldReturnNullptr() {
     // Since 'z' is not within the string, should return nullptr.
-    ASSERT_STREQ(Func("123?", 'z'), nullptr);
+    ASSERT_TRUE(Func("123?", 'z') == nullptr);
   }
 
   void theSourceShouldNotChange() {
@@ -74,11 +76,12 @@ template <auto Func> struct StrchrTest : public LIBC_NAMESPACE::testing::Test {
 
   void emptyStringShouldOnlyMatchNullTerminator() {
     // Null terminator should match.
-    ASSERT_STREQ(Func("", '\0'), "");
+    const char empty_string[] = "";
+    ASSERT_TRUE(Func(empty_string, '\0') == empty_string);
     // All other characters should not match.
-    ASSERT_STREQ(Func("", 'Z'), nullptr);
-    ASSERT_STREQ(Func("", '3'), nullptr);
-    ASSERT_STREQ(Func("", '*'), nullptr);
+    ASSERT_TRUE(Func("", 'Z') == nullptr);
+    ASSERT_TRUE(Func("", '3') == nullptr);
+    ASSERT_TRUE(Func("", '*') == nullptr);
   }
 };
 
@@ -114,7 +117,7 @@ template <auto Func> struct StrrchrTest : public LIBC_NAMESPACE::testing::Test {
     const char *src = "abcde";
 
     // Should return null terminator.
-    ASSERT_STREQ(Func(src, '\0'), "");
+    ASSERT_TRUE(Func(src, '\0') != nullptr);
     // Source string should not change.
     ASSERT_STREQ(src, "abcde");
   }
@@ -122,9 +125,9 @@ template <auto Func> struct StrrchrTest : public LIBC_NAMESPACE::testing::Test {
   void findsLastBehindFirstNullTerminator() {
     static const char src[6] = {'a', 'a', '\0', 'b', '\0', 'c'};
     // 'b' is behind a null terminator, so should not be found.
-    ASSERT_STREQ(Func(src, 'b'), nullptr);
+    ASSERT_TRUE(Func(src, 'b') == nullptr);
     // Same goes for 'c'.
-    ASSERT_STREQ(Func(src, 'c'), nullptr);
+    ASSERT_TRUE(Func(src, 'c') == nullptr);
 
     // Should find the second of the two a's.
     ASSERT_STREQ(Func(src, 'a'), "a");
@@ -132,7 +135,7 @@ template <auto Func> struct StrrchrTest : public LIBC_NAMESPACE::testing::Test {
 
   void characterNotWithinStringShouldReturnNullptr() {
     // Since 'z' is not within the string, should return nullptr.
-    ASSERT_STREQ(Func("123?", 'z'), nullptr);
+    ASSERT_TRUE(Func("123?", 'z') == nullptr);
   }
 
   void shouldFindLastOfDuplicates() {
@@ -146,11 +149,12 @@ template <auto Func> struct StrrchrTest : public LIBC_NAMESPACE::testing::Test {
 
   void emptyStringShouldOnlyMatchNullTerminator() {
     // Null terminator should match.
-    ASSERT_STREQ(Func("", '\0'), "");
+    const char empty_string[] = "";
+    ASSERT_TRUE(Func(empty_string, '\0') == empty_string);
     // All other characters should not match.
-    ASSERT_STREQ(Func("", 'A'), nullptr);
-    ASSERT_STREQ(Func("", '2'), nullptr);
-    ASSERT_STREQ(Func("", '*'), nullptr);
+    ASSERT_TRUE(Func("", 'A') == nullptr);
+    ASSERT_TRUE(Func("", '2') == nullptr);
+    ASSERT_TRUE(Func("", '*') == nullptr);
   }
 };
 

@nickdesaulniers
Copy link
Member

Thanks for the patch! Yes, that's a bug!

I thought the nice thing about ASSERT_EQ or in this case ASSERT_STREQ is that when the assertion fails, it tells you what was expected vs what was observed (i.e. NULL vs 'a') rather than expected true, saw false? I think that kind of behavior is nice to retain.

@@ -114,25 +117,25 @@ template <auto Func> struct StrrchrTest : public LIBC_NAMESPACE::testing::Test {
const char *src = "abcde";

// Should return null terminator.
ASSERT_STREQ(Func(src, '\0'), "");
ASSERT_TRUE(Func(src, '\0') != nullptr);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this hunk specifically no longer aligns with the commend above it?


We do define a (currently unused) ASSERT_STRNE.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe Func(src, '\0') != nullptr && *Func(src, '\0') == '\0'?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, good catch. I mirrored the // Should return null terminator. change from above. Happy to do Func(src, '\0') != nullptr && *Func(src, '\0') == '\0' if you all would prefer; just want to keep the two in sync

@gburgessiv gburgessiv force-pushed the libc-fix-bug-in-strrchr branch from b2cba66 to 0d3e459 Compare October 18, 2024 18:37
@gburgessiv
Copy link
Member Author

friendly ping :)

1 similar comment
@gburgessiv
Copy link
Member Author

friendly ping :)

@gburgessiv
Copy link
Member Author

Oh, I didn't realize that I missed this:

I thought the nice thing about ASSERT_EQ or in this case ASSERT_STREQ is that when the assertion fails, it tells you what was expected vs what was observed (i.e. NULL vs 'a') rather than expected true, saw false? I think that kind of behavior is nice to retain.

My mistake - I'll see what I can do :)

`strrchr("foo", '\0')` is defined to point to the end of `foo`, rather
than returning NULL. This wasn't caught by tests, since llvm-libc's
`ASSERT_STREQ(nullptr, "");` is not an assertion error.

While I'm here, refactor the test slightly to check for NULL more
specifically. I considered adding fancier `ASSERT`s (and changing the
semantics of `ASSERT_STREQ`), but opted for a more local fix by fair
dice roll.
@gburgessiv gburgessiv force-pushed the libc-fix-bug-in-strrchr branch from 0d3e459 to 74120f2 Compare October 30, 2024 17:46
@gburgessiv
Copy link
Member Author

So, better response:

I thought the nice thing about ASSERT_EQ or in this case ASSERT_STREQ is that when the assertion fails, it tells you what was expected vs what was observed (i.e. NULL vs 'a') rather than expected true, saw false? I think that kind of behavior is nice to retain.

I tried to use ASSERT_EQ/ASSERT_NE, but ASSERT_NE("foo", nullptr) turns into an overload resolution error. I've updated my patch to allow ASSERT_{EQ,NE}(foo, nullptr). Alternatively

  • can static_cast<const char *>() around the nullptrs if that'd be preferred,
  • or I can add a second overload if llvm-libc doesn't have conventions around whether nullptr constants should go in the LHS or RHS positions

@gburgessiv
Copy link
Member Author

Thanks!

@gburgessiv gburgessiv merged commit 50c4447 into llvm:main Oct 30, 2024
7 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 30, 2024

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/9495

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py ...' (failure)
...
[24/26] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strncat.dir/strncat.cpp.o
[25/26] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strrchr.dir/strrchr.cpp.o
[26/26] Linking CXX static library projects/libc/lib/libc.a
@@@BUILD_STEP build libc-startup@@@
Running: ninja libc-startup
ninja: no work to do.
@@@BUILD_STEP libc-unit-tests@@@
Running: ninja libc-unit-tests
[1/2412] Running unit test libc.test.include.issubnormal_c_test.__unit__
[2/2412] Building CXX object projects/libc/test/src/math/smoke/CMakeFiles/libc.test.src.math.smoke.truncf16_test.__unit__.__NO_ROUND_OPT.__build__.dir/truncf16_test.cpp.o
FAILED: projects/libc/test/src/math/smoke/CMakeFiles/libc.test.src.math.smoke.truncf16_test.__unit__.__NO_ROUND_OPT.__build__.dir/truncf16_test.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -Iprojects/libc/test/src/math/smoke -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/src/math/smoke -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc -isystem projects/libc/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/src/math/smoke/CMakeFiles/libc.test.src.math.smoke.truncf16_test.__unit__.__NO_ROUND_OPT.__build__.dir/truncf16_test.cpp.o -MF projects/libc/test/src/math/smoke/CMakeFiles/libc.test.src.math.smoke.truncf16_test.__unit__.__NO_ROUND_OPT.__build__.dir/truncf16_test.cpp.o.d -o projects/libc/test/src/math/smoke/CMakeFiles/libc.test.src.math.smoke.truncf16_test.__unit__.__NO_ROUND_OPT.__build__.dir/truncf16_test.cpp.o -c /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/src/math/smoke/truncf16_test.cpp
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/src/math/smoke/truncf16_test.cpp:9:
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/src/math/smoke/TruncTest.h:12:
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/UnitTest/FEnvSafeTest.h:15:
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/UnitTest/Test.h:37:
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: use of undeclared identifier 'std'
  bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
                                        ^
1 error generated.
[3/2412] Building CXX object projects/libc/test/src/math/smoke/CMakeFiles/libc.test.src.math.smoke.canonicalizel_test.__unit__.__build__.dir/canonicalizel_test.cpp.o
FAILED: projects/libc/test/src/math/smoke/CMakeFiles/libc.test.src.math.smoke.canonicalizel_test.__unit__.__build__.dir/canonicalizel_test.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -Iprojects/libc/test/src/math/smoke -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/src/math/smoke -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc -isystem projects/libc/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/src/math/smoke/CMakeFiles/libc.test.src.math.smoke.canonicalizel_test.__unit__.__build__.dir/canonicalizel_test.cpp.o -MF projects/libc/test/src/math/smoke/CMakeFiles/libc.test.src.math.smoke.canonicalizel_test.__unit__.__build__.dir/canonicalizel_test.cpp.o.d -o projects/libc/test/src/math/smoke/CMakeFiles/libc.test.src.math.smoke.canonicalizel_test.__unit__.__build__.dir/canonicalizel_test.cpp.o -c /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/src/math/smoke/canonicalizel_test.cpp
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/src/math/smoke/canonicalizel_test.cpp:9:
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/src/math/smoke/CanonicalizeTest.h:15:
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/UnitTest/FEnvSafeTest.h:15:
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/UnitTest/Test.h:37:
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: use of undeclared identifier 'std'
  bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
                                        ^
1 error generated.
[4/2412] Building CXX object projects/libc/test/src/string/memory_utils/CMakeFiles/libc.test.src.string.memory_utils.utils_test.__unit__.__build__.dir/utils_test.cpp.o
FAILED: projects/libc/test/src/string/memory_utils/CMakeFiles/libc.test.src.string.memory_utils.utils_test.__unit__.__build__.dir/utils_test.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -Iprojects/libc/test/src/string/memory_utils -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/src/string/memory_utils -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc -isystem projects/libc/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -mcpu=native -std=c++17 -MD -MT projects/libc/test/src/string/memory_utils/CMakeFiles/libc.test.src.string.memory_utils.utils_test.__unit__.__build__.dir/utils_test.cpp.o -MF projects/libc/test/src/string/memory_utils/CMakeFiles/libc.test.src.string.memory_utils.utils_test.__unit__.__build__.dir/utils_test.cpp.o.d -o projects/libc/test/src/string/memory_utils/CMakeFiles/libc.test.src.string.memory_utils.utils_test.__unit__.__build__.dir/utils_test.cpp.o -c /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/src/string/memory_utils/utils_test.cpp
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/src/string/memory_utils/utils_test.cpp:12:
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/UnitTest/Test.h:37:
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: use of undeclared identifier 'std'
  bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
                                        ^
1 error generated.
[5/2412] Building CXX object projects/libc/test/src/math/smoke/CMakeFiles/libc.test.src.math.smoke.fsqrt_test.__unit__.__build__.dir/fsqrt_test.cpp.o
FAILED: projects/libc/test/src/math/smoke/CMakeFiles/libc.test.src.math.smoke.fsqrt_test.__unit__.__build__.dir/fsqrt_test.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -Iprojects/libc/test/src/math/smoke -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/src/math/smoke -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc -isystem projects/libc/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/src/math/smoke/CMakeFiles/libc.test.src.math.smoke.fsqrt_test.__unit__.__build__.dir/fsqrt_test.cpp.o -MF projects/libc/test/src/math/smoke/CMakeFiles/libc.test.src.math.smoke.fsqrt_test.__unit__.__build__.dir/fsqrt_test.cpp.o.d -o projects/libc/test/src/math/smoke/CMakeFiles/libc.test.src.math.smoke.fsqrt_test.__unit__.__build__.dir/fsqrt_test.cpp.o -c /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/src/math/smoke/fsqrt_test.cpp
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/src/math/smoke/fsqrt_test.cpp:9:
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/src/math/smoke/SqrtTest.h:9:
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/UnitTest/FEnvSafeTest.h:15:
In file included from /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/UnitTest/Test.h:37:
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: use of undeclared identifier 'std'
  bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 30, 2024

LLVM Buildbot has detected a new failure on builder libc-x86_64-debian-fullbuild-dbg-asan 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/171/builds/9306

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py ...' (failure)
...
[7/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.rindex.__internal__.dir/rindex.cpp.o
[8/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strcspn.__internal__.dir/strcspn.cpp.o
[9/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strcasestr.__internal__.dir/strcasestr.cpp.o
[10/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strncat.__internal__.dir/strncat.cpp.o
[11/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strpbrk.__internal__.dir/strpbrk.cpp.o
[12/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strrchr.__internal__.dir/strrchr.cpp.o
[13/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strtok_r.__internal__.dir/strtok_r.cpp.o
[14/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strcpy.__internal__.dir/strcpy.cpp.o
[15/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strlcpy.__internal__.dir/strlcpy.cpp.o
[16/3112] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fno-omit-frame-pointer -O1 -fsanitize=address -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include/assert_test.cpp
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include/assert_test.cpp:10:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/Test.h:37:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: use of undeclared identifier 'std'
  bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
                                        ^
1 error generated.
[17/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strndup.__internal__.dir/strndup.cpp.o
[18/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strlcat.__internal__.dir/strlcat.cpp.o
[19/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strdup.__internal__.dir/strdup.cpp.o
[20/3112] Building CXX object projects/libc/test/UnitTest/CMakeFiles/LibcTest.unit.dir/LibcTestMain.cpp.o
[21/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strnlen.__internal__.dir/strnlen.cpp.o
[22/3112] Building CXX object projects/libc/test/UnitTest/CMakeFiles/LibcDeathTestExecutors.unit.dir/LibcDeathTestExecutors.cpp.o
[23/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strstr.__internal__.dir/strstr.cpp.o
[24/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.index.__internal__.dir/index.cpp.o
[25/3112] Building CXX object projects/libc/test/UnitTest/CMakeFiles/LibcMemoryHelpers.unit.dir/MemoryMatcher.cpp.o
[26/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strsep.__internal__.dir/strsep.cpp.o
[27/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strtok.__internal__.dir/strtok.cpp.o
[28/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strxfrm.__internal__.dir/strxfrm.cpp.o
[29/3112] Building CXX object projects/libc/test/UnitTest/CMakeFiles/LibcFPTestHelpers.unit.dir/FEnvSafeTest.cpp.o
[30/3112] Building CXX object projects/libc/test/UnitTest/CMakeFiles/LibcScanfHelpers.unit.dir/ScanfMatcher.cpp.o
[31/3112] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fno-omit-frame-pointer -O1 -fsanitize=address -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include/issubnormal_test.cpp
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include/issubnormal_test.cpp:9:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include/IsSubnormalTest.h:12:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/FPMatcher.h:22:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/Test.h:37:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: use of undeclared identifier 'std'
  bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
                                        ^
1 error generated.
[32/3112] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.isnormalf_test.__unit__.__build__.dir/isnormalf_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.isnormalf_test.__unit__.__build__.dir/isnormalf_test.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fno-omit-frame-pointer -O1 -fsanitize=address -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.isnormalf_test.__unit__.__build__.dir/isnormalf_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.isnormalf_test.__unit__.__build__.dir/isnormalf_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.isnormalf_test.__unit__.__build__.dir/isnormalf_test.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include/isnormalf_test.cpp
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include/isnormalf_test.cpp:9:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include/IsNormalTest.h:12:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/FPMatcher.h:22:
Step 8 (libc-unit-tests) failure: libc-unit-tests (failure)
...
[7/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.rindex.__internal__.dir/rindex.cpp.o
[8/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strcspn.__internal__.dir/strcspn.cpp.o
[9/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strcasestr.__internal__.dir/strcasestr.cpp.o
[10/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strncat.__internal__.dir/strncat.cpp.o
[11/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strpbrk.__internal__.dir/strpbrk.cpp.o
[12/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strrchr.__internal__.dir/strrchr.cpp.o
[13/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strtok_r.__internal__.dir/strtok_r.cpp.o
[14/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strcpy.__internal__.dir/strcpy.cpp.o
[15/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strlcpy.__internal__.dir/strlcpy.cpp.o
[16/3112] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fno-omit-frame-pointer -O1 -fsanitize=address -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include/assert_test.cpp
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include/assert_test.cpp:10:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/Test.h:37:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: use of undeclared identifier 'std'
  bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
                                        ^
1 error generated.
[17/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strndup.__internal__.dir/strndup.cpp.o
[18/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strlcat.__internal__.dir/strlcat.cpp.o
[19/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strdup.__internal__.dir/strdup.cpp.o
[20/3112] Building CXX object projects/libc/test/UnitTest/CMakeFiles/LibcTest.unit.dir/LibcTestMain.cpp.o
[21/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strnlen.__internal__.dir/strnlen.cpp.o
[22/3112] Building CXX object projects/libc/test/UnitTest/CMakeFiles/LibcDeathTestExecutors.unit.dir/LibcDeathTestExecutors.cpp.o
[23/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strstr.__internal__.dir/strstr.cpp.o
[24/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.index.__internal__.dir/index.cpp.o
[25/3112] Building CXX object projects/libc/test/UnitTest/CMakeFiles/LibcMemoryHelpers.unit.dir/MemoryMatcher.cpp.o
[26/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strsep.__internal__.dir/strsep.cpp.o
[27/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strtok.__internal__.dir/strtok.cpp.o
[28/3112] Building CXX object projects/libc/src/string/CMakeFiles/libc.src.string.strxfrm.__internal__.dir/strxfrm.cpp.o
[29/3112] Building CXX object projects/libc/test/UnitTest/CMakeFiles/LibcFPTestHelpers.unit.dir/FEnvSafeTest.cpp.o
[30/3112] Building CXX object projects/libc/test/UnitTest/CMakeFiles/LibcScanfHelpers.unit.dir/ScanfMatcher.cpp.o
[31/3112] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fno-omit-frame-pointer -O1 -fsanitize=address -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include/issubnormal_test.cpp
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include/issubnormal_test.cpp:9:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include/IsSubnormalTest.h:12:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/FPMatcher.h:22:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/Test.h:37:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: use of undeclared identifier 'std'
  bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
                                        ^
1 error generated.
[32/3112] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.isnormalf_test.__unit__.__build__.dir/isnormalf_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.isnormalf_test.__unit__.__build__.dir/isnormalf_test.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fno-omit-frame-pointer -O1 -fsanitize=address -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.isnormalf_test.__unit__.__build__.dir/isnormalf_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.isnormalf_test.__unit__.__build__.dir/isnormalf_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.isnormalf_test.__unit__.__build__.dir/isnormalf_test.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include/isnormalf_test.cpp
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include/isnormalf_test.cpp:9:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/include/IsNormalTest.h:12:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/FPMatcher.h:22:

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 30, 2024

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/9388

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py ...' (failure)
...
[37/3126] Running unit test libc.test.include.issignaling_c_test.__unit__
[38/3126] Building CXX object projects/libc/test/UnitTest/CMakeFiles/LibcScanfHelpers.unit.dir/ScanfMatcher.cpp.o
[39/3126] Running unit test libc.test.include.iscanonical_c_test.__unit__
[40/3126] Running unit test libc.test.include.isinf_c_test.__unit__
[41/3126] Running unit test libc.test.include.isfinite_c_test.__unit__
[42/3126] Running unit test libc.test.include.issubnormal_c_test.__unit__
[43/3126] Running unit test libc.test.include.fpclassify_c_test.__unit__
[44/3126] Running unit test libc.test.include.iszero_c_test.__unit__
[45/3126] Building CXX object projects/libc/test/UnitTest/CMakeFiles/LibcTest.unit.dir/TestLogger.cpp.o
[46/3126] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.o 
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include -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/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -fext-numeric-literals -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.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/assert_test.cpp
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/UnitTest/Test.h:37,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/assert_test.cpp:10:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: ‘std::nullptr_t’ has not been declared
  168 |   bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
      |                                         ^~~
[47/3126] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.sys_queue_test.__unit__.__build__.dir/sys/queue_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.sys_queue_test.__unit__.__build__.dir/sys/queue_test.cpp.o 
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include -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/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -fext-numeric-literals -Wno-pedantic -Wno-gnu-statement-expression-from-macro-expansion -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.sys_queue_test.__unit__.__build__.dir/sys/queue_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.sys_queue_test.__unit__.__build__.dir/sys/queue_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.sys_queue_test.__unit__.__build__.dir/sys/queue_test.cpp.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/sys/queue_test.cpp
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/UnitTest/Test.h:37,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/sys/queue_test.cpp:12:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: ‘std::nullptr_t’ has not been declared
  168 |   bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
      |                                         ^~~
cc1plus: note: unrecognized command-line option ‘-Wno-gnu-statement-expression-from-macro-expansion’ may have been intended to silence earlier diagnostics
[48/3126] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o 
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include -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/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -fext-numeric-literals -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.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/issubnormal_test.cpp
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/UnitTest/Test.h:37,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/UnitTest/FPMatcher.h:22,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/IsSubnormalTest.h:12,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/issubnormal_test.cpp:9:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: ‘std::nullptr_t’ has not been declared
  168 |   bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
      |                                         ^~~
[49/3126] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.issubnormalf_test.__unit__.__build__.dir/issubnormalf_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.issubnormalf_test.__unit__.__build__.dir/issubnormalf_test.cpp.o 
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include -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/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -fext-numeric-literals -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.issubnormalf_test.__unit__.__build__.dir/issubnormalf_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.issubnormalf_test.__unit__.__build__.dir/issubnormalf_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.issubnormalf_test.__unit__.__build__.dir/issubnormalf_test.cpp.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/issubnormalf_test.cpp
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/UnitTest/Test.h:37,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/UnitTest/FPMatcher.h:22,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/IsSubnormalTest.h:12,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/issubnormalf_test.cpp:9:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: ‘std::nullptr_t’ has not been declared
  168 |   bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
      |                                         ^~~
[50/3126] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.isnormall_test.__unit__.__build__.dir/isnormall_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.isnormall_test.__unit__.__build__.dir/isnormall_test.cpp.o 
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include -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/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -fext-numeric-literals -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.isnormall_test.__unit__.__build__.dir/isnormall_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.isnormall_test.__unit__.__build__.dir/isnormall_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.isnormall_test.__unit__.__build__.dir/isnormall_test.cpp.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/isnormall_test.cpp
Step 8 (libc-unit-tests) failure: libc-unit-tests (failure)
...
[37/3126] Running unit test libc.test.include.issignaling_c_test.__unit__
[38/3126] Building CXX object projects/libc/test/UnitTest/CMakeFiles/LibcScanfHelpers.unit.dir/ScanfMatcher.cpp.o
[39/3126] Running unit test libc.test.include.iscanonical_c_test.__unit__
[40/3126] Running unit test libc.test.include.isinf_c_test.__unit__
[41/3126] Running unit test libc.test.include.isfinite_c_test.__unit__
[42/3126] Running unit test libc.test.include.issubnormal_c_test.__unit__
[43/3126] Running unit test libc.test.include.fpclassify_c_test.__unit__
[44/3126] Running unit test libc.test.include.iszero_c_test.__unit__
[45/3126] Building CXX object projects/libc/test/UnitTest/CMakeFiles/LibcTest.unit.dir/TestLogger.cpp.o
[46/3126] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.o 
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include -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/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -fext-numeric-literals -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.assert_test.__unit__.__build__.dir/assert_test.cpp.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/assert_test.cpp
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/UnitTest/Test.h:37,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/assert_test.cpp:10:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: ‘std::nullptr_t’ has not been declared
  168 |   bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
      |                                         ^~~
[47/3126] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.sys_queue_test.__unit__.__build__.dir/sys/queue_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.sys_queue_test.__unit__.__build__.dir/sys/queue_test.cpp.o 
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include -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/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -fext-numeric-literals -Wno-pedantic -Wno-gnu-statement-expression-from-macro-expansion -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.sys_queue_test.__unit__.__build__.dir/sys/queue_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.sys_queue_test.__unit__.__build__.dir/sys/queue_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.sys_queue_test.__unit__.__build__.dir/sys/queue_test.cpp.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/sys/queue_test.cpp
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/UnitTest/Test.h:37,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/sys/queue_test.cpp:12:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: ‘std::nullptr_t’ has not been declared
  168 |   bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
      |                                         ^~~
cc1plus: note: unrecognized command-line option ‘-Wno-gnu-statement-expression-from-macro-expansion’ may have been intended to silence earlier diagnostics
[48/3126] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o 
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include -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/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -fext-numeric-literals -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.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/issubnormal_test.cpp
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/UnitTest/Test.h:37,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/UnitTest/FPMatcher.h:22,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/IsSubnormalTest.h:12,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/issubnormal_test.cpp:9:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: ‘std::nullptr_t’ has not been declared
  168 |   bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
      |                                         ^~~
[49/3126] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.issubnormalf_test.__unit__.__build__.dir/issubnormalf_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.issubnormalf_test.__unit__.__build__.dir/issubnormalf_test.cpp.o 
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include -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/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -fext-numeric-literals -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.issubnormalf_test.__unit__.__build__.dir/issubnormalf_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.issubnormalf_test.__unit__.__build__.dir/issubnormalf_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.issubnormalf_test.__unit__.__build__.dir/issubnormalf_test.cpp.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/issubnormalf_test.cpp
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/UnitTest/Test.h:37,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/UnitTest/FPMatcher.h:22,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/IsSubnormalTest.h:12,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include/issubnormalf_test.cpp:9:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: ‘std::nullptr_t’ has not been declared
  168 |   bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
      |                                         ^~~
[50/3126] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.isnormall_test.__unit__.__build__.dir/isnormall_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.isnormall_test.__unit__.__build__.dir/isnormall_test.cpp.o 
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/test/include -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/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -fext-numeric-literals -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.isnormall_test.__unit__.__build__.dir/isnormall_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.isnormall_test.__unit__.__build__.dir/isnormall_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.isnormall_test.__unit__.__build__.dir/isnormall_test.cpp.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/isnormall_test.cpp

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 30, 2024

LLVM Buildbot has detected a new failure on builder libc-x86_64-debian-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/179/builds/9233

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py ...' (failure)
...
[36/3126] Running unit test libc.test.include.isnan_c_test.__unit__
[37/3126] Running unit test libc.test.include.isnormal_c_test.__unit__
[38/3126] Running unit test libc.test.include.issignaling_c_test.__unit__
[39/3126] Running unit test libc.test.include.isinf_c_test.__unit__
[40/3126] Running unit test libc.test.include.iscanonical_c_test.__unit__
[41/3126] Running unit test libc.test.include.issubnormal_c_test.__unit__
[42/3126] Running unit test libc.test.include.iszero_c_test.__unit__
[43/3126] Running unit test libc.test.include.isfinite_c_test.__unit__
[44/3126] Running unit test libc.test.include.fpclassify_c_test.__unit__
[45/3126] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.sys_queue_test.__unit__.__build__.dir/sys/queue_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.sys_queue_test.__unit__.__build__.dir/sys/queue_test.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wno-gnu-statement-expression-from-macro-expansion -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.sys_queue_test.__unit__.__build__.dir/sys/queue_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.sys_queue_test.__unit__.__build__.dir/sys/queue_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.sys_queue_test.__unit__.__build__.dir/sys/queue_test.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/include/sys/queue_test.cpp
warning: unknown warning option '-Wno-gnu-statement-expression-from-macro-expansion'; did you mean '-Wno-gnu-statement-expression'? [-Wunknown-warning-option]
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/include/sys/queue_test.cpp:12:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/UnitTest/Test.h:37:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: use of undeclared identifier 'std'
  bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
                                        ^
1 warning and 1 error generated.
[46/3126] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.stdbit_test.__unit__.__build__.dir/stdbit_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.stdbit_test.__unit__.__build__.dir/stdbit_test.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.stdbit_test.__unit__.__build__.dir/stdbit_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.stdbit_test.__unit__.__build__.dir/stdbit_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.stdbit_test.__unit__.__build__.dir/stdbit_test.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/include/stdbit_test.cpp
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/include/stdbit_test.cpp:9:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/UnitTest/Test.h:37:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: use of undeclared identifier 'std'
  bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
                                        ^
1 error generated.
[47/3126] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.issubnormal_test.__unit__.__build__.dir/issubnormal_test.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/include/issubnormal_test.cpp
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/include/issubnormal_test.cpp:9:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/include/IsSubnormalTest.h:12:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/UnitTest/FPMatcher.h:22:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/UnitTest/Test.h:37:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: use of undeclared identifier 'std'
  bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
                                        ^
1 error generated.
[48/3126] Building CXX object projects/libc/test/include/CMakeFiles/libc.test.include.issubnormall_test.__unit__.__build__.dir/issubnormall_test.cpp.o
FAILED: projects/libc/test/include/CMakeFiles/libc.test.include.issubnormall_test.__unit__.__build__.dir/issubnormall_test.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/build/projects/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -std=c++17 -MD -MT projects/libc/test/include/CMakeFiles/libc.test.include.issubnormall_test.__unit__.__build__.dir/issubnormall_test.cpp.o -MF projects/libc/test/include/CMakeFiles/libc.test.include.issubnormall_test.__unit__.__build__.dir/issubnormall_test.cpp.o.d -o projects/libc/test/include/CMakeFiles/libc.test.include.issubnormall_test.__unit__.__build__.dir/issubnormall_test.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/include/issubnormall_test.cpp
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/include/issubnormall_test.cpp:9:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/include/IsSubnormalTest.h:12:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/UnitTest/FPMatcher.h:22:
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/UnitTest/Test.h:37:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: use of undeclared identifier 'std'
  bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
                                        ^

@lntue
Copy link
Contributor

lntue commented Oct 30, 2024

@gburgessiv I think you need to replace std::nullptr_t with cpp::nullptr_t from https://github.com/llvm/llvm-project/blob/main/libc/src/__support/CPP/type_traits/is_null_pointer.h#L20
(#include "src/__support/CPP/type_traits.h" should work).

// Helper to allow macro invocations like `ASSERT_EQ(foo, nullptr)`.
template <typename ValType,
cpp::enable_if_t<cpp::is_pointer_v<ValType>, ValType> = nullptr>
bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like this is breaking the buildbots.

/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/test/UnitTest/LibcTest.h:168:41: error: use of undeclared identifier 'std'
  bool test(TestCond Cond, ValType LHS, std::nullptr_t, const char *LHSStr,
                                        ^

mind reverting if you can't fix forward quickly?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have libc/src/__support/CPP/type_traits/is_null_pointer.h which defines cpp::nullptr_t. That include and that value should be used in place of std::nullptr_t I suspect.

Copy link
Contributor

@lntue lntue Oct 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pull/114321 should fix it

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for helping with this forward fix, and apologies for the breakage :)

smallp-o-p pushed a commit to smallp-o-p/llvm-project that referenced this pull request Nov 3, 2024
`strrchr("foo", '\0')` is defined to point to the end of `foo`, rather
than returning NULL. This wasn't caught by tests, since llvm-libc's
`ASSERT_STREQ(nullptr, "");` is not an assertion error.

While I'm here, refactor the test slightly to check for NULL more
specifically. I considered adding fancier `ASSERT`s (and changing the
semantics of `ASSERT_STREQ`), but opted for a more local fix by fair
dice roll.
NoumanAmir657 pushed a commit to NoumanAmir657/llvm-project that referenced this pull request Nov 4, 2024
`strrchr("foo", '\0')` is defined to point to the end of `foo`, rather
than returning NULL. This wasn't caught by tests, since llvm-libc's
`ASSERT_STREQ(nullptr, "");` is not an assertion error.

While I'm here, refactor the test slightly to check for NULL more
specifically. I considered adding fancier `ASSERT`s (and changing the
semantics of `ASSERT_STREQ`), but opted for a more local fix by fair
dice roll.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants