[Bug c++/11105] [3.3/3.4 regression of sorts] ICE in mangle_conv_op_name_for_type

jhr dot walter at t-online dot de gcc-bugzilla@gcc.gnu.org
Thu Aug 7 18:44:00 GMT 2003


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11105



------- Additional Comments From jhr dot walter at t-online dot de  2003-08-07 18:44 -------
OK, I'm trying to understand:

> the old state was that the compiler silently generated code that might not 
> have worked. 

3.2 generates the same mangled name for some different types.

> The original "fix" was to have it generate an error to notify you of this. 

3.3 generates no code for the 3.2 ABI: due to a defect in the G++ 3.2 ABI, G++ 
has assigned the same mangled name to two different types. When linking 3.3 
code against 3.2 code nobody would know what happens.

> The fix to 11105 then changed the error to a working compiler that just did 
> the right thing. 

3.3.1 generates some code for the 3.2 ABI. But when linking 3.3.1 code against 
3.2 code still nobody would know what happens (I assume ;-).

Isn't ABI compatibility all about linking code compiled with different 
compilers?



More information about the Gcc-bugs mailing list