forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -81,7 +81,8 @@ static QString cppLanguageOption(const FilePath &compiler)
|
|||||||
|| baseName == "iccv850" || baseName == "icc78k"
|
|| baseName == "iccv850" || baseName == "icc78k"
|
||||||
|| baseName == "iccavr32" || baseName == "iccsh"
|
|| baseName == "iccavr32" || baseName == "iccsh"
|
||||||
|| baseName == "icccf" || baseName == "iccm32c"
|
|| baseName == "icccf" || baseName == "iccm32c"
|
||||||
|| baseName == "iccm16c" || baseName == "iccr32c") {
|
|| baseName == "iccm16c" || baseName == "iccr32c"
|
||||||
|
|| baseName == "icccr16c") {
|
||||||
return QString("--ec++");
|
return QString("--ec++");
|
||||||
}
|
}
|
||||||
return {};
|
return {};
|
||||||
@@ -229,6 +230,8 @@ static Abi::Architecture guessArchitecture(const Macros ¯os)
|
|||||||
return Abi::Architecture::M16CArchitecture;
|
return Abi::Architecture::M16CArchitecture;
|
||||||
if (macro.key == "__ICCR32C__")
|
if (macro.key == "__ICCR32C__")
|
||||||
return Abi::Architecture::R32CArchitecture;
|
return Abi::Architecture::R32CArchitecture;
|
||||||
|
if (macro.key == "__ICCCR16C__")
|
||||||
|
return Abi::Architecture::CR16Architecture;
|
||||||
}
|
}
|
||||||
return Abi::Architecture::UnknownArchitecture;
|
return Abi::Architecture::UnknownArchitecture;
|
||||||
}
|
}
|
||||||
@@ -263,7 +266,8 @@ static Abi::BinaryFormat guessFormat(Abi::Architecture arch)
|
|||||||
|| arch == Abi::Architecture::M68KArchitecture
|
|| arch == Abi::Architecture::M68KArchitecture
|
||||||
|| arch == Abi::Architecture::M32CArchitecture
|
|| arch == Abi::Architecture::M32CArchitecture
|
||||||
|| arch == Abi::Architecture::M16CArchitecture
|
|| arch == Abi::Architecture::M16CArchitecture
|
||||||
|| arch == Abi::Architecture::R32CArchitecture) {
|
|| arch == Abi::Architecture::R32CArchitecture
|
||||||
|
|| arch == Abi::Architecture::CR16Architecture) {
|
||||||
return Abi::BinaryFormat::UbrofFormat;
|
return Abi::BinaryFormat::UbrofFormat;
|
||||||
}
|
}
|
||||||
return Abi::BinaryFormat::UnknownFormat;
|
return Abi::BinaryFormat::UnknownFormat;
|
||||||
@@ -514,6 +518,7 @@ QList<ToolChain *> IarToolChainFactory::autoDetect(const QList<ToolChain *> &alr
|
|||||||
{{"EWM32C"}, {"/m32c/bin/iccm32c.exe"}},
|
{{"EWM32C"}, {"/m32c/bin/iccm32c.exe"}},
|
||||||
{{"EWM16C"}, {"/m16c/bin/iccm16c.exe"}},
|
{{"EWM16C"}, {"/m16c/bin/iccm16c.exe"}},
|
||||||
{{"EWR32C"}, {"/r32c/bin/iccr32c.exe"}},
|
{{"EWR32C"}, {"/r32c/bin/iccr32c.exe"}},
|
||||||
|
{{"EWCR16C"}, {"/cr16c/bin/icccr16c.exe"}},
|
||||||
};
|
};
|
||||||
|
|
||||||
QSettings registry(kRegistryNode, QSettings::NativeFormat);
|
QSettings registry(kRegistryNode, QSettings::NativeFormat);
|
||||||
|
Reference in New Issue
Block a user