summaryrefslogtreecommitdiffstats
path: root/clang/tools
diff options
context:
space:
mode:
authorEmilio Cobos Alvarez <emilio@crisal.io>2017-05-02 08:32:15 +0000
committerEmilio Cobos Alvarez <emilio@crisal.io>2017-05-02 08:32:15 +0000
commitc7ed9d9f1c687f2f878dbac58a40dbbeb2fbee55 (patch)
tree50e9b3d264af6d530aa4015cd510a55477811eaf /clang/tools
parent9881bd9c1d624a1e5261606dd724223a9207abbb (diff)
downloadbcm5719-llvm-c7ed9d9f1c687f2f878dbac58a40dbbeb2fbee55.tar.gz
bcm5719-llvm-c7ed9d9f1c687f2f878dbac58a40dbbeb2fbee55.zip
[libclang] Revert rL301328 and add tests for the regressions introduced.
Differential Revision: https://reviews.llvm.org/D32566 llvm-svn: 301902
Diffstat (limited to 'clang/tools')
-rw-r--r--clang/tools/libclang/CXType.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/tools/libclang/CXType.cpp b/clang/tools/libclang/CXType.cpp
index fce7ef2c0d8..16e993e2ac0 100644
--- a/clang/tools/libclang/CXType.cpp
+++ b/clang/tools/libclang/CXType.cpp
@@ -147,6 +147,9 @@ static inline CXTranslationUnit GetTU(CXType CT) {
static Optional<ArrayRef<TemplateArgument>>
GetTemplateArguments(QualType Type) {
assert(!Type.isNull());
+ if (const auto *Specialization = Type->getAs<TemplateSpecializationType>())
+ return Specialization->template_arguments();
+
if (const auto *RecordDecl = Type->getAsCXXRecordDecl()) {
const auto *TemplateDecl =
dyn_cast<ClassTemplateSpecializationDecl>(RecordDecl);
@@ -154,9 +157,6 @@ GetTemplateArguments(QualType Type) {
return TemplateDecl->getTemplateArgs().asArray();
}
- if (const auto *Specialization = Type->getAs<TemplateSpecializationType>())
- return Specialization->template_arguments();
-
return None;
}
OpenPOWER on IntegriCloud