diff --git a/Sources/SwiftDriver/Utilities/Triple.swift b/Sources/SwiftDriver/Utilities/Triple.swift index f49ea78e7..430685cde 100644 --- a/Sources/SwiftDriver/Utilities/Triple.swift +++ b/Sources/SwiftDriver/Utilities/Triple.swift @@ -963,19 +963,19 @@ extension Triple { return .arm(.v6k) case "v6kz": return .arm(.v6kz) - case "v6-m": + case "v6m", "v6-m": return .arm(.v6m) case "v6t2": return .arm(.v6t2) - case "v7-a": + case "v7a", "v7-a": return .arm(.v7) case "v7k": return .arm(.v7k) - case "v7-m": + case "v7m", "v7-m": return .arm(.v7m) - case "v7e-m": + case "v7em", "v7e-m": return .arm(.v7em) - case "v7-r": + case "v7r", "v7-r": return .arm(.v7r) case "v7s": return .arm(.v7s) diff --git a/Tests/SwiftDriverTests/TripleTests.swift b/Tests/SwiftDriverTests/TripleTests.swift index f650e45c6..2aa6e2589 100644 --- a/Tests/SwiftDriverTests/TripleTests.swift +++ b/Tests/SwiftDriverTests/TripleTests.swift @@ -199,34 +199,47 @@ final class TripleTests: XCTestCase { T = Triple("arm-none-none-eabi") XCTAssertEqual(T.arch, Triple.Arch.arm) + XCTAssertEqual(T.subArch, nil) XCTAssertEqual(T.vendor, nil) XCTAssertEqual(T.os, .noneOS) XCTAssertEqual(T.environment, Triple.Environment.eabi) T = Triple("arm-none-unknown-eabi") XCTAssertEqual(T.arch, Triple.Arch.arm) + XCTAssertEqual(T.subArch, nil) XCTAssertEqual(T.vendor, nil) XCTAssertEqual(T.os, nil) XCTAssertEqual(T.environment, Triple.Environment.eabi) T = Triple("arm-none-linux-musleabi") XCTAssertEqual(T.arch, Triple.Arch.arm) + XCTAssertEqual(T.subArch, nil) XCTAssertEqual(T.vendor, nil) XCTAssertEqual(T.os, Triple.OS.linux) XCTAssertEqual(T.environment, Triple.Environment.musleabi) T = Triple("armv6hl-none-linux-gnueabi") XCTAssertEqual(T.arch, Triple.Arch.arm) + XCTAssertEqual(T.subArch, nil) XCTAssertEqual(T.os, Triple.OS.linux) XCTAssertEqual(T.vendor, nil) XCTAssertEqual(T.environment, Triple.Environment.gnueabi) T = Triple("armv7hl-none-linux-gnueabi") XCTAssertEqual(T.arch, Triple.Arch.arm) + XCTAssertEqual(T.subArch, nil) XCTAssertEqual(T.os, Triple.OS.linux) XCTAssertEqual(T.vendor, nil) XCTAssertEqual(T.environment, Triple.Environment.gnueabi) + T = Triple("armv7em-apple-none-macho") + XCTAssertEqual(T.arch, Triple.Arch.arm) + XCTAssertEqual(T.subArch, Triple.SubArch.arm(.v7em)) + XCTAssertEqual(T.vendor, .apple) + XCTAssertEqual(T.os, Triple.OS.noneOS) + XCTAssertEqual(T.environment, nil) + XCTAssertEqual(T.objectFormat, Triple.ObjectFormat.macho) + T = Triple("amdil-unknown-unknown") XCTAssertEqual(T.arch, Triple.Arch.amdil) XCTAssertEqual(T.vendor, nil)