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.
ddmd.e2ir
Compiler implementation of the
D programming language.
Authors:
License:
Source: e2ir.d
- elem*
addressElem(elem*e, Typet, boolalwaysCopy= false); - Take address of an elem.
- elem*
array_toPtr(Typet, elem*e); - Convert array to a pointer to the data.
- elem*
array_toDarray(Typet, elem*e); - Convert array to a dynamic array.
- elem*
sarray_toDarray(Locloc, Typetfrom, Typetto, elem*e); - elem*
getTypeInfo(Typet, IRState*irs); - StructDeclaration
needsPostblit(Typet); - Determine if
tis a struct that has postblit. - StructDeclaration
needsDtor(Typet); - Determine if
tis a struct that has destructor. - void
clearStringTab(); - Reset stringTab[] between object files being emitted, because the symbols are local.
- elem*
fillHole(Symbol*stmp, size_t*poffset, size_toffset2, size_tmaxoff); - Generate elem to zero fill contents of Symbol
stmpfrom *poffset..offset2. May store anywhere from 0..maxoff, as this function tries to use aligned int stores whereever possible. Update *poffsetto end of initialized hole; *poffsetwill be >=offset2. - elem*
appendDtors(IRState*irs, elem*er, size_tstarti, size_tendi); - Add destructors
- elem*
toElemDtor(Expressione, IRState*irs); - Evaluate Expression, then call destructors on any temporaries in it.
- Symbol*
toStringSymbol(const(char)*str, size_tlen, size_tsz); - Write read-only string to object file, create a local symbol for it. Makes a copy of
str's contents, does not keep a reference to it.Parameters:const(char)* strstring size_t lennumber of code units in string size_t sznumber of bytes per code unit comdat emit string in its own comdat (default is read-only segment). Comdats are useful when linker does not coalesce redundant strings. Returns:Symbol - Symbol*
toStringSymbol(StringExpse); - Turn StringExp into Symbol.
- elem*
filelinefunction(IRState*irs, Loc*loc); - Return an elem that is the file, line, and function suitable for insertion into the parameter list.
- elem*
buildArrayBoundsError(IRState*irs, ref const Locloc); - Construct elem to run when an array bounds check fails.Returns:elem generated
- void
toTraceGC(IRState*irs, elem*e, Loc*loc); - Replace call to GC allocator with call to tracing GC allocator.Parameters:
IRState* irsto get function from elem* eelem to modify eloc to get file/line from - elem*
callCAssert(IRState*irs, Locloc, Expressionexp, Expressionemsg, const(char)*str); - Generate call to C's assert failure function. One of
exp,emsg, orstrmust not benull.Parameters:IRState* irscontext Loc loclocation to use for assert message Expression expif not nullexpression to test (not evaluated, but converted to a string)Expression emsgif not nullthen informative message to be computed at run timeconst(char)* strif not nullthen informative message stringReturns:generated call
Copyright © 1999-2017 by the D Language Foundation | Page generated by
Ddoc on (no date time)