Author: nico Date: Tue Jan 7 10:27:35 2014 New Revision: 198694 URL: http://llvm.org/viewvc/llvm-project?rev=198694&view=rev Log: Shorten the output of `clang-format --version`, include revision number.
Before: $ clang-format --version LLVM (http://llvm.org/): LLVM version 3.5svn Optimized build with assertions. Built Jan 3 2014 (14:28:46). Default target: x86_64-apple-darwin13.0.0 Host CPU: core-avx-i Now: $ bin/clang-format --version clang-format version 3.5 (198452) Modified: cfe/trunk/include/clang/Basic/Version.h cfe/trunk/lib/Basic/Version.cpp cfe/trunk/tools/clang-format/ClangFormat.cpp Modified: cfe/trunk/include/clang/Basic/Version.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Version.h?rev=198694&r1=198693&r2=198694&view=diff ============================================================================== --- cfe/trunk/include/clang/Basic/Version.h (original) +++ cfe/trunk/include/clang/Basic/Version.h Tue Jan 7 10:27:35 2014 @@ -70,6 +70,9 @@ namespace clang { /// and the vendor tag. std::string getClangFullVersion(); + /// \brief Like getClangFullVersion(), but with a custom tool name. + std::string getClangToolFullVersion(llvm::StringRef ToolName); + /// \brief Retrieves a string representing the complete clang version suitable /// for use in the CPP __VERSION__ macro, which includes the clang version /// number, the repository version, and the vendor tag. Modified: cfe/trunk/lib/Basic/Version.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Version.cpp?rev=198694&r1=198693&r2=198694&view=diff ============================================================================== --- cfe/trunk/lib/Basic/Version.cpp (original) +++ cfe/trunk/lib/Basic/Version.cpp Tue Jan 7 10:27:35 2014 @@ -116,12 +116,16 @@ std::string getClangFullRepositoryVersio } std::string getClangFullVersion() { + return getClangToolFullVersion("clang"); +} + +std::string getClangToolFullVersion(StringRef ToolName) { std::string buf; llvm::raw_string_ostream OS(buf); #ifdef CLANG_VENDOR OS << CLANG_VENDOR; #endif - OS << "clang version " CLANG_VERSION_STRING " " + OS << ToolName << " version " CLANG_VERSION_STRING " " << getClangFullRepositoryVersion(); // If vendor supplied, include the base LLVM version as well. Modified: cfe/trunk/tools/clang-format/ClangFormat.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-format/ClangFormat.cpp?rev=198694&r1=198693&r2=198694&view=diff ============================================================================== --- cfe/trunk/tools/clang-format/ClangFormat.cpp (original) +++ cfe/trunk/tools/clang-format/ClangFormat.cpp Tue Jan 7 10:27:35 2014 @@ -17,6 +17,7 @@ #include "clang/Basic/DiagnosticOptions.h" #include "clang/Basic/FileManager.h" #include "clang/Basic/SourceManager.h" +#include "clang/Basic/Version.h" #include "clang/Format/Format.h" #include "clang/Lex/Lexer.h" #include "clang/Rewrite/Core/Rewriter.h" @@ -255,6 +256,11 @@ static bool format(StringRef FileName) { } // namespace format } // namespace clang +static void PrintVersion() { + raw_ostream &OS = outs(); + OS << clang::getClangToolFullVersion("clang-format") << '\n'; +} + int main(int argc, const char **argv) { llvm::sys::PrintStackTraceOnErrorSignal(); @@ -268,6 +274,7 @@ int main(int argc, const char **argv) { I->second->setHiddenFlag(cl::ReallyHidden); } + cl::SetVersionPrinter(PrintVersion); cl::ParseCommandLineOptions( argc, argv, "A tool to format C/C++/Obj-C code.\n\n" _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
