diff --git a/src/plugins/baremetal/iarewtoolchain.cpp b/src/plugins/baremetal/iarewtoolchain.cpp index c1cf9ff5269..f169c9c52cc 100644 --- a/src/plugins/baremetal/iarewtoolchain.cpp +++ b/src/plugins/baremetal/iarewtoolchain.cpp @@ -69,8 +69,10 @@ static bool compilerExists(const FilePath &compilerPath) static QString cppLanguageOption(const FilePath &compiler) { const QString baseName = compiler.toFileInfo().baseName(); - if (baseName == "iccarm" || baseName == "iccrl78") + if (baseName == "iccarm" || baseName == "iccrl78" + || baseName == "iccrh850") { return QString("--c++"); + } if (baseName == "icc8051" || baseName == "iccavr" || baseName == "iccstm8" || baseName == "icc430" || baseName == "iccv850") { @@ -200,6 +202,8 @@ static Abi::Architecture guessArchitecture(const Macros ¯os) return Abi::Architecture::Rl78Architecture; if (macro.key == "__ICCV850__") return Abi::Architecture::V850Architecture; + if (macro.key == "__ICCRH850__") + return Abi::Architecture::Rh850Architecture; } return Abi::Architecture::UnknownArchitecture; } @@ -218,7 +222,8 @@ static Abi::BinaryFormat guessFormat(Abi::Architecture arch) { if (arch == Abi::Architecture::ArmArchitecture || arch == Abi::Architecture::Stm8Architecture - || arch == Abi::Architecture::Rl78Architecture) { + || arch == Abi::Architecture::Rl78Architecture + || arch == Abi::Architecture::Rh850Architecture) { return Abi::BinaryFormat::ElfFormat; } if (arch == Abi::Architecture::Mcs51Architecture @@ -451,6 +456,7 @@ QList IarToolChainFactory::autoDetect(const QList &alr {{"EW430"}, {"\\430\\bin\\icc430.exe"}}, {{"EWRL78"}, {"\\rl78\\bin\\iccrl78.exe"}}, {{"EWV850"}, {"\\v850\\bin\\iccv850.exe"}}, + {{"EWRH850"}, {"\\rh850\\bin\\iccrh850.exe"}}, }; QSettings registry(kRegistryNode, QSettings::NativeFormat); diff --git a/src/plugins/projectexplorer/abi.cpp b/src/plugins/projectexplorer/abi.cpp index 2b0d722a205..f230b9d0640 100644 --- a/src/plugins/projectexplorer/abi.cpp +++ b/src/plugins/projectexplorer/abi.cpp @@ -727,6 +727,8 @@ QString Abi::toString(const Architecture &a) return QLatin1String("c166"); case V850Architecture: return QLatin1String("v850"); + case Rh850Architecture: + return QLatin1String("rh850"); case UnknownArchitecture: Q_FALLTHROUGH(); default: @@ -875,6 +877,8 @@ Abi::Architecture Abi::architectureFromString(const QStringRef &a) return C166Architecture; if (a == "v850") return V850Architecture; + if (a == "rh850") + return Rh850Architecture; else if (a == "xtensa") return XtensaArchitecture; if (a == "asmjs") diff --git a/src/plugins/projectexplorer/abi.h b/src/plugins/projectexplorer/abi.h index bffdc29815a..b201ee4ad67 100644 --- a/src/plugins/projectexplorer/abi.h +++ b/src/plugins/projectexplorer/abi.h @@ -65,6 +65,7 @@ public: Rl78Architecture, C166Architecture, V850Architecture, + Rh850Architecture, UnknownArchitecture };