[lld] r285163 - Truncate a SVN path part from --version output.
Rui Ueyama via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 25 20:52:06 PDT 2016
Author: ruiu
Date: Tue Oct 25 22:52:06 2016
New Revision: 285163
URL: http://llvm.org/viewvc/llvm-project?rev=285163&view=rev
Log:
Truncate a SVN path part from --version output.
This is in sync with what clang does.
Modified:
lld/trunk/ELF/Driver.cpp
lld/trunk/include/lld/Config/Version.h
lld/trunk/include/lld/Config/Version.inc.in
lld/trunk/lib/Config/Version.cpp
Modified: lld/trunk/ELF/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Driver.cpp?rev=285163&r1=285162&r2=285163&view=diff
==============================================================================
--- lld/trunk/ELF/Driver.cpp (original)
+++ lld/trunk/ELF/Driver.cpp Tue Oct 25 22:52:06 2016
@@ -298,7 +298,7 @@ void LinkerDriver::main(ArrayRef<const c
if (F) {
Cpio.reset(*F);
Cpio->append("response.txt", createResponseFile(Args));
- Cpio->append("version.txt", (getLLDVersion() + "\n").str());
+ Cpio->append("version.txt", getLLDVersion() + "\n");
} else
error(F.getError(),
Twine("--reproduce: failed to open ") + Path + ".cpio");
Modified: lld/trunk/include/lld/Config/Version.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/Config/Version.h?rev=285163&r1=285162&r2=285163&view=diff
==============================================================================
--- lld/trunk/include/lld/Config/Version.h (original)
+++ lld/trunk/include/lld/Config/Version.h Tue Oct 25 22:52:06 2016
@@ -19,7 +19,7 @@
namespace lld {
/// \brief Retrieves a string representing the complete lld version.
-llvm::StringRef getLLDVersion();
+std::string getLLDVersion();
}
#endif // LLD_VERSION_H
Modified: lld/trunk/include/lld/Config/Version.inc.in
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/Config/Version.inc.in?rev=285163&r1=285162&r2=285163&view=diff
==============================================================================
--- lld/trunk/include/lld/Config/Version.inc.in (original)
+++ lld/trunk/include/lld/Config/Version.inc.in Tue Oct 25 22:52:06 2016
@@ -1,4 +1,5 @@
#define LLD_VERSION @LLD_VERSION@
+#define LLD_VERSION_STRING "@LLD_VERSION@"
#define LLD_VERSION_MAJOR @LLD_VERSION_MAJOR@
#define LLD_VERSION_MINOR @LLD_VERSION_MINOR@
#define LLD_REVISION_STRING "@LLD_REVISION@"
Modified: lld/trunk/lib/Config/Version.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Config/Version.cpp?rev=285163&r1=285162&r2=285163&view=diff
==============================================================================
--- lld/trunk/lib/Config/Version.cpp (original)
+++ lld/trunk/lib/Config/Version.cpp Tue Oct 25 22:52:06 2016
@@ -15,24 +15,29 @@
using namespace llvm;
-#define JOIN2(X) #X
-#define JOIN(X, Y) JOIN2(X.Y)
+// Returns an SVN repository path, which is usually "trunk".
+static std::string getRepositoryPath() {
+ StringRef S = LLD_REPOSITORY_STRING;
+ size_t Pos = S.find("lld/");
+ if (Pos != StringRef::npos)
+ return S.substr(Pos + 4);
+ return S;
+}
-// A string that describes the lld version number, e.g., "1.0".
-#define VERSION JOIN(LLD_VERSION_MAJOR, LLD_VERSION_MINOR)
+// Returns an SVN repository name, e.g., " (trunk 284614)"
+// or an empty string if no repository info is available.
+static std::string getRepository() {
+ std::string Repo = getRepositoryPath();
+ std::string Rev = LLD_REVISION_STRING;
-// A string that describes SVN repository, e.g.,
-// " (https://llvm.org/svn/llvm-project/lld/trunk 284614)".
-#if defined(LLD_REPOSITORY_STRING) && defined(LLD_REVISION_STRING)
-#define REPO " (" LLD_REPOSITORY_STRING " " LLD_REVISION_STRING ")"
-#elif defined(LLD_REPOSITORY_STRING)
-#define REPO " (" LLD_REPOSITORY_STRING ")"
-#elif defined(LLD_REVISION_STRING)
-#define REPO " (" LLD_REVISION_STRING ")"
-#else
-#define REPO ""
-#endif
+ if (Repo.empty() && Rev.empty())
+ return "";
+ if (!Repo.empty() && !Rev.empty())
+ return " (" + Repo + " " + Rev + ")";
+ return " (" + Repo + Rev + ")";
+}
-// Returns a version string, e.g.,
-// "LLD 4.0 (https://llvm.org/svn/llvm-project/lld/trunk 284614)".
-StringRef lld::getLLDVersion() { return "LLD " VERSION REPO; }
+// Returns a version string, e.g., "LLD 4.0 (lld/trunk 284614)".
+std::string lld::getLLDVersion() {
+ return "LLD " + std::string(LLD_VERSION_STRING) + getRepository();
+}
More information about the llvm-commits
mailing list