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: "mmitchel at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 Jul 2008 17:41:20 -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 #4 from mmitchel at gcc dot gnu dot org 2008-07-13 17:41 -------
Paolo --
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?
If we don't think that's a reasonable restriction, then we have to decide
whether we want to standardize the mangling, or not. If we do, then we should
raise the issue on the C++ ABI list, and make a suggestion as to how to mangle
them. If we don't, we could mangle this as a function call to a function named
"__is_empty<T>::operator ()()", or something.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36797