Argyrios Kyrtzidis 0c2f30b9d3 [preprocessor] Allow comparing two macro definitions syntactically instead of only lexically.
Syntactically means the function macro parameter names do not need to use the same
identifiers in order for the definitions to be considered identical.

Syntactic equivalence is a microsoft extension for macro redefinitions and we'll also
use this kind of comparison to check for ambiguous macros coming from modules.

rdar://13562254

llvm-svn: 178671
2013-04-03 17:39:30 +00:00

17 lines
243 B
C

@import macros_top;
#define LEFT unsigned long
#undef TOP_LEFT_UNDEF
#define LEFT_RIGHT_IDENTICAL int
#define LEFT_RIGHT_DIFFERENT2 float
#define LEFT_RIGHT_DIFFERENT3 float
#define LEFT_RIGHT_DIFFERENT float
#define FN_ADD(a,b) (a+b)