Skip to content

Commit 3d42828

Browse files
committed
[test] Add a test for two types import-as-member'd with the same name.
Unrelated to the previous commits, but good to Not Crash.
1 parent ac567ac commit 3d42828

File tree

5 files changed

+18
-8
lines changed

5 files changed

+18
-8
lines changed

test/ClangImporter/Inputs/custom-modules/ImportAsMember.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,12 @@ extern void IAMStruct1SelfComesLast(double x, struct IAMStruct1 s)
5757
extern void IAMStruct1SelfComesThird(int a, float b, struct IAMStruct1 s, double x)
5858
__attribute__((swift_name("Struct1.selfComesThird(a:b:self:x:)")));
5959

60+
61+
struct IAMMultipleNested {
62+
int value;
63+
};
64+
65+
typedef int MNInnerInt __attribute__((swift_name("IAMMultipleNested.Inner")));
66+
typedef float MNInnerFloat __attribute__((swift_name("IAMMultipleNested.Inner")));
67+
6068
#endif // IMPORT_AS_MEMBER_H
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
struct IAMOuter { int x; };
1+
struct IAMSOuter { int x; };
22

3-
struct IAMInner { int y; };
3+
struct IAMSInner { int y; };
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
// The order of these forward-declarations affects whether there was a bug.
2-
struct IAMOuter;
3-
struct IAMInner;
2+
struct IAMSOuter;
3+
struct IAMSInner;
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
Name: ImportAsMemberSubmodules
22
Tags:
3-
- Name: IAMInner
4-
SwiftName: IAMOuter.Inner
3+
- Name: IAMSInner
4+
SwiftName: IAMSOuter.Inner
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -typecheck -F %S/Inputs/frameworks %s -verify
1+
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -typecheck -F %S/Inputs/frameworks -I %S/Inputs/custom-modules %s -verify
22

3+
import ImportAsMember
34
import ImportAsMemberSubmodules
45

5-
let _: IAMOuter.Inner?
6+
let _: IAMSOuter.Inner?
7+
let _: IAMMultipleNested.Inner? // expected-error {{ambiguous type name 'Inner' in 'IAMMultipleNested'}}

0 commit comments

Comments
 (0)