Check that always_inline functions are inlined
authorDuncan Sands <baldrick@free.fr>
Mon, 19 May 2008 16:44:44 +0000 (16:44 +0000)
committerDuncan Sands <baldrick@free.fr>
Mon, 19 May 2008 16:44:44 +0000 (16:44 +0000)
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

test/CFrontend/2008-05-19-AlwaysInline.c [new file with mode: 0644]

diff --git a/test/CFrontend/2008-05-19-AlwaysInline.c b/test/CFrontend/2008-05-19-AlwaysInline.c
new file mode 100644 (file)
index 0000000..506f6cf
--- /dev/null
@@ -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;
+}