Report a bug
If you spot a problem with this page, click here to create a GitHub 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.backend.cc

Common definitions
Compiler implementation of the D programming language.
Authors:
struct Srcpos;
Position in source file
struct Pstate;
Current 'state' of the compiler. Used to gather together most global variables. This struct is saved/restored during function body parsing.
struct Cstate;
Global variables.
alias ClassDeclaration_ = void*;
Basic blocks: Basic blocks are a linked list of all the basic blocks in a function. startblock heads the list.
struct BlockState;
While constructing a block list, BlockState maintains the global state needed to construct that list.
enum BC: ubyte;
Basic block control flow operators.
struct BlockRange;
Range for blocks.
alias func_flags_t = uint;
Functions
struct baseclass_t;
Base classes are a list of these.
alias enum_flags_t = uint;
Special information for enums.
alias struct_flags_t = uint;
Special information for structs.
alias pflags_t = uint;
Function parameters: Pident identifier of parameter Ptype type of argument Psym symbol corresponding to Pident when using the parameter list as a symbol table
nothrow @nogc @trusted EHmethod ehmethod(Symbol* f);
Parameters:
Symbol* f function symbol
Returns:
exception method for f
enum FL: ubyte;
Element types. These should be combined with storage classes.
struct EEcontext;
Srcfiles
This is to support compiling expressions within the context of a function.