Re: [PATCH] RE: libcilkrts/runtime/config/generic/cilk-abi-vla.c failure (was: [PATCH, committed] libcilkrts - Add check for availability of alloca.h (Bug Bootstrap/58918))

2013-10-31 Thread Jakub Jelinek
On Thu, Oct 31, 2013 at 01:32:19PM +, Iyer, Balaji V wrote: > > It is not just about not including 3, but also the []s in configure.ac were > > eaten by > > m4. In any case, shouldn't you fix also config/generic? > > > > I am in the process of fixing config/generic. I also replaced [456] wi

RE: [PATCH] RE: libcilkrts/runtime/config/generic/cilk-abi-vla.c failure (was: [PATCH, committed] libcilkrts - Add check for availability of alloca.h (Bug Bootstrap/58918))

2013-10-31 Thread Iyer, Balaji V
> -Original Message- > From: Jakub Jelinek [mailto:ja...@redhat.com] > Sent: Thursday, October 31, 2013 3:46 AM > To: Iyer, Balaji V > Cc: Gerald Pfeifer; Jeff Law; gcc@gcc.gnu.org > Subject: Re: [PATCH] RE: libcilkrts/runtime/config/generic/cilk-abi-vla.c > f

Re: [PATCH] RE: libcilkrts/runtime/config/generic/cilk-abi-vla.c failure (was: [PATCH, committed] libcilkrts - Add check for availability of alloca.h (Bug Bootstrap/58918))

2013-10-31 Thread Jakub Jelinek
On Thu, Oct 31, 2013 at 03:21:14AM +, Iyer, Balaji V wrote: > It is because of this line: > > i[456]86-*-*) > config_dir="x86" > ;; > > It should include a 3 too. My bad sorry. I have fixed it. Attached, please > find a patch. It is committed as obvious. It is not just about not i

[PATCH] RE: libcilkrts/runtime/config/generic/cilk-abi-vla.c failure (was: [PATCH, committed] libcilkrts - Add check for availability of alloca.h (Bug Bootstrap/58918))

