diff options
| author | Douglas Gregor <dgregor@apple.com> | 2010-02-11 18:18:11 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2010-02-11 18:18:11 +0000 |
| commit | 69837bed2f12238995b9c116abf41037728583d3 (patch) | |
| tree | 5690bcc8dec2b90f3001ea32ac57c08b73763eb4 | |
| parent | 2588efd071464d512042afd39f73d984ab639d28 (diff) | |
| download | bcm5719-llvm-69837bed2f12238995b9c116abf41037728583d3.tar.gz bcm5719-llvm-69837bed2f12238995b9c116abf41037728583d3.zip | |
Add missing test cases for AST merging of structures.
llvm-svn: 95886
| -rw-r--r-- | clang/test/ASTMerge/Inputs/struct1.c | 16 | ||||
| -rw-r--r-- | clang/test/ASTMerge/Inputs/struct2.c | 13 | ||||
| -rw-r--r-- | clang/test/ASTMerge/struct.c | 7 |
3 files changed, 36 insertions, 0 deletions
diff --git a/clang/test/ASTMerge/Inputs/struct1.c b/clang/test/ASTMerge/Inputs/struct1.c new file mode 100644 index 00000000000..381f00a0a63 --- /dev/null +++ b/clang/test/ASTMerge/Inputs/struct1.c @@ -0,0 +1,16 @@ +typedef int Int; +typedef float Float; + +struct S0 { + Int field1; + Float field2; +}; + +struct S0 x0; + +struct S1 { + Int field1; + int field2; +}; + +struct S1 x1; diff --git a/clang/test/ASTMerge/Inputs/struct2.c b/clang/test/ASTMerge/Inputs/struct2.c new file mode 100644 index 00000000000..0a906090067 --- /dev/null +++ b/clang/test/ASTMerge/Inputs/struct2.c @@ -0,0 +1,13 @@ +struct S0 { + int field1; + float field2; +}; + +struct S0 x0; + +struct S1 { + int field1; + float field2; +}; + +struct S1 x1; diff --git a/clang/test/ASTMerge/struct.c b/clang/test/ASTMerge/struct.c new file mode 100644 index 00000000000..99fa74b10d3 --- /dev/null +++ b/clang/test/ASTMerge/struct.c @@ -0,0 +1,7 @@ +// RUN: %clang_cc1 -emit-pch -o %t.1.ast %S/Inputs/struct1.c +// RUN: %clang_cc1 -emit-pch -o %t.2.ast %S/Inputs/struct2.c +// RUN: %clang_cc1 -ast-merge %t.1.ast -ast-merge %t.2.ast -fsyntax-only %s 2>&1 | FileCheck %s + +// CHECK: struct2.c:13:11: error: external variable 'x1' declared with incompatible types in different translation units ('struct S1' vs. 'struct S1') +// CHECK: struct1.c:16:11: note: declared here with type 'struct S1' +// CHECK: 2 diagnostics |

