This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: __func__ and C++
Joe Buck <jbuck@synopsys.com> writes:
| On Tue, Sep 02, 2003 at 11:24:40AM -0700, Matt Austern wrote:
| > Inside a destructor, __func__ and __FUNCTION__ return "foo", not
| > "~foo". (__PRETTY_FUNCTION__ behaves the way I would expect.)
| >
| > Is this behavior intended, or is it a bug? The gcc manual merely says
| > that __func__ is supposed to return the function's name without a type
| > signature, and doesn't say what that's supposed to mean in the case of
| > special C++ functions. Since __func__ in C++ is a gcc extension, none
| > of the language standards provide any useful guidance.
|
| Reading the document, I would expect "without a type signature" to mean
| that the string does not include the return type or the argument types,
| but I would still expect to see "~foo" rather than "foo", or "operator=="
| or similar. Of course, since it's an extension, it is arbitrary.
There is also the question of whether the enclosing scope should be
part of the name or not (I would expect yes).
-- Gaby