diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-12-24 01:04:58 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-12-24 01:04:58 +0000 |
commit | da09e106efc76da569f2bad3d59b6b19b503bf39 (patch) | |
tree | 3dc7690165275d86df8841532970801b0dc1230d /contrib/llvm/lib/Support/TargetParser.cpp | |
parent | fb142d88715c407bebf777730d5bd6cbf73e2bc7 (diff) | |
parent | c7dac04c3480f3c20487f912f77343139fce2d99 (diff) |
Notes
Diffstat (limited to 'contrib/llvm/lib/Support/TargetParser.cpp')
-rw-r--r-- | contrib/llvm/lib/Support/TargetParser.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/contrib/llvm/lib/Support/TargetParser.cpp b/contrib/llvm/lib/Support/TargetParser.cpp index c59068cb3550..b96ca084e9bf 100644 --- a/contrib/llvm/lib/Support/TargetParser.cpp +++ b/contrib/llvm/lib/Support/TargetParser.cpp @@ -537,7 +537,7 @@ StringRef llvm::AArch64::getDefaultCPU(StringRef Arch) { } unsigned llvm::AArch64::checkArchVersion(StringRef Arch) { - if (Arch[0] == 'v' && std::isdigit(Arch[1])) + if (Arch.size() >= 2 && Arch[0] == 'v' && std::isdigit(Arch[1])) return (Arch[1] - 48); return 0; } @@ -633,7 +633,7 @@ StringRef llvm::ARM::getCanonicalArchName(StringRef Arch) { // Only match non-marketing names if (offset != StringRef::npos) { // Must start with 'vN'. - if (A[0] != 'v' || !std::isdigit(A[1])) + if (A.size() >= 2 && (A[0] != 'v' || !std::isdigit(A[1]))) return Error; // Can't have an extra 'eb'. if (A.find("eb") != StringRef::npos) @@ -739,7 +739,6 @@ ARM::ProfileKind ARM::parseArchProfile(StringRef Arch) { case ARM::ArchKind::ARMV8_2A: case ARM::ArchKind::ARMV8_3A: return ARM::ProfileKind::A; - LLVM_FALLTHROUGH; case ARM::ArchKind::ARMV2: case ARM::ArchKind::ARMV2A: case ARM::ArchKind::ARMV3: |