summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/pr9614.c
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2011-12-19 14:41:01 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2011-12-19 14:41:01 +0000
commit4fdc1759ca2ac6d847f92d9d0b5eb1ea3bb3164d (patch)
tree8137318e4f0c07eac0509d634db8ea3ac3e3f56c /clang/test/CodeGen/pr9614.c
parent1f179064b06b6226df30a4ac51c8056abbafefc4 (diff)
downloadbcm5719-llvm-4fdc1759ca2ac6d847f92d9d0b5eb1ea3bb3164d.tar.gz
bcm5719-llvm-4fdc1759ca2ac6d847f92d9d0b5eb1ea3bb3164d.zip
Extend the fix for PR9614 to handle inline asm in the outer decl and
the inner decl being a builtin. This is needed to support the glibc headers in fedora 16 (2.14). llvm-svn: 146867
Diffstat (limited to 'clang/test/CodeGen/pr9614.c')
-rw-r--r--clang/test/CodeGen/pr9614.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/clang/test/CodeGen/pr9614.c b/clang/test/CodeGen/pr9614.c
index 8c767766832..228a4b3aaa5 100644
--- a/clang/test/CodeGen/pr9614.c
+++ b/clang/test/CodeGen/pr9614.c
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -emit-llvm %s -O1 -o - | FileCheck %s
+// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s
extern void foo_alias (void) __asm ("foo");
inline void foo (void) {
@@ -8,15 +8,22 @@ extern void bar_alias (void) __asm ("bar");
inline __attribute__ ((__always_inline__)) void bar (void) {
return bar_alias ();
}
+extern char *strrchr_foo (const char *__s, int __c) __asm ("strrchr");
+extern inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * strrchr_foo (const char *__s, int __c) {
+ return __builtin_strrchr (__s, __c);
+}
void f(void) {
foo();
bar();
+ strrchr_foo("", '.');
}
// CHECK: define void @f()
// CHECK: call void @foo()
// CHECK-NEXT: call void @bar()
+// CHECK-NEXT: call i8* @strrchr(
// CHECK-NEXT: ret void
// CHECK: declare void @foo()
// CHECK: declare void @bar()
+// CHECK: declare i8* @strrchr(i8*, i32)
OpenPOWER on IntegriCloud