summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineFunction.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2017-10-10 22:33:17 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2017-10-10 22:33:17 +0000
commitbecb92dec85924969ac0c3b049e0a74def431453 (patch)
tree747fe6a7cb5c4e17f630e94e65bf22f650170a47 /llvm/lib/CodeGen/MachineFunction.cpp
parent0dfdb44797fa2ce4273e38f13403b62a5ce0a9b0 (diff)
downloadbcm5719-llvm-becb92dec85924969ac0c3b049e0a74def431453.tar.gz
bcm5719-llvm-becb92dec85924969ac0c3b049e0a74def431453.zip
[Modules TS] Module ownership semantics for redeclarations.
When declaring an entity in the "purview" of a module, it's never a redeclaration of an entity in the purview of a default module or in no module ("in the global module"). Don't consider those other declarations as possible redeclaration targets if they're not visible, and reject any cases where we pick a prior visible declaration that violates this rule. This reinstates r315251 and r315256, reverted in r315309 and r315308 respectively, tweaked to avoid triggering a linkage calculation when declaring implicit special members (this exposed our pre-existing issue with typedef names for linkage changing the linkage of types whose linkage has already been computed and cached in more cases). A testcase for that regression has been added in r315366. llvm-svn: 315379
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud