diff options
| author | Anders Carlsson <andersca@mac.com> | 2010-01-24 05:50:09 +0000 |
|---|---|---|
| committer | Anders Carlsson <andersca@mac.com> | 2010-01-24 05:50:09 +0000 |
| commit | aaeef07280fef8a8d86be631c4c817ef3e59902b (patch) | |
| tree | 310a230631f488fbca6322912f38803ab1d55db2 /clang/lib/Sema/SemaStmt.cpp | |
| parent | b9999fdc673d80217a83fc86e373a5c416b5678c (diff) | |
| download | bcm5719-llvm-aaeef07280fef8a8d86be631c4c817ef3e59902b.tar.gz bcm5719-llvm-aaeef07280fef8a8d86be631c4c817ef3e59902b.zip | |
Implement instantiation of AsmStmts (Crazy, I know)
llvm-svn: 94361
Diffstat (limited to 'clang/lib/Sema/SemaStmt.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaStmt.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaStmt.cpp b/clang/lib/Sema/SemaStmt.cpp index 4653c77c86a..ca15de2cf2a 100644 --- a/clang/lib/Sema/SemaStmt.cpp +++ b/clang/lib/Sema/SemaStmt.cpp @@ -1131,6 +1131,10 @@ Sema::ActOnReturnStmt(SourceLocation ReturnLoc, ExprArg rex) { /// This method checks to see if the argument is an acceptable l-value and /// returns false if it is a case we can handle. static bool CheckAsmLValue(const Expr *E, Sema &S) { + // Type dependent expressions will be checked during instantiation. + if (E->isTypeDependent()) + return false; + if (E->isLvalue(S.Context) == Expr::LV_Valid) return false; // Cool, this is an lvalue. @@ -1158,7 +1162,7 @@ Sema::OwningStmtResult Sema::ActOnAsmStmt(SourceLocation AsmLoc, bool IsVolatile, unsigned NumOutputs, unsigned NumInputs, - std::string *Names, + const std::string *Names, MultiExprArg constraints, MultiExprArg exprs, ExprArg asmString, |

