nickdesaulniers added a comment. Thanks for the patch! Don't forget to run `git-clang-format HEAD~`.
================ Comment at: clang/lib/Driver/ToolChains/Arch/ARM.cpp:160-161 + if (ThreadPointer == ReadTPMode::Cp15 && + getARMSubArchVersionNumber(Triple) < 7 && + llvm::ARM::parseArch(Triple.getArchName()) != llvm::ARM::ArchKind::ARMV6T2) { + D.Diag(diag::err_target_unsupported_tp_hard) << Triple.getArchName(); ---------------- The last two checks seems redundant (`getARMSubArchVersionNumber(Triple) < 7 && llvm::ARM::parseArch(Triple.getArchName()) != llvm::ARM::ArchKind::ARMV6T2`). If the `ArchKind` was `ARMV6T2` then `getARMSubArchVersionNumber` should return `6`. Or do we want to support ARMv6T2, in which case the patch description should be edited: > ensure that -mtp=cp15 is rejected for ARMv6T2 or earlier. s/ARMv6T2 or earlier/ARMv6 (except ARMv6T2) or earlier/ ================ Comment at: clang/test/Driver/clang-translation.c:118-119 +// RUN: %clang -target armv5t-linux -mtp=cp15 -### -S %s 2>&1 | \ +// RUN: FileCheck -check-prefix=ARMv7_THREAD_POINTER_UNSUPPORTED %s +// ARMv7_THREAD_POINTER_UNSUPPORTED: error: hardware TLS register is not supported for the armv5 sub-architecture + ---------------- The `-check-prefix` should probably s/ARMv7/ARMv5T/. It might be interesting to additionally test armv6 vs armv6t, depending on the answer to my question above. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D113026/new/ https://reviews.llvm.org/D113026 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits