diff options
author | David Majnemer <david.majnemer@gmail.com> | 2014-12-29 10:29:53 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2014-12-29 10:29:53 +0000 |
commit | d10ddd5e6834ceb69c9e392a9f4dfeb6892e0740 (patch) | |
tree | ab1440a8da4ab59d7639936c6a46a2e3baea7350 /lib/Sema/SemaStmtAsm.cpp | |
parent | 230aec634be40a03b2dca08ad2bf9cd489e33551 (diff) |
Sema: Permit array l-values in asm output operands
GCC permits array l-values in asm output operands even though they
aren't modifiable l-values. We used to permit it but this behavior
regressed in r224916.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@224918 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaStmtAsm.cpp')
-rw-r--r-- | lib/Sema/SemaStmtAsm.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Sema/SemaStmtAsm.cpp b/lib/Sema/SemaStmtAsm.cpp index 24a91716cb..afd785c5df 100644 --- a/lib/Sema/SemaStmtAsm.cpp +++ b/lib/Sema/SemaStmtAsm.cpp @@ -156,6 +156,9 @@ StmtResult Sema::ActOnGCCAsmStmt(SourceLocation AsmLoc, bool IsSimple, case Expr::MLV_Valid: // Cool, this is an lvalue. break; + case Expr::MLV_ArrayType: + // This is OK too. + break; case Expr::MLV_LValueCast: { const Expr *LVal = OutputExpr->IgnoreParenNoopCasts(Context); if (!getLangOpts().HeinousExtensions) { |