diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2010-11-02 02:33:08 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2010-11-02 02:33:08 +0000 |
commit | bf8cafadb9d4e0d7a90fe78fc175efb80ae34d42 (patch) | |
tree | 1fb3ca0c96b6879a3baefc740d19d5d0af2bab19 /lib/Parse/ParseStmt.cpp | |
parent | 3698748400478880d2a146ef9eaa111cd0e60522 (diff) |
Properly handle temporaries that are created in a AsmStmt.
Previously the temporaries would get destroyed before the asm call.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118001 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/ParseStmt.cpp')
-rw-r--r-- | lib/Parse/ParseStmt.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Parse/ParseStmt.cpp b/lib/Parse/ParseStmt.cpp index 76956732d4..78d0d2f2d5 100644 --- a/lib/Parse/ParseStmt.cpp +++ b/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; |