diff options
author | Richard Smith <richard@metafoo.co.uk> | 2020-10-24 22:08:24 -0700 |
---|---|---|
committer | Richard Smith <richard@metafoo.co.uk> | 2020-10-24 22:11:43 -0700 |
commit | 7b3515880c22c887cd5ca4825dfb060ad82d3ebc (patch) | |
tree | cab0095bfccffa7ab619c45218916385ab8424cd /clang/lib/Sema/SemaChecking.cpp | |
parent | aaa8b44d19918ea1764339224cec68c27445aa8e (diff) | |
download | llvm-7b3515880c22c887cd5ca4825dfb060ad82d3ebc.zip llvm-7b3515880c22c887cd5ca4825dfb060ad82d3ebc.tar.gz llvm-7b3515880c22c887cd5ca4825dfb060ad82d3ebc.tar.bz2 |
For P0732R2, P1907R1: ensure that template parameter objects don't refer
to disallowed objects or have non-constant destruction.
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
-rw-r--r-- | clang/lib/Sema/SemaChecking.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp index 951772a..e87adf8 100644 --- a/clang/lib/Sema/SemaChecking.cpp +++ b/clang/lib/Sema/SemaChecking.cpp @@ -1814,8 +1814,7 @@ Sema::CheckBuiltinFunctionCall(FunctionDecl *FDecl, unsigned BuiltinID, SmallVector<PartialDiagnosticAt, 8> Notes; Expr::EvalResult Eval; Eval.Diag = &Notes; - if ((!ProbArg->EvaluateAsConstantExpr(Eval, Expr::EvaluateForCodeGen, - Context)) || + if ((!ProbArg->EvaluateAsConstantExpr(Eval, Context)) || !Eval.Val.isFloat()) { Diag(ProbArg->getBeginLoc(), diag::err_probability_not_constant_float) << ProbArg->getSourceRange(); @@ -3295,8 +3294,7 @@ bool Sema::CheckAMDGCNBuiltinFunctionCall(unsigned BuiltinID, ArgExpr = Arg.get(); Expr::EvalResult ArgResult1; // Check that sync scope is a constant literal - if (!ArgExpr->EvaluateAsConstantExpr(ArgResult1, Expr::EvaluateForCodeGen, - Context)) + if (!ArgExpr->EvaluateAsConstantExpr(ArgResult1, Context)) return Diag(ArgExpr->getExprLoc(), diag::err_expr_not_string_literal) << ArgExpr->getType(); |