Ted Kremenek | 3bed527 | 2010-03-03 06:37:58 +0000 | [diff] [blame] | 1 | // RUN: c-index-test -test-print-linkage-source %s | FileCheck %s |
| 2 | |
| 3 | enum Baz { Qux = 0 }; |
| 4 | int x; |
| 5 | void foo(); |
| 6 | static int w; |
| 7 | void bar(int y) { |
| 8 | static int z; |
| 9 | int k; |
| 10 | } |
| 11 | extern int n; |
Douglas Gregor | c2a2b3c | 2010-03-04 19:36:27 +0000 | [diff] [blame] | 12 | static int wibble(int); |
Ted Kremenek | 3bed527 | 2010-03-03 06:37:58 +0000 | [diff] [blame] | 13 | |
Argyrios Kyrtzidis | f8d34ed | 2011-12-01 01:28:21 +0000 | [diff] [blame] | 14 | void ena(int (*dio)(int tria)); |
| 15 | |
Rafael Espindola | a7a2f2a | 2012-12-18 04:18:55 +0000 | [diff] [blame] | 16 | static int test2; |
| 17 | void f16(void) { |
| 18 | extern int test2; |
| 19 | } |
| 20 | |
| 21 | |
Ted Kremenek | 3bed527 | 2010-03-03 06:37:58 +0000 | [diff] [blame] | 22 | // CHECK: EnumDecl=Baz:3:6 (Definition)linkage=External |
| 23 | // CHECK: EnumConstantDecl=Qux:3:12 (Definition)linkage=External |
| 24 | // CHECK: VarDecl=x:4:5linkage=External |
| 25 | // CHECK: FunctionDecl=foo:5:6linkage=External |
Douglas Gregor | c2a2b3c | 2010-03-04 19:36:27 +0000 | [diff] [blame] | 26 | // CHECK: VarDecl=w:6:12linkage=Internal |
Ted Kremenek | 3bed527 | 2010-03-03 06:37:58 +0000 | [diff] [blame] | 27 | // CHECK: FunctionDecl=bar:7:6 (Definition)linkage=External |
Douglas Gregor | c2a2b3c | 2010-03-04 19:36:27 +0000 | [diff] [blame] | 28 | // CHECK: ParmDecl=y:7:14 (Definition)linkage=NoLinkage |
| 29 | // CHECK: VarDecl=z:8:14 (Definition)linkage=NoLinkage |
| 30 | // CHECK: VarDecl=k:9:7 (Definition)linkage=NoLinkage |
| 31 | // CHECK: VarDecl=n:11:12linkage=External |
| 32 | // CHECK: FunctionDecl=wibble:12:12linkage=Internal |
Argyrios Kyrtzidis | f8d34ed | 2011-12-01 01:28:21 +0000 | [diff] [blame] | 33 | // CHECK: ParmDecl=:12:22 (Definition)linkage=NoLinkage |
| 34 | // CHECK: FunctionDecl=ena:14:6linkage=External |
| 35 | // CHECK: ParmDecl=dio:14:16 (Definition)linkage=NoLinkage |
| 36 | // CHECK: ParmDecl=tria:14:25 (Definition)linkage=NoLinkage |
Rafael Espindola | a7a2f2a | 2012-12-18 04:18:55 +0000 | [diff] [blame] | 37 | // CHECK: VarDecl=test2{{.*}}linkage=Internal |
| 38 | // CHECK: VarDecl=test2{{.*}}linkage=Internal |