aboutsummaryrefslogtreecommitdiffstats
path: root/test/DebugInfo/Inputs/cross-cu-inlining.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/DebugInfo/Inputs/cross-cu-inlining.c')
-rw-r--r--test/DebugInfo/Inputs/cross-cu-inlining.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/DebugInfo/Inputs/cross-cu-inlining.c b/test/DebugInfo/Inputs/cross-cu-inlining.c
new file mode 100644
index 0000000..0553581
--- /dev/null
+++ b/test/DebugInfo/Inputs/cross-cu-inlining.c
@@ -0,0 +1,18 @@
+// To generate the test file:
+// clang cross-cu-inlining.c -DA_C -g -emit-llvm -S -o a.ll
+// clang cross-cu-inlining.c -DB_C -g -emit-llvm -S -o b.ll
+// llvm-link a.ll b.ll -o ab.bc
+// opt -inline ab.bc -o cross-cu-inlining.bc
+// clang -c cross-cu-inlining.bc -o cross-cu-inlining.o
+#ifdef A_C
+int i;
+int func(int);
+int main() {
+ return func(i);
+}
+#endif
+#ifdef B_C
+int __attribute__((always_inline)) func(int x) {
+ return x * 2;
+}
+#endif