Compiler Directive to List Defined Macros?

Ross Combs rocombs@cs.nmsu.edu
Thu Jun 29 15:49:00 GMT 2000


> > So __PRETTY_FUNCTION__ has existed for a long time in gcc?  I can trust
> > that even old copies will support this?
>
> Yes. I could check when it was first introduced - but so could you.
> Then you could define a reliable test based on the values of __GNUC__
> and __GNUC_MINOR__

Look like 2.7 introduced this feature from looking at the release notes.
In 2.8 __FUNCTION__ and __PRETTY_FUNCTION__ became functions instead of
strings.  I'll add in the tst like this:

 #if defined(__GNUC__) && \
     (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) || \
     __GNUC__ > 2)

> (*) It still is, and some people claim that __func__ should have been
> one of these, also, to allow concatenation as in
>
>   __FILE__ ":" __FUNCTION__

Hmm.  That is how I originally tried to use it.  It is also annoying that
I couldn't find a way to stringize __LINE__ and then concatenate it to
__FILE__.  But such things can be worked around.

-Ross


More information about the Gcc mailing list