1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
// RUN: %empty-directory(%t)
// RUN: %target-swift-frontend %s -emit-module -o /dev/null -swift-version 4 \
// RUN: -emit-loaded-module-trace-path %t/swift4.trace.json
// RUN: %FileCheck -check-prefix=CHECK-SWIFT4 %s < %t/swift4.trace.json
// RUN: %target-swift-frontend %s -emit-module -o /dev/null -swift-version 5 \
// RUN: -emit-loaded-module-trace-path %t/swift5.trace.json
// RUN: %FileCheck -check-prefix=CHECK-SWIFT5 %s < %t/swift5.trace.json
// RUN: %target-swift-frontend %s -emit-module -o /dev/null -swift-version 5 \
// RUN: -emit-loaded-module-trace-path %t/swift5_and_features.trace.json \
// RUN: -enable-experimental-feature ParserValidation \
// RUN: -enable-upcoming-feature RegionBasedIsolation \
// RUN: -strict-memory-safety
// RUN: %FileCheck -check-prefix=CHECK-SWIFT5-PLUS %s < %t/swift5_and_features.trace.json
// RUN: %target-swift-frontend %s -emit-module -o /dev/null -swift-version 6 \
// RUN: -emit-loaded-module-trace-path %t/swift6.trace.json
// RUN: %FileCheck -check-prefix=CHECK-SWIFT6 %s < %t/swift6.trace.json
// NOTE: The matching of the enabledLanguageFeatures lists below is
// intentionally inexact. There are few experimental features (ParserRoundTrip,
// ParserValidation) that are enabled by default in asserts compilers but
// otherwise disabled, so the enabled feature lists will sometimes contain
// additional entries.
// REQUIRES: swift_feature_ParserValidation
// REQUIRES: swift_feature_RegionBasedIsolation
// CHECK-SWIFT4: {
// CHECK-SWIFT4: "version":2
// CHECK-SWIFT4: "arch":"{{[^"]*}}"
// CHECK-SWIFT4: "languageMode":"4"
// CHECK-SWIFT4: "enabledLanguageFeatures":[
// CHECK-SWIFT4: ]
// CHECK-SWIFT4: "strictMemorySafety":false
// CHECK-SWIFT5: {
// CHECK-SWIFT5: "version":2
// CHECK-SWIFT5: "arch":"{{[^"]*}}"
// CHECK-SWIFT5: "languageMode":"5"
// CHECK-SWIFT5: "enabledLanguageFeatures":[
// CHECK-SWIFT5: "NonfrozenEnumExhaustivity"
// CHECK-SWIFT5: ]
// CHECK-SWIFT5: "strictMemorySafety":false
// CHECK-SWIFT5-PLUS: {
// CHECK-SWIFT5-PLUS: "version":2
// CHECK-SWIFT5-PLUS: "arch":"{{[^"]*}}"
// CHECK-SWIFT5-PLUS: "languageMode":"5"
// CHECK-SWIFT5-PLUS: "enabledLanguageFeatures":[
// CHECK-SWIFT5-PLUS: "NonfrozenEnumExhaustivity",
// CHECK-SWIFT5-PLUS: "ParserValidation",
// CHECK-SWIFT5-PLUS: "RegionBasedIsolation",
// CHECK-SWIFT5-PLUS: "StrictMemorySafety"
// CHECK-SWIFT5-PLUS: ]
// CHECK-SWIFT5-PLUS: "strictMemorySafety":true
// CHECK-SWIFT6: {
// CHECK-SWIFT6: "version":2
// CHECK-SWIFT6: "arch":"{{[^"]*}}"
// CHECK-SWIFT6: "languageMode":"6"
// CHECK-SWIFT6: "enabledLanguageFeatures":[
// CHECK-SWIFT6: "BareSlashRegexLiterals",
// CHECK-SWIFT6: "ConciseMagicFile",
// CHECK-SWIFT6: "DeprecateApplicationMain",
// CHECK-SWIFT6: "DisableOutwardActorInference",
// CHECK-SWIFT6: "DynamicActorIsolation",
// CHECK-SWIFT6: "ForwardTrailingClosures",
// CHECK-SWIFT6: "GlobalActorIsolatedTypesUsability",
// CHECK-SWIFT6: "GlobalConcurrency",
// CHECK-SWIFT6: "ImplicitOpenExistentials",
// CHECK-SWIFT6: "ImportObjcForwardDeclarations",
// CHECK-SWIFT6: "InferSendableFromCaptures",
// CHECK-SWIFT6: "IsolatedDefaultValues",
// CHECK-SWIFT6: "NonfrozenEnumExhaustivity",
// CHECK-SWIFT6: "RegionBasedIsolation",
// CHECK-SWIFT6: "StrictConcurrency"
// CHECK-SWIFT6: ]
// CHECK-SWIFT6: "strictMemorySafety":false
import Swift
|