From patchwork Tue Dec 10 16:48:32 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: 1207162 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-107892-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="mwTsP0LT"; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.b="hUGaAmhd"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 47XQxY4h5Qz9sPc for ; Wed, 11 Dec 2019 03:48:49 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:to:from:subject:message-id:date:mime-version :content-type:content-transfer-encoding; q=dns; s=default; b=vFo O/x2P7Bt9Dkq/vYr38Ne88YUr80k+UtIQzd1bcs1sITBI0IftdX5SiljXYGMXv+r L+JayudifPfayjGuBC35mxmYp83VIroBpjnbB14u7yAxxUl3K9Y9v7VMlseB2Jo7 c5SMck9pZ0sHQozcVeDoVNlGPwhkXypKU282ORjE= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:to:from:subject:message-id:date:mime-version :content-type:content-transfer-encoding; s=default; bh=f1ZcSwy/L 4JWbhyEFpJu46VpIyY=; b=mwTsP0LTrVIEX18ALPwuqgUhFXLjx7/eO7+vV2VFj DTPPIlF4eFjyPlmPhkx5hbIyfIq4gtfy5r+88KVeg203ix461hJEP8I4WzRxhkfS Nw0bC7K/gfKfbXVxiaQ8bIeT+RH4D0ClvAsHeXCTbwvP8ODf6QHKjZsOlG2REAWB ns= Received: (qmail 64108 invoked by alias); 10 Dec 2019 16:48:43 -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 64080 invoked by uid 89); 10 Dec 2019 16:48:41 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-17.4 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=clarified X-HELO: us-smtp-delivery-1.mimecast.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1575996519; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kq5LLASmuhqM30Z9mRmio0pSNh/QsM8EF/yWS09ITho=; b=hUGaAmhdkHNG4YgP1Ctl77cWDPJ/wQsO6BpV+LSx7HNw27K33+NcL6x/HcwSOyjW0WXAbo podayl0WNtmSNg5e2RrtDAv3m2azTbO7BjvDhfYIbMBKN0NCjJDVqYd8vK1Ph1NuZ7XaOj qlNCwOTmMDbf3jXIgIbEljLzadx59xQ= To: libc-alpha , Florian Weimer From: Carlos O'Donell Subject: [PATCH v4] Fix failure when CFLAGS contains -DNDEBUG (Bug 25251) Message-ID: <3a5d2d60-55c1-a493-dbab-6562bfd3202d@redhat.com> Date: Tue, 10 Dec 2019 11:48:32 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 OK, here is v4 - Clarified all comments that this is about the build system in some way adding -DNDEBUG and that we want to undo that for the test. 8< --- 8< --- 8< 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..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 . */ +/* Undefine NDEBUG to ensure the build system e.g. CFLAGS/CXXFLAGS + does not disable the asserts we want to test. */ +#undef NDEBUG #include /* The C++ standard requires that if the assert argument is a constant