aboutsummaryrefslogtreecommitdiff
path: root/test/ASTMerge/function.c
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-02-10 19:54:31 +0000
committerDouglas Gregor <dgregor@apple.com>2010-02-10 19:54:31 +0000
commita404ea673cbee5e74af710a5f1ab571e71580b67 (patch)
tree717ca8b7974e8c1874186ad8ea4d89736c2eef9a /test/ASTMerge/function.c
parent4c863ef92c2b74572090da245c87e1487b0b596c (diff)
Implement basic support for merging function declarations across
translation units. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95794 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/ASTMerge/function.c')
-rw-r--r--test/ASTMerge/function.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/ASTMerge/function.c b/test/ASTMerge/function.c
new file mode 100644
index 0000000000..581b6ec588
--- /dev/null
+++ b/test/ASTMerge/function.c
@@ -0,0 +1,9 @@
+// RUN: %clang_cc1 -emit-pch -o %t.1.ast %S/Inputs/function1.c
+// RUN: %clang_cc1 -emit-pch -o %t.2.ast %S/Inputs/function2.c
+// RUN: %clang_cc1 -ast-merge %t.1.ast -ast-merge %t.2.ast -fsyntax-only %s 2>&1 | FileCheck %s
+
+// CHECK: function2.c:3:6: error: external function 'f1' declared with incompatible types in different translation units ('void (Int, double)' vs. 'void (int, float)')
+// CHECK: function1.c:2:6: note: declared here with type 'void (int, float)'
+// CHECK: function2.c:5:6: error: external function 'f3' declared with incompatible types in different translation units ('void (int)' vs. 'void (void)')
+// CHECK: function1.c:4:6: note: declared here with type 'void (void)'
+// CHECK: 4 diagnostics generated