Clean up comments in include/llvm-c/DebugInfo.h

Patch by Harlan Haskins!

Differential Revision: https://reviews.llvm.org/D39568

llvm-svn: 317271
This commit is contained in:
Adrian Prantl 2017-11-02 21:35:37 +00:00
parent eac00c3be6
commit 07eaa9b46e
1 changed files with 84 additions and 59 deletions

View File

@ -23,7 +23,9 @@
extern "C" { extern "C" {
#endif #endif
/// Debug info flags. /**
* Debug info flags.
*/
typedef enum { typedef enum {
LLVMDIFlagZero = 0, LLVMDIFlagZero = 0,
LLVMDIFlagPrivate = 1, LLVMDIFlagPrivate = 1,
@ -58,7 +60,9 @@ typedef enum {
LLVMDIFlagVirtualInheritance LLVMDIFlagVirtualInheritance
} LLVMDIFlags; } LLVMDIFlags;
/// Source languages known by DWARF. /**
* Source languages known by DWARF.
*/
typedef enum { typedef enum {
LLVMDWARFSourceLanguageC89, LLVMDWARFSourceLanguageC89,
LLVMDWARFSourceLanguageC, LLVMDWARFSourceLanguageC,
@ -106,68 +110,85 @@ typedef enum {
LLVMDWARFSourceLanguageBORLAND_Delphi LLVMDWARFSourceLanguageBORLAND_Delphi
} LLVMDWARFSourceLanguage; } LLVMDWARFSourceLanguage;
/// The amount of debug information to emit. /**
* The amount of debug information to emit.
*/
typedef enum { typedef enum {
LLVMDWARFEmissionNone = 0, LLVMDWARFEmissionNone = 0,
LLVMDWARFEmissionFull, LLVMDWARFEmissionFull,
LLVMDWARFEmissionLineTablesOnly LLVMDWARFEmissionLineTablesOnly
} LLVMDWARFEmissionKind; } LLVMDWARFEmissionKind;
/// The current debug metadata version number. /**
* The current debug metadata version number.
*/
unsigned LLVMDebugMetadataVersion(void); unsigned LLVMDebugMetadataVersion(void);
/// The version of debug metadata that's present in the provided \c Module. /**
* The version of debug metadata that's present in the provided \c Module.
*/
unsigned LLVMGetModuleDebugMetadataVersion(LLVMModuleRef Module); unsigned LLVMGetModuleDebugMetadataVersion(LLVMModuleRef Module);
/// Strip debug info in the module if it exists. /**
/// * Strip debug info in the module if it exists.
/// To do this, we remove all calls to the debugger intrinsics and any named * To do this, we remove all calls to the debugger intrinsics and any named
/// metadata for debugging. We also remove debug locations for instructions. * metadata for debugging. We also remove debug locations for instructions.
/// Return true if module is modified. * Return true if module is modified.
*/
LLVMBool LLVMStripModuleDebugInfo(LLVMModuleRef Module); LLVMBool LLVMStripModuleDebugInfo(LLVMModuleRef Module);
/// Construct a builder for a module, and do not allow for unresolved nodes /**
/// attached to the module. * Construct a builder for a module, and do not allow for unresolved nodes
* attached to the module.
*/
LLVMDIBuilderRef LLVMCreateDIBuilderDisallowUnresolved(LLVMModuleRef M); LLVMDIBuilderRef LLVMCreateDIBuilderDisallowUnresolved(LLVMModuleRef M);
/// Construct a builder for a module and collect unresolved nodes attached /**
/// to the module in order to resolve cycles during a call to * Construct a builder for a module and collect unresolved nodes attached
/// \c LLVMDIBuilderFinalize. * to the module in order to resolve cycles during a call to
* \c LLVMDIBuilderFinalize.
*/
LLVMDIBuilderRef LLVMCreateDIBuilder(LLVMModuleRef M); LLVMDIBuilderRef LLVMCreateDIBuilder(LLVMModuleRef M);
/// Deallocates the DIBuilder and everything it owns. /**
/// @note You must call \c LLVMDIBuilderFinalize before this * Deallocates the DIBuilder and everything it owns.
* @note You must call \c LLVMDIBuilderFinalize before this
*/
void LLVMDisposeDIBuilder(LLVMDIBuilderRef Builder); void LLVMDisposeDIBuilder(LLVMDIBuilderRef Builder);
/// Construct any deferred debug info descriptors. /**
* Construct any deferred debug info descriptors.
*/
void LLVMDIBuilderFinalize(LLVMDIBuilderRef Builder); void LLVMDIBuilderFinalize(LLVMDIBuilderRef Builder);
/// A CompileUnit provides an anchor for all debugging /**
/// information generated during this instance of compilation. * A CompileUnit provides an anchor for all debugging
/// \param Lang Source programming language, eg. * information generated during this instance of compilation.
/// \c LLVMDWARFSourceLanguageC99 * \param Lang Source programming language, eg.
/// \param FileRef File info. * \c LLVMDWARFSourceLanguageC99
/// \param Producer Identify the producer of debugging information * \param FileRef File info.
/// and code. Usually this is a compiler * \param Producer Identify the producer of debugging information
/// version string. * and code. Usually this is a compiler
/// \param ProducerLen The length of the C string passed to \c Producer. * version string.
/// \param isOptimized A boolean flag which indicates whether optimization * \param ProducerLen The length of the C string passed to \c Producer.
/// is enabled or not. * \param isOptimized A boolean flag which indicates whether optimization
/// \param Flags This string lists command line options. This * is enabled or not.
/// string is directly embedded in debug info * \param Flags This string lists command line options. This
/// output which may be used by a tool * string is directly embedded in debug info
/// analyzing generated debugging information. * output which may be used by a tool
/// \param FlagsLen The length of the C string passed to \c Flags. * analyzing generated debugging information.
/// \param RuntimeVer This indicates runtime version for languages like * \param FlagsLen The length of the C string passed to \c Flags.
/// Objective-C. * \param RuntimeVer This indicates runtime version for languages like
/// \param SplitName The name of the file that we'll split debug info * Objective-C.
/// out into. * \param SplitName The name of the file that we'll split debug info
/// \param SplitNameLen The length of the C string passed to \c SplitName. * out into.
/// \param Kind The kind of debug information to generate. * \param SplitNameLen The length of the C string passed to \c SplitName.
/// \param DWOId The DWOId if this is a split skeleton compile unit. * \param Kind The kind of debug information to generate.
/// \param SplitDebugInlining Whether to emit inline debug info. * \param DWOId The DWOId if this is a split skeleton compile unit.
/// \param DebugInfoForProfiling Whether to emit extra debug info for * \param SplitDebugInlining Whether to emit inline debug info.
/// profile collection. * \param DebugInfoForProfiling Whether to emit extra debug info for
* profile collection.
*/
LLVMMetadataRef LLVMDIBuilderCreateCompileUnit( LLVMMetadataRef LLVMDIBuilderCreateCompileUnit(
LLVMDIBuilderRef Builder, LLVMDWARFSourceLanguage Lang, LLVMDIBuilderRef Builder, LLVMDWARFSourceLanguage Lang,
LLVMMetadataRef FileRef, const char *Producer, size_t ProducerLen, LLVMMetadataRef FileRef, const char *Producer, size_t ProducerLen,
@ -176,32 +197,36 @@ LLVMMetadataRef LLVMDIBuilderCreateCompileUnit(
LLVMDWARFEmissionKind Kind, unsigned DWOId, LLVMBool SplitDebugInlining, LLVMDWARFEmissionKind Kind, unsigned DWOId, LLVMBool SplitDebugInlining,
LLVMBool DebugInfoForProfiling); LLVMBool DebugInfoForProfiling);
/// Create a file descriptor to hold debugging information for a file. /**
/// \param Builder The DIBuilder. * Create a file descriptor to hold debugging information for a file.
/// \param Filename File name. * \param Builder The DIBuilder.
/// \param FilenameLen The length of the C string passed to \c Filename. * \param Filename File name.
/// \param Directory Directory. * \param FilenameLen The length of the C string passed to \c Filename.
/// \param DirectoryLen The length of the C string passed to \c Directory. * \param Directory Directory.
* \param DirectoryLen The length of the C string passed to \c Directory.
*/
LLVMMetadataRef LLVMMetadataRef
LLVMDIBuilderCreateFile(LLVMDIBuilderRef Builder, const char *Filename, LLVMDIBuilderCreateFile(LLVMDIBuilderRef Builder, const char *Filename,
size_t FilenameLen, const char *Directory, size_t FilenameLen, const char *Directory,
size_t DirectoryLen); size_t DirectoryLen);
/// Creates a new DebugLocation that describes a source location. /**
/// \param Line The line in the source file. * Creates a new DebugLocation that describes a source location.
/// \param Column The column in the source file. * \param Line The line in the source file.
/// \param Scope The scope in which the location resides. * \param Column The column in the source file.
/// \param InlinedAt The scope where this location was inlined, if at all. * \param Scope The scope in which the location resides.
/// (optional). * \param InlinedAt The scope where this location was inlined, if at all.
/// \note If the item to which this location is attached cannot be * (optional).
/// attributed to a source line, pass 0 for the line and column. * \note If the item to which this location is attached cannot be
* attributed to a source line, pass 0 for the line and column.
*/
LLVMMetadataRef LLVMMetadataRef
LLVMDIBuilderCreateDebugLocation(LLVMContextRef Ctx, unsigned Line, LLVMDIBuilderCreateDebugLocation(LLVMContextRef Ctx, unsigned Line,
unsigned Column, LLVMMetadataRef Scope, unsigned Column, LLVMMetadataRef Scope,
LLVMMetadataRef InlinedAt); LLVMMetadataRef InlinedAt);
#ifdef __cplusplus #ifdef __cplusplus
} // end extern "C" } /* end extern "C" */
#endif #endif
#endif #endif