W3cubDocs

/D

ddmd.backend.cc

Compiler implementation of the D programming language.

Authors:
Walter Bright
License:
Boost License 1.0
Source:
backend/cc.d
enum int IDMAX

Print out debugging information.

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.

alias BC = int

Basic block control flow operators.

struct symtab_t

Functions

struct meminit_t

Item in list for member initializer.

struct baseclass_t

Base classes are a list of these.

alias mptr_flags_t = char

For virtual tables.

struct TMF

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

struct TME

Information gathered about primary member template explicit specialization.

struct TMNE

Information gathered about nested explicit specializations.

struct TMNF

Information gathered about nested class friends.

struct template_t

Special information for class templates.

alias enum_flags_t = uint

Special information for enums.

alias struct_flags_t = uint

Special information for structs.

nothrow @nogc Symbol* list_symbol(list_t lst)

Symbol Table

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

alias FL = int

Element types. These should be combined with storage classes.

struct EEcontext

Srcfiles

Collect information about a source file.

Source files are referred to by a pointer into pfiles[]. This is so that

when PH files are hydrated, only pfiles[] needs updating. Of course, this

means that pfiles[] cannot be reallocated to larger numbers, its size is

fixed at SRCFILES_MAX.

Sfile *arr; // array of Sfiles

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

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

© 1999–2017 The D Language Foundation
Licensed under the Boost License 1.0.
https://dlang.org/phobos/ddmd_backend_cc.html