mirror of
https://github.com/Ed94/Odin.git
synced 2026-07-18 00:41:26 -07:00
Update to LLVM-17
This commit is contained in:
+72
-36
@@ -16,11 +16,18 @@
|
||||
#ifndef LLVM_C_DEBUGINFO_H
|
||||
#define LLVM_C_DEBUGINFO_H
|
||||
|
||||
#include "llvm-c/Core.h"
|
||||
#include "llvm-c/ExternC.h"
|
||||
#include "llvm-c/Types.h"
|
||||
|
||||
LLVM_C_EXTERN_C_BEGIN
|
||||
|
||||
/**
|
||||
* @defgroup LLVMCCoreDebugInfo Debug Information
|
||||
* @ingroup LLVMCCore
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* Debug info flags.
|
||||
*/
|
||||
@@ -109,6 +116,16 @@ typedef enum {
|
||||
LLVMDWARFSourceLanguageFortran08,
|
||||
LLVMDWARFSourceLanguageRenderScript,
|
||||
LLVMDWARFSourceLanguageBLISS,
|
||||
LLVMDWARFSourceLanguageKotlin,
|
||||
LLVMDWARFSourceLanguageZig,
|
||||
LLVMDWARFSourceLanguageCrystal,
|
||||
LLVMDWARFSourceLanguageC_plus_plus_17,
|
||||
LLVMDWARFSourceLanguageC_plus_plus_20,
|
||||
LLVMDWARFSourceLanguageC17,
|
||||
LLVMDWARFSourceLanguageFortran18,
|
||||
LLVMDWARFSourceLanguageAda2005,
|
||||
LLVMDWARFSourceLanguageAda2012,
|
||||
LLVMDWARFSourceLanguageMojo,
|
||||
// Vendor extensions:
|
||||
LLVMDWARFSourceLanguageMips_Assembler,
|
||||
LLVMDWARFSourceLanguageGOOGLE_RenderScript,
|
||||
@@ -161,7 +178,9 @@ enum {
|
||||
LLVMDIMacroFileMetadataKind,
|
||||
LLVMDICommonBlockMetadataKind,
|
||||
LLVMDIStringTypeMetadataKind,
|
||||
LLVMDIGenericSubrangeMetadataKind
|
||||
LLVMDIGenericSubrangeMetadataKind,
|
||||
LLVMDIArgListMetadataKind,
|
||||
LLVMDIAssignIDMetadataKind,
|
||||
};
|
||||
typedef unsigned LLVMMetadataKind;
|
||||
|
||||
@@ -225,6 +244,13 @@ void LLVMDisposeDIBuilder(LLVMDIBuilderRef Builder);
|
||||
*/
|
||||
void LLVMDIBuilderFinalize(LLVMDIBuilderRef Builder);
|
||||
|
||||
/**
|
||||
* Finalize a specific subprogram.
|
||||
* No new variables may be added to this subprogram afterwards.
|
||||
*/
|
||||
void LLVMDIBuilderFinalizeSubprogram(LLVMDIBuilderRef Builder,
|
||||
LLVMMetadataRef Subprogram);
|
||||
|
||||
/**
|
||||
* A CompileUnit provides an anchor for all debugging
|
||||
* information generated during this instance of compilation.
|
||||
@@ -388,48 +414,48 @@ LLVMDIBuilderCreateImportedModuleFromNamespace(LLVMDIBuilderRef Builder,
|
||||
* \param ImportedEntity Previous imported entity to alias.
|
||||
* \param File File where the declaration is located.
|
||||
* \param Line Line number of the declaration.
|
||||
* \param Elements Renamed elements.
|
||||
* \param NumElements Number of renamed elements.
|
||||
*/
|
||||
LLVMMetadataRef
|
||||
LLVMDIBuilderCreateImportedModuleFromAlias(LLVMDIBuilderRef Builder,
|
||||
LLVMMetadataRef Scope,
|
||||
LLVMMetadataRef ImportedEntity,
|
||||
LLVMMetadataRef File,
|
||||
unsigned Line);
|
||||
LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromAlias(
|
||||
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope,
|
||||
LLVMMetadataRef ImportedEntity, LLVMMetadataRef File, unsigned Line,
|
||||
LLVMMetadataRef *Elements, unsigned NumElements);
|
||||
|
||||
/**
|
||||
* Create a descriptor for an imported module.
|
||||
* \param Builder The \c DIBuilder.
|
||||
* \param Scope The scope this module is imported into
|
||||
* \param M The module being imported here
|
||||
* \param File File where the declaration is located.
|
||||
* \param Line Line number of the declaration.
|
||||
* \param Builder The \c DIBuilder.
|
||||
* \param Scope The scope this module is imported into
|
||||
* \param M The module being imported here
|
||||
* \param File File where the declaration is located.
|
||||
* \param Line Line number of the declaration.
|
||||
* \param Elements Renamed elements.
|
||||
* \param NumElements Number of renamed elements.
|
||||
*/
|
||||
LLVMMetadataRef
|
||||
LLVMDIBuilderCreateImportedModuleFromModule(LLVMDIBuilderRef Builder,
|
||||
LLVMMetadataRef Scope,
|
||||
LLVMMetadataRef M,
|
||||
LLVMMetadataRef File,
|
||||
unsigned Line);
|
||||
LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromModule(
|
||||
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef M,
|
||||
LLVMMetadataRef File, unsigned Line, LLVMMetadataRef *Elements,
|
||||
unsigned NumElements);
|
||||
|
||||
/**
|
||||
* Create a descriptor for an imported function, type, or variable. Suitable
|
||||
* for e.g. FORTRAN-style USE declarations.
|
||||
* \param Builder The DIBuilder.
|
||||
* \param Scope The scope this module is imported into.
|
||||
* \param Decl The declaration (or definition) of a function, type,
|
||||
or variable.
|
||||
* \param File File where the declaration is located.
|
||||
* \param Line Line number of the declaration.
|
||||
* \param Name A name that uniquely identifies this imported declaration.
|
||||
* \param NameLen The length of the C string passed to \c Name.
|
||||
* \param Builder The DIBuilder.
|
||||
* \param Scope The scope this module is imported into.
|
||||
* \param Decl The declaration (or definition) of a function, type,
|
||||
or variable.
|
||||
* \param File File where the declaration is located.
|
||||
* \param Line Line number of the declaration.
|
||||
* \param Name A name that uniquely identifies this imported
|
||||
declaration.
|
||||
* \param NameLen The length of the C string passed to \c Name.
|
||||
* \param Elements Renamed elements.
|
||||
* \param NumElements Number of renamed elements.
|
||||
*/
|
||||
LLVMMetadataRef
|
||||
LLVMDIBuilderCreateImportedDeclaration(LLVMDIBuilderRef Builder,
|
||||
LLVMMetadataRef Scope,
|
||||
LLVMMetadataRef Decl,
|
||||
LLVMMetadataRef File,
|
||||
unsigned Line,
|
||||
const char *Name, size_t NameLen);
|
||||
LLVMMetadataRef LLVMDIBuilderCreateImportedDeclaration(
|
||||
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef Decl,
|
||||
LLVMMetadataRef File, unsigned Line, const char *Name, size_t NameLen,
|
||||
LLVMMetadataRef *Elements, unsigned NumElements);
|
||||
|
||||
/**
|
||||
* Creates a new DebugLocation that describes a source location.
|
||||
@@ -1087,7 +1113,7 @@ LLVMMetadataRef LLVMDIBuilderGetOrCreateArray(LLVMDIBuilderRef Builder,
|
||||
* \param Length Length of the address operation array.
|
||||
*/
|
||||
LLVMMetadataRef LLVMDIBuilderCreateExpression(LLVMDIBuilderRef Builder,
|
||||
int64_t *Addr, size_t Length);
|
||||
uint64_t *Addr, size_t Length);
|
||||
|
||||
/**
|
||||
* Create a new descriptor for the specified variable that does not have an
|
||||
@@ -1097,7 +1123,7 @@ LLVMMetadataRef LLVMDIBuilderCreateExpression(LLVMDIBuilderRef Builder,
|
||||
*/
|
||||
LLVMMetadataRef
|
||||
LLVMDIBuilderCreateConstantValueExpression(LLVMDIBuilderRef Builder,
|
||||
int64_t Value);
|
||||
uint64_t Value);
|
||||
|
||||
/**
|
||||
* Create a new descriptor for the specified variable.
|
||||
@@ -1124,6 +1150,12 @@ LLVMMetadataRef LLVMDIBuilderCreateGlobalVariableExpression(
|
||||
unsigned LineNo, LLVMMetadataRef Ty, LLVMBool LocalToUnit,
|
||||
LLVMMetadataRef Expr, LLVMMetadataRef Decl, uint32_t AlignInBits);
|
||||
|
||||
|
||||
/**
|
||||
* Get the dwarf::Tag of a DINode
|
||||
*/
|
||||
uint16_t LLVMGetDINodeTag(LLVMMetadataRef MD);
|
||||
|
||||
/**
|
||||
* Retrieves the \c DIVariable associated with this global variable expression.
|
||||
* \param GVE The global variable expression.
|
||||
@@ -1359,6 +1391,10 @@ void LLVMInstructionSetDebugLoc(LLVMValueRef Inst, LLVMMetadataRef Loc);
|
||||
*/
|
||||
LLVMMetadataKind LLVMGetMetadataKind(LLVMMetadataRef Metadata);
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
LLVM_C_EXTERN_C_END
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user