Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. //===- Version.h - Clang Version Number -------------------------*- C++ -*-===//
  2. //
  3. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  4. // See https://llvm.org/LICENSE.txt for license information.
  5. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  6. //
  7. //===----------------------------------------------------------------------===//
  8. ///
  9. /// \file
  10. /// Defines version macros and version-related utility functions
  11. /// for Clang.
  12. ///
  13. //===----------------------------------------------------------------------===//
  14.  
  15. #ifndef LLVM_CLANG_BASIC_VERSION_H
  16. #define LLVM_CLANG_BASIC_VERSION_H
  17.  
  18. #include "clang/Basic/Version.inc"
  19. #include "llvm/ADT/StringRef.h"
  20.  
  21. namespace clang {
  22.   /// Retrieves the repository path (e.g., Subversion path) that
  23.   /// identifies the particular Clang branch, tag, or trunk from which this
  24.   /// Clang was built.
  25.   std::string getClangRepositoryPath();
  26.  
  27.   /// Retrieves the repository path from which LLVM was built.
  28.   ///
  29.   /// This supports LLVM residing in a separate repository from clang.
  30.   std::string getLLVMRepositoryPath();
  31.  
  32.   /// Retrieves the repository revision number (or identifier) from which
  33.   /// this Clang was built.
  34.   std::string getClangRevision();
  35.  
  36.   /// Retrieves the repository revision number (or identifier) from which
  37.   /// LLVM was built.
  38.   ///
  39.   /// If Clang and LLVM are in the same repository, this returns the same
  40.   /// string as getClangRevision.
  41.   std::string getLLVMRevision();
  42.  
  43.   /// Retrieves the full repository version that is an amalgamation of
  44.   /// the information in getClangRepositoryPath() and getClangRevision().
  45.   std::string getClangFullRepositoryVersion();
  46.  
  47.   /// Retrieves a string representing the complete clang version,
  48.   /// which includes the clang version number, the repository version,
  49.   /// and the vendor tag.
  50.   std::string getClangFullVersion();
  51.  
  52.   /// Like getClangFullVersion(), but with a custom tool name.
  53.   std::string getClangToolFullVersion(llvm::StringRef ToolName);
  54.  
  55.   /// Retrieves a string representing the complete clang version suitable
  56.   /// for use in the CPP __VERSION__ macro, which includes the clang version
  57.   /// number, the repository version, and the vendor tag.
  58.   std::string getClangFullCPPVersion();
  59. }
  60.  
  61. #endif // LLVM_CLANG_BASIC_VERSION_H
  62.