diff options
author | Karsten Blees <karsten.blees@gmail.com> | 2014-07-12 02:05:03 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-07-13 21:25:20 -0700 |
commit | e05bed960d3bf3bcfd0f27ab882df3da93e118ed (patch) | |
tree | d9ce58a75230ab10a0e2caff5cb0d7787a3a5f1b /Makefile | |
parent | 66f66c596fa2b4e7d4c00575a5731d33ab28d4ed (diff) | |
download | git-e05bed960d3bf3bcfd0f27ab882df3da93e118ed.tar.gz |
trace: add 'file:line' to all trace output
This is useful to see where trace output came from.
Add 'const char *file, int line' parameters to the printing functions and
rename them to *_fl.
Add trace_printf* and trace_strbuf macros resolving to the *_fl functions
and let the preprocessor fill in __FILE__ and __LINE__.
As the trace_printf* functions take a variable number of arguments, this
requires variadic macros (i.e. '#define foo(...) foo_impl(__VA_ARGS__)'.
Though part of C99, it is unclear whether older compilers support this.
Thus keep the old functions and only enable variadic macros for GNUC and
MSVC 2005+ (_MSC_VER 1400). This has the nice side effect that the old
C-style declarations serve as documentation how the macros are to be used.
Print 'file:line ' as prefix to each trace line. Align the remaining trace
output at column 40 to accommodate 18 char file names + 4 digit line
number (currently there are 30 *.c files of length 18 and just 11 of 19).
Trace output from longer source files (e.g. builtin/receive-pack.c) will
not be aligned.
Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Makefile')
0 files changed, 0 insertions, 0 deletions