Skip to content

Commit a6e2f8b

Browse files
authored
Conditionalize 'num_extra_inhabitants' in 64 bit platforms' tests (#33136)
1 parent f2545dc commit a6e2f8b

15 files changed

+171
-161
lines changed

test/lit.cfg

+10
Original file line numberDiff line numberDiff line change
@@ -1998,3 +1998,13 @@ lit_config.note("Available features: " + ", ".join(sorted(config.available_featu
19981998
# Windows currently does not support basic reflection support.
19991999
if 'objc_interop' in config.available_features or ('swift_stdlib_asserts' in config.available_features and not kIsWindows):
20002000
config.available_features.add('reflection_test_support')
2001+
2002+
# num_extra_inhabitants on 64 bits differs between Mac and everywhere else.
2003+
# Add it, as a variable in order to substitute it in the tests
2004+
if platform.system() == 'Darwin':
2005+
num_extra_inhabitants_64bit = 2147483647
2006+
else:
2007+
num_extra_inhabitants_64bit = 4096
2008+
add_num_extra_inhabitants = "-D#num_extra_inhabitants_64bit={} ".format(num_extra_inhabitants_64bit)
2009+
config.substitutions.append(('%add_num_extra_inhabitants', add_num_extra_inhabitants))
2010+

validation-test/Reflection/existentials.swift

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
// RUN: %empty-directory(%t)
22
// RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/existentials
33
// RUN: %target-codesign %t/existentials
4-
// RUN: %target-run %target-swift-reflection-test %t/existentials | %FileCheck %s --check-prefix=CHECK-%target-ptrsize
4+
// RUN: %target-run %target-swift-reflection-test %t/existentials | %FileCheck %s --check-prefix=CHECK-%target-ptrsize %add_num_extra_inhabitants
55

6-
// REQUIRES: objc_interop
6+
// REQUIRES: reflection_test_support
77
// REQUIRES: executable_test
88
// UNSUPPORTED: use_os_stdlib
99

@@ -318,27 +318,27 @@ reflect(any: he)
318318
// CHECK-64: Type info:
319319
// CHECK-64: (struct size=144 alignment=8 stride=144
320320
// CHECK-64-NEXT: (field name=singleError offset=0
321-
// CHECK-64-NEXT: (error_existential size=8 alignment=8 stride=8 num_extra_inhabitants=2147483647 bitwise_takable=1
321+
// CHECK-64-NEXT: (error_existential size=8 alignment=8 stride=8 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1
322322
// CHECK-64-NEXT: (field name=error offset=0
323323
// CHECK-64-NEXT: (reference kind=strong refcounting=unknown))))
324324
// CHECK-64-NEXT: (field name=errorInComposition offset=8
325-
// CHECK-64-NEXT: (opaque_existential size=48 alignment=8 stride=48 num_extra_inhabitants=2147483647 bitwise_takable=1
325+
// CHECK-64-NEXT: (opaque_existential size=48 alignment=8 stride=48 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1
326326
// CHECK-64-NEXT: (field name=metadata offset=24
327-
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=2147483647 bitwise_takable=1))
327+
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1))
328328
// CHECK-64-NEXT: (field name=wtable offset=32
329329
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=1 bitwise_takable=1))
330330
// CHECK-64-NEXT: (field name=wtable offset=40
331331
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=1 bitwise_takable=1))))
332332
// CHECK-64-NEXT: (field name=customError offset=56
333-
// CHECK-64-NEXT: (opaque_existential size=40 alignment=8 stride=40 num_extra_inhabitants=2147483647 bitwise_takable=1
333+
// CHECK-64-NEXT: (opaque_existential size=40 alignment=8 stride=40 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1
334334
// CHECK-64-NEXT: (field name=metadata offset=24
335-
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=2147483647 bitwise_takable=1))
335+
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1))
336336
// CHECK-64-NEXT: (field name=wtable offset=32
337337
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=1 bitwise_takable=1))))
338338
// CHECK-64-NEXT: (field name=customErrorInComposition offset=96
339-
// CHECK-64-NEXT: (opaque_existential size=48 alignment=8 stride=48 num_extra_inhabitants=2147483647 bitwise_takable=1
339+
// CHECK-64-NEXT: (opaque_existential size=48 alignment=8 stride=48 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1
340340
// CHECK-64-NEXT: (field name=metadata offset=24
341-
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=2147483647 bitwise_takable=1))
341+
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1))
342342
// CHECK-64-NEXT: (field name=wtable offset=32
343343
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=1 bitwise_takable=1))
344344
// CHECK-64-NEXT: (field name=wtable offset=40

validation-test/Reflection/functions.swift

