35 LLVMDIBuilderRef LLVMNewDIBuilder(LLVMModuleRef m); |
35 LLVMDIBuilderRef LLVMNewDIBuilder(LLVMModuleRef m); |
36 |
36 |
37 void LLVMDIBuilderDestroy(LLVMDIBuilderRef d); |
37 void LLVMDIBuilderDestroy(LLVMDIBuilderRef d); |
38 void LLVMDIBuilderFinalize(LLVMDIBuilderRef d); |
38 void LLVMDIBuilderFinalize(LLVMDIBuilderRef d); |
39 |
39 |
|
40 /** |
|
41 * A CompileUnit provides an anchor for all debugging |
|
42 * information generated during this instance of compilation. |
|
43 * \param Lang Source programming language, eg. LLVM_DW_LANG_C99. |
|
44 * User-defined languages should start at 0x8000. |
|
45 * \param File File name |
|
46 * \param Dir Directory |
|
47 * \param Producer Identify the producer of debugging information |
|
48 * and code. Usually this is a compiler |
|
49 * version string. |
|
50 * \param isOptimized A boolean flag which indicates whether optimization |
|
51 * is enabled or not. |
|
52 * \param Flags This string lists command line options. This |
|
53 * string is directly embedded in debug info |
|
54 * output which may be used by a tool |
|
55 * analyzing generated debugging information. |
|
56 * \param RuntimeVersion This indicates runtime version for languages like |
|
57 * Objective-C. |
|
58 * |
|
59 * \see LLVMDWARFLamguage |
|
60 * \see llvm::DIBuilder::createCompileUnit() |
|
61 */ |
40 LLVMMetadataRef |
62 LLVMMetadataRef |
41 LLVMDIBuilderCreateCompileUnit(LLVMDIBuilderRef D, unsigned Language, |
63 LLVMDIBuilderCreateCompileUnit(LLVMDIBuilderRef D, unsigned Language, |
42 const char *File, const char *Dir, |
64 const char *File, const char *Dir, |
43 const char *Producer, int Optimized, |
65 const char *Producer, int Optimized, |
44 const char *Flags, unsigned RuntimeVersion); |
66 const char *Flags, unsigned RuntimeVersion); |
71 LLVMDIBuilderRef Dref, LLVMMetadataRef Scope, |
93 LLVMDIBuilderRef Dref, LLVMMetadataRef Scope, |
72 const char *Name, LLVMMetadataRef File, unsigned Line, LLVMMetadataRef Ty, |
94 const char *Name, LLVMMetadataRef File, unsigned Line, LLVMMetadataRef Ty, |
73 int AlwaysPreserve, unsigned Flags, unsigned ArgNo); |
95 int AlwaysPreserve, unsigned Flags, unsigned ArgNo); |
74 |
96 |
75 |
97 |
|
98 /** |
|
99 * Create debugging information entry for a basic type. |
|
100 * |
|
101 * \param Name Type name. |
|
102 * \param SizeInBits Size of the type. |
|
103 * \param AlignInBits Type alignment. |
|
104 * \param Encoding DWARF encoding code, e.g. LLVM_DW_ATE_float. |
|
105 */ |
76 LLVMMetadataRef LLVMDIBuilderCreateBasicType(LLVMDIBuilderRef D, |
106 LLVMMetadataRef LLVMDIBuilderCreateBasicType(LLVMDIBuilderRef D, |
77 const char *Name, |
107 const char *Name, |
78 uint64_t SizeInBits, |
108 uint64_t SizeInBits, |
79 uint64_t AlignInBits, |
109 uint64_t AlignInBits, |
80 unsigned Encoding); |
110 unsigned Encoding); |
134 |
164 |
135 LLVMValueRef LLVMDIBuilderInsertDeclareAtEnd(LLVMDIBuilderRef D, |
165 LLVMValueRef LLVMDIBuilderInsertDeclareAtEnd(LLVMDIBuilderRef D, |
136 LLVMValueRef Storage, |
166 LLVMValueRef Storage, |
137 LLVMMetadataRef VarInfo, |
167 LLVMMetadataRef VarInfo, |
138 LLVMMetadataRef Expr, |
168 LLVMMetadataRef Expr, |
|
169 LLVMMetadataRef Location, |
139 LLVMBasicBlockRef Block); |
170 LLVMBasicBlockRef Block); |
140 |
171 |
141 LLVMValueRef LLVMDIBuilderInsertValueAtEnd(LLVMDIBuilderRef D, LLVMValueRef Val, |
172 LLVMValueRef LLVMDIBuilderInsertValueAtEnd(LLVMDIBuilderRef D, LLVMValueRef Val, |
142 uint64_t Offset, |
173 uint64_t Offset, |
143 LLVMMetadataRef VarInfo, |
174 LLVMMetadataRef VarInfo, |
144 LLVMMetadataRef Expr, |
175 LLVMMetadataRef Expr, |
|
176 LLVMMetadataRef Location, |
145 LLVMBasicBlockRef Block); |
177 LLVMBasicBlockRef Block); |
146 |
178 |
147 #ifdef __cplusplus |
179 #ifdef __cplusplus |
148 } // extern "C" |
180 } // extern "C" |
149 #endif |
181 #endif |