diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 25f710837fdf3..b26689a9078e3 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -236,6 +236,10 @@ if(PYTHONINTERP_FOUND) endif() foreach(test_subset ${TEST_SUBSETS}) + # We will add arguments specific for this subset to LIT_ARGS. Copy + # the original value and restore it later. + set(LIT_ARGS_COPY "${LIT_ARGS}") + set(want_this_combination TRUE) if(test_subset STREQUAL "only_long") # Long tests are only run in 'optimize_none' mode. @@ -282,6 +286,7 @@ if(PYTHONINTERP_FOUND) COMMENT "Running ${test_subset} Swift tests for ${VARIANT_TRIPLE}" ${cmake_3_2_USES_TERMINAL}) endif() + set(LIT_ARGS "${LIT_ARGS_COPY}") endforeach() endforeach() endforeach() diff --git a/test/IRGen/abitypes.swift b/test/IRGen/abitypes.swift index df6427ac7d055..47a013862e100 100644 --- a/test/IRGen/abitypes.swift +++ b/test/IRGen/abitypes.swift @@ -12,6 +12,7 @@ import Foundation func doStuff(_ x: Int64) } +// armv7s-ios: [[ARMV7S_MYRECT:%.*]] = type { float, float, float, float } // arm64-ios: [[ARM64_MYRECT:%.*]] = type { float, float, float, float } // arm64-tvos: [[ARM64_MYRECT:%.*]] = type { float, float, float, float } // armv7k-watchos: [[ARMV7K_MYRECT:%.*]] = type { float, float, float, float } @@ -25,6 +26,8 @@ class Foo { // i386-ios: define hidden void @_TToFC8abitypes3Foo3bar{{.*}}(%VSC6MyRect* noalias nocapture sret, i8*, i8*) unnamed_addr {{.*}} { // armv7-ios: define hidden void @_TFC8abitypes3Foo3bar{{.*}}(%VSC6MyRect* noalias nocapture sret, %C8abitypes3Foo*) {{.*}} { // armv7-ios: define hidden void @_TToFC8abitypes3Foo3bar{{.*}}(%VSC6MyRect* noalias nocapture sret, i8*, i8*) unnamed_addr {{.*}} { + // armv7s-ios: define hidden void @_TFC8abitypes3Foo3bar{{.*}}(%VSC6MyRect* noalias nocapture sret, %C8abitypes3Foo*) {{.*}} { + // armv7s-ios: define hidden void @_TToFC8abitypes3Foo3bar{{.*}}(%VSC6MyRect* noalias nocapture sret, i8*, i8*) unnamed_addr {{.*}} { // arm64-ios: define hidden void @_TFC8abitypes3Foo3bar{{.*}}(%VSC6MyRect* noalias nocapture sret, %C8abitypes3Foo*) {{.*}} { // arm64-ios: define hidden [[ARM64_MYRECT]] @_TToFC8abitypes3Foo3bar{{.*}}(i8*, i8*) unnamed_addr {{.*}} { // x86_64-tvos: define hidden void @_TFC8abitypes3Foo3bar{{.*}}(%VSC6MyRect* noalias nocapture sret, %C8abitypes3Foo*) {{.*}} { @@ -44,6 +47,8 @@ class Foo { // x86_64-macosx: define hidden double @_TToFC8abitypes3Foo14getXFromNSRect{{.*}}(i8*, i8*, %VSC6CGRect* byval align 8) unnamed_addr {{.*}} { // armv7-ios: define hidden double @_TFC8abitypes3Foo14getXFromNSRect{{.*}}(%VSC6CGRect* noalias nocapture dereferenceable({{.*}}), %C8abitypes3Foo*) {{.*}} { // armv7-ios: define hidden double @_TToFC8abitypes3Foo14getXFromNSRect{{.*}}(i8*, i8*, [4 x i32]) unnamed_addr {{.*}} { + // armv7s-ios: define hidden double @_TFC8abitypes3Foo14getXFromNSRect{{.*}}(%VSC6CGRect* noalias nocapture dereferenceable({{.*}}), %C8abitypes3Foo*) {{.*}} { + // armv7s-ios: define hidden double @_TToFC8abitypes3Foo14getXFromNSRect{{.*}}(i8*, i8*, [4 x i32]) unnamed_addr {{.*}} { // armv7k-watchos: define hidden double @_TFC8abitypes3Foo14getXFromNSRect{{.*}}(%VSC6CGRect* noalias nocapture dereferenceable(16), %C8abitypes3Foo*) {{.*}} { // armv7k-watchos: define hidden double @_TToFC8abitypes3Foo14getXFromNSRect{{.*}}(i8*, i8*, [4 x float]) unnamed_addr {{.*}} { dynamic func getXFromNSRect(_ r: NSRect) -> Double { @@ -54,6 +59,8 @@ class Foo { // x86_64-macosx: define hidden float @_TToFC8abitypes3Foo12getXFromRect{{.*}}(i8*, i8*, <2 x float>, <2 x float>) unnamed_addr {{.*}} { // armv7-ios: define hidden float @_TFC8abitypes3Foo12getXFromRect{{.*}}(%VSC6MyRect* noalias nocapture dereferenceable({{.*}}), %C8abitypes3Foo*) {{.*}} { // armv7-ios: define hidden float @_TToFC8abitypes3Foo12getXFromRect{{.*}}(i8*, i8*, [4 x i32]) unnamed_addr {{.*}} { + // armv7s-ios: define hidden float @_TFC8abitypes3Foo12getXFromRect{{.*}}(%VSC6MyRect* noalias nocapture dereferenceable({{.*}}), %C8abitypes3Foo*) {{.*}} { + // armv7s-ios: define hidden float @_TToFC8abitypes3Foo12getXFromRect{{.*}}(i8*, i8*, [4 x i32]) unnamed_addr {{.*}} { // armv7k-watchos: define hidden float @_TFC8abitypes3Foo12getXFromRect{{.*}}(%VSC6MyRect* noalias nocapture dereferenceable(16), %C8abitypes3Foo*) {{.*}} { // armv7k-watchos: define hidden float @_TToFC8abitypes3Foo12getXFromRect{{.*}}(i8*, i8*, [4 x float]) unnamed_addr {{.*}} { dynamic func getXFromRect(_ r: MyRect) -> Float { @@ -79,6 +86,13 @@ class Foo { // armv7-ios: [[LOADED:%.*]] = load [4 x i32], [4 x i32]* [[CAST]] // armv7-ios: [[SELFCAST:%.*]] = bitcast [[SELF]]* %1 to i8* // armv7-ios: [[RESULT:%.*]] = call float bitcast (void ()* @objc_msgSend to float (i8*, i8*, [4 x i32])*)(i8* [[SELFCAST]], i8* [[SEL]], [4 x i32] [[LOADED]]) + // armv7s-ios: define hidden float @_TFC8abitypes3Foo17getXFromRectSwift{{.*}}(%VSC6MyRect* noalias nocapture dereferenceable({{.*}}), [[SELF:%.*]]*) {{.*}} { + // armv7s-ios: [[COERCED:%.*]] = alloca [[MYRECT:%.*MyRect.*]], align 4 + // armv7s-ios: [[SEL:%.*]] = load i8*, i8** @"\01L_selector(getXFromRect:)", align 4 + // armv7s-ios: [[CAST:%.*]] = bitcast [[MYRECT]]* [[COERCED]] to [4 x i32]* + // armv7s-ios: [[LOADED:%.*]] = load [4 x i32], [4 x i32]* [[CAST]] + // armv7s-ios: [[SELFCAST:%.*]] = bitcast [[SELF]]* %1 to i8* + // armv7s-ios: [[RESULT:%.*]] = call float bitcast (void ()* @objc_msgSend to float (i8*, i8*, [4 x i32])*)(i8* [[SELFCAST]], i8* [[SEL]], [4 x i32] [[LOADED]]) // armv7k-watchos: define hidden float @_TFC8abitypes3Foo17getXFromRectSwift{{.*}}(%VSC6MyRect* noalias nocapture dereferenceable(16), [[SELF:%.*]]*) {{.*}} { // armv7k-watchos: [[COERCED:%.*]] = alloca [[MYRECT:%.*MyRect.*]], align 4 // armv7k-watchos: [[SEL:%.*]] = load i8*, i8** @"\01L_selector(getXFromRect:)", align 4 @@ -129,6 +143,16 @@ class Foo { // armv7-ios: [[RETVAL:%.*]] = load float, float* [[GEP2]], align 4 // armv7-ios: ret float [[RETVAL]] // + // armv7s returns an HA of four floats indirectly + // armv7s-ios: define hidden float @_TFC8abitypes3Foo4barc{{.*}}(%CSo13StructReturns*, %C8abitypes3Foo*) {{.*}} { + // armv7s-ios: [[RESULT:%.*]] = alloca [[RECTTYPE:%.*MyRect.*]], align 4 + // armv7s-ios: load i8*, i8** @"\01L_selector(newRect)", align 4 + // armv7s-ios: call void bitcast (void ()* @objc_msgSend_stret to void ([[RECTTYPE]]*, [[RECEIVER:.*]]*, i8*)*)([[RECTTYPE]]* noalias nocapture sret %call.aggresult + // armv7s-ios: [[GEP1:%.*]] = getelementptr inbounds [[RECTTYPE]], [[RECTTYPE]]* [[RESULT]], i32 0, i32 1 + // armv7s-ios: [[GEP2:%.*]] = getelementptr inbounds {{.*}}, {{.*}}* [[GEP1]], i32 0, i32 0 + // armv7s-ios: [[RETVAL:%.*]] = load float, float* [[GEP2]], align 4 + // armv7s-ios: ret float [[RETVAL]] + // // armv7k returns an HA of four floats directly // armv7k-watchos: define hidden float @_TFC8abitypes3Foo4barc{{.*}}(%CSo13StructReturns*, %C8abitypes3Foo*) {{.*}} { // armv7k-watchos: load i8*, i8** @"\01L_selector(newRect)", align 4 @@ -231,6 +255,13 @@ class Foo { // armv7-ios-fixme: [[R3:%[0-9]+]] = call i8 @_TF10ObjectiveC22_convertBoolToObjCBoolFT1xSb_VS_8ObjCBool(i1 [[R2]] // armv7-ios-fixme: ret i8 [[R3]] // + // armv7s-ios-fixme: define hidden i1 @_TFC8abitypes3Foo6negate{{.*}}(i1, %C8abitypes3Foo*) {{.*}} { + // armv7s-ios-fixme: define internal signext i8 @_TToFC8abitypes3Foo6negate{{.*}}(i8*, i8*, i8 signext) unnamed_addr {{.*}} { + // armv7s-ios-fixme: [[R1:%[0-9]+]] = call i1 @_TF10ObjectiveC22_convertObjCBoolToBoolFT1xVS_8ObjCBool_Sb + // armv7s-ios-fixme: [[R2:%[0-9]+]] = call i1 @_TFC8abitypes3Foo6negate{{.*}}(i1 [[R1]] + // armv7s-ios-fixme: [[R3:%[0-9]+]] = call i8 @_TF10ObjectiveC22_convertBoolToObjCBoolFT1xSb_VS_8ObjCBool(i1 [[R2]] + // armv7s-ios-fixme: ret i8 [[R3]] + // // arm64-ios-fixme: define hidden i1 @_TFC8abitypes3Foo6negate{{.*}}(i1, %C8abitypes3Foo*) {{.*}} { // arm64-ios-fixme: define internal zeroext i1 @_TToFC8abitypes3Foo6negate // arm64-ios-fixme: [[R2:%[0-9]+]] = call i1 @_TFC8abitypes3Foo6negate @@ -302,6 +333,19 @@ class Foo { // armv7-ios: [[TOOBJCBOOL:%[0-9]+]] = call i8 @_TF10ObjectiveC22_convertBoolToObjCBool{{.*}}(i1 [[NEG]]) // armv7-ios: ret i8 [[TOOBJCBOOL]] // + // armv7s-ios: define hidden i1 @_TFC8abitypes3Foo7negate2{{.*}}(i1, %C8abitypes3Foo*) {{.*}} { + // armv7s-ios: [[TOOBJCBOOL:%[0-9]+]] = call i8 @_TF10ObjectiveC22_convertBoolToObjCBool{{.*}}(i1 %0) + // armv7s-ios: [[SEL:%[0-9]+]] = load i8*, i8** @"\01L_selector(negate:)", align 4 + // armv7s-ios: [[NEG:%[0-9]+]] = call signext i8 bitcast (void ()* @objc_msgSend to i8 ([[RECEIVER:.*]]*, i8*, i8)*)([[RECEIVER]]* {{%[0-9]+}}, i8* [[SEL]], i8 signext [[TOOBJCBOOL]]) + // armv7s-ios: [[TOBOOL:%[0-9]+]] = call i1 @_TF10ObjectiveC22_convertObjCBoolToBool{{.*}}(i8 [[NEG]]) + // armv7s-ios: ret i1 [[TOBOOL]] + // + // armv7s-ios: define hidden signext i8 @_TToFC8abitypes3Foo7negate2{{.*}}(i8*, i8*, i8 signext) + // armv7s-ios: [[TOBOOL:%[0-9]+]] = call i1 @_TF10ObjectiveC22_convertObjCBoolToBool + // armv7s-ios: [[NEG:%[0-9]+]] = call i1 @_TFC8abitypes3Foo7negate2{{.*}}(i1 [[TOBOOL]] + // armv7s-ios: [[TOOBJCBOOL:%[0-9]+]] = call i8 @_TF10ObjectiveC22_convertBoolToObjCBool{{.*}}(i1 [[NEG]]) + // armv7s-ios: ret i8 [[TOOBJCBOOL]] + // // arm64-ios: define hidden i1 @_TFC8abitypes3Foo7negate2{{.*}}(i1, %C8abitypes3Foo*) {{.*}} { // arm64-ios: [[SEL:%[0-9]+]] = load i8*, i8** @"\01L_selector(negate:)", align 8 // arm64-ios: [[NEG:%[0-9]+]] = call zeroext i1 bitcast (void ()* @objc_msgSend to i1 ([[RECEIVER:.*]]*, i8*, i1)*)([[RECEIVER]]* {{%[0-9]+}}, i8* [[SEL]], i1 zeroext %0) @@ -436,6 +480,7 @@ class Foo { } // armv7-ios: define internal void @makeOne(%struct.One* noalias sret %agg.result, float %f, float %s) +// armv7s-ios: define internal void @makeOne(%struct.One* noalias sret %agg.result, float %f, float %s) // armv7k-watchos: define internal %struct.One @makeOne(float %f, float %s) // rdar://17631440 - Expand direct arguments that are coerced to aggregates. diff --git a/test/IRGen/autorelease.sil b/test/IRGen/autorelease.sil index ff4fca9ee4aac..9e3e90119961b 100644 --- a/test/IRGen/autorelease.sil +++ b/test/IRGen/autorelease.sil @@ -8,6 +8,7 @@ import Swift // x86_64: [[OBJC:%objc_object]] = type // armv7: [[OBJC:%objc_object]] = type +// armv7s: [[OBJC:%objc_object]] = type // armv7k: [[OBJC:%objc_object]] = type // arm64: [[OBJC:%objc_object]] = type // i386: [[OBJC:%objc_object]] = type @@ -40,6 +41,10 @@ bb0(%0 : $C?): // armv7: [[T0:%.*]] = tail call i32 bitcast ([[OBJC]]* ([[OBJC]]*)* @objc_autoreleaseReturnValue to i32 (i32)*)(i32 %0) // armv7-NEXT: ret i32 [[T0]] +// armv7s: define{{( protected)?}} i32 @foo(i32) {{.*}} { +// armv7s: [[T0:%.*]] = tail call i32 bitcast ([[OBJC]]* ([[OBJC]]*)* @objc_autoreleaseReturnValue to i32 (i32)*)(i32 %0) +// armv7s-NEXT: ret i32 [[T0]] + // armv7k: define{{( protected)?}} i32 @foo(i32) {{.*}} { // armv7k: [[T0:%.*]] = tail call i32 bitcast ([[OBJC]]* ([[OBJC]]*)* @objc_autoreleaseReturnValue to i32 (i32)*)(i32 %0) // armv7k-NEXT: ret i32 [[T0]] @@ -80,6 +85,14 @@ bb0(%0 : $C?): // armv7-NEXT: [[T3:%.*]] = ptrtoint i8* [[T2]] to i32 // armv7-NEXT: ret i32 [[T3]] +// armv7s: define{{( protected)?}} i32 @bar(i32) +// armv7s: [[T0:%.*]] = call i32 @foo(i32 %0) +// armv7s-NEXT: call void asm sideeffect "mov +// armv7s-NEXT: [[T1:%.*]] = inttoptr i32 [[T0]] to i8* +// armv7s-NEXT: [[T2:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T1]]) +// armv7s-NEXT: [[T3:%.*]] = ptrtoint i8* [[T2]] to i32 +// armv7s-NEXT: ret i32 [[T3]] + // armv7k: define{{( protected)?}} i32 @bar(i32) // armv7k: [[T0:%.*]] = call i32 @foo(i32 %0) // armv7k-NEXT: call void asm sideeffect "mov diff --git a/test/IRGen/c_layout.sil b/test/IRGen/c_layout.sil index 9ac50a6afc879..4fc0fa4ecf853 100644 --- a/test/IRGen/c_layout.sil +++ b/test/IRGen/c_layout.sil @@ -173,6 +173,22 @@ bb0: // CHECK-armv7-LABEL: declare i32 @ints(i32) // CHECK-armv7-LABEL: declare i32 @unsigneds(i32) +// CHECK-armv7s-LABEL: define{{( protected)?}} void @testIntegerExtension +// CHECK-armv7s: call signext i8 @chareth(i8 signext %0) +// CHECK-armv7s: call signext i8 @signedChareth(i8 signext %1) +// CHECK-armv7s: call zeroext i8 @unsignedChareth(i8 zeroext %2) +// CHECK-armv7s: call signext i16 @eatMyShorts(i16 signext %3) +// CHECK-armv7s: call zeroext i16 @eatMyUnsignedShorts(i16 zeroext %4) +// CHECK-armv7s: call i32 @ints(i32 %5) +// CHECK-armv7s: call i32 @unsigneds(i32 %6) +// CHECK-armv7s-LABEL: declare signext i8 @chareth(i8 signext) +// CHECK-armv7s-LABEL: declare signext i8 @signedChareth(i8 signext) +// CHECK-armv7s-LABEL: declare zeroext i8 @unsignedChareth(i8 zeroext) +// CHECK-armv7s-LABEL: declare signext i16 @eatMyShorts(i16 signext) +// CHECK-armv7s-LABEL: declare zeroext i16 @eatMyUnsignedShorts(i16 zeroext) +// CHECK-armv7s-LABEL: declare i32 @ints(i32) +// CHECK-armv7s-LABEL: declare i32 @unsigneds(i32) + // CHECK-armv7k-LABEL: define{{( protected)?}} void @testIntegerExtension // CHECK-armv7k: call signext i8 @chareth(i8 signext %0) // CHECK-armv7k: call signext i8 @signedChareth(i8 signext %1) diff --git a/test/IRGen/condfail.sil b/test/IRGen/condfail.sil index eafaa7111b3d8..17372c806f2c6 100644 --- a/test/IRGen/condfail.sil +++ b/test/IRGen/condfail.sil @@ -11,6 +11,7 @@ import Swift // CHECK-i386: ud2 // CHECK-arm64: brk // CHECK-armv7: trap +// CHECK-armv7s: trap // CHECK-powerpc64: trap // CHECK-powerpc64le: trap // CHECK-s390x: trap @@ -19,6 +20,7 @@ import Swift // CHECK-i386: ud2 // CHECK-arm64: brk // CHECK-armv7: trap +// CHECK-armv7s: trap // CHECK-powerpc64: trap // CHECK-powerpc64le: trap // CHECK-s390x: trap diff --git a/test/IRGen/optional_metatype.sil b/test/IRGen/optional_metatype.sil index 4c3e1e074cf71..89abbf6e219a8 100644 --- a/test/IRGen/optional_metatype.sil +++ b/test/IRGen/optional_metatype.sil @@ -16,6 +16,8 @@ import gizmo // arm64: icmp eq i64 %0, 0 // armv7-LABEL: define{{( protected)?}} void @optional_objc_metatype(i32) // armv7: icmp eq i32 %0, 0 +// armv7s-LABEL: define{{( protected)?}} void @optional_objc_metatype(i32) +// armv7s: icmp eq i32 %0, 0 // armv7k-LABEL: define{{( protected)?}} void @optional_objc_metatype(i32) // armv7k: icmp eq i32 %0, 0 @@ -38,6 +40,8 @@ cont: // arm64: icmp eq i64 %0, 0 // armv7-LABEL: define{{( protected)?}} void @optional_swift_metatype(i32) // armv7: icmp eq i32 %0, 0 +// armv7s-LABEL: define{{( protected)?}} void @optional_swift_metatype(i32) +// armv7s: icmp eq i32 %0, 0 // armv7k-LABEL: define{{( protected)?}} void @optional_swift_metatype(i32) // armv7k: icmp eq i32 %0, 0 diff --git a/test/IRGen/pic.swift b/test/IRGen/pic.swift index 2394578a96ca6..9140ff5585f25 100644 --- a/test/IRGen/pic.swift +++ b/test/IRGen/pic.swift @@ -26,6 +26,13 @@ public func use_global() -> Int { // armv7: add r0, pc, r0 // armv7: ldr r0, [r0] +// armv7s-LABEL: __TF4main10use_globalFT_Si: +// armv7s: movw r0, :lower16:(__Tv4main6globalSi-([[PIC_0:L.*]]+8)) +// armv7s: movt r0, :upper16:(__Tv4main6globalSi-([[PIC_0]]+8)) +// armv7s: [[PIC_0]]:{{$}} +// armv7s: add r0, pc, r0 +// armv7s: ldr r0, [r0] + // armv7k-LABEL: __TF4main10use_globalFT_Si: // armv7k: movw r0, :lower16:(__Tv4main6globalSi-([[PIC_0:L.*]]+8)) // armv7k: movt r0, :upper16:(__Tv4main6globalSi-([[PIC_0]]+8)) diff --git a/test/Interpreter/SDK/OS_objects.swift b/test/Interpreter/SDK/OS_objects.swift index 0be1f9eb9d899..e947677becc35 100644 --- a/test/Interpreter/SDK/OS_objects.swift +++ b/test/Interpreter/SDK/OS_objects.swift @@ -6,6 +6,7 @@ // RUN: %target-run %t/OS_objects 2>&1 | FileCheck %s // REQUIRES: objc_interop +// REQUIRES: executable_test // Note: Test the use of the Clang objc_runtime_visible attribute via // known OS objects on Darwin. diff --git a/test/lit.cfg b/test/lit.cfg index 5be6edc3e807b..7e2f97f2d191d 100644 --- a/test/lit.cfg +++ b/test/lit.cfg @@ -531,7 +531,7 @@ if run_vendor == 'apple': (config.variant_triple, stdlib_resource_dir_opt, mcp_opt)) target_options_for_mock_sdk_after = sdk_overlay_dir_opt - if 'arm' in run_cpu and swift_test_mode != 'non_executable': + if 'arm' in run_cpu and swift_test_mode != 'only_non_executable': raise RuntimeError('Device tests are not currently supported.') if 'arm' in run_cpu: @@ -546,7 +546,7 @@ if run_vendor == 'apple': lit_config.note('Testing watchOS ' + config.variant_triple) xcrun_sdk_name = "watchos" - if run_cpu == "armv7" or run_cpu == "armv7k": + if run_cpu == "armv7" or run_cpu == "armv7s" or run_cpu == "armv7k": config.target_swiftmodule_name = "arm.swiftmodule" config.target_swiftdoc_name = "arm.swiftdoc" elif run_cpu == "arm64": diff --git a/validation-test/Reflection/example.swift b/validation-test/Reflection/example.swift index 77db5bf2ac4d1..e3a998e76b2eb 100644 --- a/validation-test/Reflection/example.swift +++ b/validation-test/Reflection/example.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/example // RUN: %target-run %target-swift-reflection-test %t/example | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/existentials.swift b/validation-test/Reflection/existentials.swift index d11b472f5c28f..696be4bfe8d65 100644 --- a/validation-test/Reflection/existentials.swift +++ b/validation-test/Reflection/existentials.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/existentials // RUN: %target-run %target-swift-reflection-test %t/existentials | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test /* This file pokes at the swift_reflection_projectExistential API diff --git a/validation-test/Reflection/functions.swift b/validation-test/Reflection/functions.swift index 7da8e93772aa0..7bcbbf134fba9 100644 --- a/validation-test/Reflection/functions.swift +++ b/validation-test/Reflection/functions.swift @@ -6,6 +6,7 @@ // testcases in functions_objc.swift // REQUIRES: objc_interop +// REQUIRES: executable_test /* This file pokes at the swift_reflection_infoForInstance() API diff --git a/validation-test/Reflection/functions_objc.swift b/validation-test/Reflection/functions_objc.swift index 9b21179bacdc3..062c8032a4f19 100644 --- a/validation-test/Reflection/functions_objc.swift +++ b/validation-test/Reflection/functions_objc.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/functions // RUN: %target-run %target-swift-reflection-test %t/functions | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest import Foundation diff --git a/validation-test/Reflection/reflect_Array.swift b/validation-test/Reflection/reflect_Array.swift index 6305c8abedf5d..ff0b302ad7505 100644 --- a/validation-test/Reflection/reflect_Array.swift +++ b/validation-test/Reflection/reflect_Array.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_Array // RUN: %target-run %target-swift-reflection-test %t/reflect_Array 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/reflect_Bool.swift b/validation-test/Reflection/reflect_Bool.swift index 1462e4529bd84..46070cd0e3f1b 100644 --- a/validation-test/Reflection/reflect_Bool.swift +++ b/validation-test/Reflection/reflect_Bool.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_Bool // RUN: %target-run %target-swift-reflection-test %t/reflect_Bool 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/reflect_Character.swift b/validation-test/Reflection/reflect_Character.swift index 1cfa80661c71c..9d0e504c851fc 100644 --- a/validation-test/Reflection/reflect_Character.swift +++ b/validation-test/Reflection/reflect_Character.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_Character // RUN: %target-run %target-swift-reflection-test %t/reflect_Character 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/reflect_Dictionary.swift b/validation-test/Reflection/reflect_Dictionary.swift index 944eebd1b7583..4ed969d14f452 100644 --- a/validation-test/Reflection/reflect_Dictionary.swift +++ b/validation-test/Reflection/reflect_Dictionary.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_Dictionary // RUN: %target-run %target-swift-reflection-test %t/reflect_Dictionary 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/reflect_Double.swift b/validation-test/Reflection/reflect_Double.swift index fbafc94a051ee..842d2989fe919 100644 --- a/validation-test/Reflection/reflect_Double.swift +++ b/validation-test/Reflection/reflect_Double.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_Double // RUN: %target-run %target-swift-reflection-test %t/reflect_Double 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/reflect_Float.swift b/validation-test/Reflection/reflect_Float.swift index f907f0254885e..98152f6afca14 100644 --- a/validation-test/Reflection/reflect_Float.swift +++ b/validation-test/Reflection/reflect_Float.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_Float // RUN: %target-run %target-swift-reflection-test %t/reflect_Float 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/reflect_Int.swift b/validation-test/Reflection/reflect_Int.swift index 99dbfdb510f5f..c5146a1da1a37 100644 --- a/validation-test/Reflection/reflect_Int.swift +++ b/validation-test/Reflection/reflect_Int.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_Int // RUN: %target-run %target-swift-reflection-test %t/reflect_Int 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/reflect_Int16.swift b/validation-test/Reflection/reflect_Int16.swift index 74f74830a82a8..2437592f7f8d5 100644 --- a/validation-test/Reflection/reflect_Int16.swift +++ b/validation-test/Reflection/reflect_Int16.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_Int16 // RUN: %target-run %target-swift-reflection-test %t/reflect_Int16 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/reflect_Int32.swift b/validation-test/Reflection/reflect_Int32.swift index 20cac25b44af5..e05ea1346163c 100644 --- a/validation-test/Reflection/reflect_Int32.swift +++ b/validation-test/Reflection/reflect_Int32.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_Int32 // RUN: %target-run %target-swift-reflection-test %t/reflect_Int32 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/reflect_Int64.swift b/validation-test/Reflection/reflect_Int64.swift index d83cda274ec69..6b3b3d5ad0d5f 100644 --- a/validation-test/Reflection/reflect_Int64.swift +++ b/validation-test/Reflection/reflect_Int64.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_Int64 // RUN: %target-run %target-swift-reflection-test %t/reflect_Int64 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/reflect_Int8.swift b/validation-test/Reflection/reflect_Int8.swift index b4456040d6050..59ce5a8e75b17 100644 --- a/validation-test/Reflection/reflect_Int8.swift +++ b/validation-test/Reflection/reflect_Int8.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_Int8 // RUN: %target-run %target-swift-reflection-test %t/reflect_Int8 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/reflect_NSArray.swift b/validation-test/Reflection/reflect_NSArray.swift index 16429db2ab803..eaa7d2c4ec64d 100644 --- a/validation-test/Reflection/reflect_NSArray.swift +++ b/validation-test/Reflection/reflect_NSArray.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_NSArray // RUN: %target-run %target-swift-reflection-test %t/reflect_NSArray 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest import Foundation diff --git a/validation-test/Reflection/reflect_NSNumber.swift b/validation-test/Reflection/reflect_NSNumber.swift index 49ae55c94afa2..1390eb83a738c 100644 --- a/validation-test/Reflection/reflect_NSNumber.swift +++ b/validation-test/Reflection/reflect_NSNumber.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_NSNumber // RUN: %target-run %target-swift-reflection-test %t/reflect_NSNumber 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest import Foundation diff --git a/validation-test/Reflection/reflect_NSSet.swift b/validation-test/Reflection/reflect_NSSet.swift index 70a385d3c7b91..4ffb8c050b1b7 100644 --- a/validation-test/Reflection/reflect_NSSet.swift +++ b/validation-test/Reflection/reflect_NSSet.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_NSSet // RUN: %target-run %target-swift-reflection-test %t/reflect_NSSet 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest import Foundation diff --git a/validation-test/Reflection/reflect_NSString.swift b/validation-test/Reflection/reflect_NSString.swift index 09ed93936f682..4237e9ac96df9 100644 --- a/validation-test/Reflection/reflect_NSString.swift +++ b/validation-test/Reflection/reflect_NSString.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_NSString // RUN: %target-run %target-swift-reflection-test %t/reflect_NSString 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest import Foundation diff --git a/validation-test/Reflection/reflect_Set.swift b/validation-test/Reflection/reflect_Set.swift index e8a3a3cf4eebb..2b3a932497125 100644 --- a/validation-test/Reflection/reflect_Set.swift +++ b/validation-test/Reflection/reflect_Set.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_Set // RUN: %target-run %target-swift-reflection-test %t/reflect_Set 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/reflect_String.swift b/validation-test/Reflection/reflect_String.swift index a3e77f1db3b8f..bb882fc35ec2e 100644 --- a/validation-test/Reflection/reflect_String.swift +++ b/validation-test/Reflection/reflect_String.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_String // RUN: %target-run %target-swift-reflection-test %t/reflect_String 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/reflect_UInt.swift b/validation-test/Reflection/reflect_UInt.swift index 77482a365e326..46c6be38b4984 100644 --- a/validation-test/Reflection/reflect_UInt.swift +++ b/validation-test/Reflection/reflect_UInt.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_UInt // RUN: %target-run %target-swift-reflection-test %t/reflect_UInt 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/reflect_UInt16.swift b/validation-test/Reflection/reflect_UInt16.swift index 937658e99b5a5..4c44b3974fbd3 100644 --- a/validation-test/Reflection/reflect_UInt16.swift +++ b/validation-test/Reflection/reflect_UInt16.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_UInt16 // RUN: %target-run %target-swift-reflection-test %t/reflect_UInt16 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/reflect_UInt32.swift b/validation-test/Reflection/reflect_UInt32.swift index b41df0ddb1123..8d893d0755d6e 100644 --- a/validation-test/Reflection/reflect_UInt32.swift +++ b/validation-test/Reflection/reflect_UInt32.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_UInt32 // RUN: %target-run %target-swift-reflection-test %t/reflect_UInt32 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/reflect_UInt64.swift b/validation-test/Reflection/reflect_UInt64.swift index 6905dd016982f..ed3d62bd99202 100644 --- a/validation-test/Reflection/reflect_UInt64.swift +++ b/validation-test/Reflection/reflect_UInt64.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_UInt64 // RUN: %target-run %target-swift-reflection-test %t/reflect_UInt64 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/reflect_UInt8.swift b/validation-test/Reflection/reflect_UInt8.swift index 1cd28fa045318..d47e1f484b211 100644 --- a/validation-test/Reflection/reflect_UInt8.swift +++ b/validation-test/Reflection/reflect_UInt8.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_UInt8 // RUN: %target-run %target-swift-reflection-test %t/reflect_UInt8 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest diff --git a/validation-test/Reflection/reflect_empty_class.swift b/validation-test/Reflection/reflect_empty_class.swift index 3742c0dd285c6..172bd79a2fbb0 100644 --- a/validation-test/Reflection/reflect_empty_class.swift +++ b/validation-test/Reflection/reflect_empty_class.swift @@ -2,6 +2,7 @@ // RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_empty_class // RUN: %target-run %target-swift-reflection-test %t/reflect_empty_class 2>&1 | FileCheck %s --check-prefix=CHECK-%target-ptrsize // REQUIRES: objc_interop +// REQUIRES: executable_test import SwiftReflectionTest