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.
This commit is contained in:
Carlos O'Donell 2019-12-03 15:42:24 -05:00
parent 0487ebed22
commit 83fe078130

View File

@ -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