diff --git a/src/plugins/projectexplorer/abi.cpp b/src/plugins/projectexplorer/abi.cpp index 8493709b510..7c1a3a880cd 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 060a1a3a1cc..334cc8242d1 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,