summaryrefslogtreecommitdiffstats
path: root/clang/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
commitbb7930c17e9831c3499bbbf1703cca408f0b83b7 (patch)
tree8412469afce189026118c98b620ab182e70eeb8a /clang/test/ASTMerge/function.c
parentcc152d61596078d5682919189e424fea405708bc (diff)
downloadbcm5719-llvm-bb7930c17e9831c3499bbbf1703cca408f0b83b7.tar.gz
bcm5719-llvm-bb7930c17e9831c3499bbbf1703cca408f0b83b7.zip
Implement basic support for merging function declarations across
translation units. llvm-svn: 95794
Diffstat (limited to 'clang/test/ASTMerge/function.c')
-rw-r--r--clang/test/ASTMerge/function.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/test/ASTMerge/function.c b/clang/test/ASTMerge/function.c
new file mode 100644
index 00000000000..581b6ec5882
--- /dev/null
+++ b/clang/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
OpenPOWER on IntegriCloud