View source code
Display the source code in dmd/backend/oper.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.oper

Compiler implementation of the D programming language.

Functions

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

Manifest constants

NameTypeDescription
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

Global variables

NameTypeDescription
_rel_exception ubyte[26] Determine things about relational operators.
_rel_integral ubyte[26] Determine things about relational operators.
_rel_not ubyte[26] Determine things about relational operators.
_rel_swap ubyte[26] Determine things about relational operators.
_rel_unord ubyte[26] Determine things about relational operators.

Authors

Walter Bright

License

Boost License 1.0