|
32 | 32 | /// |
33 | 33 | /// This is a port of https://github.com/apple/swift-llvm/blob/stable/include/llvm/ADT/Triple.h |
34 | 34 | @dynamicMemberLookup |
35 | | -public struct Triple { |
| 35 | +public struct Triple: Sendable { |
36 | 36 | /// `Triple` proxies predicates from `Triple.OS`, returning `false` for an unknown OS. |
37 | 37 | public subscript(dynamicMember predicate: KeyPath<OS, Bool>) -> Bool { |
38 | 38 | os?[keyPath: predicate] ?? false |
@@ -60,7 +60,7 @@ public struct Triple { |
60 | 60 | public let objectFormat: ObjectFormat? |
61 | 61 |
|
62 | 62 | /// Represents a version that may be present in the target triple. |
63 | | - public struct Version: Equatable, Comparable, CustomStringConvertible { |
| 63 | + public struct Version: Equatable, Comparable, CustomStringConvertible, Sendable { |
64 | 64 | public static let zero = Version(0, 0, 0) |
65 | 65 |
|
66 | 66 | public var major: Int |
@@ -415,7 +415,7 @@ extension Triple { |
415 | 415 | } |
416 | 416 | } |
417 | 417 |
|
418 | | - public enum Arch: String, CaseIterable, Decodable { |
| 418 | + public enum Arch: String, CaseIterable, Decodable, Sendable { |
419 | 419 | /// ARM (little endian): arm, armv.*, xscale |
420 | 420 | case arm |
421 | 421 | // ARM (big endian): armeb |
@@ -841,11 +841,11 @@ extension Triple { |
841 | 841 | // MARK: - Parse SubArch |
842 | 842 |
|
843 | 843 | extension Triple { |
844 | | - public enum SubArch: Hashable { |
| 844 | + public enum SubArch: Hashable, Sendable { |
845 | 845 |
|
846 | | - public enum ARM { |
| 846 | + public enum ARM: Sendable { |
847 | 847 |
|
848 | | - public enum Profile { |
| 848 | + public enum Profile: Sendable { |
849 | 849 | case a, r, m |
850 | 850 | } |
851 | 851 |
|
@@ -913,13 +913,13 @@ extension Triple { |
913 | 913 | } |
914 | 914 | } |
915 | 915 |
|
916 | | - public enum Kalimba { |
| 916 | + public enum Kalimba: Sendable { |
917 | 917 | case v3 |
918 | 918 | case v4 |
919 | 919 | case v5 |
920 | 920 | } |
921 | 921 |
|
922 | | - public enum MIPS { |
| 922 | + public enum MIPS: Sendable { |
923 | 923 | case r6 |
924 | 924 | } |
925 | 925 |
|
@@ -1019,7 +1019,7 @@ extension Triple { |
1019 | 1019 | // MARK: - Parse Vendor |
1020 | 1020 |
|
1021 | 1021 | extension Triple { |
1022 | | - public enum Vendor: String, CaseIterable, TripleComponent { |
| 1022 | + public enum Vendor: String, CaseIterable, TripleComponent, Sendable { |
1023 | 1023 | case apple |
1024 | 1024 | case pc |
1025 | 1025 | case scei |
@@ -1084,7 +1084,7 @@ extension Triple { |
1084 | 1084 | // MARK: - Parse OS |
1085 | 1085 |
|
1086 | 1086 | extension Triple { |
1087 | | - public enum OS: String, CaseIterable, TripleComponent { |
| 1087 | + public enum OS: String, CaseIterable, TripleComponent, Sendable { |
1088 | 1088 | case ananas |
1089 | 1089 | case cloudABI = "cloudabi" |
1090 | 1090 | case darwin |
@@ -1261,7 +1261,7 @@ extension Triple { |
1261 | 1261 | } |
1262 | 1262 | } |
1263 | 1263 |
|
1264 | | - public enum Environment: String, CaseIterable, Equatable { |
| 1264 | + public enum Environment: String, CaseIterable, Equatable, Sendable { |
1265 | 1265 | case eabihf |
1266 | 1266 | case eabi |
1267 | 1267 | case elfv1 |
@@ -1357,7 +1357,7 @@ extension Triple { |
1357 | 1357 | // MARK: - Parse Object Format |
1358 | 1358 |
|
1359 | 1359 | extension Triple { |
1360 | | - public enum ObjectFormat { |
| 1360 | + public enum ObjectFormat: Sendable { |
1361 | 1361 | case coff |
1362 | 1362 | case elf |
1363 | 1363 | case macho |
|
0 commit comments