[cfe-commits] r135862 - in /cfe/trunk: lib/CodeGen/CodeGenModule.cpp test/CodeGen/asm.c
Chris Lattner
sabre at nondot.org
Sat Jul 23 13:04:25 PDT 2011
Author: lattner
Date: Sat Jul 23 15:04:25 2011
New Revision: 135862
URL: http://llvm.org/viewvc/llvm-project?rev=135862&view=rev
Log:
fix PR10415, tidying up IR representation of module level inline asm
to avoid extraneous \n's.
Modified:
cfe/trunk/lib/CodeGen/CodeGenModule.cpp
cfe/trunk/test/CodeGen/asm.c
Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp?rev=135862&r1=135861&r2=135862&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CodeGenModule.cpp (original)
+++ cfe/trunk/lib/CodeGen/CodeGenModule.cpp Sat Jul 23 15:04:25 2011
@@ -2186,6 +2186,8 @@
const std::string &S = getModule().getModuleInlineAsm();
if (S.empty())
getModule().setModuleInlineAsm(AsmString);
+ else if (*--S.end() == '\n')
+ getModule().setModuleInlineAsm(S + AsmString.str());
else
getModule().setModuleInlineAsm(S + '\n' + AsmString.str());
break;
Modified: cfe/trunk/test/CodeGen/asm.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/asm.c?rev=135862&r1=135861&r2=135862&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/asm.c (original)
+++ cfe/trunk/test/CodeGen/asm.c Sat Jul 23 15:04:25 2011
@@ -1,4 +1,13 @@
// RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm %s -o - | FileCheck %s
+
+// PR10415
+__asm__ ("foo1");
+__asm__ ("foo2");
+__asm__ ("foo3");
+// CHECK: module asm "foo1"
+// CHECK-NEXT: module asm "foo2"
+// CHECK-NEXT: module asm "foo3"
+
void t1(int len) {
__asm__ volatile("" : "=&r"(len), "+&r"(len));
}
More information about the cfe-commits
mailing list