Triple: refactor redundant code.

Should be no functional change, since most of the logic removed was
completely pointless (after some previous refactoring) and the rest
duplicated elsewhere.

Patch by Kamil Rytarowski.

llvm-svn: 228926
This commit is contained in:
Tim Northover 2015-02-12 15:12:13 +00:00
parent cd8c495c25
commit 764ad6f42f

View File

@ -35,29 +35,15 @@ static std::string getOSVersion() {
}
std::string sys::getDefaultTargetTriple() {
StringRef TargetTripleString(LLVM_DEFAULT_TARGET_TRIPLE);
std::pair<StringRef, StringRef> ArchSplit = TargetTripleString.split('-');
// Normalize the arch, since the target triple may not actually match the
// target.
std::string Arch = ArchSplit.first;
std::string Triple(Arch);
Triple += '-';
Triple += ArchSplit.second;
// Force i<N>86 to i386.
if (Triple[0] == 'i' && isdigit(Triple[1]) &&
Triple[2] == '8' && Triple[3] == '6')
Triple[1] = '3';
std::string TargetTripleString(LLVM_DEFAULT_TARGET_TRIPLE);
// On darwin, we want to update the version to match that of the
// target.
std::string::size_type DarwinDashIdx = Triple.find("-darwin");
std::string::size_type DarwinDashIdx = TargetTripleString.find("-darwin");
if (DarwinDashIdx != std::string::npos) {
Triple.resize(DarwinDashIdx + strlen("-darwin"));
Triple += getOSVersion();
TargetTripleString.resize(DarwinDashIdx + strlen("-darwin"));
TargetTripleString += getOSVersion();
}
return Triple::normalize(Triple);
return Triple::normalize(TargetTripleString);
}