--- old/src/share/vm/utilities/macros.hpp 2015-06-08 21:02:44.632042187 -0400 +++ new/src/share/vm/utilities/macros.hpp 2015-06-08 21:02:44.520041632 -0400 @@ -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_=0 | 1 can be specified on the command line to include // or exclude functionality.