2013-10-30 Thread Iyer, Balaji V
> -Original Message- > From: Gerald Pfeifer [mailto:ger...@pfeifer.com] > Sent: Wednesday, October 30, 2013 9:39 PM > To: Iyer, Balaji V > Cc: Jeff Law; gcc@gcc.gnu.org > Subject: libcilkrts/runtime/config/generic/cilk-abi-vla.c failure (was: > [PATCH, > committed

libcilkrts/runtime/config/generic/cilk-abi-vla.c failure (was: [PATCH, committed] libcilkrts - Add check for availability of alloca.h (Bug Bootstrap/58918))

2013-10-30 Thread Gerald Pfeifer
aji! Now my FreeBSD tester no longer shows this failure, but this: /scratch2/tmp/gerald/gcc-HEAD/libcilkrts/runtime/config/generic/cilk-abi-vla.c: In function \xe2\x80\x98__cilkrts_stack_free\xe2\x80\x99: /scratch2/tmp/gerald/gcc-HEAD/libcilkrts/runtime/config/generic/cilk-abi-vla.c:1 06:28: err

Re: MPX ABI extension

2013-09-16 Thread Ilya Enkovich
unction pointers get bounds too. >> If so, it might be good to state that explicitly. >> I suppose they would be all-of-memory bounds though, >> due to the lack of hardware support for checking them. > My wording may seem ambiguous for function pointers but in ABI > document

Re: MPX ABI extension

2013-08-27 Thread Ilya Enkovich
state that explicitly. > I suppose they would be all-of-memory bounds though, > due to the lack of hardware support for checking them. My wording may seem ambiguous for function pointers but in ABI document register classes description enumerates all types assigned to each class. I think

Re: MPX ABI extension

2013-08-26 Thread Kalle Olavi Niemitalo
Ilya Enkovich writes: > - When we pass (return) pointer on register, we use the next > available bound register to pass (return) bounds >From the wording, it seems function pointers get bounds too. If so, it might be good to state that explicitly. I suppose they would be all-of-memory bounds th

MPX ABI extension

2013-08-26 Thread Ilya Enkovich
Hi, Here is a patch to extend x86-64 psABI to support MPX [1]. A short description of changes: - There are 4 bound registers (bnd0-bnd3) added; all of them are caller-save - When we pass (return) pointer on register, we use the next available bound register to pass (return) bounds - If there i

Re: GCC Cauldron: Notes from the C++ ABI BOF

2013-01-24 Thread Jason Merrill
On 01/22/2013 07:42 PM, Cary Coutant wrote: I believe we required an explicit attribute on the forward declaration in such a case. The question is, what do we want to do for a user type that, say, has a std::string field. Rejecting the program would be non-conforming, but otherwise we're lik

Re: GCC Cauldron: Notes from the C++ ABI BOF

2013-01-22 Thread Cary Coutant
>> Normally, the version identifier is applied to a type. It then >> propagates to any declaration using that type, whether it's another >> type or function or variable. For struct/union/class types, if any >> member or base class has an attached version identifier (excluding >> static data members

Re: GCC Cauldron: Notes from the C++ ABI BOF

2013-01-22 Thread Jason Merrill
On 01/10/2013 08:58 PM, Cary Coutant wrote: Normally, the version identifier is applied to a type. It then propagates to any declaration using that type, whether it's another type or function or variable. For struct/union/class types, if any member or base class has an attached version identifier

Re: GCC Cauldron: Notes from the C++ ABI BOF

2013-01-10 Thread Cary Coutant
> We had a useful discussion about C++11 ABI issues at the GNU Tools > Cauldron (http://gcc.gnu.org/wiki/cauldron2012). The approach will be > shaped over time, but the general idea is as follows. > > We will modify g++ to support a type attribute indicating the version > of the

Re: Stale C++ ABI link

2012-12-14 Thread Jonathan Wakely
On 14 December 2012 21:58, Jonathan Wakely wrote: > Gerald did ask me to update the libstdc++ docs but I didn't (and I'm > still not sure what the consensus was regarding which link to use.) Actually the right fix for the libstdc++ docs seems pretty obvious, I'll do it tomorrow.

Re: Stale C++ ABI link

2012-12-14 Thread Jonathan Wakely
On 14 December 2012 21:51, Joe Buck wrote: > Richard Henderson writes: >> On >> http://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html >> we have a stale link to >> http://www.codesourcery.com/public/cxx-abi/abi.html > >>What's the new canonical l

RE: Stale C++ ABI link

2012-12-14 Thread Joe Buck
Richard Henderson writes: > On > http://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html > we have a stale link to > http://www.codesourcery.com/public/cxx-abi/abi.html >What's the new canonical location for this document? Looks like CodeSourcery is being assimilated into

Stale C++ ABI link

2012-12-14 Thread Richard Henderson
On http://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html we have a stale link to http://www.codesourcery.com/public/cxx-abi/abi.html What's the new canonical location for this document? r~

Re: Dealing with C++98/11 ABI incompatibilities

2012-10-31 Thread Jason Merrill
kage name of a class like struct Wrap { std::string s; }; so we would need some way to cause the name decoration to propagate to other containing/derived classes. I raised this issue on the ABI list, and someone pointed out to me that incomplete classes make quiet propagation impossible; a

Re: i386 --with-abi={x32|32|64} extending multiarch ....

2012-10-24 Thread H.J. Lu
On Mon, Oct 22, 2012 at 10:15 AM, Gregory Nietsky wrote: > > In using 4.7.2 and am working on extending our distro to have > x86/x86_64/x32/arm > > Ive yanked the H.Lu patch to add --with-abi support from trunk and am > extending it to > have a default 32bit ABI we have ni

i386 --with-abi={x32|32|64} extending multiarch ....

2012-10-22 Thread Gregory Nietsky
In using 4.7.2 and am working on extending our distro to have x86/x86_64/x32/arm Ive yanked the H.Lu patch to add --with-abi support from trunk and am extending it to have a default 32bit ABI we have nicknamed this the LOTR compiler [One compiler to compile them all] [for the i386 at least

Re: [wwwdocs] Update links to C++ ABI (was: at exit alternative for AIX)

2012-08-26 Thread Gabriel Dos Reis
On Sun, Aug 26, 2012 at 11:55 AM, Ian Lance Taylor wrote: > On Sun, Aug 26, 2012 at 3:43 AM, Gerald Pfeifer wrote: >> On Tue, 7 Aug 2012, Ian Lance Taylor wrote: >>> The official link at http://codesourcery.com/cxx-abi/ (note trailing >>> slash) still work

RE: [wwwdocs] Update links to C++ ABI

2012-08-26 Thread Mitchell, Mark
g > Subject: Re: [wwwdocs] Update links to C++ ABI > > On Sun, 26 Aug 2012, Ian Lance Taylor wrote: > >> It used to be http://sourcery.mentor.com/public/cxx-abi/ as of > >> lately, and now redirects to http://mentorembedded.github.com/cxx- > abi/ . > >> > >&g

Re: [wwwdocs] Update links to C++ ABI

2012-08-26 Thread Gerald Pfeifer
On Sun, 26 Aug 2012, Ian Lance Taylor wrote: >> It used to be http://sourcery.mentor.com/public/cxx-abi/ as of lately, >> and now redirects to http://mentorembedded.github.com/cxx-abi/ . >> >> I went ahead and updated all our references per the patch below. > I don

Re: [wwwdocs] Update links to C++ ABI (was: at exit alternative for AIX)

2012-08-26 Thread Ian Lance Taylor
On Sun, Aug 26, 2012 at 3:43 AM, Gerald Pfeifer wrote: > On Tue, 7 Aug 2012, Ian Lance Taylor wrote: >> The official link at http://codesourcery.com/cxx-abi/ (note trailing >> slash) still works. > > It used to be http://sourcery.mentor.com/public/cxx-abi/ as of lately, &

[wwwdocs] Update links to C++ ABI (was: at exit alternative for AIX)

2012-08-26 Thread Gerald Pfeifer
On Tue, 7 Aug 2012, Ian Lance Taylor wrote: > The official link at http://codesourcery.com/cxx-abi/ (note trailing > slash) still works. It used to be http://sourcery.mentor.com/public/cxx-abi/ as of lately, and now redirects to http://mentorembedded.github.com/cxx-abi/ . I went ahe

Re: GCC Cauldron: Notes from the C++ ABI BOF

2012-08-16 Thread Jonathan Wakely
s of std::ios_failure. > > I don't know if adding move semantics to iostream classes can be done > without ABI changes (I haven't looked into it.) I've just remembered that std::reverse_iterator has been in need of an ABI change for years now, see LWG DR 198 and PR 51823.

Re: GCC Cauldron: Notes from the C++ ABI BOF

2012-07-20 Thread Jonathan Wakely
e attribute to make it a different type with the "_cxx11" tag.) I think there are some changes needed to the hierarchy of exception classes, to add std::system_error as a base class of std::ios_failure. I don't know if adding move semantics to iostream classes can be done without ABI changes (I haven't looked into it.)

