dmd.backend.cc

Common definitions

Compiler implementation of the D programming language.

Members

Aliases

BC
alias BC = int

Basic block control flow operators. *

ClassDeclaration_
alias ClassDeclaration_ = void*

Basic blocks: Basic blocks are a linked list of all the basic blocks in a function. startblock heads the list.

FL
alias FL = ubyte

Element types. These should be combined with storage classes.

enum_flags_t
alias enum_flags_t = uint

Special information for enums.

func_flags_t
alias func_flags_t = uint

Functions

mptr_flags_t
alias mptr_flags_t = char

For virtual tables.

pflags_t
alias pflags_t = uint

Function parameters: Pident identifier of parameter Ptype type of argument Pelem default value for argument Psym symbol corresponding to Pident when using the parameter list as a symbol table For template-parameter-list: Pident identifier of parameter Ptype if NULL, this is a type-parameter else the type for a parameter-declaration value argument Pelem default value for value argument Pdeftype default value for type-parameter Pptpl template-parameter-list for template-template-parameter Psym default value for template-template-parameter For template-arg-list: (actual arguments) Pident NULL Ptype type-name Pelem expression (either Ptype or Pelem is NULL) Psym SCtemplate for template-template-argument

struct_flags_t
alias struct_flags_t = uint

Special information for structs.

Functions

Symbol_Salignsize (from dmd.backend.symbol)
int Symbol_Salignsize(Symbol s) via public import dmd.backend.symbol : Symbol_Salignsize, Symbol_Sisdead, Symbol_needThis, Symbol_isAffected;

Return alignment of symbol.

Symbol_Sisdead (from dmd.backend.symbol)
bool Symbol_Sisdead(Symbol s, bool anyInlineAsm) via public import dmd.backend.symbol : Symbol_Salignsize, Symbol_Sisdead, Symbol_needThis, Symbol_isAffected;

Aver if Symbol is not only merely dead, but really most sincerely dead.

Symbol_isAffected (from dmd.backend.symbol)
bool Symbol_isAffected(Symbol s) via public import dmd.backend.symbol : Symbol_Salignsize, Symbol_Sisdead, Symbol_needThis, Symbol_isAffected;

Determine if s may be affected if an assignment is done through a pointer.

Symbol_needThis (from dmd.backend.symbol)
int Symbol_needThis(Symbol s) via public import dmd.backend.symbol : Symbol_Salignsize, Symbol_Sisdead, Symbol_needThis, Symbol_isAffected;

Determine if symbol needs a 'this' pointer.

ehmethod
EHmethod ehmethod(Symbol* f)
list_symbol
inout(Symbol)* list_symbol(list_t lst)

Symbol Table

Static variables

cstate (from dmd.backend.var)
Cstate cstate; via public import dmd.backend.var : pstate, cstate;
Undocumented in source.
eecontext (from dmd.backend.ee)
EEcontext eecontext; via public import dmd.backend.ee : eecontext;
Undocumented in source.
pstate (from dmd.backend.var)
Pstate pstate; via public import dmd.backend.var : pstate, cstate;
Undocumented in source.

Structs

BlockRange
struct BlockRange

Range for blocks.

Cstate
struct Cstate

Global variables.

EEcontext
struct EEcontext

This is to support compiling expressions within the context of a function.

Pstate
struct Pstate

Current 'state' of the compiler. Used to gather together most global variables. This struct is saved/restored during function body parsing.

Srcpos
struct Srcpos

//////// Position in source file

Symbol
struct Symbol
Undocumented in source.
TME
struct TME

Information gathered about primary member template explicit specialization.

TMF
struct TMF

Information gathered about externally defined template member functions, member data, and member classes.

TMNE
struct TMNE

Information gathered about nested explicit specializations.

TMNF
struct TMNF

Information gathered about nested class friends.

baseclass_t
struct baseclass_t

Base classes are a list of these.

dt_t
struct dt_t

Data definitions DTibytes 1..7 bytes DTabytes offset of bytes of data a { a data bytes } DTnbytes bytes of data a { a data bytes } a = offset DTazeros # of 0 bytes a DTsymsize same as DTazeros, but the type of the symbol gives the size DTcommon # of 0 bytes (in a common block) a DTxoff offset from symbol w a w = symbol number (pointer for CPP) a = offset DTcoff offset into code segment

meminit_t
struct meminit_t

Item in list for member initializer.

template_t
struct template_t

Special information for class templates.

Meta