summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2020-05-26 15:46:10 +0300
committerDenis Shienkov <denis.shienkov@gmail.com>2020-05-27 07:27:49 +0000
commit4dfc650fac633b5d4caf7f0151684a290ff50489 (patch)
tree394239c264766806218ac9497e6ca5abd9427c08
parentb7ec0fbf0865292094f61d37a52da99cf9757a6f (diff)
downloadqt-creator-4dfc650fac633b5d4caf7f0151684a290ff50489.tar.gz
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 <hjk@qt.io>
-rw-r--r--src/plugins/baremetal/iarewtoolchain.cpp9
1 files 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 &macros)
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<ToolChain *> IarToolChainFactory::autoDetect(const QList<ToolChain *> &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);