+12-12
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
// RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/functions
33
// RUN: %target-codesign %t/functions
44

5-
// RUN: %target-run %target-swift-reflection-test %t/functions | %FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-%target-ptrsize
5+
// RUN: %target-run %target-swift-reflection-test %t/functions | %FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-%target-ptrsize %add_num_extra_inhabitants
66

77
// FIXME: Should not require objc_interop -- please put Objective-C-specific
88
// testcases in functions_objc.swift
99

10-
// REQUIRES: objc_interop
10+
// REQUIRES: reflection_test_support
1111
// REQUIRES: executable_test
1212
// UNSUPPORTED: use_os_stdlib
1313

@@ -57,9 +57,9 @@ func concrete(x: Int, y: Any) {
5757
// CHECK-64: Type info:
5858
// CHECK-64-NEXT: (closure_context size=48 alignment=8 stride=48 num_extra_inhabitants=0 bitwise_takable=1
5959
// CHECK-64-NEXT: (field offset=16
60-
// CHECK-64-NEXT: (opaque_existential size=32 alignment=8 stride=32 num_extra_inhabitants=2147483647 bitwise_takable=1
60+
// CHECK-64-NEXT: (opaque_existential size=32 alignment=8 stride=32 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1
6161
// CHECK-64-NEXT: (field name=metadata offset=24
62-
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=2147483647 bitwise_takable=1)))))
62+
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1)))))
6363
}
6464

6565
concrete(x: 10, y: true)
@@ -153,17 +153,17 @@ func generic<T : P, U, V : C>(x: T, y: U, z: V, i: Int) {
153153
// CHECK-64-NEXT: (field name=_value offset=0
154154
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=0 bitwise_takable=1))))
155155
// CHECK-64-NEXT: (field offset=56
156-
// CHECK-64-NEXT: (struct size=16 alignment=8 stride=16 num_extra_inhabitants=2147483647 bitwise_takable=1
156+
// CHECK-64-NEXT: (struct size=16 alignment=8 stride=16 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1
157157
// CHECK-64-NEXT: (field name=_guts offset=0
158-
// CHECK-64-NEXT: (struct size=16 alignment=8 stride=16 num_extra_inhabitants=2147483647 bitwise_takable=1
158+
// CHECK-64-NEXT: (struct size=16 alignment=8 stride=16 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1
159159
// CHECK-64-NEXT: (field name=_object offset=0
160-
// CHECK-64-NEXT: (struct size=16 alignment=8 stride=16 num_extra_inhabitants=2147483647 bitwise_takable=1
160+
// CHECK-64-NEXT: (struct size=16 alignment=8 stride=16 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1
161161
// CHECK-64-NEXT: (field name=_countAndFlagsBits offset=0
162162
// CHECK-64-NEXT: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=0 bitwise_takable=1
163163
// CHECK-64-NEXT: (field name=_value offset=0
164164
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=0 bitwise_takable=1))))
165165
// CHECK-64-NEXT: (field name=_object offset=8
166-
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=2147483647 bitwise_takable=1))))))))
166+
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1))))))))
167167
// CHECK-64-NEXT: (field offset=72
168168
// CHECK-64-NEXT: (reference kind=strong refcounting=native)))
169169
}
@@ -291,7 +291,7 @@ class CapturingClass {
291291
// CHECK-64: Type info:
292292
// CHECK-64-NEXT: (closure_context size=32 alignment=8 stride=32 num_extra_inhabitants=0 bitwise_takable=1
293293
// CHECK-64-NEXT: (field offset=16
294-
// CHECK-64-NEXT: (tuple size=16 alignment=8 stride=16 num_extra_inhabitants=2147483647 bitwise_takable=1
294+
// CHECK-64-NEXT: (tuple size=16 alignment=8 stride=16 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1
295295
// CHECK-64-NEXT: (field offset=0
296296
// CHECK-64-NEXT: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=0 bitwise_takable=1
297297
// CHECK-64-NEXT: (field name=_value offset=0
@@ -327,9 +327,9 @@ class CapturingClass {
327327
// CHECK-64: Type info:
328328
// CHECK-64-NEXT: (closure_context size=24 alignment=8 stride=24 num_extra_inhabitants=0 bitwise_takable=1
329329
// CHECK-64-NEXT: (field offset=16
330-
// CHECK-64-NEXT: (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=2147483646 bitwise_takable=1
330+
// CHECK-64-NEXT: (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=[[#num_extra_inhabitants_64bit-1]] bitwise_takable=1
331331
// CHECK-64-NEXT: (case name=some index=0 offset=0
332-
// CHECK-64-NEXT: (class_existential size=8 alignment=8 stride=8 num_extra_inhabitants=2147483647 bitwise_takable=1
332+
// CHECK-64-NEXT: (class_existential size=8 alignment=8 stride=8 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1
333333
// CHECK-64-NEXT: (field name=object offset=0
334334
// CHECK-64-NEXT: (reference kind=strong refcounting=unknown))))
335335
// CHECK-64-NEXT: (case name=none index=1))))
@@ -408,7 +408,7 @@ class CapturingClass {
408408
// CHECK-64-NEXT: (field offset=16
409409
// CHECK-64-NEXT: (reference kind=strong refcounting=native))
410410
// CHECK-64-NEXT: (field offset=24
411-
// CHECK-64-NEXT: (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=2147483646 bitwise_takable=1
411+
// CHECK-64-NEXT: (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=[[#num_extra_inhabitants_64bit-1]] bitwise_takable=1
412412
// CHECK-64-NEXT: (case name=some index=0 offset=0
413413
// CHECK-64-NEXT: (reference kind=strong refcounting=native))
414414
// CHECK-64-NEXT: (case name=none index=1))))

validation-test/Reflection/reflect_Array.swift

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
// RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_Array
33
// RUN: %target-codesign %t/reflect_Array
44

5-
// RUN: %target-run %target-swift-reflection-test %t/reflect_Array | %FileCheck %s --check-prefix=CHECK-%target-ptrsize
5+
// RUN: %target-run %target-swift-reflection-test %t/reflect_Array | %FileCheck %s --check-prefix=CHECK-%target-ptrsize %add_num_extra_inhabitants
66

7-
// REQUIRES: objc_interop
7+
// REQUIRES: reflection_test_support
88
// REQUIRES: executable_test
99
// UNSUPPORTED: use_os_stdlib
1010

@@ -29,7 +29,7 @@ reflect(object: obj)
2929
// CHECK-64: Type info:
3030
// CHECK-64: (class_instance size=24 alignment=8 stride=24 num_extra_inhabitants=0 bitwise_takable=1
3131
// CHECK-64: (field name=t offset=16
32-
// CHECK-64: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=2147483647 bitwise_takable=1
32+
// CHECK-64: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1
3333
// (unstable implementation details omitted)
3434

3535
// CHECK-32: Reflecting an object.

validation-test/Reflection/reflect_Character.swift

+7-7
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
// RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_Character
33
// RUN: %target-codesign %t/reflect_Character
44

5-
// RUN: %target-run %target-swift-reflection-test %t/reflect_Character | %FileCheck %s --check-prefix=CHECK-%target-ptrsize
5+
// RUN: %target-run %target-swift-reflection-test %t/reflect_Character | %FileCheck %s --check-prefix=CHECK-%target-ptrsize %add_num_extra_inhabitants
66

7-
// REQUIRES: objc_interop
7+
// REQUIRES: reflection_test_support
88
// REQUIRES: executable_test
99
// UNSUPPORTED: use_os_stdlib
1010

@@ -28,19 +28,19 @@ reflect(object: obj)
2828
// CHECK-64-LABEL: Type info:
2929
// CHECK-64: (class_instance size=32 alignment=8 stride=32 num_extra_inhabitants=0 bitwise_takable=1
3030
// CHECK-64-NEXT: (field name=t offset=16
31-
// CHECK-64-NEXT: (struct size=16 alignment=8 stride=16 num_extra_inhabitants=2147483647 bitwise_takable=1
31+
// CHECK-64-NEXT: (struct size=16 alignment=8 stride=16 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1
3232
// CHECK-64-NEXT: (field name=_str offset=0
33-
// CHECK-64-NEXT: (struct size=16 alignment=8 stride=16 num_extra_inhabitants=2147483647 bitwise_takable=1
33+
// CHECK-64-NEXT: (struct size=16 alignment=8 stride=16 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1
3434
// CHECK-64-NEXT: (field name=_guts offset=0
35-
// CHECK-64-NEXT: (struct size=16 alignment=8 stride=16 num_extra_inhabitants=2147483647 bitwise_takable=1
35+
// CHECK-64-NEXT: (struct size=16 alignment=8 stride=16 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1
3636
// CHECK-64-NEXT: (field name=_object offset=0
37-
// CHECK-64-NEXT: (struct size=16 alignment=8 stride=16 num_extra_inhabitants=2147483647 bitwise_takable=1
37+
// CHECK-64-NEXT: (struct size=16 alignment=8 stride=16 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1
3838
// CHECK-64-NEXT: (field name=_countAndFlagsBits offset=0
3939
// CHECK-64-NEXT: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=0 bitwise_takable=1
4040
// CHECK-64-NEXT: (field name=_value offset=0
4141
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=0 bitwise_takable=1))))
4242
// CHECK-64-NEXT: (field name=_object offset=8
43-
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=2147483647 bitwise_takable=1)))))))))))
43+
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1)))))))))))
4444

