From 0c6386a548b02555e17658c84eb10b9bb0abad3a Mon Sep 17 00:00:00 2001 From: Denis Shienkov Date: Tue, 19 May 2020 14:57:03 +0300 Subject: [PATCH] BareMetal: Auto-detect IAR toolchain for Renesas M32C architecture This patch implements auto-detection for the M32C toolchain, provided by IAR Systems: * https://www.iar.com/iar-embedded-workbench/#!?architecture=M32C Change-Id: I0d983f82436dc527af7cb8550e0ebe745316c698 Reviewed-by: hjk --- src/plugins/baremetal/iarewtoolchain.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/plugins/baremetal/iarewtoolchain.cpp b/src/plugins/baremetal/iarewtoolchain.cpp index e73dd156edf..83f53a55877 100644 --- a/src/plugins/baremetal/iarewtoolchain.cpp +++ b/src/plugins/baremetal/iarewtoolchain.cpp @@ -78,7 +78,7 @@ static QString cppLanguageOption(const FilePath &compiler) || baseName == "iccstm8" || baseName == "icc430" || baseName == "iccv850" || baseName == "icc78k" || baseName == "iccavr32" || baseName == "iccsh" - || baseName == "icccf") { + || baseName == "icccf" || baseName == "iccm32c") { return QString("--ec++"); } return {}; @@ -219,6 +219,8 @@ static Abi::Architecture guessArchitecture(const Macros ¯os) return Abi::Architecture::RiscVArchitecture; if (macro.key == "__ICCCF__") return Abi::Architecture::M68KArchitecture; + if (macro.key == "__ICCM32C__") + return Abi::Architecture::M32CArchitecture; } return Abi::Architecture::UnknownArchitecture; } @@ -250,7 +252,8 @@ static Abi::BinaryFormat guessFormat(Abi::Architecture arch) || arch == Abi::Architecture::Msp430Architecture || arch == Abi::Architecture::V850Architecture || arch == Abi::Architecture::K78Architecture - || arch == Abi::Architecture::M68KArchitecture) { + || arch == Abi::Architecture::M68KArchitecture + || arch == Abi::Architecture::M32CArchitecture) { return Abi::BinaryFormat::UbrofFormat; } return Abi::BinaryFormat::UnknownFormat; @@ -484,6 +487,7 @@ QList IarToolChainFactory::autoDetect(const QList &alr {{"EWSH"}, {"/sh/bin/iccsh.exe"}}, {{"EWRISCV"}, {"/riscv/bin/iccriscv.exe"}}, {{"EWCF"}, {"/cf/bin/icccf.exe"}}, + {{"EWM32C"}, {"/m32c/bin/iccm32c.exe"}}, }; QSettings registry(kRegistryNode, QSettings::NativeFormat);