Fix an inline asm sema bug that I introduced.
llvm-svn: 62666
diff --git a/clang/lib/Sema/SemaStmt.cpp b/clang/lib/Sema/SemaStmt.cpp
index 4b89acb..9b6da05 100644
--- a/clang/lib/Sema/SemaStmt.cpp
+++ b/clang/lib/Sema/SemaStmt.cpp
@@ -899,8 +899,8 @@
ParenExpr *InputExpr = cast<ParenExpr>(Exprs[i]);
// Only allow void types for memory constraints.
- if (info & TargetInfo::CI_AllowsMemory) {
-
+ if ((info & TargetInfo::CI_AllowsMemory)
+ && !(info & TargetInfo::CI_AllowsRegister)) {
if (InputExpr->isLvalue(Context) != Expr::LV_Valid)
return StmtError(Diag(InputExpr->getSubExpr()->getLocStart(),
diag::err_asm_invalid_lvalue_in_input)