8086027: Multiple STATIC_ASSERTs at class scope doesn't work

Make supporting typedef name unique via __LINE__ concatenation

Reviewed-by: dholmes, brutisso
This commit is contained in:
Kim Barrett 2015-06-09 15:05:47 -04:00
parent f286447281
commit 4bbbdd7aa6
3 changed files with 39 additions and 1 deletions

View file

@ -34,6 +34,15 @@
// Makes a string of the macro expansion of a
#define XSTR(a) STR(a)
// Apply pre-processor token pasting to the expansions of x and y.
// The token pasting operator (##) prevents its arguments from being
// expanded. This macro allows expansion of its arguments before the
// concatenation is performed. Note: One auxilliary level ought to be
// sufficient, but two are used because of bugs in some preprocesors.
#define PASTE_TOKENS(x, y) PASTE_TOKENS_AUX(x, y)
#define PASTE_TOKENS_AUX(x, y) PASTE_TOKENS_AUX2(x, y)
#define PASTE_TOKENS_AUX2(x, y) x ## y
// -DINCLUDE_<something>=0 | 1 can be specified on the command line to include
// or exclude functionality.