Return-Path: Delivered-To: apmail-stdcxx-dev-archive@www.apache.org Received: (qmail 91647 invoked from network); 27 Jun 2008 22:45:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 27 Jun 2008 22:45:21 -0000 Received: (qmail 91880 invoked by uid 500); 27 Jun 2008 22:45:22 -0000 Delivered-To: apmail-stdcxx-dev-archive@stdcxx.apache.org Received: (qmail 91860 invoked by uid 500); 27 Jun 2008 22:45:22 -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 91849 invoked by uid 99); 27 Jun 2008 22:45:22 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Jun 2008 15:45:22 -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.30 as permitted sender) Received: from [74.125.46.30] (HELO yw-out-2324.google.com) (74.125.46.30) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Jun 2008 22:44:32 +0000 Received: by yw-out-2324.google.com with SMTP id 5so326544ywb.53 for ; Fri, 27 Jun 2008 15:44:52 -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=u3L9h3bw7J5mg68O3pEzk7DiJtBbVNCzCdJYZpg1kWM=; b=wl887a5AqKB6z0mUJmBL6rQCtgeFzckD9rq8Dl/R1x1Qc5iiEgKH8qOZ6ibT0C+4g7 i5FWbaB1O8x5+bPNSQNDrsOZHsWJ4y9wPEnLmzF3zn3NWPhF2N1aGyBZIU5jR7KdK/6X XdoIkfZcct/IFs2HcsR5mnvG+esg/y3Ga3OnU= 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=NHRU7j2oOwqxHq4ACiuGS8x4WSnT7uEJr/1m3KBWZlaLuhe8lJlo/EjUREi8TMubGG LM2SopWoP7/PoKl9tNWUGHeS1QOzy/vHaKvitagIxizFMUU0B6dMMZ0SSc4Sj98arY1n VBTn35D+zQBDLKdvJfgReV3FCZ9Syx8+CdFMk= Received: by 10.151.84.12 with SMTP id m12mr2214247ybl.11.1214606691928; Fri, 27 Jun 2008 15:44:51 -0700 (PDT) Received: from localhost.localdomain ( [71.229.200.170]) by mx.google.com with ESMTPS id a22sm2127453pye.6.2008.06.27.15.44.50 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 27 Jun 2008 15:44:50 -0700 (PDT) Message-ID: <48656D61.2010700@roguewave.com> Date: Fri, 27 Jun 2008 16:44:49 -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: status of with gcc References: <4863C50E.10702@roguewave.com> <4864188E.9040605@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 Travis Vitek wrote: > > >> -----Original Message----- >> From: Martin Sebor [mailto:msebor@gmail.com] On Behalf Of Martin Sebor >> Sent: Thursday, June 26, 2008 3:31 PM >> To: dev@stdcxx.apache.org >> Subject: Re: status of with gcc >> >> Travis Vitek wrote: >>> >>> >>> Martin Sebor wrote: >>>> I'm getting compilation errors with gcc 4.3. Is the implementation >>>> supposed to be stable at this point with any compiler or are there >>>> still some major issues? >>>> >>> I just did a sync of 4.3.x and a build with CXXFLAGS="-std=gnu++0x >>> -D_RWSTD_EXT_CXX_0X" and didn't run into any problems with >> >>> or the 20.meta.*.cpp tests (though 20.forward.cpp and >>> 26.valarray.cassign.cpp both fail to compile). >>> >>> I did another build without those flags and I do see some >> compile errors >>> in both the traits and tuple code. I'll fix the traits issues. >> Thanks. I hadn't realized I needed -std=gnu++0x and was getting >> a ton of errors. That, and I also forgot to reconfigure to get >> _RWSTD_NO_VARIADIC_TEMPLATES #defined. >> >> Btw., to make using C++ 0x easier we might want to automatically >> #define _RWSTD_EXT_CXX_0X when the __GXX_EXPERIMENTAL_CXX0X__ >> macro is #defined (and #undef _RWSTD_NO_VARIADIC_TEMPLATES and >> other config macros #defined as a result of the absence of the >> option during configuration). > > Yeah, but some of these options might break compatibility. I suspect it's unrealistic for us to try to constrain the C++ 0x implementation by the rules of binary compatibility while the spec is still in development or between pre-C++ 0x compilers and those that provide the essential C++ 0x core features that the library depends on. Just like gcc users who choose to compile with -std=gnu++0x cannot expect libstdc++ implementation of C++ 0x to stay stable across compiler releases (either at the ABI level or at source level), neither will be able to users of stdcxx until the final standard is in place. > > Imagine an exported function that takes an rvalue reference parameter. > The library would be configured without rvalue references, but then the > user 'enables' c++0x support by compiling with -std=gnu++0x. Now they > might get a link error, right? I don't see how they could. There's no such thing as rvalue references in today's C++ and I can't think of any way to emulate them. Enabling C++ 0x support (e.g., using gcc's -std=gnu++0x option) will only add new overloads taking rvalue references; it won't remove any. Martin