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.


Compiler implementation of the D programming language.
nothrow @nogc void dt_free(dt_t* dt);
Free a data definition struct.
nothrow @nogc void dt_term();
Free free list.
nothrow @nogc void dtpatchoffset(dt_t* dt, uint offset);
nothrow @nogc void init_common(Symbol* s);
Make a common block for s.
nothrow @nogc uint dt_size(const(dt_t)* dtstart);
Compute size of a dt
nothrow @nogc bool dtallzeros(const(dt_t)* dt);
Return true if dt is all zeros.
nothrow @nogc bool dtpointers(const(dt_t)* dtstart);
Return true if dt contains pointers (requires relocations).
nothrow @nogc void dt2common(dt_t** pdt);
Turn DT_azeros into DTcommon
struct DtBuilder;
nothrow @nogc dt_t* finish();
Finish and return completed data structure.
nothrow @nogc void nbytes(uint size, const(char)* ptr);
Append data represented by ptr[0..size]
nothrow @nogc void abytes(tym_t ty, uint offset, uint size, const(char)* ptr, uint nzeros);
Write a reference to the data ptr[0..size+nzeros]
nothrow @nogc void dword(int value);
Write 4 bytes of value.
nothrow @nogc void size(ulong value);
Write a size_t value.
nothrow @nogc void nzeros(uint size);
Write a bunch of zeros
nothrow @nogc void xoff(Symbol* s, uint offset, tym_t ty);
Write a reference to s+offset
nothrow @nogc void xoff(Symbol* s, uint offset);
Create reference to s+offset
nothrow @nogc dt_t* xoffpatch(Symbol* s, uint offset, tym_t ty);
Like xoff(), but returns handle with which to patch 'offset' value.
nothrow @nogc Symbol* dtoff(dt_t* dt, uint offset);
Create a reference to another dt.
the internal symbol used for the other dt
nothrow @nogc void coff(uint offset);
Write reference to offset in code segment.
nothrow @nogc void cat(dt_t* dt);
Append dt to data.
nothrow @nogc void cat(ref DtBuilder dtb);
Append dtb to data.
nothrow @nogc void repeat(dt_t* dt, size_t count);
Repeat a list of dt_t's count times.
nothrow @nogc uint length();
Return size of data.
nothrow @nogc bool isZeroLength();
Return true if size of data is 0.
nothrow @nogc dt_t* dt_get_nzeros(uint n);
Temporary hack to initialize a dt_t* for C.