[llvm] Make clang report garbage target versions. (PR #75373)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 13 12:24:07 PST 2023
https://github.com/ZijunZhaoCCK updated https://github.com/llvm/llvm-project/pull/75373
>From 74f256d8a77ee2ba8e0d5bbb6519aa2729cf94d5 Mon Sep 17 00:00:00 2001
From: zijunzhao <zijunzhao at google.com>
Date: Wed, 13 Dec 2023 20:07:45 +0000
Subject: [PATCH 1/2] Make clang report garbage target versions.
Clang always silently ignores garbage target versions and this makes
debug harder. So clang will report when target versions are invalid.
---
llvm/lib/TargetParser/Triple.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/llvm/lib/TargetParser/Triple.cpp b/llvm/lib/TargetParser/Triple.cpp
index c5e9ad43d22588..335253194d1cf8 100644
--- a/llvm/lib/TargetParser/Triple.cpp
+++ b/llvm/lib/TargetParser/Triple.cpp
@@ -11,6 +11,7 @@
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/Support/ErrorHandling.h"
+#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/SwapByteOrder.h"
#include "llvm/Support/VersionTuple.h"
#include "llvm/TargetParser/ARMTargetParser.h"
@@ -1199,7 +1200,11 @@ StringRef Triple::getOSAndEnvironmentName() const {
static VersionTuple parseVersionFromName(StringRef Name) {
VersionTuple Version;
- Version.tryParse(Name);
+ if (Version.tryParse(Name)) {
+ errs() << "The input is "<< Name << " and it is invalid. Should pass an "<<
+ "integer or integer combination! e.g. 2, 9.5 or 3.4.5\n";
+ exit(1);
+ }
return Version.withoutBuild();
}
>From 0d159b2a9b76e233e020ac0aef15b49b03f4d86c Mon Sep 17 00:00:00 2001
From: zijunzhao <zijunzhao at google.com>
Date: Wed, 13 Dec 2023 20:23:54 +0000
Subject: [PATCH 2/2] rephrase
---
llvm/lib/TargetParser/Triple.cpp | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/llvm/lib/TargetParser/Triple.cpp b/llvm/lib/TargetParser/Triple.cpp
index 335253194d1cf8..713ca447403d50 100644
--- a/llvm/lib/TargetParser/Triple.cpp
+++ b/llvm/lib/TargetParser/Triple.cpp
@@ -1201,8 +1201,7 @@ StringRef Triple::getOSAndEnvironmentName() const {
static VersionTuple parseVersionFromName(StringRef Name) {
VersionTuple Version;
if (Version.tryParse(Name)) {
- errs() << "The input is "<< Name << " and it is invalid. Should pass an "<<
- "integer or integer combination! e.g. 2, 9.5 or 3.4.5\n";
+ errs() << "version "<< Name << " is invalid\n";
exit(1);
}
return Version.withoutBuild();
More information about the llvm-commits
mailing list