summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaStmtAsm.cpp
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2018-11-30 21:26:09 +0000
committerFangrui Song <maskray@google.com>2018-11-30 21:26:09 +0000
commitf5d3335d75dfe13b1263bbc305514ccfbc25417d (patch)
tree109c58b9f8af11bcec6b2b974867c9f7d07729af /clang/lib/Sema/SemaStmtAsm.cpp
parentd1a4b06c208c177a4a86c4c8ec994ca4fd44870e (diff)
downloadbcm5719-llvm-f5d3335d75dfe13b1263bbc305514ccfbc25417d.tar.gz
bcm5719-llvm-f5d3335d75dfe13b1263bbc305514ccfbc25417d.zip
Revert r347417 "Re-Reinstate 347294 with a fix for the failures."
Kept the "indirect_builtin_constant_p" test case in test/SemaCXX/constant-expression-cxx1y.cpp while we are investigating why the following snippet fails: extern char extern_var; struct { int a; } a = {__builtin_constant_p(extern_var)}; llvm-svn: 348039
Diffstat (limited to 'clang/lib/Sema/SemaStmtAsm.cpp')
-rw-r--r--clang/lib/Sema/SemaStmtAsm.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaStmtAsm.cpp b/clang/lib/Sema/SemaStmtAsm.cpp
index d209266049e..e6d9b34dee9 100644
--- a/clang/lib/Sema/SemaStmtAsm.cpp
+++ b/clang/lib/Sema/SemaStmtAsm.cpp
@@ -378,12 +378,11 @@ StmtResult Sema::ActOnGCCAsmStmt(SourceLocation AsmLoc, bool IsSimple,
<< InputExpr->getSourceRange());
} else if (Info.requiresImmediateConstant() && !Info.allowsRegister()) {
if (!InputExpr->isValueDependent()) {
- Expr::EvalResult EVResult;
- if (!InputExpr->EvaluateAsInt(EVResult, Context))
+ llvm::APSInt Result;
+ if (!InputExpr->EvaluateAsInt(Result, Context))
return StmtError(
Diag(InputExpr->getBeginLoc(), diag::err_asm_immediate_expected)
<< Info.getConstraintStr() << InputExpr->getSourceRange());
- llvm::APSInt Result = EVResult.Val.getInt();
if (!Info.isValidAsmImmediate(Result))
return StmtError(Diag(InputExpr->getBeginLoc(),
diag::err_invalid_asm_value_for_constraint)
OpenPOWER on IntegriCloud