Re: GCC Cauldron: Notes from the C++ ABI BOF

2012-07-20 Thread Jakub Jelinek
On Wed, Jul 11, 2012 at 02:47:37PM +0200, Michael Matz wrote: > On Wed, 11 Jul 2012, Ian Lance Taylor wrote: > > > We will modify g++ to support a type attribute indicating the version of > > the type, as a string. This type attribute will be inherited by any > > other type that uses it, as a c

Re: GCC Cauldron: Notes from the C++ ABI BOF

2012-07-11 Thread Gabriel Dos Reis
On Wed, Jul 11, 2012 at 6:18 AM, Ian Lance Taylor wrote: > My version of Cary's notes (I just wrote this on my Google+ stream): > > We had a useful discussion about C++11 ABI issues at the GNU Tools > Cauldron (http://gcc.gnu.org/wiki/cauldron2012). The approach will be > s

Re: GCC Cauldron: Notes from the C++ ABI BOF

2012-07-11 Thread Michael Matz
Hi, On Wed, 11 Jul 2012, Ian Lance Taylor wrote: > We will modify g++ to support a type attribute indicating the version of > the type, as a string. This type attribute will be inherited by any > other type that uses it, as a class/struct member or via inheritance. > Type attributes will be

Re: GCC Cauldron: Notes from the C++ ABI BOF

2012-07-11 Thread Ian Lance Taylor
My version of Cary's notes (I just wrote this on my Google+ stream): We had a useful discussion about C++11 ABI issues at the GNU Tools Cauldron (http://gcc.gnu.org/wiki/cauldron2012). The approach will be shaped over time, but the general idea is as follows. We will modify g++ to supp

GCC Cauldron: Notes from the C++ ABI BOF

2012-07-11 Thread Cary Coutant
string & list changes - function w/ string arg - classes w/ string members - global variables - link c++98 & c++0x together - link existing c++98 .o & new c++-x .o - link at runtime c++98 .so & new c++0x .so HP: attribute on type propagates to: - function (params or return type) - structs w/ mem

Re: Dealing with C++98/11 ABI incompatibilities

2012-07-04 Thread Jason Merrill
On 07/04/2012 09:41 AM, Richard Guenther wrote: Btw, why use a bitmask? Isn't it enough to have a single number, viewed as an ABI suffix? Well, I think the question is whether we want to create a mechanism which is only useful for libstdc++ versioning or one which is useful for ABI ch

Re: Dealing with C++98/11 ABI incompatibilities

2012-07-04 Thread Michael Matz
On Wed, 4 Jul 2012, Michael Matz wrote: > It will by the way not break unnoticed: interfaces using the problematic > types would be mangled differently, and hence c++98 code would silently ... would _not_ silently ... > be resolved to a c++11 variant expecting a different layout.

Re: Dealing with C++98/11 ABI incompatibilities

