From patchwork Tue Sep 6 18:08:42 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Merrill X-Patchwork-Id: 113654 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 A78BBB6F76 for ; Wed, 7 Sep 2011 04:09:07 +1000 (EST) Received: (qmail 4650 invoked by alias); 6 Sep 2011 18:09:05 -0000 Received: (qmail 4634 invoked by uid 22791); 6 Sep 2011 18:09:03 -0000 X-SWARE-Spam-Status: No, hits=-6.7 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, SPF_HELO_PASS 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; Tue, 06 Sep 2011 18:08:45 +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 p86I8ifL031935 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 6 Sep 2011 14:08:44 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p86I8i4g015098 for ; Tue, 6 Sep 2011 14:08:44 -0400 Received: from [0.0.0.0] (ovpn-113-157.phx2.redhat.com [10.3.113.157]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id p86I8hGA027836 for ; Tue, 6 Sep 2011 14:08:43 -0400 Message-ID: <4E6661AA.8030305@redhat.com> Date: Tue, 06 Sep 2011 14:08:42 -0400 From: Jason Merrill User-Agent: Mozilla/5.0 (X11; Linux i686; rv:6.0) Gecko/20110817 Thunderbird/6.0 MIME-Version: 1.0 To: gcc-patches List Subject: Re: C++ PATCHes for core 1358, 1360, c++/50248 (constexpr, templates, default constructor) References: <4E64501D.5050806@redhat.com> In-Reply-To: <4E64501D.5050806@redhat.com> 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 A followup: non-literal argument types shouldn't change the constexpr flag either, and we shouldn't crash when a constructor initializes bases as well as members (50296). I'm not sure how my testing missed that bug... Tested x86_64-pc-linux-gnu, applying to trunk. commit 26e458d541a3b04512ab88cfab866703e868e728 Author: Jason Merrill Date: Thu Jul 14 23:56:59 2011 -0400 zadditional_options diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 0fded4e..e12791d 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -5019,7 +5019,7 @@ check_p_subdirs=$(wordlist 1,$(words $(check_$*_parallelize)),$(check_p_numbers) # For parallelized check-% targets, this decides whether parallelization # is desirable (if -jN is used and RUNTESTFLAGS doesn't contain anything -# but optional --target_board or --tool_opts arguments). If it is desirable, +# but optional --target_board or --zadditional_options arguments). If desirable, # recursive make is run with check-parallel-$lang{,1,2,3,4,5} etc. goals, # which can be executed in parallel, as they are run in separate directories. # check-parallel-$lang{1,2,3,4,5} etc. goals invoke runtest with the longest @@ -5036,7 +5036,7 @@ check_p_subdirs=$(wordlist 1,$(words $(check_$*_parallelize)),$(check_p_numbers) # to lang_checks_parallelized variable and define check_$lang_parallelize # variable (see above check_gcc_parallelize description). $(lang_checks_parallelized): check-% : site.exp - @if [ -z "$(filter-out --target_board=%,$(filter-out --tool_opts%,$(RUNTESTFLAGS)))" ] \ + @if [ -z "$(filter-out --target_board=%,$(filter-out --zadditional_options%,$(RUNTESTFLAGS)))" ] \ && [ "$(filter -j, $(MFLAGS))" = "-j" ]; then \ $(MAKE) TESTSUITEDIR="$(TESTSUITEDIR)" RUNTESTFLAGS="$(RUNTESTFLAGS)" \ check-parallel-$* \ diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in index b9251a4..8353376 100644 --- a/gcc/cp/Make-lang.in +++ b/gcc/cp/Make-lang.in @@ -151,7 +151,7 @@ c++.srcman: doc/g++.1 check-c++ : check-g++ # Run the testsute in C++0x mode. check-c++0x: - $(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) --tool_opts=-std=gnu++0x" \ + $(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) --zadditional_options,-std=gnu++0x" \ TESTSUITEDIR="$(TESTSUITEDIR).c++0x" check-g++ check-c++-subtargets : check-g++-subtargets # List of targets that can use the generic check- rule and its // variant. diff --git a/gcc/testsuite/lib/g++.exp b/gcc/testsuite/lib/g++.exp index 81c4398..562f6f0 100644 --- a/gcc/testsuite/lib/g++.exp +++ b/gcc/testsuite/lib/g++.exp @@ -307,3 +307,33 @@ proc g++_target_compile { source dest type options } { return $result } + +# +# ${tool}_option_help +# +# The initial 'z' is there because runtest.exp treats --a* as --all. +# This shouldn't be necessary at all; it should be entirely redundant with +# --tool_opts, except that --tool_opts currently breaks multilib. Patch at +# http://lists.gnu.org/archive/html/dejagnu/2002-10/msg00007.html + +proc ${tool}_option_help { } { + send_user " --zadditional_options,OPTIONS\t\tUse OPTIONS to compile the testcase files. OPTIONS should be comma-separated.\n" +} + +# +# ${tool}_option_proc +# + +proc ${tool}_option_proc { option } { + if [regexp "^--zadditional_options," $option] { + global gpp_compile_options + regsub "^--zadditional_options," $option "" option + foreach x [split $option ","] { + lappend gpp_compile_options "additional_flags=$x" + } + verbose -log "gpp_compile_options set to $gpp_compile_options" + return 1 + } else { + return 0 + } +}