aboutsummaryrefslogtreecommitdiff
path: root/lib/Lex/Lexer.cpp
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2012-01-15 01:23:58 +0000
committerEli Friedman <eli.friedman@gmail.com>2012-01-15 01:23:58 +0000
commit750dc2b16fffa579f96ad053f061976a15ed4665 (patch)
tree439d63563bc1de3a5787eb8bb8e4b9ad90393923 /lib/Lex/Lexer.cpp
parent1136ef09ff327c2032ec20e2c2ab87cdbf017b1b (diff)
Change linkage computation so it doesn't depend on FunctionDecl::isExternC or VarDecl::isExternC, and instead queries what it actually cares about: whether the given declaration is inside an extern "C" context. Fundamentally, figuring out whether a function/variable uses C linkage requires knowing the linkage, and the logic in FunctionDecl::isExternC and VarDecl::isExternC was getting it wrong. Given that, fix FunctionDecl::isExternC and VarDecl::isExternC to use much simpler implementations that depend on the fixed linkage computation.
Fixes a regression to test/SemaCXX/linkage.cpp caused by a new warning exposing the fact that the internal state was wrong. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148207 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Lex/Lexer.cpp')
0 files changed, 0 insertions, 0 deletions