Return-Path: Delivered-To: apmail-stdcxx-dev-archive@www.apache.org Received: (qmail 82235 invoked from network); 1 Jul 2008 00:47:13 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 1 Jul 2008 00:47:13 -0000 Received: (qmail 45189 invoked by uid 500); 1 Jul 2008 00:47:14 -0000 Delivered-To: apmail-stdcxx-dev-archive@stdcxx.apache.org Received: (qmail 45169 invoked by uid 500); 1 Jul 2008 00:47:14 -0000 Mailing-List: contact dev-help@stdcxx.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@stdcxx.apache.org Delivered-To: mailing list dev@stdcxx.apache.org Received: (qmail 45158 invoked by uid 99); 1 Jul 2008 00:47:14 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 30 Jun 2008 17:47:14 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of msebor@gmail.com designates 74.125.46.28 as permitted sender) Received: from [74.125.46.28] (HELO yw-out-2324.google.com) (74.125.46.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Jul 2008 00:46:23 +0000 Received: by yw-out-2324.google.com with SMTP id 5so1088554ywb.53 for ; Mon, 30 Jun 2008 17:46:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :organization:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding:sender; bh=05JDaaKBa5LHif31bk54Rq8O6GQD+Auf+u46YiyFrOs=; b=FtxxvFPisjr9R+/TaehZjnJVQiqoJLG4mBAyB0Wxn/JmqbxC8/+MTuLEwUA7Em9EUI Tm7lYMhr3nhjbNobNhF8yLxqhP3k7fIxOST+ayBFqhIH+nuNyKXYym8AHj92sIgmM1Nq GjT4COvE7MZThXkKVkq14CktQMBNqkCRiIwOU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:organization:user-agent:mime-version:to :subject:references:in-reply-to:content-type :content-transfer-encoding:sender; b=R46KNZzO4ueVBZ9ZHdUEyZA8+Km921LiKXcTge1ufHc8SSrDotX989jwiFklWZj3KJ ARQYhxAN19RNIxOVxg4jUhA3gSroqSSyx4AGIRJGLdR5kJ80P9dR29FQ2ioHKU6BXaQ0 RAtjaffcnBTNaJR380B/7bX4xGlh7/BoUwU9o= Received: by 10.151.144.15 with SMTP id w15mr9428369ybn.184.1214873199521; Mon, 30 Jun 2008 17:46:39 -0700 (PDT) Received: from localhost.localdomain ( [71.229.200.170]) by mx.google.com with ESMTPS id 25sm4630728qbw.1.2008.06.30.17.46.38 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 30 Jun 2008 17:46:38 -0700 (PDT) Message-ID: <48697E6C.20104@roguewave.com> Date: Mon, 30 Jun 2008 18:46:36 -0600 From: Martin Sebor Organization: Rogue Wave Software, Inc. User-Agent: Thunderbird 2.0.0.14 (X11/20080501) MIME-Version: 1.0 To: dev@stdcxx.apache.org Subject: Re: C++ 0x testing References: <486955F9.3080205@roguewave.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: Martin Sebor X-Virus-Checked: Checked by ClamAV on apache.org Eric Lemings wrote: > > >> -----Original Message----- >> From: Martin Sebor [mailto:msebor@gmail.com] On Behalf Of Martin Sebor >> Sent: Monday, June 30, 2008 3:54 PM >> To: dev@stdcxx.apache.org >> Subject: C++ 0x testing >> >> Unless I'm missing something, C++ 0x testing is currently disabled >> in nightly builds. I.e., because tests for the newly added C++ 0x >> features are guarded by the _RWSTD_NO_CXX_0X macro and because >> _RWSTD_EXT_CXX_0X is not #defined, the tests are compiled into >> what essentially amounts an empty main(). >> >> With type traits and tuple being nearly done, I think it's time >> to start exercising these and any other new components in nightly >> builds. One approach that might be easily implementable at least >> for gcc is the one suggested in a recent thread: for 4.3.x, add >> -std=gnu++0x to the set of compiler options for gcc 4.3 and >> beyond, and make _RWSTD_EXT_CXX_0X synonymous with gcc's >> __GXX_EXPERIMENTAL_CXX0X__. >> >> Is there a better approach? I'd like to get things set up >> sometime this week. > > Rather than hard-code the flags, I suggest a command-line make > definition; e.g. make _RWSTD_EXT_CXX_0X=1 ... > > I thought this is the way it was originally proposed. I'm not sure where the _RWSTD_EXT_CXX_0X macro came from or why C++ 0x is disabled by default even for compilers that it works with. I remember suggesting _RWSTD_NO_EXT_CXX_0X but not _RWSTD_EXT_CXX_0X. Of course, it's entirely possible that I forgot. Travis, what's your insight into this? > Anyways, > the gcc.config flag appends the appropriate compiler flags and > defines only if this make variable is defined; e.g. > > ifeq ($(_RWSTD_EXT_CXX_0X),1) > CXXFLAGS += -std=gnu++0x -D_RWSTD_EXT_CXX_0X > endif I'm suggesting we unconditionally enable it on 4.3.x in builds with gcc 4.3 (and all other compilers where it's intended to be tested). IIUC, the approach outlined above won't help us test the implementation in nightly builds because it'll still leave C++ 0x disabled unless we also change the buildntest script to define the make variable the way you show. If we were to take this approach I don't see the advantage over simply setting CXXOPTS=-std=gnu++0x instead. It seems to me that most users are more likely to be familiar and comfortable with using compiler options than with #defining our config macros. Martin