Skip to content

Commit 24f78c4

Browse files
committed
[APINotes] Add tests for typedef in a namespace
rdar://113403829
1 parent 7d4a1c2 commit 24f78c4

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

clang/test/APINotes/Inputs/Headers/Namespaces.apinotes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ Tags:
88
SwiftName: InWrongContext
99
Namespaces:
1010
- Name: Namespace1
11+
Typedefs:
12+
- Name: my_typedef
13+
SwiftName: SwiftTypedef
1114
Globals:
1215
- Name: varInNamespace
1316
SwiftName: swiftVarInNamespace

clang/test/APINotes/Inputs/Headers/Namespaces.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,6 @@ static int varInNestedNamespace = 2;
2828
namespace Nested1 { namespace Namespace1 {} }
2929
} // namespace Namespace1
3030

31-
namespace Namespace1 {}
31+
namespace Namespace1 {
32+
typedef int my_typedef;
33+
}

clang/test/APINotes/namespaces.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// RUN: rm -rf %t && mkdir -p %t
22
// RUN: %clang_cc1 -fmodules -fblocks -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache/CxxInterop -fdisable-module-hash -fapinotes-modules -fsyntax-only -I %S/Inputs/Headers -F %S/Inputs/Frameworks %s -x objective-c++
3+
// RUN: %clang_cc1 -fmodules -fblocks -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache/CxxInterop -fdisable-module-hash -fapinotes-modules -fsyntax-only -I %S/Inputs/Headers -F %S/Inputs/Frameworks %s -ast-dump -ast-dump-filter Namespace1::my_typedef -x objective-c++ | FileCheck -check-prefix=CHECK-TYPEDEF-IN-NAMESPACE %s
34
// RUN: %clang_cc1 -fmodules -fblocks -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache/CxxInterop -fdisable-module-hash -fapinotes-modules -fsyntax-only -I %S/Inputs/Headers -F %S/Inputs/Frameworks %s -ast-dump -ast-dump-filter Namespace1::varInNamespace -x objective-c++ | FileCheck -check-prefix=CHECK-GLOBAL-IN-NAMESPACE %s
45
// RUN: %clang_cc1 -fmodules -fblocks -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache/CxxInterop -fdisable-module-hash -fapinotes-modules -fsyntax-only -I %S/Inputs/Headers -F %S/Inputs/Frameworks %s -ast-dump -ast-dump-filter Namespace1::funcInNamespace -x objective-c++ | FileCheck -check-prefix=CHECK-FUNC-IN-NAMESPACE %s
56
// RUN: %clang_cc1 -fmodules -fblocks -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache/CxxInterop -fdisable-module-hash -fapinotes-modules -fsyntax-only -I %S/Inputs/Headers -F %S/Inputs/Frameworks %s -ast-dump -ast-dump-filter Namespace1::char_box -x objective-c++ | FileCheck -check-prefix=CHECK-STRUCT-IN-NAMESPACE %s
@@ -11,6 +12,10 @@
1112

1213
#import <Namespaces.h>
1314

15+
// CHECK-TYPEDEF-IN-NAMESPACE: Dumping Namespace1::my_typedef:
16+
// CHECK-TYPEDEF-IN-NAMESPACE-NEXT: TypedefDecl {{.+}} imported in Namespaces my_typedef 'int'
17+
// CHECK-TYPEDEF-IN-NAMESPACE: SwiftNameAttr {{.+}} <<invalid sloc>> "SwiftTypedef"
18+
1419
// CHECK-GLOBAL-IN-NAMESPACE: Dumping Namespace1::varInNamespace:
1520
// CHECK-GLOBAL-IN-NAMESPACE-NEXT: VarDecl {{.+}} imported in Namespaces varInNamespace 'int' static cinit
1621
// CHECK-GLOBAL-IN-NAMESPACE-NEXT: IntegerLiteral {{.+}} 'int' 1

0 commit comments

Comments
 (0)