diff --git a/src/plugins/baremetal/keiltoolchain.cpp b/src/plugins/baremetal/keiltoolchain.cpp index 984fb3341ea..6b978e8f6d0 100644 --- a/src/plugins/baremetal/keiltoolchain.cpp +++ b/src/plugins/baremetal/keiltoolchain.cpp @@ -512,7 +512,14 @@ QList KeilToolchainFactory::autoDetectToolchain( const Macros macros = dumpPredefinedMacros(candidate.compilerPath, env.toStringList()); if (macros.isEmpty()) return {}; + const Abi abi = guessAbi(macros); + const Abi::Architecture arch = abi.architecture(); + if (arch == Abi::Architecture::Mcs51Architecture + && language == ProjectExplorer::Constants::CXX_LANGUAGE_ID) { + // KEIL C51 compiler does not support C++ language. + return {}; + } const auto tc = new KeilToolchain(ToolChain::AutoDetection); tc->setLanguage(language);