forked from OSchip/llvm-project
Clean up temporaries created by an asm statement. Fixes rdar://8540491
llvm-svn: 117961
This commit is contained in:
parent
d7a824006e
commit
375584c7eb
|
@ -1458,6 +1458,7 @@ bool Parser::ParseAsmOperandsOpt(llvm::SmallVectorImpl<IdentifierInfo *> &Names,
|
||||||
SkipUntil(tok::r_paren);
|
SkipUntil(tok::r_paren);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Res = Actions.MakeFullExpr(Res.get()).release();
|
||||||
Exprs.push_back(Res.release());
|
Exprs.push_back(Res.release());
|
||||||
// Eat the comma and continue parsing if it exists.
|
// Eat the comma and continue parsing if it exists.
|
||||||
if (Tok.isNot(tok::comma)) return false;
|
if (Tok.isNot(tok::comma)) return false;
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
// RUN: %clang_cc1 -fsyntax-only -verify %s
|
||||||
|
|
||||||
|
struct A
|
||||||
|
{
|
||||||
|
~A();
|
||||||
|
};
|
||||||
|
int foo(A);
|
||||||
|
|
||||||
|
void bar()
|
||||||
|
{
|
||||||
|
A a;
|
||||||
|
asm("" : : "r"(foo(a)) ); // rdar://8540491
|
||||||
|
}
|
Loading…
Reference in New Issue