[PATCH 04/10] tst-assert-c++.cc: Return EXIT_UNSUPPORTED for GCC 4.9 or older

H.J. Lu hjl.tools@gmail.com
Fri Dec 13 07:13:04 GMT 2024


Since assert/tst-assert-c++.cc fails to compile with GCC 4.9:

./tst-assert-c++.cc: In function ‘constexpr int check_constexpr()’:
./tst-assert-c++.cc:30:1: error: body of constexpr function ‘constexpr int check_constexpr()’ not a return-statement
 }
 ^

return EXIT_UNSUPPORTED for GCC 4.9 or older.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
---
 assert/tst-assert-c++.cc | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/assert/tst-assert-c++.cc b/assert/tst-assert-c++.cc
index 9d587a16fa..8f06ff8223 100644
--- a/assert/tst-assert-c++.cc
+++ b/assert/tst-assert-c++.cc
@@ -21,6 +21,7 @@
 #undef NDEBUG
 #include <assert.h>
 
+#if __GNUC_PREREQ (5, 0)
 /* The C++ standard requires that if the assert argument is a constant
    subexpression, then the assert itself is one, too.  */
 constexpr int
@@ -77,5 +78,14 @@ do_test ()
 
   return 0;
 }
+#else
+#include <support/test-driver.h>
+
+static int
+do_test ()
+{
+  return EXIT_UNSUPPORTED;
+}
+#endif
 
 #include <support/test-driver.c>
-- 
2.47.1



More information about the Libc-alpha mailing list