Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Triple::normalize: Use none as OS for XX-none-ABI #89638

Merged
merged 2 commits into from
May 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions clang/docs/Multilib.rst
Original file line number Diff line number Diff line change
Expand Up @@ -188,9 +188,9 @@ For a more comprehensive example see
- Dir: thumb/v6-m
# List of one or more normalized command line options, as generated by Clang
# from the command line options or from Mappings below.
# Here, if the flags are a superset of {target=thumbv6m-none-unknown-eabi}
# Here, if the flags are a superset of {target=thumbv6m-unknown-none-eabi}
# then this multilib variant will be considered a match.
Flags: [--target=thumbv6m-none-unknown-eabi]
Flags: [--target=thumbv6m-unknown-none-eabi]

# Similarly, a multilib variant targeting Arm v7-M with an FPU (floating
# point unit).
Expand Down
2 changes: 1 addition & 1 deletion clang/test/Driver/arm-ias-Wa.s
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@

// RUN: %clang -target armv7r-none-eabi -c %s -### 2>&1 \
// RUN: | FileCheck -check-prefix=CHECK-R-PROFILE %s
// CHECK-R-PROFILE: "-triple" "armv7r-none-unknown-eabi"
// CHECK-R-PROFILE: "-triple" "armv7r-unknown-none-eabi"

// RUN: %clang -target armv7m-none-eabi -c %s -### 2>&1 \
// RUN: %clang -target thumbv7m-none-eabi -c %s -### 2>&1 \
Expand Down
10 changes: 5 additions & 5 deletions clang/test/Driver/arm-triple.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,23 @@
// RUN: %clang -print-effective-triple \
// RUN: --target=arm-none-eabihf -march=armv4t -mfloat-abi=softfp \
// RUN: | FileCheck %s --check-prefix=CHECK-DEFAULT
// CHECK-DEFAULT: armv4t-none-unknown-eabi
// CHECK-DEFAULT: armv4t-unknown-none-eabi

// RUN: %clang -print-effective-triple \
// RUN: --target=armeb-none-eabi \
// RUN: | FileCheck %s --check-prefix=CHECK-EB
// RUN: %clang -print-effective-triple \
// RUN: --target=arm-none-eabi -mbig-endian \
// RUN: | FileCheck %s --check-prefix=CHECK-EB
// CHECK-EB: armebv4t-none-unknown-eabi
// CHECK-EB: armebv4t-unknown-none-eabi

// RUN: %clang -print-effective-triple \
// RUN: --target=arm-none-eabihf -march=armv4t \
// RUN: | FileCheck %s --check-prefix=CHECK-HF
// RUN: %clang -print-effective-triple \
// RUN: --target=arm-none-eabi -mfloat-abi=hard \
// RUN: | FileCheck %s --check-prefix=CHECK-HF
// CHECK-HF: armv4t-none-unknown-eabihf
// CHECK-HF: armv4t-unknown-none-eabihf

// RUN: %clang -print-effective-triple \
// RUN: --target=armeb-none-eabihf -march=armv4t \
Expand All @@ -37,12 +37,12 @@
// RUN: %clang -print-effective-triple \
// RUN: --target=arm-none-eabi -mbig-endian -mfloat-abi=hard \
// RUN: | FileCheck %s --check-prefix=CHECK-EB-HF
// CHECK-EB-HF: armebv4t-none-unknown-eabihf
// CHECK-EB-HF: armebv4t-unknown-none-eabihf

// RUN: %clang -print-effective-triple \
// RUN: --target=arm-none-eabi -march=armv8m.main -mbig-endian -mfloat-abi=hard \
// RUN: | FileCheck %s --check-prefix=CHECK-V8M-EB-HF
// RUN: %clang -print-effective-triple \
// RUN: --target=arm-none-eabi -mcpu=cortex-m33 -mbig-endian -mfloat-abi=hard \
// RUN: | FileCheck %s --check-prefix=CHECK-V8M-EB-HF
// CHECK-V8M-EB-HF: thumbebv8m.main-none-unknown-eabihf
// CHECK-V8M-EB-HF: thumbebv8m.main-unknown-none-eabihf
2 changes: 1 addition & 1 deletion clang/test/Driver/baremetal-multilib-layered.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
# RUN: %T/baremetal_multilib_layered/bin/clang -no-canonical-prefixes -x c++ %s -### -o %t.out 2>&1 \
# RUN: --target=thumbv7m-none-eabi -mfloat-abi=softfp --sysroot= \
# RUN: | FileCheck -DSYSROOT=%T/baremetal_multilib_layered %s
# CHECK: "-cc1" "-triple" "thumbv7m-none-unknown-eabi"
# CHECK: "-cc1" "-triple" "thumbv7m-unknown-none-eabi"
# CHECK-SAME: "-internal-isystem" "[[SYSROOT]]/bin/../lib/clang-runtimes/softfp/include/c++/v1"
# CHECK-SAME: "-internal-isystem" "[[SYSROOT]]/bin/../lib/clang-runtimes/soft/include/c++/v1"
# CHECK-SAME: "-internal-isystem" "[[SYSROOT]]/bin/../lib/clang-runtimes/softfp/include"
Expand Down
64 changes: 32 additions & 32 deletions clang/test/Driver/baremetal-multilib.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
# RUN: %T/baremetal_multilib/bin/clang -no-canonical-prefixes -x c++ %s -### -o %t.out 2>&1 \
# RUN: --target=thumbv8m.main-none-eabihf --sysroot= \
# RUN: | FileCheck -DSYSROOT=%T/baremetal_multilib %s
# CHECK: "-cc1" "-triple" "thumbv8m.main-none-unknown-eabihf"
# CHECK: "-cc1" "-triple" "thumbv8m.main-unknown-none-eabihf"
# CHECK-SAME: "-internal-isystem" "[[SYSROOT]]/bin/../lib/clang-runtimes/arm-none-eabi/thumb/v8-m.main/fp/include/c++/v1"
# CHECK-SAME: "-internal-isystem" "[[SYSROOT]]/bin/../lib/clang-runtimes/arm-none-eabi/thumb/v8-m.main/fp/include"
# CHECK-SAME: "-x" "c++" "{{.*}}baremetal-multilib.yaml"
Expand All @@ -24,11 +24,11 @@
# RUN: --target=thumbv7em-none-eabi -mfpu=fpv4-sp-d16 --sysroot= \
# RUN: | FileCheck --check-prefix=CHECK-NO-MATCH %s
# CHECK-NO-MATCH: warning: no multilib found matching flags:
# CHECK-NO-MATCH-SAME: --target=thumbv7em-none-unknown-eabi
# CHECK-NO-MATCH-SAME: --target=thumbv7em-unknown-none-eabi
# CHECK-NO-MATCH: note: available multilibs are:
# CHECK-NO-MATCH: --target=thumbv6m-none-unknown-eabi -mfpu=none
# CHECK-NO-MATCH: --target=thumbv7m-none-unknown-eabi -mfpu=none
# CHECK-NO-MATCH: --target=thumbv7em-none-unknown-eabi -mfpu=none
# CHECK-NO-MATCH: --target=thumbv6m-unknown-none-eabi -mfpu=none
# CHECK-NO-MATCH: --target=thumbv7m-unknown-none-eabi -mfpu=none
# CHECK-NO-MATCH: --target=thumbv7em-unknown-none-eabi -mfpu=none

# RUN: %T/baremetal_multilib/bin/clang -no-canonical-prefixes -print-multi-directory 2>&1 \
# RUN: --target=thumbv8m.main-none-eabihf --sysroot= \
Expand All @@ -38,16 +38,16 @@
# RUN: %T/baremetal_multilib/bin/clang -no-canonical-prefixes -print-multi-lib 2>&1 \
# RUN: --target=arm-none-eabi --sysroot= \
# RUN: | FileCheck --check-prefix=CHECK-PRINT-MULTI-LIB %s
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v6-m/nofp;@-target=thumbv6m-none-unknown-eabi@mfpu=none
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v7-m/nofp;@-target=thumbv7m-none-unknown-eabi@mfpu=none
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v7e-m/nofp;@-target=thumbv7em-none-unknown-eabi@mfpu=none
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v8-m.main/nofp;@-target=thumbv8m.main-none-unknown-eabi@mfpu=none
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v8.1-m.main/nofp/nomve;@-target=thumbv8.1m.main-none-unknown-eabi@mfpu=none
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v7e-m/fpv4_sp_d16;@-target=thumbv7em-none-unknown-eabihf@mfpu=fpv4-sp-d16
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v7e-m/fpv5_d16;@-target=thumbv7em-none-unknown-eabihf@mfpu=fpv5-d16
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v8-m.main/fp;@-target=thumbv8m.main-none-unknown-eabihf@mfpu=fpv5-d16
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v8.1-m.main/fp;@-target=thumbv8.1m.main-none-unknown-eabihf@mfpu=fp-armv8-fullfp16-sp-d16
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v8.1-m.main/nofp/mve;@-target=thumbv8.1m.main-none-unknown-eabihf@march=thumbv8.1m.main+mve@mfpu=none
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v6-m/nofp;@-target=thumbv6m-unknown-none-eabi@mfpu=none
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v7-m/nofp;@-target=thumbv7m-unknown-none-eabi@mfpu=none
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v7e-m/nofp;@-target=thumbv7em-unknown-none-eabi@mfpu=none
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v8-m.main/nofp;@-target=thumbv8m.main-unknown-none-eabi@mfpu=none
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v8.1-m.main/nofp/nomve;@-target=thumbv8.1m.main-unknown-none-eabi@mfpu=none
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v7e-m/fpv4_sp_d16;@-target=thumbv7em-unknown-none-eabihf@mfpu=fpv4-sp-d16
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v7e-m/fpv5_d16;@-target=thumbv7em-unknown-none-eabihf@mfpu=fpv5-d16
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v8-m.main/fp;@-target=thumbv8m.main-unknown-none-eabihf@mfpu=fpv5-d16
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v8.1-m.main/fp;@-target=thumbv8.1m.main-unknown-none-eabihf@mfpu=fp-armv8-fullfp16-sp-d16
# CHECK-PRINT-MULTI-LIB: arm-none-eabi/thumb/v8.1-m.main/nofp/mve;@-target=thumbv8.1m.main-unknown-none-eabihf@march=thumbv8.1m.main+mve@mfpu=none

# RUN: %T/baremetal_multilib/bin/clang -no-canonical-prefixes -x assembler -mexecute-only \
# RUN: --target=arm-none-eabi --sysroot= %s -c -### 2>&1 \
Expand Down Expand Up @@ -86,37 +86,37 @@ MultilibVersion: 1.0

Variants:
- Dir: arm-none-eabi/arm/v4t
Flags: [--target=armv4t-none-unknown-eabi]
Flags: [--target=armv4t-unknown-none-eabi]

- Dir: arm-none-eabi/thumb/v6-m/nofp
Flags: [--target=thumbv6m-none-unknown-eabi, -mfpu=none]
Flags: [--target=thumbv6m-unknown-none-eabi, -mfpu=none]

- Dir: arm-none-eabi/thumb/v7-m/nofp
Flags: [--target=thumbv7m-none-unknown-eabi, -mfpu=none]
Flags: [--target=thumbv7m-unknown-none-eabi, -mfpu=none]

- Dir: arm-none-eabi/thumb/v7e-m/nofp
Flags: [--target=thumbv7em-none-unknown-eabi, -mfpu=none]
Flags: [--target=thumbv7em-unknown-none-eabi, -mfpu=none]

- Dir: arm-none-eabi/thumb/v8-m.main/nofp
Flags: [--target=thumbv8m.main-none-unknown-eabi, -mfpu=none]
Flags: [--target=thumbv8m.main-unknown-none-eabi, -mfpu=none]

- Dir: arm-none-eabi/thumb/v8.1-m.main/nofp/nomve
Flags: [--target=thumbv8.1m.main-none-unknown-eabi, -mfpu=none]
Flags: [--target=thumbv8.1m.main-unknown-none-eabi, -mfpu=none]

- Dir: arm-none-eabi/thumb/v7e-m/fpv4_sp_d16
Flags: [--target=thumbv7em-none-unknown-eabihf, -mfpu=fpv4-sp-d16]
Flags: [--target=thumbv7em-unknown-none-eabihf, -mfpu=fpv4-sp-d16]

- Dir: arm-none-eabi/thumb/v7e-m/fpv5_d16
Flags: [--target=thumbv7em-none-unknown-eabihf, -mfpu=fpv5-d16]
Flags: [--target=thumbv7em-unknown-none-eabihf, -mfpu=fpv5-d16]

- Dir: arm-none-eabi/thumb/v8-m.main/fp
Flags: [--target=thumbv8m.main-none-unknown-eabihf, -mfpu=fpv5-d16]
Flags: [--target=thumbv8m.main-unknown-none-eabihf, -mfpu=fpv5-d16]

- Dir: arm-none-eabi/thumb/v8.1-m.main/fp
Flags: [--target=thumbv8.1m.main-none-unknown-eabihf, -mfpu=fp-armv8-fullfp16-sp-d16]
Flags: [--target=thumbv8.1m.main-unknown-none-eabihf, -mfpu=fp-armv8-fullfp16-sp-d16]

- Dir: arm-none-eabi/thumb/v8.1-m.main/nofp/mve
Flags: [--target=thumbv8.1m.main-none-unknown-eabihf, -march=thumbv8.1m.main+mve, -mfpu=none]
Flags: [--target=thumbv8.1m.main-unknown-none-eabihf, -march=thumbv8.1m.main+mve, -mfpu=none]


# The second section of the file is a map from auto-detected flags
Expand All @@ -126,17 +126,17 @@ Variants:
# All flags in the "Flags" list will be added if an argument matches.
Mappings:
# For v8m.base (and potential later v8m baseline versions) use v6m
- Match: --target=thumbv8(\.[0-9]+)?m\.base-none-unknown-eabi
Flags: [--target=thumbv6m-none-unknown-eabi]
- Match: --target=thumbv8(\.[0-9]+)?m\.base-unknown-none-eabi
Flags: [--target=thumbv6m-unknown-none-eabi]
# Match versions after v8.1m.main. We assume that v8.2m (if/when it exists) will
# be backwards compatible with v8.1m.
# The alternative is to not recognise later versions, and require that
# this multilib spec is updated before it can be used with newer
# architecture versions.
- Match: --target=thumbv8\.[1-9]m\.main-none-unknown-eabi
Flags: [--target=thumbv8.1m.main-none-unknown-eabi]
- Match: --target=thumbv8\.[1-9]m\.main-none-unknown-eabihf
Flags: [--target=thumbv8.1m.main-none-unknown-eabihf]
- Match: --target=thumbv8\.[1-9]m\.main-unknown-none-eabi
Flags: [--target=thumbv8.1m.main-unknown-none-eabi]
- Match: --target=thumbv8\.[1-9]m\.main-unknown-none-eabihf
Flags: [--target=thumbv8.1m.main-unknown-none-eabihf]

- Match: -march=thumbv8\.[1-9]m\.main.*\+mve($|\+).*
Flags: [-march=thumbv8.1m.main+mve]
Expand Down
2 changes: 1 addition & 1 deletion clang/test/Driver/baremetal-sysroot.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
// RUN: %T/baremetal_default_sysroot/bin/clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
// RUN: -target armv6m-none-eabi --sysroot= \
// RUN: | FileCheck --check-prefix=CHECK-V6M-C %s
// CHECK-V6M-C: "{{.*}}clang{{.*}}" "-cc1" "-triple" "thumbv6m-none-unknown-eabi"
// CHECK-V6M-C: "{{.*}}clang{{.*}}" "-cc1" "-triple" "thumbv6m-unknown-none-eabi"
// CHECK-V6M-C-SAME: "-internal-isystem" "{{.*}}/baremetal_default_sysroot{{[/\\]+}}bin{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+}}armv6m-none-eabi{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1"
// CHECk-V6M-C-SAME: "-internal-isystem" "{{.*}}/baremetal_default_sysroot{{[/\\]+}}bin{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+}}armv6m-none-eabi{{[/\\]+}}include"
// CHECK-V6M-C-SAME: "-x" "c++" "{{.*}}baremetal-sysroot.cpp"
Expand Down
2 changes: 1 addition & 1 deletion clang/test/Driver/baremetal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
// RUN: -L some/directory/user/asked/for \
// RUN: --sysroot=%S/Inputs/baremetal_arm \
// RUN: | FileCheck --check-prefix=CHECK-V6M-C %s
// CHECK-V6M-C: "-cc1" "-triple" "thumbv6m-none-unknown-eabi"
// CHECK-V6M-C: "-cc1" "-triple" "thumbv6m-unknown-none-eabi"
// CHECK-V6M-C-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
// CHECK-V6M-C-SAME: "-isysroot" "[[SYSROOT:[^"]*]]"
// CHECK-V6M-C-SAME: "-internal-isystem" "[[SYSROOT]]{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1"
Expand Down
14 changes: 7 additions & 7 deletions clang/test/Driver/print-multi-selection-flags.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,27 @@
// CHECK-FUCHSIA: --target=aarch64-unknown-fuchsia

// RUN: %clang -print-multi-flags-experimental --target=arm-none-eabi -mfloat-abi=soft -fno-exceptions -fno-rtti | FileCheck --check-prefix=CHECK-ARMV4T %s
// CHECK-ARMV4T: --target=armv4t-none-unknown-eabi
// CHECK-ARMV4T: --target=armv4t-unknown-none-eabi
// CHECK-ARMV4T: -mfloat-abi=soft
// CHECK-ARMV4T: -mfpu=none

// RUN: %clang -print-multi-flags-experimental --target=armv7em-none-eabi -mfloat-abi=softfp | FileCheck --check-prefix=CHECK-SOFTFP %s
// CHECK-SOFTFP: --target=thumbv7em-none-unknown-eabi
// CHECK-SOFTFP: --target=thumbv7em-unknown-none-eabi
// CHECK-SOFTFP: -mfloat-abi=softfp
// CHECK-SOFTFP: -mfpu=fpv4-sp-d16

// RUN: %clang -print-multi-flags-experimental --target=arm-none-eabihf -march=armv7em -mfpu=fpv5-d16 | FileCheck --check-prefix=CHECK-HARD %s
// CHECK-HARD: --target=thumbv7em-none-unknown-eabihf
// CHECK-HARD: --target=thumbv7em-unknown-none-eabihf
// CHECK-HARD: -mfloat-abi=hard
// CHECK-HARD: -mfpu=fpv5-d16

// RUN: %clang -print-multi-flags-experimental --target=arm-none-eabi -mfloat-abi=soft -march=armv8-m.main+nofp | FileCheck --check-prefix=CHECK-V8MMAIN-NOFP %s
// CHECK-V8MMAIN-NOFP: --target=thumbv8m.main-none-unknown-eabi
// CHECK-V8MMAIN-NOFP: --target=thumbv8m.main-unknown-none-eabi
// CHECK-V8MMAIN-NOFP: -mfloat-abi=soft
// CHECK-V8MMAIN-NOFP: -mfpu=none

