summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/Decl.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2019-04-26 01:51:07 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2019-04-26 01:51:07 +0000
commit0d923af49270ef4beb5d479dac5bda80fc0082ef (patch)
tree20ee0d3dde5e845d9827bc7ae54f4121310ad68b /clang/lib/AST/Decl.cpp
parent0184819e818ffad2a9be6987753458eeb729f858 (diff)
downloadbcm5719-llvm-0d923af49270ef4beb5d479dac5bda80fc0082ef.tar.gz
bcm5719-llvm-0d923af49270ef4beb5d479dac5bda80fc0082ef.zip
Add missing diagnostic for explicit instantiation declarations naming
internal linkage entities. Such constructs are ill-formed by [temp.explicit]p13. We make a special exception to permit an invalid construct used by libc++ in some build modes: its <valarray> header declares some functions with the internal_linkage attribute and then (meaninglessly) provides explicit instantiation declarations for them. Luckily, Clang happens to effectively ignore the explicit instantiation declaration when generating code in this case, and this change codifies that behavior. This reinstates part of r359048, reverted in r359076. (The libc++ issue triggering the rollback has been addressed.) llvm-svn: 359259
Diffstat (limited to 'clang/lib/AST/Decl.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud