From 4dfc650fac633b5d4caf7f0151684a290ff50489 Mon Sep 17 00:00:00 2001 From: Denis Shienkov Date: Tue, 26 May 2020 15:46:10 +0300 Subject: BareMetal: Auto-detect IAR toolchain for Renesas M16C architecture This patch implements auto-detection for the M16C/R8C toolchain, provided by IAR Systems: * https://www.iar.com/iar-embedded-workbench/#!?architecture=M16C%2FR8C Change-Id: Iaa724c110f074183e60f659812717dbad2f635d0 Reviewed-by: hjk --- src/plugins/baremetal/iarewtoolchain.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/plugins/baremetal/iarewtoolchain.cpp b/src/plugins/baremetal/iarewtoolchain.cpp index 48b1a18a31..7e81695b77 100644 --- a/src/plugins/baremetal/iarewtoolchain.cpp +++ b/src/plugins/baremetal/iarewtoolchain.cpp @@ -80,7 +80,8 @@ static QString cppLanguageOption(const FilePath &compiler) || baseName == "iccstm8" || baseName == "icc430" || baseName == "iccv850" || baseName == "icc78k" || baseName == "iccavr32" || baseName == "iccsh" - || baseName == "icccf" || baseName == "iccm32c") { + || baseName == "icccf" || baseName == "iccm32c" + || baseName == "iccm16c") { return QString("--ec++"); } return {}; @@ -224,6 +225,8 @@ static Abi::Architecture guessArchitecture(const Macros ¯os) return Abi::Architecture::M68KArchitecture; if (macro.key == "__ICCM32C__") return Abi::Architecture::M32CArchitecture; + if (macro.key == "__ICCM16C__") + return Abi::Architecture::M16CArchitecture; } return Abi::Architecture::UnknownArchitecture; } @@ -256,7 +259,8 @@ static Abi::BinaryFormat guessFormat(Abi::Architecture arch) || arch == Abi::Architecture::V850Architecture || arch == Abi::Architecture::K78Architecture || arch == Abi::Architecture::M68KArchitecture - || arch == Abi::Architecture::M32CArchitecture) { + || arch == Abi::Architecture::M32CArchitecture + || arch == Abi::Architecture::M16CArchitecture) { return Abi::BinaryFormat::UbrofFormat; } return Abi::BinaryFormat::UnknownFormat; @@ -505,6 +509,7 @@ QList IarToolChainFactory::autoDetect(const QList &alr {{"EWRISCV"}, {"/riscv/bin/iccriscv.exe"}}, {{"EWCF"}, {"/cf/bin/icccf.exe"}}, {{"EWM32C"}, {"/m32c/bin/iccm32c.exe"}}, + {{"EWM16C"}, {"/m16c/bin/iccm16c.exe"}}, }; QSettings registry(kRegistryNode, QSettings::NativeFormat); -- cgit v1.2.1