diff options
author | Bill Wendling <isanbard@gmail.com> | 2019-01-27 07:24:03 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2019-01-27 07:24:03 +0000 |
commit | ff57307bd6b19420e21bd3000ecc346f5c65048b (patch) | |
tree | 7b701ec7bb6ef9f120372bb06a6d95d5d91e643b /clang/lib/Sema/SemaTemplate.cpp | |
parent | a0f743b77a9e7ee061ed052537a2a7df7b9475bc (diff) | |
download | bcm5719-llvm-ff57307bd6b19420e21bd3000ecc346f5c65048b.tar.gz bcm5719-llvm-ff57307bd6b19420e21bd3000ecc346f5c65048b.zip |
Remove Expr sugar decorating the CXXUuidofExpr node.
Summary: Sugar, like ConstantExpr, causes an infinite expansion of the template object.
Reviewers: rsmith, aaron.ballman
Reviewed By: aaron.ballman
Subscribers: riccibruno, aaron.ballman, cfe-commits, tzik, rnk
Differential Revision: https://reviews.llvm.org/D57114
llvm-svn: 352307
Diffstat (limited to 'clang/lib/Sema/SemaTemplate.cpp')
-rw-r--r-- | clang/lib/Sema/SemaTemplate.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp index 54a01b73335..2e73096a9ba 100644 --- a/clang/lib/Sema/SemaTemplate.cpp +++ b/clang/lib/Sema/SemaTemplate.cpp @@ -6308,7 +6308,7 @@ ExprResult Sema::CheckTemplateArgument(NonTypeTemplateParmDecl *Param, // -- a predefined __func__ variable if (auto *E = Value.getLValueBase().dyn_cast<const Expr*>()) { if (isa<CXXUuidofExpr>(E)) { - Converted = TemplateArgument(ArgResult.get()); + Converted = TemplateArgument(ArgResult.get()->IgnoreImpCasts()); break; } Diag(Arg->getBeginLoc(), diag::err_template_arg_not_decl_ref) |