forked from OSchip/llvm-project
61 lines
1.9 KiB
C++
61 lines
1.9 KiB
C++
|
|
namespace NS {
|
|
extern int gx;
|
|
typedef int MyInt;
|
|
}
|
|
|
|
enum {
|
|
EnumVal = 1
|
|
};
|
|
|
|
NS::MyInt NS::gx = EnumVal;
|
|
|
|
void foo() {
|
|
NS::MyInt x;
|
|
}
|
|
|
|
enum {
|
|
SecondVal = EnumVal
|
|
};
|
|
|
|
struct S {
|
|
S& operator++();
|
|
int operator*();
|
|
S& operator=(int x);
|
|
S& operator!=(int x);
|
|
S& operator()(int x);
|
|
};
|
|
|
|
void foo2(S &s) {
|
|
(void)++s;
|
|
(void)*s;
|
|
s = 3;
|
|
(void)(s != 3);
|
|
s(3);
|
|
}
|
|
|
|
// RUN: c-index-test -index-file %s | FileCheck %s
|
|
// CHECK: [indexDeclaration]: kind: namespace | name: NS
|
|
// CHECK-NEXT: [indexDeclaration]: kind: variable | name: gx
|
|
// CHECK-NEXT: [indexDeclaration]: kind: typedef | name: MyInt
|
|
// CHECK-NEXT: [indexDeclaration]: kind: enum
|
|
// CHECK-NEXT: [indexDeclaration]: kind: enumerator | name: EnumVal
|
|
// CHECK-NEXT: [indexDeclaration]: kind: variable | name: gx
|
|
// CHECK-NEXT: [indexEntityReference]: kind: namespace | name: NS
|
|
// CHECK-NEXT: [indexEntityReference]: kind: typedef | name: MyInt
|
|
// CHECK-NEXT: [indexEntityReference]: kind: namespace | name: NS
|
|
// CHECK-NEXT: [indexEntityReference]: kind: enumerator | name: EnumVal
|
|
// CHECK-NEXT: [indexDeclaration]: kind: function | name: foo
|
|
// CHECK-NEXT: [indexEntityReference]: kind: namespace | name: NS
|
|
// CHECK-NEXT: [indexEntityReference]: kind: typedef | name: MyInt
|
|
// CHECK-NEXT: [indexDeclaration]: kind: enum
|
|
// CHECK-NEXT: [indexDeclaration]: kind: enumerator | name: SecondVal
|
|
// CHECK-NEXT: [indexEntityReference]: kind: enumerator | name: EnumVal
|
|
|
|
// CHECK: [indexDeclaration]: kind: function | name: foo2
|
|
// CHECK: [indexEntityReference]: kind: c++-instance-method | name: operator++
|
|
// CHECK-NEXT: [indexEntityReference]: kind: c++-instance-method | name: operator*
|
|
// CHECK-NEXT: [indexEntityReference]: kind: c++-instance-method | name: operator=
|
|
// CHECK-NEXT: [indexEntityReference]: kind: c++-instance-method | name: operator!=
|
|
// CHECK-NEXT: [indexEntityReference]: kind: c++-instance-method | name: operator()
|