summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseStmt.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2010-11-02 02:33:08 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2010-11-02 02:33:08 +0000
commit3050d9bdb84e322e122219d54aedfe2d8ef7c51c (patch)
treeaa45334d5da6557cd0b92f02edff7ef0cea3af91 /clang/lib/Parse/ParseStmt.cpp
parent315d2cab27780f692537b2c9726fbecc31097bf0 (diff)
downloadbcm5719-llvm-3050d9bdb84e322e122219d54aedfe2d8ef7c51c.tar.gz
bcm5719-llvm-3050d9bdb84e322e122219d54aedfe2d8ef7c51c.zip
Properly handle temporaries that are created in a AsmStmt.
Previously the temporaries would get destroyed before the asm call. llvm-svn: 118001
Diffstat (limited to 'clang/lib/Parse/ParseStmt.cpp')
-rw-r--r--clang/lib/Parse/ParseStmt.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Parse/ParseStmt.cpp b/clang/lib/Parse/ParseStmt.cpp
index 76956732d49..78d0d2f2d55 100644
--- a/clang/lib/Parse/ParseStmt.cpp
+++ b/clang/lib/Parse/ParseStmt.cpp
@@ -188,6 +188,7 @@ Parser::ParseStatementOrDeclaration(StmtVector &Stmts, bool OnlyStatement) {
<< Attr.Range;
bool msAsm = false;
Res = ParseAsmStatement(msAsm);
+ Res = Actions.ActOnFinishFullStmt(Res.get());
if (msAsm) return move(Res);
SemiError = "asm";
break;
@@ -1458,7 +1459,6 @@ bool Parser::ParseAsmOperandsOpt(llvm::SmallVectorImpl<IdentifierInfo *> &Names,
SkipUntil(tok::r_paren);
return true;
}
- Res = Actions.MakeFullExpr(Res.get()).release();
Exprs.push_back(Res.release());
// Eat the comma and continue parsing if it exists.
if (Tok.isNot(tok::comma)) return false;
OpenPOWER on IntegriCloud