[cfe-commits] r152183 - /cfe/trunk/lib/Basic/Version.cpp

Andrew Trick atrick at apple.com
Tue Mar 6 16:44:24 PST 2012


Author: atrick
Date: Tue Mar  6 18:44:24 2012
New Revision: 152183

URL: http://llvm.org/viewvc/llvm-project?rev=152183&view=rev
Log:
More git-svn compatible version string, by request.

If you're using git-svn, the clang and llvm repository will typically
map to a different revision.

Before we had:
clang version 3.1 (trunk 152167 trunk 152162)

After this change:
clang version 3.1 (trunk 152167) (llvm/trunk 152162)

So it's self-descriptive with an extra parens group. Which is more
compatible with version string parsers is probably debatable, but this
style was requested.

Modified:
    cfe/trunk/lib/Basic/Version.cpp

Modified: cfe/trunk/lib/Basic/Version.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Version.cpp?rev=152183&r1=152182&r2=152183&view=diff
==============================================================================
--- cfe/trunk/lib/Basic/Version.cpp (original)
+++ cfe/trunk/lib/Basic/Version.cpp Tue Mar  6 18:44:24 2012
@@ -58,9 +58,11 @@
 #endif
 
   // Trim path prefix off, assuming path came from standard llvm path.
+  // Leave "llvm/" prefix to distinguish the following llvm revision from the
+  // clang revision.
   size_t Start = URL.find("llvm/");
   if (Start != StringRef::npos)
-    URL = URL.substr(Start + 5);
+    URL = URL.substr(Start);
 
   return URL;
 }
@@ -86,20 +88,25 @@
   llvm::raw_string_ostream OS(buf);
   std::string Path = getClangRepositoryPath();
   std::string Revision = getClangRevision();
-  if (!Path.empty())
-    OS << Path;
-  if (!Revision.empty()) {
+  if (!Path.empty() || !Revision.empty()) {
+    OS << '(';
     if (!Path.empty())
-      OS << ' ';
-    OS << Revision;
-  }
+      OS << Path;
+    if (!Revision.empty()) {
+      if (!Path.empty())
+        OS << ' ';
+      OS << Revision;
+    }
+    OS << ')';
+  }  
   // Support LLVM in a separate repository.
   std::string LLVMRev = getLLVMRevision();
   if (!LLVMRev.empty() && LLVMRev != Revision) {
+    OS << " (";    
     std::string LLVMRepo = getLLVMRepositoryPath();
     if (!LLVMRepo.empty())
-      OS << ' ' << LLVMRepo;
-    OS << ' ' << LLVMRev;
+      OS << LLVMRepo << ' ';
+    OS << LLVMRev << ')';
   }
   return OS.str();
 }
@@ -110,8 +117,8 @@
 #ifdef CLANG_VENDOR
   OS << CLANG_VENDOR;
 #endif
-  OS << "clang version " CLANG_VERSION_STRING " ("
-     << getClangFullRepositoryVersion() << ')';
+  OS << "clang version " CLANG_VERSION_STRING " "
+     << getClangFullRepositoryVersion();
 
   // If vendor supplied, include the base LLVM version as well.
 #ifdef CLANG_VENDOR





More information about the cfe-commits mailing list