summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaStmt.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2010-01-24 05:50:09 +0000
committerAnders Carlsson <andersca@mac.com>2010-01-24 05:50:09 +0000
commitaaeef07280fef8a8d86be631c4c817ef3e59902b (patch)
tree310a230631f488fbca6322912f38803ab1d55db2 /clang/lib/Sema/SemaStmt.cpp
parentb9999fdc673d80217a83fc86e373a5c416b5678c (diff)
downloadbcm5719-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.cpp6
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,
OpenPOWER on IntegriCloud