Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
a local clone.
dmd.tocvdebug
Generate debug info in the CV4 debug format.
Authors:
License:
Source tocvdebug.d
Documentation https://dlang.org/phobos/dmd_tocvdebug.html
- pure nothrow @nogc @safe uint
visibilityToCVAttr
(Visibility.Kindvis
); - CV4 pg. 25 Convert D visibility attribute to cv attribute.
- uint
cv_align
(ubyte*p
, uintn
); - Align and pad.Returns:aligned count
- void
cv_udt
(const char*id
, uinttypidx
); - write a UDT record to the object fileParameters:
char* id
name of user defined type uint typidx
type index - void
toDebug
(EnumDeclarationed
); - Emit symbolic debug info in CV format.
- struct
CvFieldList
; - Helper struct for field list records LF_FIELDLIST/LF_FIELDLIST_V2if the size exceeds the maximum length of a record, the last entry is an LF_INDEX entry with the type index pointing to the next field list record Processing is done in two phases: Phase 1: computing the size of the field list and distributing it over multiple records
- construct CvFieldList with some precalculated field count/length
- for each field, call count(length of field)
- call alloc() to allocate debtyp's
- for each field,
- call writePtr() to get a pointer into the current debtyp
- fill memory with field data
- call written(length of field)
- call debtyp() to create type records and return the index of the first one
- int
cvMember
(Dsymbols
, ubyte*p
); - Insert CV info into *p.Returns:number of bytes written, or that would be written if p==null
Copyright © 1999-2024 by the D Language Foundation | Page generated by
Ddoc on Wed Dec 11 08:33:37 2024