summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2017-02-14 23:27:44 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2017-02-14 23:27:44 +0000
commit1d5f95f52f54e9a116034055a4678f8b1e0009e9 (patch)
treee47430c62e9d53fcf5f7f3e756ad1791b8d71c50 /clang/lib/Frontend/CompilerInvocation.cpp
parent32c5004cf56b8887ef4d13c450c5f904b806a3a3 (diff)
downloadbcm5719-llvm-1d5f95f52f54e9a116034055a4678f8b1e0009e9.tar.gz
bcm5719-llvm-1d5f95f52f54e9a116034055a4678f8b1e0009e9.zip
Do not implicitly instantiate the definition of a class template specialization
that has been explicitly specialized! We assume in various places that we can tell the template specialization kind of a class type by looking at the declaration produced by TagType::getDecl. That was previously not quite true: for an explicit specialization, we could have first seen a template-id denoting the specialization (with a use that does not trigger an implicit instantiation of the defintiion) and then seen the first explicit specialization declaration. TagType::getDecl would previously return an arbitrary declaration when called on a not-yet-defined class; it now consistently returns the most recent declaration in that case. llvm-svn: 295118
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud