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 | 04b78412ad0aa74876341a96ba6178175d537ab3 (patch) | |
| tree | f94fbeb98111467f43e39cd4428c82b954965eeb /clang/lib | |
| parent | e86c8c807f3a9d840b23ba862234328e3211f233 (diff) | |
| download | bcm5719-llvm-04b78412ad0aa74876341a96ba6178175d537ab3.tar.gz bcm5719-llvm-04b78412ad0aa74876341a96ba6178175d537ab3.zip | |
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.
llvm-svn: 224918
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Sema/SemaStmtAsm.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaStmtAsm.cpp b/clang/lib/Sema/SemaStmtAsm.cpp index 24a91716cb8..afd785c5dfb 100644 --- a/clang/lib/Sema/SemaStmtAsm.cpp +++ b/clang/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) { |

