Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.7 KiB

  1. //===- SystemUtils.h - Utilities to do low-level system stuff ---*- C++ -*-===//
  2. //
  3. // The LLVM Compiler Infrastructure
  4. //
  5. // This file is distributed under the University of Illinois Open Source
  6. // License. See LICENSE.TXT for details.
  7. //
  8. //===----------------------------------------------------------------------===//
  9. //
  10. // This file contains functions used to do a variety of low-level, often
  11. // system-specific, tasks.
  12. //
  13. //===----------------------------------------------------------------------===//
  14. #ifndef LLVM_SUPPORT_SYSTEMUTILS_H
  15. #define LLVM_SUPPORT_SYSTEMUTILS_H
  16. #include <string>
  17. namespace llvm {
  18. class raw_ostream;
  19. namespace sys { class Path; }
  20. /// Determine if the raw_ostream provided is connected to a terminal. If so,
  21. /// generate a warning message to errs() advising against display of bitcode
  22. /// and return true. Otherwise just return false.
  23. /// @brief Check for output written to a console
  24. bool CheckBitcodeOutputToConsole(
  25. raw_ostream &stream_to_check, ///< The stream to be checked
  26. bool print_warning = true ///< Control whether warnings are printed
  27. );
  28. /// PrependMainExecutablePath - Prepend the path to the program being executed
  29. /// to \p ExeName, given the value of argv[0] and the address of main()
  30. /// itself. This allows us to find another LLVM tool if it is built in the same
  31. /// directory. An empty string is returned on error; note that this function
  32. /// just mainpulates the path and doesn't check for executability.
  33. /// @brief Find a named executable.
  34. sys::Path PrependMainExecutablePath(const std::string &ExeName,
  35. const char *Argv0, void *MainAddr);
  36. } // End llvm namespace
  37. #endif