4545
// CHECK-32: Reflecting an object.
4646
// CHECK-32: Type reference:

validation-test/Reflection/reflect_Dictionary.swift

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
// RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_Dictionary
33
// RUN: %target-codesign %t/reflect_Dictionary
44

5-
// RUN: %target-run %target-swift-reflection-test %t/reflect_Dictionary | %FileCheck %s --check-prefix=CHECK-%target-ptrsize
5+
// RUN: %target-run %target-swift-reflection-test %t/reflect_Dictionary | %FileCheck %s --check-prefix=CHECK-%target-ptrsize %add_num_extra_inhabitants
66

7-
// REQUIRES: objc_interop
7+
// REQUIRES: reflection_test_support
88
// REQUIRES: executable_test
99
// UNSUPPORTED: use_os_stdlib
1010

@@ -29,7 +29,7 @@ reflect(object: obj)
2929
// CHECK-64: Type info:
3030
// CHECK-64: (class_instance size=24 alignment=8 stride=24 num_extra_inhabitants=0 bitwise_takable=1
3131
// CHECK-64: (field name=t offset=16
32-
// CHECK-64: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=2147483647 bitwise_takable=1
32+
// CHECK-64: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=[[#num_extra_inhabitants_64bit]] bitwise_takable=1
3333
// (unstable implementation details omitted)
3434

3535
// CHECK-32: Reflecting an object.

validation-test/Reflection/reflect_Enum_SingleCasePointerPayload.swift

+6-6
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
// RUN: %target-build-swift -g -lswiftSwiftReflectionTest %s -o %t/reflect_Enum_SingleCasePointerPayload
33
// RUN: %target-codesign %t/reflect_Enum_SingleCasePointerPayload
44

5-
// RUN: %target-run %target-swift-reflection-test %t/reflect_Enum_SingleCasePointerPayload | %FileCheck %s --check-prefix=CHECK-%target-ptrsize
5+
// RUN: %target-run %target-swift-reflection-test %t/reflect_Enum_SingleCasePointerPayload | %FileCheck %s --check-prefix=CHECK-%target-ptrsize %add_num_extra_inhabitants
66

7-
// REQUIRES: objc_interop
7+
// REQUIRES: reflection_test_support
88
// REQUIRES: executable_test
99
// UNSUPPORTED: use_os_stdlib
1010

@@ -35,21 +35,21 @@ reflect(object: ClassWithSingleCasePointerPayloadEnum())
3535
// CHECK-64: Type info:
3636
// CHECK-64: (class_instance size=48 alignment=8 stride=48 num_extra_inhabitants=0 bitwise_takable=1
3737
// CHECK-64: (field name=e1 offset=16
38-
// CHECK-64: (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=2147483646 bitwise_takable=1
38+
// CHECK-64: (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=[[#num_extra_inhabitants_64bit-1]] bitwise_takable=1
3939
// CHECK-64: (case name=some index=0 offset=0
4040
// CHECK-64: (reference kind=strong refcounting=native))
4141
// CHECK-64: (case name=none index=1)))
4242
// CHECK-64: (field name=e2 offset=24
4343
// CHECK-64: (reference kind=strong refcounting=native))
4444
// CHECK-64: (field name=e3 offset=32
45-
// CHECK-64: (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=2147483646 bitwise_takable=1
45+
// CHECK-64: (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=[[#num_extra_inhabitants_64bit-1]] bitwise_takable=1
4646
// CHECK-64: (case name=some index=0 offset=0
4747
// CHECK-64: (reference kind=strong refcounting=native))
4848
// CHECK-64: (case name=none index=1)))
4949
// CHECK-64: (field name=e4 offset=40
50-
// CHECK-64: (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=2147483645 bitwise_takable=1
50+
// CHECK-64: (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=[[#num_extra_inhabitants_64bit-2]] bitwise_takable=1
5151
// CHECK-64: (case name=some index=0 offset=0
52-
// CHECK-64: (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=2147483646 bitwise_takable=1
52+
// CHECK-64: (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=[[#num_extra_inhabitants_64bit-1]] bitwise_takable=1
5353
// CHECK-64: (case name=some index=0 offset=0
5454
// CHECK-64: (reference kind=strong refcounting=native))
5555
// CHECK-64: (case name=none index=1)))

0 commit comments

Comments
 (0)