From a33c652878c93980460ff1f0477c4a99cf3e200d Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 3 Mar 2015 18:23:51 +0000 Subject: [PATCH] Make Triple::getOSVersion make sense for Android. Reviewers: srhines Reviewed By: srhines Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D7928 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231090 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Support/Triple.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp index e74b23ca0ca..33472e51d17 100644 --- a/lib/Support/Triple.cpp +++ b/lib/Support/Triple.cpp @@ -714,6 +714,14 @@ void Triple::getOSVersion(unsigned &Major, unsigned &Minor, unsigned &Micro) const { StringRef OSName = getOSName(); + // For Android, we care about the Android version rather than the Linux + // version. + if (getEnvironment() == Android) { + OSName = getEnvironmentName().substr(strlen("android")); + if (OSName.startswith("eabi")) + OSName = OSName.substr(strlen("eabi")); + } + // Assume that the OS portion of the triple starts with the canonical name. StringRef OSTypeName = getOSTypeName(getOS()); if (OSName.startswith(OSTypeName))