From 753612fc80d5cc885147f19d09ab9c64c470d50a Mon Sep 17 00:00:00 2001 From: ed Date: Tue, 13 Dec 2011 17:34:47 +0000 Subject: Add support for __COUNTER__. __COUNTER__ allows one to obtain incrementing (read: unique) numbers from the C preprocesor. This is useful when implementing things like a robust implementation of CTASSERT(), which currently fails when using it more than once on a single line of code. Probably not likely to cause any breakage, but still. __COUNTER__ was also added to GCC 4.3, but since that implementation is GPLv3 licensed, I took the liberty of implementing it without looking at any upstream sources. Therefore, this version is licensed under the same license as the rest of the code; GPLv2. --- contrib/gcclibs/libcpp/macro.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'contrib/gcclibs/libcpp/macro.c') diff --git a/contrib/gcclibs/libcpp/macro.c b/contrib/gcclibs/libcpp/macro.c index be50c11..1eec578 100644 --- a/contrib/gcclibs/libcpp/macro.c +++ b/contrib/gcclibs/libcpp/macro.c @@ -262,6 +262,10 @@ _cpp_builtin_macro_text (cpp_reader *pfile, cpp_hashnode *node) else result = pfile->time; break; + + case BT_COUNTER: + number = pfile->nextcounter++; + break; } if (result == NULL) -- cgit v1.1