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

paolo dot carlini at oracle dot com gcc-bugzilla@gcc.gnu.org
Mon Jul 14 09:16:00 GMT 2008



------- Comment #5 from paolo dot carlini at oracle dot com  2008-07-14 09:15 -------
(In reply to comment #4)

> I think the first thing is to figure out what mangling we want for these things > and if they should be mangled at all.  The C++ ABI doesn't specify a
> mangling for these operators, since it doesn't specify these operators at all. 
> They're really an implementation detail.  So, the first question is "Do these
> operators need to appear in mangled names at all?"  Is it a reasonable
> restriction on users to say "thou shalt not use __is_empty in an expression
> that gets mangled"?  For example, can the user just use std::is_empty instead?

Thanks for your feedback, Mark. Frankly, at the moment I don't have a strong
opinion, but I'm wondering if existing practice can help us about those points:
in fact such "builtins" are modeled after the existing Microsoft builtins:

  http://msdn.microsoft.com/de-de/library/ms177194.aspx

and probably knowing what Microsoft is doing could help... However, I don't
think Visual c++ uses our multivendor ABI, thus I'm not sure investigating that
point could suggest a specific mangling. What do you think? (well, in case we
are going to need help from people owning a recent Visual C++...)


-- 


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



More information about the Gcc-bugs mailing list