mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-09 11:25:55 +00:00
Add llvm::triple constructor from arch, vendor, os strings, and recognize
DragonFly OS type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72242 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -50,6 +50,7 @@ public:
|
|||||||
UnknownOS,
|
UnknownOS,
|
||||||
|
|
||||||
Darwin,
|
Darwin,
|
||||||
|
DragonFly,
|
||||||
FreeBSD,
|
FreeBSD,
|
||||||
Linux
|
Linux
|
||||||
};
|
};
|
||||||
@@ -75,6 +76,13 @@ public:
|
|||||||
|
|
||||||
Triple() : Data(""), Arch(InvalidArch) {}
|
Triple() : Data(""), Arch(InvalidArch) {}
|
||||||
explicit Triple(const char *Str) : Data(Str), Arch(InvalidArch) {}
|
explicit Triple(const char *Str) : Data(Str), Arch(InvalidArch) {}
|
||||||
|
explicit Triple(const char *ArchStr, const char *VendorStr, const char *OSStr)
|
||||||
|
: Data(ArchStr), Arch(InvalidArch) {
|
||||||
|
Data += '-';
|
||||||
|
Data += VendorStr;
|
||||||
|
Data += '-';
|
||||||
|
Data += OSStr;
|
||||||
|
}
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
/// @name Typed Component Access
|
/// @name Typed Component Access
|
||||||
|
@@ -44,6 +44,7 @@ const char *Triple::getOSTypeName(OSType Kind) {
|
|||||||
case UnknownOS: return "unknown";
|
case UnknownOS: return "unknown";
|
||||||
|
|
||||||
case Darwin: return "darwin";
|
case Darwin: return "darwin";
|
||||||
|
case DragonFly: return "dragonfly";
|
||||||
case FreeBSD: return "freebsd";
|
case FreeBSD: return "freebsd";
|
||||||
case Linux: return "linux";
|
case Linux: return "linux";
|
||||||
}
|
}
|
||||||
@@ -80,6 +81,8 @@ void Triple::Parse() const {
|
|||||||
std::string OSName = getOSName();
|
std::string OSName = getOSName();
|
||||||
if (memcmp(&OSName[0], "darwin", 6) == 0)
|
if (memcmp(&OSName[0], "darwin", 6) == 0)
|
||||||
OS = Darwin;
|
OS = Darwin;
|
||||||
|
else if (memcmp(&OSName[0], "dragonfly", 9) == 0)
|
||||||
|
OS = DragonFly;
|
||||||
else if (memcmp(&OSName[0], "freebsd", 7) == 0)
|
else if (memcmp(&OSName[0], "freebsd", 7) == 0)
|
||||||
OS = FreeBSD;
|
OS = FreeBSD;
|
||||||
else if (memcmp(&OSName[0], "linux", 5) == 0)
|
else if (memcmp(&OSName[0], "linux", 5) == 0)
|
||||||
|
Reference in New Issue
Block a user