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 uintvisibilityToCVAttr(Visibility.Kindvis);
- CV4 pg. 25 Convert D visibility attribute to cv attribute.
- uintcv_align(ubyte*p, uintn);
- Align and pad.Returns:aligned count
- voidcv_udt(const char*id, uinttypidx);
- write a UDT record to the object fileParameters:char* idname of user defined type uint typidxtype index 
- voidtoDebug(EnumDeclarationed);
- Emit symbolic debug info in CV format.
- structCvFieldList;
- 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
 
- intcvMember(Dsymbols, ubyte*p);
- Insert CV info into *p.Returns:number of bytes written, or that would be written if p==null
Copyright © 1999-2025 by the D Language Foundation | Page generated by
Ddoc on Mon Mar 31 10:28:10 2025