<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">You’ll notice the existing CHECK-64’s already have stuff like<div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div class="socmaildefaultfont" dir="ltr" style="font-family: Arial; font-size: 10.5pt;"><div dir="ltr" class="" style="font-size: 10.5pt;"><div dir="ltr" class="" style="font-size: 10.5pt;"><div dir="ltr" class="" style="font-size: 10.5pt;"><div dir="ltr" class=""><div dir="ltr" class=""><div class="" style="outline: none;">// CHECK-64-NEXT: (struct size=72 alignment=8 stride=72 num_extra_inhabitants=[[PTR_XI:2048|2147483647]]</div></div></div></div></div></div></div></blockquote><div class=""><br class=""></div>To deal with Linux vs Darwin. You could just fold all the different possible values into the alternation there, instead of having CHECK lines for each architecture/OS combination.</div><div class=""><br class=""></div><div class="">However if you think it’s more readable or more robust to separate the tests into OS/CPU combinations, that’s fine by me. Don’t worry too much about verbosity, it is easy to update the tests when things change with regular expressions :)</div><div class=""><br class=""></div><div class="">If you wanted to clean this up further, you could take a look at some of the other tests in test/Reflection/* which have CPU: x86_64 requirements. Those can probably be relaxed.</div><div class=""><br class=""></div><div class="">Thanks for digging into this!</div><div class=""><br class=""></div><div class="">Slava<div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Aug 25, 2016, at 8:10 AM, Raminder Sodhi via swift-dev &lt;<a href="mailto:swift-dev@swift.org" class="">swift-dev@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="socmaildefaultfont" dir="ltr" style="font-family:Arial;font-size:10.5pt"><div dir="ltr" style="font-family:Arial;font-size:10.5pt" class=""><div dir="ltr" style="font-family:Arial;font-size:10.5pt" class=""><div dir="ltr" style="font-family:Arial;font-size:10.5pt" class=""><div dir="ltr" class=""><div dir="ltr" class="">Hi,</div>
<div dir="ltr" class="">&nbsp;</div>
<div dir="ltr" class="">I am trying to fix the typeref_lowering tet on the LinuxONE platform (s390x).</div>
<div dir="ltr" class="">Due to differernce in value of&nbsp;SWIFT_ABI_DEFAULT_OBJC_RESERVED_BITS_MASK the&nbsp;num_extra_inhabitants is different for some structures.</div>
<div dir="ltr" class="">I just wanted a opinion on the best way to fix this issue as the one which I have looks a bit messy to me.</div>
<div dir="ltr" class="">Note: I have modified the FileCheck params to have arch based matching.</div>
<div dir="ltr" class="">&nbsp;</div>
<div dir="ltr" class="">Below is a&nbsp;diff which passes on both the x86_64 and s390x platform.</div>
<div dir="ltr" class=""><div style="outline: none;" class="">diff --git a/test/Reflection/typeref_lowering.swift b/test/Reflection/typeref_lowering.swift<br style="outline: none;" class="">index c2d721c..15f971c 100644<br style="outline: none;" class="">--- a/test/Reflection/typeref_lowering.swift<br style="outline: none;" class="">+++ b/test/Reflection/typeref_lowering.swift<br style="outline: none;" class="">@@ -1,6 +1,6 @@<br style="outline: none;" class="">&nbsp;// RUN: rm -rf %t &amp;&amp; mkdir -p %t<br style="outline: none;" class="">&nbsp;// RUN: %target-build-swift %S/Inputs/TypeLowering.swift -parse-as-library -emit-module -emit-library -module-name TypeLowering -o %t/libTypesToReflect.%target-dylib-extension<br style="outline: none;" class="">-// RUN: %target-swift-reflection-dump -binary-filename %t/libTypesToReflect.%target-dylib-extension -binary-filename %platform-module-dir/libswiftCore.%target-dylib-extension -dump-type-lowering &lt; %s | %FileCheck %s --check-prefix=CHECK-%target-ptrsize<br style="outline: none;" class="">+// RUN: %target-swift-reflection-dump -binary-filename %t/libTypesToReflect.%target-dylib-extension -binary-filename %platform-module-dir/libswiftCore.%target-dylib-extension -dump-type-lowering &lt; %s | %FileCheck %s --check-prefix=CHECK-%target-ptrsize --check-prefix=CHECK-%target-cpu</div>
<div style="outline: none;" class="">&nbsp;V12TypeLowering11BasicStruct<br style="outline: none;" class="">&nbsp;// CHECK-64: &nbsp; &nbsp; &nbsp;(struct TypeLowering.BasicStruct)<br style="outline: none;" class="">@@ -170,34 +170,63 @@ TGV12TypeLowering3BoxVs5Int16_Vs5Int32_</div>
<div style="outline: none;" class=""><br style="outline: none;" class="">&nbsp;V12TypeLowering15ReferenceStruct<br style="outline: none;" class="">-// CHECK-64: &nbsp; &nbsp; &nbsp;(struct TypeLowering.ReferenceStruct)<br style="outline: none;" class="">-// CHECK-64-NEXT: (struct size=72 alignment=8 stride=72 num_extra_inhabitants=[[PTR_XI:2048|2147483647]]<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; (field name=strongRef offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; (reference kind=strong refcounting=native))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; (field name=optionalStrongRef offset=8<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=[[PTR_XI_SUB_1:2047|2147483646]]<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; (field name=some offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; (field name=strongRefTuple offset=16<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; (tuple size=16 alignment=8 stride=16 num_extra_inhabitants=[[PTR_XI]]<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; (field offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; (field offset=8<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; (field name=optionalStrongRefTuple offset=32<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; (single_payload_enum size=16 alignment=8 stride=16 num_extra_inhabitants=[[PTR_XI_SUB_1]]<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; (field name=some offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (tuple size=16 alignment=8 stride=16 num_extra_inhabitants=[[PTR_XI]]<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field offset=8<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; (field name=unownedRef offset=48<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; (reference kind=unowned refcounting=native))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; (field name=weakRef offset=56<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; (reference kind=weak refcounting=native))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; (field name=unmanagedRef offset=64<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; (reference kind=unmanaged refcounting=native)))<br style="outline: none;" class="">+// CHECK-x86_64: &nbsp; &nbsp; &nbsp;(struct TypeLowering.ReferenceStruct)<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: (struct size=72 alignment=8 stride=72 num_extra_inhabitants=[[PTR_XI:2048|2147483647]]<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; (field name=strongRef offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; (reference kind=strong refcounting=native))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; (field name=optionalStrongRef offset=8<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=[[PTR_XI_SUB_1:2047|2147483646]]<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; (field name=some offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; (field name=strongRefTuple offset=16<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; (tuple size=16 alignment=8 stride=16 num_extra_inhabitants=[[PTR_XI]]<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; (field offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; (field offset=8<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; (field name=optionalStrongRefTuple offset=32<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; (single_payload_enum size=16 alignment=8 stride=16 num_extra_inhabitants=[[PTR_XI_SUB_1]]</div>
<div style="outline: none;" class=""><div style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; (field name=some offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (tuple size=16 alignment=8 stride=16 num_extra_inhabitants=[[PTR_XI]]<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field offset=8<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; (field name=unownedRef offset=48<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; (reference kind=unowned refcounting=native))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; (field name=weakRef offset=56<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; (reference kind=weak refcounting=native))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; (field name=unmanagedRef offset=64<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; (reference kind=unmanaged refcounting=native)))<br style="outline: none;" class="">+<br style="outline: none;" class="">+// CHECK-s390x: (struct TypeLowering.ReferenceStruct)<br style="outline: none;" class="">+// CHECK-s390x-NEXT: (struct size=72 alignment=8 stride=72 num_extra_inhabitants=[[PTR_XI:4096|2147483647]]<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; (field name=strongRef offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; (reference kind=strong refcounting=native))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; (field name=optionalStrongRef offset=8<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=[[PTR_XI_SUB_1:4095|2147483646]]<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; (field name=some offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; (field name=strongRefTuple offset=16<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; (tuple size=16 alignment=8 stride=16 num_extra_inhabitants=[[PTR_XI]]<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; (field offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; (field offset=8<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; (field name=optionalStrongRefTuple offset=32<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; (single_payload_enum size=16 alignment=8 stride=16 num_extra_inhabitants=[[PTR_XI_SUB_1]]<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; (field name=some offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (tuple size=16 alignment=8 stride=16 num_extra_inhabitants=[[PTR_XI]]<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field offset=8<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; (field name=unownedRef offset=48<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; (reference kind=unowned refcounting=native))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; (field name=weakRef offset=56<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; (reference kind=weak refcounting=native))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; (field name=unmanagedRef offset=64<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; (reference kind=unmanaged refcounting=native)))</div>
<div style="outline: none;" class="">&nbsp;// CHECK-32: (struct TypeLowering.ReferenceStruct)<br style="outline: none;" class="">&nbsp;// CHECK-32-NEXT: (struct size=36 alignment=4 stride=36 num_extra_inhabitants=4096<br style="outline: none;" class="">@@ -686,57 +715,107 @@ V12TypeLowering14MetatypeStruct<br style="outline: none;" class="">&nbsp;// CHECK-32-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (builtin size=4 alignment=4 stride=4 num_extra_inhabitants=4096)))))</div>
<div style="outline: none;" class="">&nbsp;V12TypeLowering10EnumStruct<br style="outline: none;" class="">-// CHECK-64: (struct TypeLowering.EnumStruct)<br style="outline: none;" class="">-// CHECK-64-NEXT: (struct size=81 alignment=8 stride=88 num_extra_inhabitants=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; (field name=empty offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; (no_payload_enum size=0 alignment=0 stride=0 num_extra_inhabitants=0))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; (field name=noPayload offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; (no_payload_enum size=1 alignment=0 stride=0 num_extra_inhabitants=0))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; (field name=sillyNoPayload offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; (no_payload_enum size=1 alignment=0 stride=0 num_extra_inhabitants=0))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; (field name=singleton offset=8<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; (reference kind=strong refcounting=native))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; (field name=singlePayload offset=16<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=[[PTR_XI_SUB_1]]<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; (field name=Indirect offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; (field name=multiPayloadConcrete offset=24<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; (multi_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; (field name=Left offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; (field name=Right offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; (field name=multiPayloadGenericFixed offset=32<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; (multi_payload_enum size=9 alignment=8 stride=16 num_extra_inhabitants=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; (field name=Left offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; (field name=Right offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; (field name=multiPayloadGenericDynamic offset=48<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; (multi_payload_enum size=9 alignment=8 stride=16 num_extra_inhabitants=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; (field name=Left offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (struct size=1 alignment=1 stride=1 num_extra_inhabitants=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field name=_value offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (builtin size=1 alignment=1 stride=1 num_extra_inhabitants=0))))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; (field name=Right offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (struct size=8 alignment=8 stride=8 num_extra_inhabitants=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field name=_value offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=0))))))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; (field name=optionalOptionalRef offset=64<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=[[PTR_XI_SUB_2:2147483645|2046]]<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; (field name=some offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=[[PTR_XI_SUB_1]]<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field name=some offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))))<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; (field name=optionalOptionalPtr offset=72<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; (single_payload_enum size=9 alignment=8 stride=16 num_extra_inhabitants=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; (field name=some offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field name=some offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (struct size=8 alignment=8 stride=8 num_extra_inhabitants=1<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field name=_rawValue offset=0<br style="outline: none;" class="">-// CHECK-64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=1)))))))))<br style="outline: none;" class="">+// CHECK-x86_64: (struct TypeLowering.EnumStruct)<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: (struct size=81 alignment=8 stride=88 num_extra_inhabitants=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; (field name=empty offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; (no_payload_enum size=0 alignment=0 stride=0 num_extra_inhabitants=0))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; (field name=noPayload offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; (no_payload_enum size=1 alignment=0 stride=0 num_extra_inhabitants=0))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; (field name=sillyNoPayload offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; (no_payload_enum size=1 alignment=0 stride=0 num_extra_inhabitants=0))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; (field name=singleton offset=8<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; (reference kind=strong refcounting=native))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; (field name=singlePayload offset=16<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=[[PTR_XI_SUB_1]]<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; (field name=Indirect offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; (field name=multiPayloadConcrete offset=24<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; (multi_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; (field name=Left offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; (field name=Right offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; (field name=multiPayloadGenericFixed offset=32<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; (multi_payload_enum size=9 alignment=8 stride=16 num_extra_inhabitants=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; (field name=Left offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; (field name=Right offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))
<div style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; (field name=multiPayloadGenericDynamic offset=48<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; (multi_payload_enum size=9 alignment=8 stride=16 num_extra_inhabitants=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; (field name=Left offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (struct size=1 alignment=1 stride=1 num_extra_inhabitants=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field name=_value offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (builtin size=1 alignment=1 stride=1 num_extra_inhabitants=0))))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; (field name=Right offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (struct size=8 alignment=8 stride=8 num_extra_inhabitants=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field name=_value offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=0))))))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; (field name=optionalOptionalRef offset=64<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=[[PTR_XI_SUB_2:2147483645|2046]]<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; (field name=some offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=[[PTR_XI_SUB_1]]<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field name=some offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))))<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; (field name=optionalOptionalPtr offset=72<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; (single_payload_enum size=9 alignment=8 stride=16 num_extra_inhabitants=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; (field name=some offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field name=some offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (struct size=8 alignment=8 stride=8 num_extra_inhabitants=1<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field name=_rawValue offset=0<br style="outline: none;" class="">+// CHECK-x86_64-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=1)))))))))</div>
<div style="outline: none;" class="">+// CHECK-s390x: (struct TypeLowering.EnumStruct)<br style="outline: none;" class="">+// CHECK-s390x-NEXT: (struct size=81 alignment=8 stride=88 num_extra_inhabitants=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; (field name=empty offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; (no_payload_enum size=0 alignment=0 stride=0 num_extra_inhabitants=0))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; (field name=noPayload offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; (no_payload_enum size=1 alignment=0 stride=0 num_extra_inhabitants=0))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; (field name=sillyNoPayload offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; (no_payload_enum size=1 alignment=0 stride=0 num_extra_inhabitants=0))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; (field name=singleton offset=8<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; (reference kind=strong refcounting=native))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; (field name=singlePayload offset=16<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=[[PTR_XI_SUB_1]]<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; (field name=Indirect offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; (field name=multiPayloadConcrete offset=24<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; (multi_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; (field name=Left offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; (field name=Right offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; (field name=multiPayloadGenericFixed offset=32<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; (multi_payload_enum size=9 alignment=8 stride=16 num_extra_inhabitants=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; (field name=Left offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; (field name=Right offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; (field name=multiPayloadGenericDynamic offset=48<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; (multi_payload_enum size=9 alignment=8 stride=16 num_extra_inhabitants=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; (field name=Left offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (struct size=1 alignment=1 stride=1 num_extra_inhabitants=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field name=_value offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (builtin size=1 alignment=1 stride=1 num_extra_inhabitants=0))))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; (field name=Right offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (struct size=8 alignment=8 stride=8 num_extra_inhabitants=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field name=_value offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=0))))))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; (field name=optionalOptionalRef offset=64<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=[[PTR_XI_2_SUB_2:2147483645|4094]]<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; (field name=some offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=[[PTR_XI_SUB_1]]<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field name=some offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (reference kind=strong refcounting=native))))))<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; (field name=optionalOptionalPtr offset=72<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; (single_payload_enum size=9 alignment=8 stride=16 num_extra_inhabitants=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; (field name=some offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field name=some offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (struct size=8 alignment=8 stride=8 num_extra_inhabitants=1<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (field name=_rawValue offset=0<br style="outline: none;" class="">+// CHECK-s390x-NEXT: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=1)))))))))<br style="outline: none;" class="">&nbsp;</div></div></div></div>
<div dir="ltr" class="">&nbsp;</div>
<div dir="ltr" class="">&nbsp;</div>
<div dir="ltr" class="">Thanks</div>
<div dir="ltr" class="">Raminder Sodhi</div></div></div></div></div></div><br class="">

_______________________________________________<br class="">swift-dev mailing list<br class=""><a href="mailto:swift-dev@swift.org" class="">swift-dev@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-dev<br class=""></div></blockquote></div><br class=""></div></div></body></html>