aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2020-05-13 21:58:57 +0300
committerDenis Shienkov <denis.shienkov@gmail.com>2020-05-14 07:40:53 +0000
commite35f945758e46051a85c7d33a91eedcf31f5d98a (patch)
tree08550891cf22fe2eb8557a463b7197ac679b44e1 /src
parent776fd7961a41cd03a9b3264f74ea439ae8dcf727 (diff)
BareMetal: Add AVR32 architecture to the ProjectExplorer::Abi
Change-Id: I2d70dda8d91bccc34b6e1c16c70bc5b3e0ca1b1f Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/projectexplorer/abi.cpp16
-rw-r--r--src/plugins/projectexplorer/abi.h1
2 files changed, 17 insertions, 0 deletions
diff --git a/src/plugins/projectexplorer/abi.cpp b/src/plugins/projectexplorer/abi.cpp
index 8493709b51..7c1a3a880c 100644
--- a/src/plugins/projectexplorer/abi.cpp
+++ b/src/plugins/projectexplorer/abi.cpp
@@ -159,6 +159,8 @@ static Abi::Architecture architectureFromQt()
return Abi::PowerPCArchitecture;
if (arch.startsWith("sh")) // Not in Qt documentation!
return Abi::ShArchitecture;
+ if (arch.startsWith("avr32")) // Not in Qt documentation!
+ return Abi::Avr32Architecture;
if (arch.startsWith("avr")) // Not in Qt documentation!
return Abi::AvrArchitecture;
if (arch.startsWith("asmjs"))
@@ -491,6 +493,12 @@ Abi Abi::abiFromTargetTriplet(const QString &triple)
flavor = GenericFlavor;
format = ElfFormat;
width = 16;
+ } else if (p == "avr32") {
+ arch = Avr32Architecture;
+ os = BareMetalOS;
+ flavor = GenericFlavor;
+ format = ElfFormat;
+ width = 32;
} else if (p == "msp430") {
arch = Msp430Architecture;
os = BareMetalOS;
@@ -699,6 +707,8 @@ QString Abi::toString(const Architecture &a)
return QLatin1String("arm");
case AvrArchitecture:
return QLatin1String("avr");
+ case Avr32Architecture:
+ return QLatin1String("avr32");
case XtensaArchitecture:
return QLatin1String("xtensa");
case X86Architecture:
@@ -857,6 +867,8 @@ Abi::Architecture Abi::architectureFromString(const QStringRef &a)
return ArmArchitecture;
if (a == "avr")
return AvrArchitecture;
+ if (a == "avr32")
+ return Avr32Architecture;
if (a == "x86")
return X86Architecture;
if (a == "mcs51")
@@ -1434,6 +1446,10 @@ void ProjectExplorer::ProjectExplorerPlugin::testAbiFromTargetTriplet_data()
<< int(Abi::BareMetalOS) << int(Abi::GenericFlavor)
<< int(Abi::ElfFormat) << 16;
+ QTest::newRow("avr32") << int(Abi::Avr32Architecture)
+ << int(Abi::BareMetalOS) << int(Abi::GenericFlavor)
+ << int(Abi::ElfFormat) << 32;
+
QTest::newRow("asmjs-unknown-emscripten") << int(Abi::AsmJsArchitecture)
<< int(Abi::UnknownOS) << int(Abi::UnknownFlavor)
<< int(Abi::EmscriptenFormat) << 32;
diff --git a/src/plugins/projectexplorer/abi.h b/src/plugins/projectexplorer/abi.h
index 060a1a3a1c..334cc8242d 100644
--- a/src/plugins/projectexplorer/abi.h
+++ b/src/plugins/projectexplorer/abi.h
@@ -56,6 +56,7 @@ public:
PowerPCArchitecture,
ShArchitecture,
AvrArchitecture,
+ Avr32Architecture,
XtensaArchitecture,
Mcs51Architecture,
Mcs251Architecture,