linkage.c 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // RUN: c-index-test -test-print-linkage-source %s | FileCheck %s
  2. enum Baz { Qux = 0 };
  3. int x;
  4. void foo();
  5. static int w;
  6. void bar(int y) {
  7. static int z;
  8. int k;
  9. }
  10. extern int n;
  11. static int wibble(int);
  12. void ena(int (*dio)(int tria));
  13. static int test2;
  14. void f16(void) {
  15. extern int test2;
  16. }
  17. // CHECK: EnumDecl=Baz:3:6 (Definition)linkage=External
  18. // CHECK: EnumConstantDecl=Qux:3:12 (Definition)linkage=External
  19. // CHECK: VarDecl=x:4:5linkage=External
  20. // CHECK: FunctionDecl=foo:5:6linkage=External
  21. // CHECK: VarDecl=w:6:12linkage=Internal
  22. // CHECK: FunctionDecl=bar:7:6 (Definition)linkage=External
  23. // CHECK: ParmDecl=y:7:14 (Definition)linkage=NoLinkage
  24. // CHECK: VarDecl=z:8:14 (Definition)linkage=NoLinkage
  25. // CHECK: VarDecl=k:9:7 (Definition)linkage=NoLinkage
  26. // CHECK: VarDecl=n:11:12linkage=External
  27. // CHECK: FunctionDecl=wibble:12:12linkage=Internal
  28. // CHECK: ParmDecl=:12:22 (Definition)linkage=NoLinkage
  29. // CHECK: FunctionDecl=ena:14:6linkage=External
  30. // CHECK: ParmDecl=dio:14:16 (Definition)linkage=NoLinkage
  31. // CHECK: ParmDecl=tria:14:25 (Definition)linkage=NoLinkage
  32. // CHECK: VarDecl=test2{{.*}}linkage=Internal
  33. // CHECK: VarDecl=test2{{.*}}linkage=Internal