From patchwork Fri Feb 17 20:33:21 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Kosnik X-Patchwork-Id: 142006 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 80448B6EF1 for ; Sat, 18 Feb 2012 07:33:51 +1100 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1330115632; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Received: Date:From:To:Subject:Message-ID:Mime-Version:Content-Type: Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:Sender:Delivered-To; bh=KvFi3ehI9bI43hcvuo6n 1C81M1Y=; b=euFGvGZC0xkIoMagoJPnBK+x2rNptanONA9M40nZ853+HHwRlwe/ /yZYbGzb/gSlZIYF844KOE1UbU19yYIvdjfQWcy6s2/FbLb8Wa81GeQa5hFKmxLW fW07y15qwjGUqtbq6jo5WwptvjQfCGPaTpn21IAejowP2YecJenkEus= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:Received:Date:From:To:Subject:Message-ID:Mime-Version:Content-Type:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=kFD8WRMV8HdUMeRLAZca/Vlwu0eQVFsz/5malmMaUAfXeBXaXQTbTYWYMIgLPK AKMbW9OtplgPdoS5ZakiXXbPfLyHSrh/K7HRba/TX7hFOaXTmn1ASV/5u+zlv/W+ XY8nVJy6kM5A/S6t5bBT1vdJehvWRGmXIk6tJOYRki2TQ=; Received: (qmail 31411 invoked by alias); 17 Feb 2012 20:33:43 -0000 Received: (qmail 31394 invoked by uid 22791); 17 Feb 2012 20:33:42 -0000 X-SWARE-Spam-Status: No, hits=-6.2 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_HI, SPF_HELO_PASS, TW_FV, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 17 Feb 2012 20:33:28 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q1HKXSXN021494 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 17 Feb 2012 15:33:28 -0500 Received: from shotwell (ovpn-113-143.phx2.redhat.com [10.3.113.143]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q1HKXRAa000871 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Fri, 17 Feb 2012 15:33:27 -0500 Date: Fri, 17 Feb 2012 12:33:21 -0800 From: Benjamin Kosnik To: libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org Subject: [v3] libstdc++/47058 Message-ID: <20120217123321.340c6b29@shotwell> Mime-Version: 1.0 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Adds support for disabling -Werror with --disable-werror configure flag. tested x86/linux --enable-maintainer-mode tested x86/linux --enable-maintainer-mode --disable-werror -benjamin 2012-02-17 Benjamin Kosnik PR libstdc++/47058 * acinclude.m4 (GLIBCXX_ENABLE_WERROR): New. (GLIBCXX_EXPORT_FLAGS): Add -Wabi to WARN_FLAGS * configure.ac: Use it. * fragment.am: Set WERROR_FLAG conditionally on --disable-werror. * configure: Regenerate. * python/Makefile.in: Same. * Makefile.in: Same. * doc/Makefile.in: Same. * include/Makefile.in: Same. * po/Makefile.in: Same. * python/Makefile.in: Same. * src/Makefile.in: Same. * src/c++11/Makefile.in: Same. * src/c++98/Makefile.in: Same. * testsuite/Makefile.in: Same. diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index e7ffacc..46a5532 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -729,7 +729,7 @@ AC_DEFUN([GLIBCXX_EXPORT_FLAGS], [ # OPTIMIZE_CXXFLAGS = -O3 -fstrict-aliasing -fvtable-gc AC_SUBST(OPTIMIZE_CXXFLAGS) - WARN_FLAGS='-Wall -Wextra -Wwrite-strings -Wcast-qual' + WARN_FLAGS='-Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi' AC_SUBST(WARN_FLAGS) ]) @@ -3591,6 +3591,17 @@ AC_SUBST(python_mod_dir) GLIBCXX_CONDITIONAL(ENABLE_PYTHONDIR, test $python_mod_dir != no) ]) +dnl +dnl Check to see if -Werror is disabled. +dnl +dnl --enable-werror/--disable-werror +AC_DEFUN([GLIBCXX_ENABLE_WERROR], [ + AC_MSG_CHECKING([for -Werror]) + GLIBCXX_ENABLE(werror,$1,,[turns on -Werror]) + AC_MSG_RESULT($enable_werror) + GLIBCXX_CONDITIONAL(ENABLE_WERROR, test $enable_werror = yes) +]) + # Macros from the top-level gcc directory. m4_include([../config/gc++filt.m4]) diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac index 81b523f..49de141 100644 --- a/libstdc++-v3/configure.ac +++ b/libstdc++-v3/configure.ac @@ -131,6 +131,7 @@ GLIBCXX_ENABLE_CXX_FLAGS GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING([no]) GLIBCXX_ENABLE_EXTERN_TEMPLATE([yes]) GLIBCXX_ENABLE_PYTHON +GLIBCXX_ENABLE_WERROR([yes]) # Checks for operating systems support that doesn't require linking. GLIBCXX_CHECK_MATH_PROTO diff --git a/libstdc++-v3/fragment.am b/libstdc++-v3/fragment.am index 2bcbc1a..304d396 100644 --- a/libstdc++-v3/fragment.am +++ b/libstdc++-v3/fragment.am @@ -13,12 +13,18 @@ STAMP = echo timestamp > toolexecdir = $(glibcxx_toolexecdir) toolexeclibdir = $(glibcxx_toolexeclibdir) +if ENABLE_WERROR +WERROR_FLAG=$(WERROR) +else +WERROR_FLAG= +endif + # These bits are all figured out from configure. Look in acinclude.m4 # or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS. CONFIG_CXXFLAGS = \ $(SECTION_FLAGS) $(EXTRA_CXX_FLAGS) -frandom-seed=$@ WARN_CXXFLAGS = \ - $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once -Wabi + $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once # -I/-D flags to pass when compiling. AM_CPPFLAGS = $(GLIBCXX_INCLUDES)