Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

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

  1. /*===-- llvm-c/Support.h - Support C Interface --------------------*- C -*-===*\
  2. |*                                                                            *|
  3. |* Part of the LLVM Project, under the Apache License v2.0 with LLVM          *|
  4. |* Exceptions.                                                                *|
  5. |* See https://llvm.org/LICENSE.txt for license information.                  *|
  6. |* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception                    *|
  7. |*                                                                            *|
  8. |*===----------------------------------------------------------------------===*|
  9. |*                                                                            *|
  10. |* This file defines the C interface to the LLVM support library.             *|
  11. |*                                                                            *|
  12. \*===----------------------------------------------------------------------===*/
  13.  
  14. #ifndef LLVM_C_SUPPORT_H
  15. #define LLVM_C_SUPPORT_H
  16.  
  17. #include "llvm-c/DataTypes.h"
  18. #include "llvm-c/ExternC.h"
  19. #include "llvm-c/Types.h"
  20.  
  21. LLVM_C_EXTERN_C_BEGIN
  22.  
  23. /**
  24.  * @addtogroup LLVMCCore
  25.  *
  26.  * @{
  27.  */
  28.  
  29. /**
  30.  * This function permanently loads the dynamic library at the given path.
  31.  * It is safe to call this function multiple times for the same library.
  32.  *
  33.  * @see sys::DynamicLibrary::LoadLibraryPermanently()
  34.   */
  35. LLVMBool LLVMLoadLibraryPermanently(const char* Filename);
  36.  
  37. /**
  38.  * This function parses the given arguments using the LLVM command line parser.
  39.  * Note that the only stable thing about this function is its signature; you
  40.  * cannot rely on any particular set of command line arguments being interpreted
  41.  * the same way across LLVM versions.
  42.  *
  43.  * @see llvm::cl::ParseCommandLineOptions()
  44.  */
  45. void LLVMParseCommandLineOptions(int argc, const char *const *argv,
  46.                                  const char *Overview);
  47.  
  48. /**
  49.  * This function will search through all previously loaded dynamic
  50.  * libraries for the symbol \p symbolName. If it is found, the address of
  51.  * that symbol is returned. If not, null is returned.
  52.  *
  53.  * @see sys::DynamicLibrary::SearchForAddressOfSymbol()
  54.  */
  55. void *LLVMSearchForAddressOfSymbol(const char *symbolName);
  56.  
  57. /**
  58.  * This functions permanently adds the symbol \p symbolName with the
  59.  * value \p symbolValue.  These symbols are searched before any
  60.  * libraries.
  61.  *
  62.  * @see sys::DynamicLibrary::AddSymbol()
  63.  */
  64. void LLVMAddSymbol(const char *symbolName, void *symbolValue);
  65.  
  66. /**
  67.  * @}
  68.  */
  69.  
  70. LLVM_C_EXTERN_C_END
  71.  
  72. #endif
  73.