From patchwork Wed Dec 4 14:44:05 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Carlos O'Donell X-Patchwork-Id: 36508 Received: (qmail 35238 invoked by alias); 4 Dec 2019 14:44:13 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 35226 invoked by uid 89); 4 Dec 2019 14:44:12 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-17.3 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT autolearn=ham version=3.3.1 spammy=user-visible, H*MI:sk:871rtkr, H*f:sk:871rtkr, H*i:sk:871rtkr X-HELO: us-smtp-1.mimecast.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1575470649; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=g9zVH7LN5bYWC5Hlpa27SwswFUiJN1lGgcVCulJngak=; b=SsV5shAZW5pWsg85bWUBZSMPGuCDDEcde+32MIzSf6NeneGfkLeNOokEI/CIhhZ8wy5GDX RtHUbmRKNYGZZyAN+JqO5PCrnnSVpnROKH/IuMM8f7hNa0BbUPsRqV2z8wu8R4Ze8MdmgH Rt0oxbA/d2IZoHLd9zq1+pzFTwyCsHU= Return-Path: Subject: [PATCH] Fix failure to run tests when CFLAGS contains -DNDEBUG (Bug 25251) To: Florian Weimer Cc: libc-alpha References: <9e41bfdd-c2e6-9fcd-9576-d485aba0d401@redhat.com> <875zixqe7d.fsf@oldenburg2.str.redhat.com> <7f4d3a93-e140-5125-5247-52b86dcb6247@redhat.com> <871rtkr1h5.fsf@oldenburg2.str.redhat.com> From: Carlos O'Donell Message-ID: <35485007-9fa2-30d8-2a28-3f6ad577ee8e@redhat.com> Date: Wed, 4 Dec 2019 09:44:05 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 MIME-Version: 1.0 In-Reply-To: <871rtkr1h5.fsf@oldenburg2.str.redhat.com> X-Mimecast-Spam-Score: 0 On 12/4/19 2:31 AM, Florian Weimer wrote: > * Carlos O'Donell: > >> How is this v2 with a better commit message? > > Sorry, why has -DNDEBUG got anything with -march=i486 (sic) or -Os? > I think you should mention -DNDEBUG only. > > The comment should probably mention CFLAGS and -DNDEBUG, because that's > the common case. Ah, I see your point. Cleaned up. I filed a new bug for this user-visible build bug. The following patch fixes the issue, and commit message update. No regressions on a build with -DNDEBUG. OK for master? From 080292f03e7489910750d9fe79e652aa8636bc84 Mon Sep 17 00:00:00 2001 From: Carlos O'Donell Date: Tue, 3 Dec 2019 15:42:24 -0500 Subject: [PATCH] Fix failure to run tests when CFLAGS contains -DNDEBUG (Bug 25251) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- 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 41cb487512..a175f5e961 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 . */ +/* We do not want the compiler or any other pre-included header from + removing the assert we want to test, so undefine NDEBUG right now. */ +#undef NDEBUG #include /* The C++ standard requires that if the assert argument is a constant