GCC compiler gives me the following macros:
__FILE__
__LINE__
__FILE__ and __LINE__ are standard, and I'm rather certain Microsoft compilers have essentially always had them.
__PRETTY_FUNCTION__ is a gcc feature.
__PRETTY_FUNCTION__