------- 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