2012-07-04 Thread Richard Guenther
sa if they are using any of the changed >> interfaces for interoperability. Passing pointers to such objects still >> would work and break unnoticed. > > But it's the best we can possibly do _if_ we want to conform to c++11 in > the v6 ABI. IMHO we want to, so we have to at

Re: Dealing with C++98/11 ABI incompatibilities

2012-07-04 Thread Michael Matz
g pointers to such objects still > would work and break unnoticed. But it's the best we can possibly do _if_ we want to conform to c++11 in the v6 ABI. IMHO we want to, so we have to at least make 98/11 code coexist in the same process image, which means mangling changes. That the

Re: Dealing with C++98/11 ABI incompatibilities

2012-07-04 Thread Richard Guenther
using max) to all classes related > to that class somehow (having class with the attribute as data member, or > pointer/reference to it, etc., recursively) and all mangled names > referencing those use some mangling extension (letter + the bitmask or > version level somehow encoded) inside of the

Re: Dealing with C++98/11 ABI incompatibilities

2012-07-03 Thread Jakub Jelinek
angled names referencing those use some mangling extension (letter + the bitmask or version level somehow encoded) inside of the mangled names. We could reserve a couple of bits for libstdc++, and pick one of the bits for C++11 ABI incompatible changes, say std::list (_List_Impl in it?) would get th

Re: Dealing with C++98/11 ABI incompatibilities

2012-07-03 Thread Jeffrey Yasskin
On Tue, Jul 3, 2012 at 1:02 PM, Paolo Carlini wrote: > Hi, > > > On 07/03/2012 09:18 PM, Jason Merrill wrote: >> >> 2) Object layout changes to std::list and std::basic_string.  For these >> types, there is no way to both retain backward compatibility with older >> C++98 code and conform to the C+

Re: Dealing with C++98/11 ABI incompatibilities

2012-07-03 Thread Jason Merrill
On 07/03/2012 03:18 PM, Jason Merrill wrote: It seems that ELF symbol versioning could be useful for this purpose. If we were to extend the visibility attribute to also handle symbol versions, that could handle a lot of issues. If Wrap uses the GLIBCXX_4 version of string, then Wrap would also be

Re: Dealing with C++98/11 ABI incompatibilities

2012-07-03 Thread Jason Merrill
would only affect classes that derive from std::time_get in a multiple inheritance context. But to be safe we could bump the time_get ABI as well as the others. Jason

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-07-03 Thread Jason Merrill
On 07/03/2012 03:59 PM, Jonathan Wakely wrote: Returning a std::pair by value from a function causes problems if the caller and callee don't use the same -std setting, http://gcc.gnu.org/PR53657 and three or four other PRs. Right, that's because the changes to pair changed its interface. This

Re: Dealing with C++98/11 ABI incompatibilities

2012-07-03 Thread Daniel Krügler
2012/7/3 Paolo Carlini : > On 07/03/2012 10:10 PM, Daniel Krügler wrote: >> >> Isn't there a similar problem with the long long related additions of >> virtual function to IO/localization as in std::num_get and std::num_put? > > Probably not, because, if I understand correctly what you are saying,

Re: Dealing with C++98/11 ABI incompatibilities

2012-07-03 Thread Paolo Carlini
On 07/03/2012 10:10 PM, Daniel Krügler wrote: Isn't there a similar problem with the long long related additions of virtual function to IO/localization as in std::num_get and std::num_put? Probably not, because, if I understand correctly what you are saying, we have long long overloads in C++98

Re: Dealing with C++98/11 ABI incompatibilities

2012-07-03 Thread Daniel Krügler
2012/7/3 Paolo Carlini : > Hi, > > On 07/03/2012 09:18 PM, Jason Merrill wrote: >> >> 2) Object layout changes to std::list and std::basic_string. For these >> types, there is no way to both retain backward compatibility with older >> C++98 code and conform to the C++11 standard. The best we can

Re: Dealing with C++98/11 ABI incompatibilities

2012-07-03 Thread Paolo Carlini
Hi, On 07/03/2012 09:18 PM, Jason Merrill wrote: 2) Object layout changes to std::list and std::basic_string. For these types, there is no way to both retain backward compatibility with older C++98 code and conform to the C++11 standard. The best we can hope for is to allow old code to coexi

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-07-03 Thread Jonathan Wakely
On 3 July 2012 20:36, Jason Merrill wrote: > On 06/18/2012 04:46 AM, Jonathan Wakely wrote: >> >> The problems arise when user code that uses the "inline-only" code is >> linked to other user-code that has a different definition of that >> inline-only code. > > > What problems arise then? As long

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-07-03 Thread Jason Merrill
it doesn't matter which definition of the inline-only code is used. On 06/18/2012 06:14 AM, Gabriel Dos Reis wrote: A related question is whether for GCC-4.8 we should still continue to claim that C++11 is only experimental? That is at which point are My hope is to nail down the ABI enou

