public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
From: Carlos O'Donell <carlos@sourceware.org>
To: glibc-cvs@sourceware.org
Subject: [glibc] Fix failure when CFLAGS contains -DNDEBUG (Bug 25251)
Date: Tue, 10 Dec 2019 20:59:00 -0000	[thread overview]
Message-ID: <20191210205951.60201.qmail@sourceware.org> (raw)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="us-ascii", Size: 1691 bytes --]

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=83fe078130f62c35fcceab7133fa4b1512925951

commit 83fe078130f62c35fcceab7133fa4b1512925951
Author: Carlos O'Donell <carlos@redhat.com>
Date:   Tue Dec 3 15:42:24 2019 -0500

    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.

Diff:
---
 assert/tst-assert-c++.cc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/assert/tst-assert-c++.cc b/assert/tst-assert-c++.cc
index 41cb487..c01fc8b 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


                 reply	other threads:[~2019-12-10 20:59 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191210205951.60201.qmail@sourceware.org \
    --to=carlos@sourceware.org \
    --cc=glibc-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).