aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2021-01-25 18:05:42 +0300
committerDenis Shienkov <denis.shienkov@gmail.com>2021-01-26 15:41:41 +0000
commitdd07178bccc317d588b8738b60d04ca7896b0ade (patch)
tree58c78bbad6ddb3ef2f29cd673e5b0b7e31d14c22 /share
parent3fbff749c6e1a396fd4e03f6287f5180ff09c1f0 (diff)
baremetal: Add support for HCS08 architectures to IAR toolchain
This patch adds the HCS08 architectures, provided by Freescale Semiconductor: * https://en.wikipedia.org/wiki/Motorola_S08 Change-Id: Idd668e30bfeb69e588b93b15131e741924b66f40 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'share')
-rw-r--r--share/qbs/modules/cpp/iar.js22
1 files changed, 17 insertions, 5 deletions
diff --git a/share/qbs/modules/cpp/iar.js b/share/qbs/modules/cpp/iar.js
index 2928aa2f8..2e44a2514 100644
--- a/share/qbs/modules/cpp/iar.js
+++ b/share/qbs/modules/cpp/iar.js
@@ -43,7 +43,8 @@ function supportXLinker(architecture) {
|| architecture === "msp430" || architecture === "v850"
|| architecture === "m68k" || architecture === "m32c"
|| architecture === "r32c" || architecture === "m16c"
- || architecture === "cr16" || architecture === "hcs12";
+ || architecture === "cr16" || architecture === "hcs12"
+ || architecture === "hcs8";
}
function supportILinker(architecture) {
@@ -59,7 +60,8 @@ function supportXArchiver(architecture) {
|| architecture === "78k" || architecture === "avr32"
|| architecture === "m68k" || architecture === "m32c"
|| architecture === "r32c" || architecture === "m16c"
- || architecture === "cr16" || architecture === "hcs12";
+ || architecture === "cr16" || architecture === "hcs12"
+ || architecture === "hcs8";
}
function supportIArchiver(architecture) {
@@ -96,6 +98,8 @@ function architectureCode(architecture) {
return "45";
case "hcs12":
return "12";
+ case "hcs8":
+ return "78";
case "rh850": case "rl78": case "rx": case "stm8": case "sh": case "riscv":
return "";
default:
@@ -145,6 +149,8 @@ function compilerName(qbs) {
return "icccr16c";
else if (architecture === "hcs12")
return "icchcs12";
+ else if (architecture === "hcs8")
+ return "iccs08";
throw "Unable to deduce compiler name for unsupported architecture: '"
+ architecture + "'";
}
@@ -189,6 +195,8 @@ function assemblerName(qbs) {
return "acr16c";
else if (architecture === "hcs12")
return "ahcs12";
+ else if (architecture === "hcs8")
+ return "as08";
throw "Unable to deduce assembler name for unsupported architecture: '"
+ architecture + "'";
}
@@ -315,6 +323,8 @@ function guessArchitecture(macros) {
return "cr16";
else if (macros["__ICCHCS12__"] === "1")
return "hcs12";
+ else if (macros["__ICCS08__"] === "1")
+ return "hcs8";
}
function guessEndianness(macros) {
@@ -335,7 +345,8 @@ function guessVersion(macros, architecture)
|| architecture === "rh850" || architecture === "v850" || architecture === "78k"
|| architecture === "avr32" || architecture === "sh" || architecture === "riscv"
|| architecture === "m68k" || architecture === "m32c" || architecture === "r32c"
- || architecture === "m16c" || architecture === "cr16" || architecture === "hcs12") {
+ || architecture === "m16c" || architecture === "cr16" || architecture === "hcs12"
+ || architecture === "hcs8") {
return { major: parseInt(version / 100),
minor: parseInt(version % 100),
patch: 0 }
@@ -596,7 +607,7 @@ function compilerFlags(project, product, input, outputs, explicitlyDependsOn) {
args.push("--no_warnings");
break;
case "all":
- if (architecture !== "78k" && architecture !== "hcs12") {
+ if (architecture !== "78k" && architecture !== "hcs12" && architecture !== "hcs8") {
if (architecture !== "avr32" && architecture !== "r32c"
&& architecture !== "sh" && architecture !== "m16c") {
args.push("--deprecated_feature_warnings="
@@ -704,7 +715,8 @@ function assemblerFlags(project, product, input, outputs, explicitlyDependsOn) {
|| architecture === "rx" || architecture === "rh850"
|| architecture === "avr32" || architecture === "sh"
|| architecture === "riscv" || architecture === "m68k"
- || architecture === "r32c" || architecture === "cr16") {
+ || architecture === "r32c" || architecture === "cr16"
+ || architecture === "hcs8") {
// Silent output generation flag.
args.push("--silent");
// Warning level flags.