dmd.backend.cv8

CodeView 8 symbolic debug info generation

This module generates the .debug$S and `.debug$T` sections for Win64, which are the MS-Coff symbolic debug info and type debug info sections.

Compiler implementation of the D programming language.

Members

Functions

cv8_addfile
uint cv8_addfile(const(char)* filename)

Add source file, if it isn't already there. Return offset into F4.

cv8_daarray
idx_t cv8_daarray(type* t, idx_t keyidx, idx_t validx)

Return type index for a aarray of type ValueKey Input: t associative array type keyidx key type validx value type

cv8_darray
idx_t cv8_darray(type* t, idx_t etypidx)

Return type index for a darray of type E[] Input: t darray type etypidx type index for E

cv8_ddelegate
idx_t cv8_ddelegate(type* t, idx_t functypidx)

Return type index for a delegate Input: t delegate type functypidx type index for pointer to function

cv8_func_start
void cv8_func_start(Symbol* sfunc)

Called at the start of a function.

cv8_fwdref
idx_t cv8_fwdref(Symbol* s)

Put out a forward ref for structs, unions, and classes. Only put out the real definitions with toDebug().

cv8_initfile
void cv8_initfile(const(char)* filename)

Called at the start of an object file generation. One source file can generate multiple object files; this starts an object file. Input: filename source file name

cv8_initmodule
void cv8_initmodule(const(char)* filename, const(char)* modulename)

Called at the start of a module. Note that there can be multiple modules in one object file. cv8_initfile() must be called first.

cv8_linnum
void cv8_linnum(Srcpos srcpos, uint offset)
cv8_regnum
int cv8_regnum(Symbol* s)

Get Codeview register number for symbol s.

cv8_udt
void cv8_udt(const(char)* id, idx_t typidx)

Put out a name for a user defined type. Input: id the name typidx and its type

Meta