aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2008-05-19 16:44:44 +0000
committerDuncan Sands <baldrick@free.fr>2008-05-19 16:44:44 +0000
commit1e6a575a8f0a27095927df7951a29174328a8b56 (patch)
treee4e17b62ebaab653ca1c7a1bc171d3467c259373
parentec00fcb33d43759e638e2ebdc8657e3183077664 (diff)
downloadexternal_llvm-1e6a575a8f0a27095927df7951a29174328a8b56.zip
external_llvm-1e6a575a8f0a27095927df7951a29174328a8b56.tar.gz
external_llvm-1e6a575a8f0a27095927df7951a29174328a8b56.tar.bz2
Check that always_inline functions are inlined
whether or not -funit-at-a-time is used (C++ uses it, C doesn't) - it was working before only when not doing unit-at-a-time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51258 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/CFrontend/2008-05-19-AlwaysInline.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/CFrontend/2008-05-19-AlwaysInline.c b/test/CFrontend/2008-05-19-AlwaysInline.c
new file mode 100644
index 0000000..506f6cf
--- /dev/null
+++ b/test/CFrontend/2008-05-19-AlwaysInline.c
@@ -0,0 +1,12 @@
+// RUN: %llvmgcc %s -S -fno-unit-at-a-time -emit-llvm -O0 -o - | not grep sabrina
+// RUN: %llvmgcc %s -S -funit-at-a-time -emit-llvm -O0 -o - | not grep sabrina
+
+static inline int sabrina (void) __attribute__((always_inline));
+static inline int sabrina (void)
+{
+ return 13;
+}
+int bar (void)
+{
+ return sabrina () + 68;
+}