View source code
Display the source code in dmd/backend/symbol.d from which this page was generated on github.
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 local clone.

Module dmd.backend.symbol

Compiler implementation of the D programming language.

Functions

NameDescription
baseclass_find(bm, sbase) Look down baseclass list to find sbase.
baseclass_nitems(b) Calculate number of baseclasses in list.
freesymtab(stab, n1, n2) Free up the symbols stab[n1 .. n2]
meminit_free(m) Delete symbol from symbol table, taking care to delete all children of a symbol. Make sure there are no more forward references (labels, tags).
symbol_add(s) Add symbol to current symbol array.
symbol_calloc(id) Create a new symbol.
symbol_copy(s) Create a copy of a symbol.
symbol_func(s) Add in the variants for a function symbol.
symbol_funcalias(sf) Create a symbol that is an alias to another function symbol.
symbol_genauto(t) Generate an auto symbol, and add it to the symbol table.
symbol_genauto(e) Generate symbol into which we can copy the contents of expression e.
symbol_generate(sclass, t) Create a symbol, give it a name, storage class and type.
symbol_ident(s) Get user name of symbol.
symbol_insert(symtab, s, n) Insert s into symtab at position n.
Symbol_isAffected(s) Determine if s may be affected if an assignment is done through a pointer.
symbol_name(name, sclass, t) Create a symbol, given a name and type.
Symbol_needThis(s) Determine if symbol needs a 'this' pointer.
symbol_pointerType(s) Determine pointer type needed to access a Symbol, essentially what type an OPrelconst should get for that Symbol.
symbol_print(s) Type out symbol information.
symbol_reset(s) Reset Symbol so that it's now an "extern" to the next obj file being created.
Symbol_Salignsize(s) Return alignment of symbol.
Symbol_Sisdead(s, anyInlineAsm) Aver if Symbol is not only merely dead, but really most sincerely dead.
symbol_struct_addBaseClass(s, t, offset) Add a base class to a struct s.
symbol_struct_addBitField(s, name, t, offset, fieldWidth, bitOffset) Add a bit field to a struct s.
symbol_struct_addField(s, name, t, offset) Add a field to a struct s.
symbol_struct_hasBitFields(s) Mark struct s as having bit fields

Authors

Walter Bright

License

Boost License 1.0