dmd.backend.cc
Common definitions
Discussion
Compiler implementation of the D programming language.
License
Source: backend/cc.d
-
Declaration
struct
Srcpos
;Position in source file
-
Declaration
pure nothrow @safe void
set
(const(char)*filename
, uintlinnum
, intcharnum
);Set fields of Srcpos
Parameters
const(char)*
filename
file name
uint
linnum
line number
int
charnum
character number
-
-
Declaration
struct
Pstate
;Current 'state' of the compiler. Used to gather together most global variables. This struct is saved/restored during function body parsing.
-
Declaration
struct
Cstate
;Global variables.
-
Declaration
alias
ClassDeclaration_
= void*;Basic blocks: Basic blocks are a linked list of all the basic blocks in a function. startblock heads the list.
-
Declaration
alias
BC
= int;Basic block control flow operators.
-
Declaration
struct
BlockRange
;Range for blocks.
-
Declaration
alias
func_flags_t
= uint;Functions
-
Declaration
struct
meminit_t
;Item in list for member initializer.
-
Declaration
struct
baseclass_t
;Base classes are a list of these.
-
Declaration
alias
mptr_flags_t
= char;For virtual tables.
-
Declaration
struct
TMF
;Information gathered about externally defined template member functions, member data, and member classes.
-
Declaration
struct
TME
;Information gathered about primary member template explicit specialization.
-
Declaration
struct
TMNE
;Information gathered about nested explicit specializations.
-
Declaration
struct
TMNF
;Information gathered about nested class friends.
-
Declaration
struct
template_t
;Special information for class templates.
-
Declaration
alias
enum_flags_t
= uint;Special information for enums.
-
Declaration
alias
struct_flags_t
= uint;Special information for structs.
-
Declaration
nothrow @nogc @trusted inout(Symbol)*
list_symbol
(inout list_tlst
);Symbol Table
-
Declaration
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
-
Declaration
nothrow @nogc @trusted EHmethod
ehmethod
(Symbol*f
);Parameters
Symbol*
f
function symbol
Return Value
exception method for
f
-
Declaration
alias
FL
= ubyte;Element types. These should be combined with storage classes.
-
Declaration
struct
EEcontext
;Srcfiles
Discussion
This is to support compiling expressions within the context of a function.
-
Declaration
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