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