This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Invalid code generated from release 1.1.1 and snapshot 19990228


Martin,

thanks for the clarification. If the rules for mangling
array types did intentionally change, please just take 
it as a bug report for c++filt then.

I guess, we'll have to get the suppliers of our libraries
to stay more closely in sync with compiler changes than 
we/they would like. But that's of course a general problem
of C++. Also I do still remember what the 'e' in egcs stands 
for and really appreciate the work that has been done to make egcs
what it is.
  
	Thanks, Dirk

"Martin v. Loewis" wrote:
> 
> > So setValue got a signature with an array of two instead
> > of an array of three elements.
> 
> As explained in a private mail: This is a bug in c++filt. Since gcc
> 2.8 (or so), the constant in the array indicates the last index, i.e. one less than the number of elements.
> 
> > If you link against an object file or lib generated with
> > e.g. g++ 2.7.2 the link fails since g++ generates the
> > correct symbol.
> 
> So yes, g++ 2.7.2 and egcs are not binary compatible. This is
> unfortunate, but you typically need to recompile everything if you
> upgrade to a new major version of g++. Even more unfortunate, this
> won't be the last time we have to break binary compatibility.
> 
> Regards,
> Martin


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]