|
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