ddmd.backend.oper

Compiler implementation of the D programming language.

Members

Functions

convidx
int convidx(OPER op)

Conversion operators. Convert from conversion operator to conversion index parallel array invconvtab[] in cgelem.c)

Manifest constants

computeEnumValue
enum computeEnumValue;

Various types of operators: OTbinary binary OTunary unary OTleaf leaf OTcommut commutative (e1 op e2) == (e2 op e1) (assoc == !=) OTassoc associative (e1 op (e2 op e3)) == ((e1 op e2) op e3) (also commutative) OTassign assignment = op= i++ i-- i=-i str= OTpost post inc or post dec operator OTeop0e if (e op 0) => e OTeop00 if (e op 0) => 0 OTeop1e if (e op 1) => e OTsideff there are side effects to the operator (assign call post ?: && ||) OTconv type conversion operator that could appear on lhs of assignment operator OTlogical logical operator (result is 0 or 1) OTwid high order bits of operation are irrelevant OTopeq an op= operator OTop an operator that has a corresponding op= OTcall function call OTrtol operators that evaluate right subtree first then left OTrel == != < <= > >= operators OTrel2 < <= > >= operators OTdef definition operator (assign call post asm) OTae potential common subexpression operator OTboolnop operation is a nop if boolean result is desired

Static variables

_rel_exception
ubyte[RELOPMAX - RELOPMIN + 1] _rel_exception;

Determine things about relational operators.

_rel_integral
ubyte[RELOPMAX - RELOPMIN + 1] _rel_integral;

Determine things about relational operators.

_rel_not
ubyte[RELOPMAX - RELOPMIN + 1] _rel_not;

Determine things about relational operators.

_rel_swap
ubyte[RELOPMAX - RELOPMIN + 1] _rel_swap;

Determine things about relational operators.

_rel_unord
ubyte[RELOPMAX - RELOPMIN + 1] _rel_unord;

Determine things about relational operators.

Meta

Source

See Source File
$(DMDSRC backend/_oper.d)

License

backendlicense.txt