BareMetal: Add AVR32 architecture to the ProjectExplorer::Abi

Change-Id: I2d70dda8d91bccc34b6e1c16c70bc5b3e0ca1b1f
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Denis Shienkov
2020-05-13 21:58:57 +03:00
parent 776fd7961a
commit e35f945758
2 changed files with 17 additions and 0 deletions

View File

@@ -159,6 +159,8 @@ static Abi::Architecture architectureFromQt()
return Abi::PowerPCArchitecture; return Abi::PowerPCArchitecture;
if (arch.startsWith("sh")) // Not in Qt documentation! if (arch.startsWith("sh")) // Not in Qt documentation!
return Abi::ShArchitecture; return Abi::ShArchitecture;
if (arch.startsWith("avr32")) // Not in Qt documentation!
return Abi::Avr32Architecture;
if (arch.startsWith("avr")) // Not in Qt documentation! if (arch.startsWith("avr")) // Not in Qt documentation!
return Abi::AvrArchitecture; return Abi::AvrArchitecture;
if (arch.startsWith("asmjs")) if (arch.startsWith("asmjs"))
@@ -491,6 +493,12 @@ Abi Abi::abiFromTargetTriplet(const QString &triple)
flavor = GenericFlavor; flavor = GenericFlavor;
format = ElfFormat; format = ElfFormat;
width = 16; width = 16;
} else if (p == "avr32") {
arch = Avr32Architecture;
os = BareMetalOS;
flavor = GenericFlavor;
format = ElfFormat;
width = 32;
} else if (p == "msp430") { } else if (p == "msp430") {
arch = Msp430Architecture; arch = Msp430Architecture;
os = BareMetalOS; os = BareMetalOS;
@@ -699,6 +707,8 @@ QString Abi::toString(const Architecture &a)
return QLatin1String("arm"); return QLatin1String("arm");
case AvrArchitecture: case AvrArchitecture:
return QLatin1String("avr"); return QLatin1String("avr");
case Avr32Architecture:
return QLatin1String("avr32");
case XtensaArchitecture: case XtensaArchitecture:
return QLatin1String("xtensa"); return QLatin1String("xtensa");
case X86Architecture: case X86Architecture:
@@ -857,6 +867,8 @@ Abi::Architecture Abi::architectureFromString(const QStringRef &a)
return ArmArchitecture; return ArmArchitecture;
if (a == "avr") if (a == "avr")
return AvrArchitecture; return AvrArchitecture;
if (a == "avr32")
return Avr32Architecture;
if (a == "x86") if (a == "x86")
return X86Architecture; return X86Architecture;
if (a == "mcs51") if (a == "mcs51")
@@ -1434,6 +1446,10 @@ void ProjectExplorer::ProjectExplorerPlugin::testAbiFromTargetTriplet_data()
<< int(Abi::BareMetalOS) << int(Abi::GenericFlavor) << int(Abi::BareMetalOS) << int(Abi::GenericFlavor)
<< int(Abi::ElfFormat) << 16; << 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) QTest::newRow("asmjs-unknown-emscripten") << int(Abi::AsmJsArchitecture)
<< int(Abi::UnknownOS) << int(Abi::UnknownFlavor) << int(Abi::UnknownOS) << int(Abi::UnknownFlavor)
<< int(Abi::EmscriptenFormat) << 32; << int(Abi::EmscriptenFormat) << 32;

View File

@@ -56,6 +56,7 @@ public:
PowerPCArchitecture, PowerPCArchitecture,
ShArchitecture, ShArchitecture,
AvrArchitecture, AvrArchitecture,
Avr32Architecture,
XtensaArchitecture, XtensaArchitecture,
Mcs51Architecture, Mcs51Architecture,
Mcs251Architecture, Mcs251Architecture,