Advertisement
Guest User

Untitled

a guest
Feb 5th, 2021
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.96 KB | None | 0 0
  1. /*===-- llvm-c/Support.h - C Interface Types declarations ---------*- 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 types used by the C interface to LLVM. *|
  11. |* *|
  12. \*===----------------------------------------------------------------------===*/
  13.  
  14. #ifndef LLVM_C_TYPES_H
  15. #define LLVM_C_TYPES_H
  16.  
  17. #include "llvm-c/DataTypes.h"
  18. #include "llvm-c/ExternC.h"
  19.  
  20. LLVM_C_EXTERN_C_BEGIN
  21.  
  22. /**
  23. * @defgroup LLVMCSupportTypes Types and Enumerations
  24. *
  25. * @{
  26. */
  27.  
  28. typedef int LLVMBool;
  29.  
  30. /* Opaque types. */
  31.  
  32. /**
  33. * LLVM uses a polymorphic type hierarchy which C cannot represent, therefore
  34. * parameters must be passed as base types. Despite the declared types, most
  35. * of the functions provided operate only on branches of the type hierarchy.
  36. * The declared parameter names are descriptive and specify which type is
  37. * required. Additionally, each type hierarchy is documented along with the
  38. * functions that operate upon it. For more detail, refer to LLVM's C++ code.
  39. * If in doubt, refer to Core.cpp, which performs parameter downcasts in the
  40. * form unwrap<RequiredType>(Param).
  41. */
  42.  
  43. /**
  44. * Used to pass regions of memory through LLVM interfaces.
  45. *
  46. * @see llvm::MemoryBuffer
  47. */
  48. typedef struct LLVMOpaqueMemoryBuffer *LLVMMemoryBufferRef;
  49.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement