Skip to content

Commit 2f27e06

Browse files
committed
Generalize tests that already work for 32 bits
1 parent 3bb9285 commit 2f27e06

11 files changed

+124
-70
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import Swift
2+

validation-test/Reflection/reflect_Enum_MultiPayload_generic.swift

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ reflect(object: ClassWithEnumDepth0<S>())
4242
// CHECK-NEXT: (bound_generic_class reflect_Enum_MultiPayload_generic.ClassWithEnumDepth0
4343
// CHECK-NEXT: (struct reflect_Enum_MultiPayload_generic.S))
4444

45-
// X64: Type info:
45+
// CHECK: Type info:
46+
4647
// X64-NEXT: (class_instance size=41 alignment=8 stride=48 num_extra_inhabitants=0 bitwise_takable=1
4748
// X64-NEXT: (field name=e offset=16
4849
// X64-NEXT: (single_payload_enum size=25 alignment=8 stride=32 num_extra_inhabitants=253 bitwise_takable=1
@@ -68,7 +69,6 @@ reflect(object: ClassWithEnumDepth0<S>())
6869
// X64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=0 bitwise_takable=1))))))
6970
// X64-NEXT: (case name=none index=1))))
7071

71-
// X32: Type info:
7272
// X32-NEXT: (class_instance size=21 alignment=4 stride=24 num_extra_inhabitants=0 bitwise_takable=1
7373
// X32-NEXT: (field name=e offset=8
7474
// X32-NEXT: (single_payload_enum size=13 alignment=4 stride=16 num_extra_inhabitants=253 bitwise_takable=1
@@ -110,7 +110,8 @@ reflect(object: ClassWithEnumDepth1<S>())
110110
// CHECK-NEXT: (bound_generic_class reflect_Enum_MultiPayload_generic.ClassWithEnumDepth1
111111
// CHECK-NEXT: (struct reflect_Enum_MultiPayload_generic.S))
112112

113-
// X64: Type info:
113+
// CHECK: Type info:
114+
114115
// X64-NEXT: (class_instance size=41 alignment=8 stride=48 num_extra_inhabitants=0 bitwise_takable=1
115116
// X64-NEXT: (field name=e offset=16
116117
// X64-NEXT: (single_payload_enum size=25 alignment=8 stride=32 num_extra_inhabitants=253 bitwise_takable=1
@@ -136,7 +137,6 @@ reflect(object: ClassWithEnumDepth1<S>())
136137
// X64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=0 bitwise_takable=1))))))
137138
// X64-NEXT: (case name=none index=1))))
138139

139-
// X32: Type info:
140140
// X32-NEXT: (class_instance size=21 alignment=4 stride=24 num_extra_inhabitants=0 bitwise_takable=1
141141
// X32-NEXT: (field name=e offset=8
142142
// X32-NEXT: (single_payload_enum size=13 alignment=4 stride=16 num_extra_inhabitants=253 bitwise_takable=1
@@ -162,7 +162,6 @@ reflect(object: ClassWithEnumDepth1<S>())
162162
// X32-NEXT: (builtin size=4 alignment=4 stride=4 num_extra_inhabitants=0 bitwise_takable=1))))))
163163
// X32-NEXT: (case name=none index=1))))
164164

165-
166165
doneReflecting()
167166

168167
// CHECK: Done.

validation-test/Reflection/reflect_Enum_MultiPayload_generic2.swift

Lines changed: 27 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -20,58 +20,54 @@ case b(U)
2020

2121
reflect(enum: SimplePayload1<ClassTypeA, Void>.a(ClassTypeA()))
2222

23-
// X64: Reflecting an enum.
24-
// X64-NEXT: Instance pointer in child address space: 0x{{[0-9a-fA-F]+}}
25-
// X64-NEXT: Type reference:
26-
// X64-NEXT: (bound_generic_enum reflect_Enum_MultiPayload_generic2.SimplePayload1
27-
// X64-NEXT: (class reflect_Enum_MultiPayload_generic2.ClassTypeA)
28-
// X64-NEXT: (tuple))
23+
// CHECK: Reflecting an enum.
24+
// CHECK-NEXT: Instance pointer in child address space: 0x{{[0-9a-fA-F]+}}
25+
// CHECK-NEXT: Type reference:
26+
// CHECK-NEXT: (bound_generic_enum reflect_Enum_MultiPayload_generic2.SimplePayload1
27+
// CHECK-NEXT: (class reflect_Enum_MultiPayload_generic2.ClassTypeA)
28+
// CHECK-NEXT: (tuple))
2929

3030
// MemoryLayout<SimplePayload1<ClassTypeA, Void>> gives 9,8,16
31-
// SimplePayload1 is a BoundGenericTypeRef
32-
// It's getting laid out as a tagged MPE, not as an SPE
33-
// (an SPE would use the XIs of the ptr) XXXXXX OR WOULD IT??? Hmmmmm....
3431

35-
// X64: Type info:
32+
// CHECK: Type info:
3633
// X64-NEXT: (multi_payload_enum size=9 alignment=8 stride=16 num_extra_inhabitants=254 bitwise_takable=1
3734
// X64-NEXT: (case name=a index=0 offset=0
3835
// X64-NEXT: (reference kind=strong refcounting=native))
3936
// X64-NEXT: (case name=b index=1 offset=0
4037
// X64-NEXT: (tuple size=0 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1)))
41-
// X64-NEXT: Mangled name: $s34reflect_Enum_MultiPayload_generic214SimplePayload1OyAA10ClassTypeACytG
42-
// X64-NEXT: Demangled name: reflect_Enum_MultiPayload_generic2.SimplePayload1<reflect_Enum_MultiPayload_generic2.ClassTypeA, ()>
4338

44-
// X64: Enum value:
45-
// X64-NEXT: (enum_value name=a index=0
46-
// X64-NEXT: (class reflect_Enum_MultiPayload_generic2.ClassTypeA)
47-
// X64-NEXT: )
39+
// CHECK: Mangled name: $s34reflect_Enum_MultiPayload_generic214SimplePayload1OyAA10ClassTypeACytG
40+
// CHECK-NEXT: Demangled name: reflect_Enum_MultiPayload_generic2.SimplePayload1<reflect_Enum_MultiPayload_generic2.ClassTypeA, ()>
41+
42+
// CHECK: Enum value:
43+
// CHECK-NEXT: (enum_value name=a index=0
44+
// CHECK-NEXT: (class reflect_Enum_MultiPayload_generic2.ClassTypeA)
45+
// CHECK-NEXT: )
4846

49-
// X32: FAIL
5047

5148
reflect(enum: SimplePayload1<ClassTypeA, Void>.b(()))
5249

53-
// X64: Reflecting an enum.
54-
// X64-NEXT: Instance pointer in child address space: 0x{{[0-9a-fA-F]+}}
55-
// X64-NEXT: Type reference:
56-
// X64-NEXT: (bound_generic_enum reflect_Enum_MultiPayload_generic2.SimplePayload1
57-
// X64-NEXT: (class reflect_Enum_MultiPayload_generic2.ClassTypeA)
58-
// X64-NEXT: (tuple))
50+
// CHECK: Reflecting an enum.
51+
// CHECK-NEXT: Instance pointer in child address space: 0x{{[0-9a-fA-F]+}}
52+
// CHECK-NEXT: Type reference:
53+
// CHECK-NEXT: (bound_generic_enum reflect_Enum_MultiPayload_generic2.SimplePayload1
54+
// CHECK-NEXT: (class reflect_Enum_MultiPayload_generic2.ClassTypeA)
55+
// CHECK-NEXT: (tuple))
5956

60-
// X64: Type info:
57+
// CHECK: Type info:
6158
// X64-NEXT: (multi_payload_enum size=9 alignment=8 stride=16 num_extra_inhabitants=254 bitwise_takable=1
6259
// X64-NEXT: (case name=a index=0 offset=0
6360
// X64-NEXT: (reference kind=strong refcounting=native))
6461
// X64-NEXT: (case name=b index=1 offset=0
6562
// X64-NEXT: (tuple size=0 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1)))
66-
// X64-NEXT: Mangled name: $s34reflect_Enum_MultiPayload_generic214SimplePayload1OyAA10ClassTypeACytG
67-
// X64-NEXT: Demangled name: reflect_Enum_MultiPayload_generic2.SimplePayload1<reflect_Enum_MultiPayload_generic2.ClassTypeA, ()>
6863

69-
// X64: Enum value:
70-
// X64-NEXT: (enum_value name=b index=1
71-
// X64-NEXT: (tuple)
72-
// X64-NEXT: )
64+
// CHECK: Mangled name: $s34reflect_Enum_MultiPayload_generic214SimplePayload1OyAA10ClassTypeACytG
65+
// CHECK-NEXT: Demangled name: reflect_Enum_MultiPayload_generic2.SimplePayload1<reflect_Enum_MultiPayload_generic2.ClassTypeA, ()>
7366

74-
// X32: FAIL
67+
// CHECK: Enum value:
68+
// CHECK-NEXT: (enum_value name=b index=1
69+
// CHECK-NEXT: (tuple)
70+
// CHECK-NEXT: )
7571

7672
doneReflecting()
7773

validation-test/Reflection/reflect_Enum_MultiPayload_generic3.swift

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ reflect(enum: StructWithEnumDepth0<Int>?.none)
3939
// MemoryLayout<StructWithEnumDepth0<Int>>.size => 10
4040
// MemoryLayout<StructWithEnumDepth0<Int>?>.size => 11
4141

42-
// X64: Type info:
42+
// CHECK: Type info:
4343
// X64-NEXT: (single_payload_enum size=11 alignment=8 stride=16 num_extra_inhabitants=0 bitwise_takable=1
4444
// X64-NEXT: (case name=some index=0 offset=0
4545
// X64-NEXT: (struct size=10 alignment=8 stride=16 num_extra_inhabitants=0 bitwise_takable=1
@@ -55,10 +55,9 @@ reflect(enum: StructWithEnumDepth0<Int>?.none)
5555
// X64-NEXT: (tuple size=0 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1))))
5656
// X64-NEXT: (case name=none index=1)))))
5757
// X64-NEXT: (case name=none index=1))
58-
// X64-NEXT: Mangled name: $s34reflect_Enum_MultiPayload_generic3010StructWithB6Depth0VySiGSg
59-
// X64-NEXT: Demangled name: Swift.Optional<reflect_Enum_MultiPayload_generic3.StructWithEnumDepth0<Swift.Int>>
6058

61-
// X32: FAIL
59+
// CHECK: Mangled name: $s34reflect_Enum_MultiPayload_generic3010StructWithB6Depth0VySiGSg
60+
// CHECK-NEXT: Demangled name: Swift.Optional<reflect_Enum_MultiPayload_generic3.StructWithEnumDepth0<Swift.Int>>
6261

6362
// CHECK: Enum value:
6463
// CHECK-NEXT: (enum_value name=none index=1)

validation-test/Reflection/reflect_Enum_MultiPayload_generic4.swift

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ reflect(enum: StructWithEnumDepth0<Int>?.none)
3737
// MemoryLayout<> on ARM64 macOS gives 9,8,16 as the sizes of both SWED0<Int>? and SWED0<Int>.E
3838
// from that, we can infer that SWED0<Int>.E must have a non-zero number of extra inhabitants
3939

40-
// X64: Type info:
40+
// CHECK: Type info:
4141
// X64-NEXT: (single_payload_enum size=9 alignment=8 stride=16 num_extra_inhabitants=252 bitwise_takable=1
4242
// X64-NEXT: (case name=some index=0 offset=0
4343
// X64-NEXT: (struct size=9 alignment=8 stride=16 num_extra_inhabitants=253 bitwise_takable=1
@@ -55,10 +55,9 @@ reflect(enum: StructWithEnumDepth0<Int>?.none)
5555
// X64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=0 bitwise_takable=1))))))
5656
// X64-NEXT: (case name=none index=1)))))
5757
// X64-NEXT: (case name=none index=1))
58-
// X64-NEXT: Mangled name: $s34reflect_Enum_MultiPayload_generic4010StructWithB6Depth0VySiGSg
59-
// X64-NEXT: Demangled name: Swift.Optional<reflect_Enum_MultiPayload_generic4.StructWithEnumDepth0<Swift.Int>>
6058

61-
// X32: FAIL
59+
// CHECK: Mangled name: $s34reflect_Enum_MultiPayload_generic4010StructWithB6Depth0VySiGSg
60+
// CHECK-NEXT: Demangled name: Swift.Optional<reflect_Enum_MultiPayload_generic4.StructWithEnumDepth0<Swift.Int>>
6261

6362
// CHECK: Enum value:
6463
// CHECK-NEXT: (enum_value name=none index=1)

validation-test/Reflection/reflect_Enum_MultiPayload_generic5.swift

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ reflect(enum: StructWithEnumDepth0<Int>?.none)
3434
// MemoryLayout<StructWithEnumDepth0<Int>>.size => 10
3535
// MemoryLayout<StructWithEnumDepth0<Int>?>.size => 11
3636

37-
// X64: Type info:
37+
// CHECK: Type info:
3838
// X64-NEXT: (single_payload_enum size=11 alignment=8 stride=16 num_extra_inhabitants=0 bitwise_takable=1
3939
// X64-NEXT: (case name=some index=0 offset=0
4040
// X64-NEXT: (struct size=10 alignment=8 stride=16 num_extra_inhabitants=0 bitwise_takable=1
@@ -50,10 +50,9 @@ reflect(enum: StructWithEnumDepth0<Int>?.none)
5050
// X64-NEXT: (tuple size=0 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1))))
5151
// X64-NEXT: (case name=none index=1)))))
5252
// X64-NEXT: (case name=none index=1))
53-
// X64-NEXT: Mangled name: $s34reflect_Enum_MultiPayload_generic5010StructWithB6Depth0VySiGSg
54-
// X64-NEXT: Demangled name: Swift.Optional<reflect_Enum_MultiPayload_generic5.StructWithEnumDepth0<Swift.Int>>
5553

56-
// X32: FAIL
54+
// CHECK: Mangled name: $s34reflect_Enum_MultiPayload_generic5010StructWithB6Depth0VySiGSg
55+
// CHECK-NEXT: Demangled name: Swift.Optional<reflect_Enum_MultiPayload_generic5.StructWithEnumDepth0<Swift.Int>>
5756

5857
// CHECK: Enum value:
5958
// CHECK-NEXT: (enum_value name=none index=1)

validation-test/Reflection/reflect_Enum_MultiPayload_generic6.swift

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ reflect(enum: StructWithEnumDepth0<Int>?.none)
4242
// The TR for E is not a BoundGenericTypeRef
4343
// The compiler is not providing a BuiltinTypeInfo
4444

45-
// X64: Type info:
45+
// CHECK: Type info:
4646
// X64-NEXT: (single_payload_enum size=11 alignment=8 stride=16 num_extra_inhabitants=0 bitwise_takable=1
4747
// X64-NEXT: (case name=some index=0 offset=0
4848
// X64-NEXT: (struct size=10 alignment=8 stride=16 num_extra_inhabitants=0 bitwise_takable=1
@@ -64,10 +64,9 @@ reflect(enum: StructWithEnumDepth0<Int>?.none)
6464
// X64-NEXT: (tuple size=0 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1))))
6565
// X64-NEXT: (case name=none index=1)))))
6666
// X64-NEXT: (case name=none index=1))
67-
// X64-NEXT: Mangled name: $s34reflect_Enum_MultiPayload_generic6010StructWithB6Depth0VySiGSg
68-
// X64-NEXT: Demangled name: Swift.Optional<reflect_Enum_MultiPayload_generic6.StructWithEnumDepth0<Swift.Int>>
6967

70-
// X32: FAIL
68+
// CHECK: Mangled name: $s34reflect_Enum_MultiPayload_generic6010StructWithB6Depth0VySiGSg
69+
// CHECK-NEXT: Demangled name: Swift.Optional<reflect_Enum_MultiPayload_generic6.StructWithEnumDepth0<Swift.Int>>
7170

7271
// CHECK: Enum value:
7372
// CHECK-NEXT: (enum_value name=none index=1)

validation-test/Reflection/reflect_Enum_MultiPayload_generic7.swift

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,7 @@ reflect(enum: A<Int>.a(7))
4141
// X64-NEXT: (case name=c index=2 offset=0
4242
// X64-NEXT: (tuple size=0 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1)))
4343

44-
// X32: FAIL
45-
46-
// CHECK-NEXT: Mangled name: $s34reflect_Enum_MultiPayload_generic71AOySiG
44+
// CHECK: Mangled name: $s34reflect_Enum_MultiPayload_generic71AOySiG
4745
// CHECK-NEXT: Demangled name: reflect_Enum_MultiPayload_generic7.A<Swift.Int>
4846

4947
// CHECK: Enum value:
@@ -73,9 +71,7 @@ reflect(enum: A<Void>.a(()))
7371
// X64-NEXT: (case name=c index=2 offset=0
7472
// X64-NEXT: (tuple size=0 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1)))
7573

76-
// X32: FAIL
77-
78-
// CHECK-NEXT: Mangled name: $s34reflect_Enum_MultiPayload_generic71AOyytG
74+
// CHECK: Mangled name: $s34reflect_Enum_MultiPayload_generic71AOyytG
7975
// CHECK-NEXT: Demangled name: reflect_Enum_MultiPayload_generic7.A<()>
8076

8177
// CHECK: Enum value:
@@ -123,8 +119,6 @@ reflect(enum: B<Int>.a(1))
123119
// X64-NEXT: (case name=c index=2 offset=0
124120
// X64-NEXT: (tuple size=0 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1)))
125121

126-
// X32: FAIL
127-
128122
// CHECK-NEXT: Mangled name: $s34reflect_Enum_MultiPayload_generic71BOySiG
129123
// CHECK-NEXT: Demangled name: reflect_Enum_MultiPayload_generic7.B<Swift.Int>
130124

@@ -154,6 +148,7 @@ reflect(enum: B<Int>.c(()))
154148
reflect(enum: B<Void>.a(8))
155149

156150
// CHECK: Reflecting an enum.
151+
157152
// CHECK: Type info:
158153
// X64-NEXT: (multi_payload_enum size=9 alignment=8 stride=16 num_extra_inhabitants=253 bitwise_takable=1
159154
// X64-NEXT: (case name=a index=0 offset=0
@@ -165,8 +160,6 @@ reflect(enum: B<Void>.a(8))
165160
// X64-NEXT: (case name=c index=2 offset=0
166161
// X64-NEXT: (tuple size=0 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1)))
167162

168-
// X32: FAIL
169-
170163
// CHECK-NEXT: Mangled name: $s34reflect_Enum_MultiPayload_generic71BOyytG
171164
// CHECK-NEXT: Demangled name: reflect_Enum_MultiPayload_generic7.B<()>
172165

validation-test/Reflection/reflect_Enum_MultiPayload_generic8.swift

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,7 @@ reflect(enum: A<Void>.a(S<Void>(t: ())) as A<Void>?)
5050
// X64-NEXT: (tuple size=0 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1))))
5151
// X64-NEXT: (case name=none index=1))
5252

53-
// X32: FAIL
54-
55-
// CHECK-NEXT: Mangled name: $s34reflect_Enum_MultiPayload_generic81AOyytGSg
53+
// CHECK: Mangled name: $s34reflect_Enum_MultiPayload_generic81AOyytGSg
5654
// CHECK-NEXT: Demangled name: Swift.Optional<reflect_Enum_MultiPayload_generic8.A<()>>
5755

5856
// CHECK: Enum value:
@@ -97,7 +95,7 @@ reflect(enum: B<Int>.a(S<Void>(t: ())) as B<Int>?)
9795
// CHECK-NEXT: (bound_generic_enum reflect_Enum_MultiPayload_generic8.B
9896
// CHECK-NEXT: (struct Swift.Int)))
9997

100-
// X64: Type info:
98+
// CHECK: Type info:
10199
// X64-NEXT: (single_payload_enum size=10 alignment=8 stride=16 num_extra_inhabitants=0 bitwise_takable=1
102100
// X64-NEXT: (case name=some index=0 offset=0
103101
// X64-NEXT: (multi_payload_enum size=9 alignment=8 stride=16 num_extra_inhabitants=0 bitwise_takable=1
@@ -115,9 +113,7 @@ reflect(enum: B<Int>.a(S<Void>(t: ())) as B<Int>?)
115113
// X64-NEXT: (tuple size=0 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1))))
116114
// X64-NEXT: (case name=none index=1))
117115

118-
// X32: FAIL
119-
120-
// CHECK-NEXT: Mangled name: $s34reflect_Enum_MultiPayload_generic81BOySiGSg
116+
// CHECK: Mangled name: $s34reflect_Enum_MultiPayload_generic81BOySiGSg
121117
// CHECK-NEXT: Demangled name: Swift.Optional<reflect_Enum_MultiPayload_generic8.B<Swift.Int>>
122118

123119
// CHECK: Enum value:

validation-test/Reflection/reflect_Enum_SinglePayload_generic1.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ reflect(enum: SimplePayload1<ClassTypeA>.b(ClassTypeA()))
3333

3434
// CHECK: Type info:
3535
// X64-NEXT: (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=2147483645 bitwise_takable=1
36-
// X32-NEXT: FAIL XXX TODO XXX
36+
// X32-NEXT: (single_payload_enum size=4 alignment=4 stride=4 num_extra_inhabitants={{[0-9]+}} bitwise_takable=1
3737
// CHECK-NEXT: (case name=b index=0 offset=0
3838
// CHECK-NEXT: (reference kind=strong refcounting=native))
3939
// CHECK-NEXT: (case name=a index=1)

0 commit comments

Comments
 (0)