From 6032979a5d091e5607c7c467400449727d9beb5a Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Sun, 22 Feb 2009 02:11:23 +0000 Subject: [PATCH] Match gcc and always perform array/function conversion for asm input exprs. Fixes PR3641. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65256 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Sema/SemaStmt.cpp | 4 ++-- test/CodeGen/asm.c | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/Sema/SemaStmt.cpp b/lib/Sema/SemaStmt.cpp index c2c1a0f56f..990e951c3b 100644 --- a/lib/Sema/SemaStmt.cpp +++ b/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/test/CodeGen/asm.c b/test/CodeGen/asm.c index 26aa3bd61b..e8088d40b1 100644 --- a/test/CodeGen/asm.c +++ b/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)); +} -- 2.40.0