diff options
author | Denis Shienkov <denis.shienkov@gmail.com> | 2020-05-26 16:06:50 +0300 |
---|---|---|
committer | Denis Shienkov <denis.shienkov@gmail.com> | 2020-05-27 07:28:37 +0000 |
commit | f197b8f64c080ff1958f456d5addf509a118caf2 (patch) | |
tree | 02181842b3c5987eacac5ffd937d2fac95d87fcc | |
parent | 2ab5e6260c40e671f4b576b2d7a639c347f8e543 (diff) | |
download | qt-creator-f197b8f64c080ff1958f456d5addf509a118caf2.tar.gz |
BareMetal: Auto-detect IAR toolchain for National Semiconductor CR16 architecture
This patch implements auto-detection for the CR16C toolchain,
provided by IAR Systems:
* https://www.iar.com/iar-embedded-workbench/#!?architecture=CR16C
Change-Id: Idc0d91f2de7bcce463baea0874538662c5af413d
Reviewed-by: hjk <hjk@qt.io>
-rw-r--r-- | src/plugins/baremetal/iarewtoolchain.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/plugins/baremetal/iarewtoolchain.cpp b/src/plugins/baremetal/iarewtoolchain.cpp index a4fbb10769..7c6f81fa84 100644 --- a/src/plugins/baremetal/iarewtoolchain.cpp +++ b/src/plugins/baremetal/iarewtoolchain.cpp @@ -81,7 +81,8 @@ static QString cppLanguageOption(const FilePath &compiler) || baseName == "iccv850" || baseName == "icc78k" || baseName == "iccavr32" || baseName == "iccsh" || baseName == "icccf" || baseName == "iccm32c" - || baseName == "iccm16c" || baseName == "iccr32c") { + || baseName == "iccm16c" || baseName == "iccr32c" + || baseName == "icccr16c") { return QString("--ec++"); } return {}; @@ -229,6 +230,8 @@ static Abi::Architecture guessArchitecture(const Macros ¯os) return Abi::Architecture::M16CArchitecture; if (macro.key == "__ICCR32C__") return Abi::Architecture::R32CArchitecture; + if (macro.key == "__ICCCR16C__") + return Abi::Architecture::CR16Architecture; } return Abi::Architecture::UnknownArchitecture; } @@ -263,7 +266,8 @@ static Abi::BinaryFormat guessFormat(Abi::Architecture arch) || arch == Abi::Architecture::M68KArchitecture || arch == Abi::Architecture::M32CArchitecture || arch == Abi::Architecture::M16CArchitecture - || arch == Abi::Architecture::R32CArchitecture) { + || arch == Abi::Architecture::R32CArchitecture + || arch == Abi::Architecture::CR16Architecture) { return Abi::BinaryFormat::UbrofFormat; } return Abi::BinaryFormat::UnknownFormat; @@ -514,6 +518,7 @@ QList<ToolChain *> IarToolChainFactory::autoDetect(const QList<ToolChain *> &alr {{"EWM32C"}, {"/m32c/bin/iccm32c.exe"}}, {{"EWM16C"}, {"/m16c/bin/iccm16c.exe"}}, {{"EWR32C"}, {"/r32c/bin/iccr32c.exe"}}, + {{"EWCR16C"}, {"/cr16c/bin/icccr16c.exe"}}, }; QSettings registry(kRegistryNode, QSettings::NativeFormat); |