Mercurial > ~dholland > hg > tradcpp > index.cgi
diff main.c @ 159:8cef6d7227a8
Expand __FILE__ and __LINE__.
author | Joerg Sonnenberger <joerg@bec.de> |
---|---|
date | Fri, 27 Feb 2015 00:41:46 +0100 |
parents | 1a7de2c68290 |
children | 3e7e696fe558 |
line wrap: on
line diff
--- a/main.c Fri Feb 27 00:23:01 2015 +0100 +++ b/main.c Fri Feb 27 00:41:46 2015 +0100 @@ -195,6 +195,18 @@ static void +apply_special_macros(unsigned *builtin_counter) +{ + struct place p; + + place_setbuiltin(&p, ++(*builtin_counter)); + macro_define_file(&p); + place_setbuiltin(&p, ++(*builtin_counter)); + macro_define_line(&p); +} + +static +void apply_builtin_macro(unsigned num, const char *name, const char *val) { struct place p; @@ -205,35 +217,35 @@ static void -apply_builtin_macros(void) +apply_builtin_macros(unsigned *builtin_counter) { - unsigned n = 1; - #ifdef CONFIG_OS - apply_builtin_macro(n++, CONFIG_OS, "1"); + apply_builtin_macro(++(*builtin_counter), CONFIG_OS, "1"); #endif #ifdef CONFIG_OS_2 - apply_builtin_macro(n++, CONFIG_OS_2, "1"); + apply_builtin_macro(++(*builtin_counter), CONFIG_OS_2, "1"); #endif #ifdef CONFIG_CPU - apply_builtin_macro(n++, CONFIG_CPU, "1"); + apply_builtin_macro(++(*builtin_counter), CONFIG_CPU, "1"); #endif #ifdef CONFIG_CPU_2 - apply_builtin_macro(n++, CONFIG_CPU_2, "1"); + apply_builtin_macro(++(*builtin_counter), CONFIG_CPU_2, "1"); #endif #ifdef CONFIG_SIZE - apply_builtin_macro(n++, CONFIG_SIZE, "1"); + apply_builtin_macro(++(*builtin_counter), CONFIG_SIZE, "1"); #endif #ifdef CONFIG_BINFMT - apply_builtin_macro(n++, CONFIG_BINFMT, "1"); + apply_builtin_macro(++(*builtin_counter), CONFIG_BINFMT, "1"); #endif #ifdef CONFIG_COMPILER - apply_builtin_macro(n++, CONFIG_COMPILER, VERSION_MAJOR); - apply_builtin_macro(n++, CONFIG_COMPILER_MINOR, VERSION_MINOR); - apply_builtin_macro(n++, "__VERSION__", VERSION_LONG); + apply_builtin_macro(++(*builtin_counter), CONFIG_COMPILER, + VERSION_MAJOR); + apply_builtin_macro(++(*builtin_counter), CONFIG_COMPILER_MINOR, + VERSION_MINOR); + apply_builtin_macro(++(*builtin_counter), "__VERSION__", VERSION_LONG); #endif } @@ -1031,6 +1043,7 @@ const char *inputfile = NULL; const char *outputfile = NULL; struct place cmdplace; + unsigned builtin_counter; int i; progname = strrchr(argv[0], '/'); @@ -1076,7 +1089,11 @@ mode.output_file = outputfile; loadincludepath(); - apply_builtin_macros(); + + builtin_counter = 0; + apply_special_macros(&builtin_counter); + apply_builtin_macros(&builtin_counter); + apply_commandline_macros(); read_commandline_files(); place_setnowhere(&cmdplace);