diff --git a/clang/test/Index/index-refs.cpp b/clang/test/Index/index-refs.cpp index 35f4fe403c01..fa4b4b3a09c3 100644 --- a/clang/test/Index/index-refs.cpp +++ b/clang/test/Index/index-refs.cpp @@ -55,6 +55,12 @@ void foo3() { TS s; } +const int array_size = 3; +typedef int some_arr[array_size]; + +const int default_param = 3; +void foo4(int p = default_param); + // RUN: c-index-test -index-file %s | FileCheck %s // CHECK: [indexDeclaration]: kind: namespace | name: NS // CHECK-NEXT: [indexDeclaration]: kind: variable | name: gx @@ -98,3 +104,6 @@ void foo3() { [indexEntityReference]: kind: struct-template-spec | name: TS | USR: c:@S@TS>#I | {{.*}} | loc: 55:3 */ // CHECK-NEXT: [indexEntityReference]: kind: c++-class-template | name: TS | USR: c:@ST>2#T#T@TS | {{.*}} | loc: 55:3 + +// CHECK: [indexEntityReference]: kind: variable | name: array_size | {{.*}} | loc: 59:22 +// CHECK: [indexEntityReference]: kind: variable | name: default_param | {{.*}} | loc: 62:19 diff --git a/clang/tools/libclang/IndexTypeSourceInfo.cpp b/clang/tools/libclang/IndexTypeSourceInfo.cpp index 34acffcf7ade..b62d52156bc9 100644 --- a/clang/tools/libclang/IndexTypeSourceInfo.cpp +++ b/clang/tools/libclang/IndexTypeSourceInfo.cpp @@ -85,6 +85,11 @@ public: } return true; } + + bool TraverseStmt(Stmt *S) { + IndexCtx.indexBody(S, Parent, ParentDC); + return true; + } }; } // anonymous namespace