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

Symbols for the back end

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
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