]> granicus.if.org Git - clang/commit
[preprocessor] Allow comparing two macro definitions syntactically instead of only...
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Wed, 3 Apr 2013 17:39:30 +0000 (17:39 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Wed, 3 Apr 2013 17:39:30 +0000 (17:39 +0000)
commitbd25ff8632e18bb3af761369fd3b0f1b48fdf061
treef90c89c23c1a46c4171646584fcbabe8f70aa66e
parent9f4f5f1ca1e1967daf64d5422717c9b1e75eeb9e
[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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178671 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Lex/MacroInfo.h
lib/Frontend/CompilerInstance.cpp
lib/Lex/MacroInfo.cpp
lib/Lex/PPDirectives.cpp
lib/Serialization/ASTReader.cpp
test/Modules/Inputs/macros_left.h
test/Modules/Inputs/macros_right.h
test/Modules/macros.c
test/Preprocessor/macro_misc.c