Re: libstdc++ c++98 & c++11 ABI incompatibility

2012-07-03 Thread Jason Merrill
ary a marker about the ABI version which then would be used by the linker to warn or error out. This vague idea goes of course well beyond our specific needs for the C++98 conforming std::list vs the C++11 conforming version of it. Yup. I've floated this idea as well. Some kind of note sectio

Dealing with C++98/11 ABI incompatibilities

2012-07-03 Thread Jason Merrill
There seem to be two areas of concern with compatibility between the C++98 and C++11 ABIs: 1) Changes to member function return types, as with std::complex. For these, the two functions could coexist except that they are mangled the same way. So I propose that we introduce a mechanism to cha

Re: libstdc++ c++98 & c++11 ABI incompatibility

2012-07-03 Thread Michael Matz
Hi, On Mon, 2 Jul 2012, Jeff Law wrote: > On 07/02/2012 11:53 AM, Paolo Carlini wrote: > > > > I also want to mention (I don't think somebody did already in the > > thread) that at some point, with Jason too, we discussed the idea of > > adding to each binar

Re: libstdc++ c++98 & c++11 ABI incompatibility

2012-07-02 Thread Jeff Law
On 07/02/2012 11:53 AM, Paolo Carlini wrote: I also want to mention (I don't think somebody did already in the thread) that at some point, with Jason too, we discussed the idea of adding to each binary a marker about the ABI version which then would be used by the linker to warn or erro

Re: libstdc++ c++98 & c++11 ABI incompatibility

2012-07-02 Thread Paolo Carlini
should be ABI compatible (modulo bugs), the addition of the _M_size member to std::_List_base::_List_impl makes libraries using std::list in headers incompatible This is pretty nasty for LibreOffice (and no doubt others). We can, and often do depend on rather a number of system C

Re: libstdc++ c++98 & c++11 ABI incompatibility

2012-07-02 Thread Jonathan Wakely
uldn't link to C++03's std::list. > > That means that C++03 std::list cannot interface with C++11 std::list > even within the v6 ABI, right? Right. >  That sounds not very much better > than the broken ABI we have right now (unless you suggest people > that want the C

Re: libstdc++ c++98 & c++11 ABI incompatibility

2012-07-02 Thread Richard Guenther
On Mon, Jul 2, 2012 at 7:00 PM, Jonathan Wakely wrote: > On 2 July 2012 17:43, Jeff Law wrote: >> On 07/02/2012 10:26 AM, Michael Meeks wrote: >>> >>> >>> On Thu, 2012-06-14 at 15:14 +0200, Matthias Klose wrote: >>>> >>>> While PR536

Re: libstdc++ c++98 & c++11 ABI incompatibility

2012-07-02 Thread Jonathan Wakely
On 2 July 2012 17:43, Jeff Law wrote: > On 07/02/2012 10:26 AM, Michael Meeks wrote: >> >> >> On Thu, 2012-06-14 at 15:14 +0200, Matthias Klose wrote: >>> >>> While PR53646 claims that c++98 and c++11 should be ABI >>> compatible (modulo bugs

Re: libstdc++ c++98 & c++11 ABI incompatibility

2012-07-02 Thread Jeff Law
On 07/02/2012 10:26 AM, Michael Meeks wrote: On Thu, 2012-06-14 at 15:14 +0200, Matthias Klose wrote: While PR53646 claims that c++98 and c++11 should be ABI compatible (modulo bugs), the addition of the _M_size member to std::_List_base::_List_impl makes libraries using std::list in headers

Re: libstdc++ c++98 & c++11 ABI incompatibility

2012-07-02 Thread Michael Meeks
On Thu, 2012-06-14 at 15:14 +0200, Matthias Klose wrote: > While PR53646 claims that c++98 and c++11 should be ABI > compatible (modulo bugs), the addition of the _M_size member > to std::_List_base::_List_impl makes libraries using > std::list in headers incompatible Th

Re: Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-18 Thread 3dw4rd
On 06/18/12, Paolo Carlini wrote: > > ... I suppose that for 4.8.0 we really want to bump the ABI, for many other > reasons too, and be done with it. > > Paolo. Would this bump include everything? Such as rebasing std::ios_base::failure from std::exception to std::s

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-18 Thread Paolo Carlini
(it's used also by , etc). For C++11, the last week I may have envisaged switching only the internals, without changing the exports, but then it would not be able to interoperate with , thus it would not lead to a consistent C++11 library. I suppose that for 4.8.0 we really want to bump th

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-18 Thread Michael Matz
Hi, On Mon, 18 Jun 2012, Gabriel Dos Reis wrote: > Jeff, please note that the path that Michael took from what was said > ealier (in particular the quote he provided in his message) and the > conclusion of "enthusiasm for soname bump" is still a mystery. The quoted part suggested switching std

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-18 Thread Jeff Law
On 06/18/2012 07:16 AM, Gabriel Dos Reis wrote: On Mon, Jun 18, 2012 at 7:55 AM, Jeff Law wrote: On 06/16/2012 12:46 PM, Michael Matz wrote: A soname change for a basic system library is a _major_ PITA and should be avoided even at large costs. In that light: do you have a plan of action o

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-18 Thread Gabriel Dos Reis
On Mon, Jun 18, 2012 at 7:55 AM, Jeff Law wrote: > On 06/16/2012 12:46 PM, Michael Matz wrote: >>> >>> >> A soname change for a basic system library is a _major_ PITA and should be >> avoided even at large costs.  In that light: do you have a plan of action >> of how to never change the soname aga

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-18 Thread Jeff Law
usable by the library to control its ABI/API would be worthwhile if a soname bump can be avoided. Agreed. It's probably worth noting that at least some of the desire to bump the soname expressed to me was to enable moving forward from -fabi-version=2. I don't think we've seen any via

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-18 Thread Gabriel Dos Reis
d still continue to claim that C++11 is only experimental? That is at which point are we going to stop claiming that? Is it just a cover for not having to decide anything ABI-wise? If so, I think we can just say that and drop the "experimental" disclaimer. (we don't fully impleme

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-18 Thread Jonathan Wakely
issue seriously while: >> a) there exist serious ABI incompatibilities between the modes. >> b) there is essentially no notice to users about the problem (and lots of >> users already brokenly compiling in C++11 mode!) >> c) there are no recommendations or plans for how users

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-18 Thread Stephan Bergmann
On 06/15/2012 10:12 PM, James Y Knight wrote: Whether or not this particular incompatibility was intended or not, the point remains. You cannot say that GCC devs are taking the C++11 binary incompatibility issue seriously while: a) there exist serious ABI incompatibilities between the modes. b

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-16 Thread Gabriel Dos Reis
I have no plan for willful obstruction in solving this recurring and really annoying problem that trips up users again and again, under all kinds of reasons (both perceived or constructed.)

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-16 Thread Michael Matz
Hi, On Fri, 15 Jun 2012, Gabriel Dos Reis wrote: > On Fri, Jun 15, 2012 at 3:12 PM, James Y Knight wrote: > > > IMO, at the /very least/, libstdc++ should go ahead and change std::string > > to be the new implementation. Once std::string is ABI-incompatible between >

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-16 Thread Chris Jefferson
On 15/06/12 21:45, Gabriel Dos Reis wrote: On Fri, Jun 15, 2012 at 3:12 PM, James Y Knight wrote: IMO, at the /very least/, libstdc++ should go ahead and change std::string to be the new implementation. Once std::string is ABI-incompatible between the modes, there's basically no chance

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-15 Thread Gabriel Dos Reis
On Fri, Jun 15, 2012 at 4:23 PM, Gabriel Paubert wrote: > Does this basically mean that compiling C++ code with GCC4.7 will be playing > Russian roulette? I don't think so. Let's make sure we do not overstate the case and we keep things in perspective and accurate. -- Gaby

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-15 Thread Jonathan Wakely
On 15 June 2012 22:23, Gabriel Paubert wrote: > > Does this basically mean that compiling C++ code with GCC4.7 will be playing > Russian roulette? No. If you don't use -std=c++11 then there's absolutely no problem whatsoever. If you do use it, use it consistently.

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-15 Thread Paolo Carlini
Hi, > Does this basically mean that compiling C++ code with GCC4.7 will be playing > Russian roulette? I don't know, I see pretty extreme statements around, which lately (maybe because I'm getting older? ;) I do my best to avoid. In any case, 4.7.1 is already out, whatever we do as regards to

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-15 Thread Gabriel Paubert
On Fri, Jun 15, 2012 at 10:52:27PM +0200, Paolo Carlini wrote: > Hi, > > > On Fri, Jun 15, 2012 at 3:12 PM, James Y Knight wrote: > > > >> IMO, at the /very least/, libstdc++ should go ahead and change std::string > >> to be the new implementation. Once std

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-15 Thread Paolo Carlini
Hi, > On Fri, Jun 15, 2012 at 3:12 PM, James Y Knight wrote: > >> IMO, at the /very least/, libstdc++ should go ahead and change std::string >> to be the new implementation. Once std::string is ABI-incompatible between >> the modes, there's basically no chance

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-15 Thread Gabriel Dos Reis
On Fri, Jun 15, 2012 at 3:12 PM, James Y Knight wrote: > IMO, at the /very least/, libstdc++ should go ahead and change std::string > to be the new implementation. Once std::string is ABI-incompatible between > the modes, there's basically no chance that anyone would think that &g

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-15 Thread James Y Knight
oint remains. You cannot say that GCC devs are taking the C++11 binary incompatibility issue seriously while: a) there exist serious ABI incompatibilities between the modes. b) there is essentially no notice to users about the problem (and lots of users already brokenly compiling in C++1

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-15 Thread Jakub Jelinek
On Thu, Jun 14, 2012 at 10:33:11PM +0200, Paweł Sikora wrote: > from the others side, someone can use -frecord-gcc-switches to detect mixed > '-std=...' > after final linking and report error in such cases. I don't think -frecord-gcc-switches is useful for that, unless you always specify explicit

Re: libstdc++ c++98 & c++11 ABI incompatibility

2012-06-14 Thread Jonathan Wakely
On 14 June 2012 14:14, Matthias Klose wrote: > So what could be done for a distribution? > >  - For this particular issue, ask upstreams to work around this >   particular incompatibility.  This might work better, if the >   upstream sits "closer" to the distribution, but doesn't seem >   to be a g

Re: libstdc++ c++98 & c++11 ABI incompatibility

2012-06-14 Thread Jason Merrill
On 06/14/2012 06:14 AM, Matthias Klose wrote: While PR53646 claims that c++98 and c++11 should be ABI compatible (modulo bugs), the addition of the _M_size member to std::_List_base::_List_impl makes libraries using std::list in headers incompatible, when built in c++98 and c++11 mode. So it

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-14 Thread Jeff Law
r off recording the ABI information in its own section rather than pull it out of the options section and that doing so should be the default rather than contingent on user options. We'd then want some linker support to warn/error when attempts to mix-n-match are made. jeff

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-14 Thread Paweł Sikora
On Thursday 31 of May 2012 22:58:32 Jonathan Wakely wrote: > On 31 May 2012 22:39, Jonathan Wakely wrote: > > On 31 May 2012 22:35, James Y Knight wrote: > >> I understand that the ABI changes generally cannot be avoided, but a lot > >> of pain for a lot of people could

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-06-14 Thread Jonathan Wakely
On 31 May 2012 22:35, James Y Knight wrote: > You've missed at least one ABI incompatibility in GCC 4.7 and later, as > demonstrated in real life by (at least) libboost_python, and distilled > into this test case. > > At least these bug reports are probably caused by this

libstdc++ c++98 & c++11 ABI incompatibility

2012-06-14 Thread Matthias Klose
While PR53646 claims that c++98 and c++11 should be ABI compatible (modulo bugs), the addition of the _M_size member to std::_List_base::_List_impl makes libraries using std::list in headers incompatible, when built in c++98 and c++11 mode. Currently seen in libsigc++ (Signal Framework for C

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-05-31 Thread James Y Knight
> On 31 May 2012 22:35, James Y Knight wrote: >> I understand that the ABI changes generally cannot be avoided, but a lot >> of pain for a lot of people could be avoided by making things fail >> obviously with a link error, instead of sometimes, arbitrarily, if >> yo

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-05-31 Thread Jonathan Wakely
On 31 May 2012 22:39, Jonathan Wakely wrote: > On 31 May 2012 22:35, James Y Knight wrote: >> I understand that the ABI changes generally cannot be avoided, but a lot >> of pain for a lot of people could be avoided by making things fail >> obviously with a link error,

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-05-31 Thread Jonathan Wakely
On 31 May 2012 22:35, James Y Knight wrote: > You've missed at least one ABI incompatibility in GCC 4.7 and later, as > demonstrated in real life by (at least) libboost_python, and distilled > into this test case. > > At least these bug reports are probably caused by this

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-05-31 Thread James Y Knight
You've missed at least one ABI incompatibility in GCC 4.7 and later, as demonstrated in real life by (at least) libboost_python, and distilled into this test case. At least these bug reports are probably caused by this ABI incompatibility: https://svn.boost.org/trac/boost/ticket/6919

Re: C++98/C++11 ABI compatibility for gcc-4.7

2012-05-23 Thread Jeffrey Yasskin
I've posted this to http://gcc.gnu.org/wiki/Cxx11AbiCompatibility. I would greatly appreciate any corrections or improvements. On Tue, May 22, 2012 at 9:04 AM, Jeffrey Yasskin wrote: > I've put together the following description of C++98/11 ABI > (in)compatibility, so peopl

C++98/C++11 ABI compatibility for gcc-4.7

2012-05-22 Thread Jeffrey Yasskin
I've put together the following description of C++98/11 ABI (in)compatibility, so people can tell which libraries need to be recompiled. This is useful when you've bought a library that didn't come with source code, and you're trying to figure out if you need to buy a new v

Re: C++ ABI RFC [was Re: C++/libiberty PATCH for many mangling fixes (6057, 48051, 50855, 51322, etc)]

2012-01-13 Thread Benjamin Kosnik
> > Note that one of the objectives of this email is to try and get > > maintainers from thinking there is going to be "a perfect time" to > > switch. Development history tells us there will always be more > > changes. We've been sitting on ABI-brea

Re: C++ ABI RFC [was Re: C++/libiberty PATCH for many mangling fixes (6057, 48051, 50855, 51322, etc)]

2012-01-13 Thread Jonathan Wakely
On 13 January 2012 17:45, Benjamin Kosnik wrote: > > Note that one of the objectives of this email is to try and get > maintainers from thinking there is going to be "a perfect time" to > switch. Development history tells us there will always be more changes. > We'v

Re: C++ ABI RFC [was Re: C++/libiberty PATCH for many mangling fixes (6057, 48051, 50855, 51322, etc)]

2012-01-13 Thread Benjamin Kosnik
> My concern is specifically about options for changing the default > language version, not options for changing the libstdc++ ABI. More > generally, about configure options affecting the semantics of code > passed to GCC, as opposed to non-semantic configure options such as &g

Re: C++ ABI RFC [was Re: C++/libiberty PATCH for many mangling fixes (6057, 48051, 50855, 51322, etc)]

2012-01-13 Thread Benjamin Kosnik
; to switch. Development history tells us there will always be more changes. We've been sitting on ABI-breaking changes since 2003. So, the smart thing to do is to plan a transition. and to allow testing in an easy and reproducible manner beforehand. The more time the better. -benjamin

Re: C++ ABI RFC [was Re: C++/libiberty PATCH for many mangling fixes (6057, 48051, 50855, 51322, etc)]

2012-01-13 Thread Joseph S. Myers
On Fri, 13 Jan 2012, Benjamin Kosnik wrote: > A canonical method for doing the ABI switch seems entirely appropriate. My concern is specifically about options for changing the default language version, not options for changing the libstdc++ ABI. More generally, about configure opti

Re: C++ ABI RFC [was Re: C++/libiberty PATCH for many mangling fixes (6057, 48051, 50855, 51322, etc)]

2012-01-13 Thread Benjamin Kosnik
+ versioned namespaces + other container changes. That's why I'd like to have a configure option. > My completely unfounded prediction is that many G++ users will move to > C++11 a lot quicker than the C community moved to C99. Here's hoping! > As an aside, how do you fe

Re: C++ ABI RFC [was Re: C++/libiberty PATCH for many mangling fixes (6057, 48051, 50855, 51322, etc)]

2012-01-13 Thread Benjamin Kosnik
by adding a "Thread Model" category to gcc -v. Having one way to do this is better than every vendor doing their own mods. FYI, libstdc++ practice has already diverged: google is using __versa_string, for instance. A canonical method for doing the ABI switch seems entirely appropriate. IM

Re: C++ ABI RFC [was Re: C++/libiberty PATCH for many mangling fixes (6057, 48051, 50855, 51322, etc)]

2012-01-12 Thread Jonathan Wakely
On 12 January 2012 21:03, Jason Merrill wrote: > On 01/12/2012 03:17 PM, Jonathan Wakely wrote: >> >> And if we are going to do that, shouldn't it be ASAP? Otherwise we'll >> not be able to change anything significant in .so.7 once it's >> available in 4.7 and we'll have to create a .so.8 for more

Re: C++ ABI RFC [was Re: C++/libiberty PATCH for many mangling fixes (6057, 48051, 50855, 51322, etc)]

2012-01-12 Thread Jason Merrill
On 01/12/2012 03:17 PM, Jonathan Wakely wrote: And if we are going to do that, shouldn't it be ASAP? Otherwise we'll not be able to change anything significant in .so.7 once it's available in 4.7 and we'll have to create a .so.8 for more changes.. Wait, what? Are you planning to move to .so.7

Re: C++ ABI RFC [was Re: C++/libiberty PATCH for many mangling fixes (6057, 48051, 50855, 51322, etc)]

2012-01-12 Thread Jason Merrill
On 01/12/2012 02:16 PM, Benjamin Kosnik wrote: As it turns out, the mangling changes don't really impact the explicit instantiations compiled in to libstdc++.so. So, it seems possible to say Right, so people can use -fabi-version=0 and still use the installed libstdc++. I think a compelling

<    1   2   3   4   5   6   7   8   9   >