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]
Other format: [Raw text]

[Bug c++/36797] ICE on SFINAE and __is_empty



------- Comment #9 from mark at codesourcery dot com  2008-07-14 16:53 -------
Subject: Re:  ICE on SFINAE and __is_empty

sebor at roguewave dot com wrote:

>     int foo<A<0> >(B<A<0>, __is_empty (A<0>)>::X*):
>         _Z3fooI1AILi0EEEiPN1BIT_Xv19builtin16TOS3_EE1XE
> 
>     int foo<int>(B<int, !__is_empty (int)>::X*):
>         _Z3fooIiEiPN1BIT_Xntv19builtin16TOS1_EE1XE

OK.  I don't see anything inherently wrong with that mangling, though of 
course if we're going to make this standard, we need EDG's table of 
builtins (so we known which ones are which), and we need to specify 
semantics for each of the builtins so that we know that we can mix 
object files between different compilers.  (No good if G++'s __is_empty 
is somehow subtly different than EDG's __is_empty.)

So, I think the high-order issues here are still:

(1) Do we need a mangling?  (I know you think we do.)
(2) If so, do we want to specify it at the ABI level, or use something 
G++-specific?


-- 


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


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