// RUN: %clang -print-multi-flags-experimental --target=arm-none-eabi -mfloat-abi=hard -march=armv8.1m.main+mve.fp | FileCheck --check-prefix=CHECK-MVE %s
// CHECK-MVE: --target=thumbv8.1m.main-none-unknown-eabihf
// CHECK-MVE: --target=thumbv8.1m.main-unknown-none-eabihf
// CHECK-MVE: -march=thumbv8.1m.main{{.*}}+mve{{.*}}+mve.fp{{.*}}
// CHECK-MVE: -mfloat-abi=hard
// CHECK-MVE: -mfpu=fp-armv8-fullfp16-sp-d16
Expand All @@ -51,10 +51,10 @@
// CHECK-M85_NO_FP_DP: -mfpu=fp-armv8-fullfp16-sp-d16

// RUN: %clang -print-multi-flags-experimental --target=aarch64-none-elf -march=armv8-a+lse | FileCheck --check-prefix=CHECK-LSE %s
// CHECK-LSE: --target=aarch64-none-unknown-elf
// CHECK-LSE: --target=aarch64-unknown-none-elf
// CHECK-LSE: -march=armv8-a{{.*}}+lse{{.*}}

// RUN: %clang -print-multi-flags-experimental --target=aarch64-none-elf -march=armv8.5-a+sve+sve2 | FileCheck --check-prefix=CHECK-SVE2 %s
// RUN: %clang -print-multi-flags-experimental --target=aarch64-none-elf -march=armv9-a | FileCheck --check-prefix=CHECK-SVE2 %s
// CHECK-SVE2: --target=aarch64-none-unknown-elf
// CHECK-SVE2: --target=aarch64-unknown-none-elf
// CHECK-SVE2: -march=armv{{.*}}-a{{.*}}+simd{{.*}}+sve{{.*}}+sve2{{.*}}
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ TEST(IncrementalCompilerBuilder, SetTargetTriple) {
auto CB = clang::IncrementalCompilerBuilder();
CB.SetTargetTriple("armv6-none-eabi");
auto CI = cantFail(CB.CreateCpp());
EXPECT_EQ(CI->getTargetOpts().Triple, "armv6-none-unknown-eabi");
EXPECT_EQ(CI->getTargetOpts().Triple, "armv6-unknown-none-eabi");
cleanupRemappedFileBuffers(*CI);
}

Expand Down
6 changes: 6 additions & 0 deletions llvm/lib/TargetParser/Triple.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1151,6 +1151,12 @@ std::string Triple::normalize(StringRef Str) {
}
}

// If "none" is in the middle component in a three-component triple, treat it
// as the OS (Components[2]) instead of the vendor (Components[1]).
if (Found[0] && !Found[1] && !Found[2] && Found[3] &&
Components[1] == "none" && Components[2].empty())
std::swap(Components[1], Components[2]);
wzssyqa marked this conversation as resolved.
Show resolved Hide resolved

// Replace empty components with "unknown" value.
for (StringRef &C : Components)
if (C.empty())
Expand Down
2 changes: 1 addition & 1 deletion llvm/unittests/TargetParser/TripleTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1237,7 +1237,7 @@ TEST(TripleTest, Normalization) {
Triple::normalize("i386-redhat-linux")); // i386-redhat-linux-gnu
EXPECT_EQ("i686-unknown-linux",
Triple::normalize("i686-linux")); // i686-pc-linux-gnu
EXPECT_EQ("arm-none-unknown-eabi",
EXPECT_EQ("arm-unknown-none-eabi",
Triple::normalize("arm-none-eabi")); // arm-none-eabi
EXPECT_EQ("ve-unknown-linux",
Triple::normalize("ve-linux")); // ve-linux
Expand Down
Loading