This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/36797] ICE on SFINAE and __is_empty
- From: "paolo dot carlini at oracle dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Jul 2008 09:15:44 -0000
- Subject: [Bug c++/36797] ICE on SFINAE and __is_empty
- References: <bug-36797-1186@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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