diff options
| author | Anders Carlsson <andersca@mac.com> | 2009-02-22 02:11:23 +0000 |
|---|---|---|
| committer | Anders Carlsson <andersca@mac.com> | 2009-02-22 02:11:23 +0000 |
| commit | b8482c5d5d77c3d499db6b564d18f4655c6aa663 (patch) | |
| tree | 9f64743c801be7f9af1df77b0a47e90b80d60234 /clang | |
| parent | d05f44b5ca40284f09fe418df711fd969ccaa23b (diff) | |
| download | bcm5719-llvm-b8482c5d5d77c3d499db6b564d18f4655c6aa663.tar.gz bcm5719-llvm-b8482c5d5d77c3d499db6b564d18f4655c6aa663.zip | |
Match gcc and always perform array/function conversion for asm input exprs. Fixes PR3641.
llvm-svn: 65256
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Sema/SemaStmt.cpp | 4 | ||||
| -rw-r--r-- | clang/test/CodeGen/asm.c | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaStmt.cpp b/clang/lib/Sema/SemaStmt.cpp index c2c1a0f56f6..990e951c3b6 100644 --- a/clang/lib/Sema/SemaStmt.cpp +++ b/clang/lib/Sema/SemaStmt.cpp @@ -915,9 +915,9 @@ Sema::OwningStmtResult Sema::ActOnAsmStmt(SourceLocation AsmLoc, << InputExpr->getType() << InputConstraint << InputExpr->getSubExpr()->getSourceRange()); } - - DefaultFunctionArrayConversion(Exprs[i]); } + + DefaultFunctionArrayConversion(Exprs[i]); } // Check that the clobbers are valid. diff --git a/clang/test/CodeGen/asm.c b/clang/test/CodeGen/asm.c index 26aa3bd61b3..e8088d40b13 100644 --- a/clang/test/CodeGen/asm.c +++ b/clang/test/CodeGen/asm.c @@ -27,3 +27,9 @@ void t5(int i) { asm("nop" : "=r"(i) : "0"(t5)); } + +// PR3641 +void t6(void) +{ + __asm__ volatile("" : : "i" (t6)); +} |

