diff options
author | Richard Trieu <rtrieu@google.com> | 2018-07-07 00:17:25 +0000 |
---|---|---|
committer | Richard Trieu <rtrieu@google.com> | 2018-07-07 00:17:25 +0000 |
commit | 0282655f9d5fd5827f63e2f5d381cdb610521c2d (patch) | |
tree | 4a650ea3a25342f3b564114065f605faedb6960b /clang/lib/Sema/SemaCXXScopeSpec.cpp | |
parent | 9664ca9dce324b210d47b2f355e805ec35807dcd (diff) | |
download | bcm5719-llvm-0282655f9d5fd5827f63e2f5d381cdb610521c2d.tar.gz bcm5719-llvm-0282655f9d5fd5827f63e2f5d381cdb610521c2d.zip |
Check returned type is valid before using it.
Add a .isNull() check to returned QualType. Fixes PR38077
llvm-svn: 336475
Diffstat (limited to 'clang/lib/Sema/SemaCXXScopeSpec.cpp')
-rw-r--r-- | clang/lib/Sema/SemaCXXScopeSpec.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaCXXScopeSpec.cpp b/clang/lib/Sema/SemaCXXScopeSpec.cpp index 61a82aa721c..f2fad825c3e 100644 --- a/clang/lib/Sema/SemaCXXScopeSpec.cpp +++ b/clang/lib/Sema/SemaCXXScopeSpec.cpp @@ -846,6 +846,9 @@ bool Sema::ActOnCXXNestedNameSpecifierDecltype(CXXScopeSpec &SS, assert(DS.getTypeSpecType() == DeclSpec::TST_decltype); QualType T = BuildDecltypeType(DS.getRepAsExpr(), DS.getTypeSpecTypeLoc()); + if (T.isNull()) + return true; + if (!T->isDependentType() && !T->getAs<TagType>()) { Diag(DS.getTypeSpecTypeLoc(), diag::err_expected_class_or_namespace) << T << getLangOpts().CPlusPlus; |