aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@redhat.com>2019-12-03 15:42:24 -0500
committerCarlos O'Donell <carlos@redhat.com>2019-12-10 12:22:42 -0500
commit83fe078130f62c35fcceab7133fa4b1512925951 (patch)
treeae73e40132b1bc9aa9b17d7a16ef572930f41e2d
parent0487ebed2278b20971af4cabf186fd3681adccf0 (diff)
downloadglibc-83fe078130f62c35fcceab7133fa4b1512925951.tar
glibc-83fe078130f62c35fcceab7133fa4b1512925951.tar.gz
glibc-83fe078130f62c35fcceab7133fa4b1512925951.tar.bz2
glibc-83fe078130f62c35fcceab7133fa4b1512925951.zip
Fix failure when CFLAGS contains -DNDEBUG (Bug 25251)
Building tests with -DNDEBUG in CFLAGS, gcc 9.2.1 issues the following error: tst-assert-c++.cc: In function ‘int do_test()’: tst-assert-c++.cc:66:12: error: unused variable ‘value’ [-Werror=unused-variable] 66 | no_int value; | ^~~~~ tst-assert-c++.cc:71:18: error: unused variable ‘value’ [-Werror=unused-variable] 71 | bool_and_int value; | ^~~~~ The assert has been disabled by building glibc with CFLAGS, CXXFLAGS, and CPPFLAGS with -DNDEBUG which removes the assert and leaves the value unused. We never want the assert disabled because that's the point of the test, so we undefine NDEBUG before including assert.h to ensure that we get assert correctly defined.
-rw-r--r--assert/tst-assert-c++.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/assert/tst-assert-c++.cc b/assert/tst-assert-c++.cc
index 41cb487512..c01fc8bd25 100644
--- a/assert/tst-assert-c++.cc
+++ b/assert/tst-assert-c++.cc
@@ -16,6 +16,9 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
+/* Undefine NDEBUG to ensure the build system e.g. CFLAGS/CXXFLAGS
+ does not disable the asserts we want to test. */
+#undef NDEBUG
#include <assert.h>
/* The C++ standard requires that if the assert argument is a constant