=====Predefined preprocessor variables===== Syntax: __LINE__ __FILE__ __DATE__ __TIME__ __cplusplus __STDC__ The following variables can vary by compiler, but generally work: * The ''%%__LINE__%%'' and ''%%__FILE__%%'' variables represent the current line and current file being processed. * The ''%%__DATE__%%'' variable contains the current date, in the form month/day/year. This is the date that the file was compiled, not necessarily the current date. * The ''%%__TIME__%%'' variable represents the current time, in the form hour:minute:second. This is the time that the file was compiled, not necessarily the current time. * The ''%%__cplusplus%%'' variable is only defined when compiling a C++ program. In some older compilers, this is also called ''c_plusplus''. * The ''%%__STDC__%%'' variable is defined when compiling a C program, and may also be defined when compiling C++. ====GCC-specific variables==== The following are GCC-specific variables. While they are not specifically preprocessor macros they are [[http://gcc.gnu.org/onlinedocs/gcc/Function-Names.html|magic]] and can be used the same way: * ''%%__func__%%'' contains the bare name of the function * ''%%__FUNCTION__%%'' is another name for ''%%__func__%%'' * The ''%%__PRETTY_FUNCTION__%%'' contains the type signature of the function as well as its bare name.