]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Log: stringify __LINE__ at compile time
authorTimePath <andrew.hardaker1995@gmail.com>
Wed, 30 Dec 2015 10:18:09 +0000 (21:18 +1100)
committerTimePath <andrew.hardaker1995@gmail.com>
Wed, 30 Dec 2015 10:18:09 +0000 (21:18 +1100)
qcsrc/Makefile
qcsrc/lib/log.qh
qcsrc/lib/macro.qh

index 3ff138f2c9b83fd3eb848e2533b17a3345d3be9d..dac7cb2bdd6d164447016e9fff0de3654ab82295 100644 (file)
@@ -48,24 +48,24 @@ $(QCCVERSIONFILE):
        echo This file intentionally left blank. > $@
 
 ../csprogs.dat: client/progs.inc $(QCCVERSIONFILE)
-       @$(CC) -xc $(QCCDEFS) -DCSQC -E -dM 1>tmp/client_macros.txt -H 2>tmp/client_includes.txt $<
        $(CC) -xc $(QCCDEFS) -DCSQC -E -MMD -MP -MT $@ -Wall -Wundef -Werror -CC -o tmp/client.qc $<
+       @$(CC) -xc $(QCCDEFS) -DCSQC -E -dM 1>tmp/client_macros.txt -H 2>tmp/client_includes.txt $<
        @sed -i 's/^# \([[:digit:]]\+\) "\(.*\)".*/\n#pragma file(\2)\n#pragma line(\1)/g' tmp/client.qc
        @echo make[1]: Entering directory \`$(PWD)/client\'
        cd client && $(QCC) $(QCCFLAGS) -o ../$@ ../tmp/client.qc
 -include tmp/client.d
 
 ../progs.dat: server/progs.inc $(QCCVERSIONFILE)
-       @$(CC) -xc $(QCCDEFS) -DSVQC -E -dM 1>tmp/server_macros.txt -H 2>tmp/server_includes.txt $<
        $(CC) -xc $(QCCDEFS) -DSVQC -E -MMD -MP -MT $@ -Wall -Wundef -Werror -CC -o tmp/server.qc $<
+       @$(CC) -xc $(QCCDEFS) -DSVQC -E -dM 1>tmp/server_macros.txt -H 2>tmp/server_includes.txt $<
        @sed -i 's/^# \([[:digit:]]\+\) "\(.*\)".*/\n#pragma file(\2)\n#pragma line(\1)/g' tmp/server.qc
        @echo make[1]: Entering directory \`$(PWD)/server\'
        cd server && $(QCC) $(QCCFLAGS) -o ../$@ ../tmp/server.qc
 -include tmp/server.d
 
 ../menu.dat: menu/progs.inc $(QCCVERSIONFILE)
-       @$(CC) -xc $(QCCDEFS) -DMENUQC -E -dM 1>tmp/menu_macros.txt -H 2>tmp/menu_includes.txt $<
        $(CC) -xc $(QCCDEFS) -DMENUQC -E -MMD -MP -MT $@ -Wall -Wundef -Werror -CC -o tmp/menu.qc $<
+       @$(CC) -xc $(QCCDEFS) -DMENUQC -E -dM 1>tmp/menu_macros.txt -H 2>tmp/menu_includes.txt $<
        @sed -i 's/^# \([[:digit:]]\+\) "\(.*\)".*/\n#pragma file(\2)\n#pragma line(\1)/g' tmp/menu.qc
        @echo make[1]: Entering directory \`$(PWD)/menu\'
        cd menu && $(QCC) $(QCCFLAGS) -o ../$@ ../tmp/menu.qc
index 0a75d3a588129d7bd001efc3bb01f034cfcc642a..b5e1ecec37d1c5b5db0078c839bb6cf4598f0a39 100644 (file)
@@ -39,7 +39,7 @@ string(string...) strcat0n = #115;
 
 #define _LOG(f, level, s) \
        MACRO_BEGIN { \
-               f(sprintf("^9[::"level "^9] ["__FILE__ "^7:^9%s^7:^9%d] \n^7%s\n", __FUNC__, __LINE__, s)); \
+               f(sprintf("^9[::" level "^9] [" __FILE__ "^7:^9%s^7:^9" STR(__LINE__) "] \n^7%s\n", __FUNC__, s)); \
        } MACRO_END
 
 #define  LOG_FATAL(...) _LOG_FATAL(strcat0n(__VA_ARGS__))
index 1301ca4a4e57be35623bed9efbda0bc98a38d9db..cc4f37b3d1abfe37af43e619c5eb4e4c7911a04c 100644 (file)
@@ -13,4 +13,7 @@
 #define _CAT(a, b) a ## b
 #define CAT(a, b) _CAT(a, b)
 
+#define _STR(it) #it
+#define STR(it) _STR(it)
+
 #endif