Index: lib/Driver/ToolChains/BareMetal.h =================================================================== --- lib/Driver/ToolChains/BareMetal.h +++ lib/Driver/ToolChains/BareMetal.h @@ -38,8 +38,6 @@ bool isPICDefaultForced() const override { return false; } bool SupportsProfiling() const override { return false; } bool SupportsObjCGC() const override { return false; } - std::string getThreadModel() const override; - bool isThreadModelSupported(const StringRef Model) const override; RuntimeLibType GetDefaultRuntimeLibType() const override { return ToolChain::RLT_CompilerRT; Index: lib/Driver/ToolChains/BareMetal.cpp =================================================================== --- lib/Driver/ToolChains/BareMetal.cpp +++ lib/Driver/ToolChains/BareMetal.cpp @@ -65,14 +65,6 @@ return new tools::baremetal::Linker(*this); } -std::string BareMetal::getThreadModel() const { - return "single"; -} - -bool BareMetal::isThreadModelSupported(const StringRef Model) const { - return Model == "single"; -} - std::string BareMetal::getRuntimesDir() const { SmallString<128> Dir(getDriver().ResourceDir); llvm::sys::path::append(Dir, "lib", "baremetal"); Index: test/Driver/baremetal.cpp =================================================================== --- test/Driver/baremetal.cpp +++ test/Driver/baremetal.cpp @@ -74,4 +74,12 @@ // RUN: %clangxx -target arm-none-eabi -v 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK-THREAD-MODEL -// CHECK-THREAD-MODEL: Thread model: single +// CHECK-THREAD-MODEL: Thread model: posix + +// RUN: %clangxx -target arm-none-eabi -mthread-model single -v 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-THREAD-MODEL-SINGLE +// CHECK-THREAD-MODEL-SINGLE: Thread model: single + +// RUN: %clangxx -target arm-none-eabi -mthread-model posix -v 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-THREAD-MODEL-POSIX +// CHECK-THREAD-MODEL-POSIX: Thread model: posix