Menu

- Learn
- Documentation
  - Language Reference
  - Library Reference
  - Command-line Reference
  - Feature Overview
  - Articles
- Downloads
- Packages
- Community
  - Blog
  - Orgs using D
  - Twitter
  - Calendar
  - Forums
  - IRC
  - Community Discord
  - Wiki
  - GitHub
  - Issues
  - Get involved
  - Contributors
  - Foundation
  - Security Team
  - Donate
  - Sponsors
- Resources
  - Tour
  - Books
  - Tutorials
  - Tools
  - Editors
  - IDEs
  - run.dlang.io
  - Visual D
  - Acknowledgments
  - D Style
  - Glossary
  - Sitemap

Search
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 a local clone.

# dmd.backend.oper

Compiler implementation of the D programming language.
Authors:
Walter Bright
License:
Boost License 1.0

Source backend/oper.d

nothrow @nogc OPER `rel_not`(OPER `op`);
  Determine things about relational operators.
nothrow @nogc int `convidx`(OPER `op`);
  Conversion operators. Convert from conversion operator to conversion index parallel array invconvtab[] in cgelem.c
  Parameters:

  OPER `op` | conversion operator

immutable ubyte[OPMAX] `optab1`;
  Determine properties of an elem. EBIN binary node? EUNA unary node? EOP operator node (unary or binary)? ERTOL right to left evaluation (left to right is default) Eunambig unambiguous definition elem?
immutable ubyte[OPMAX] `optab2`;
  Determine properties of an elem. EBIN binary node? EUNA unary node? EOP operator node (unary or binary)? ERTOL right to left evaluation (left to right is default) Eunambig unambiguous definition elem?
immutable ubyte[OPMAX] `optab3`;
  Determine properties of an elem. EBIN binary node? EUNA unary node? EOP operator node (unary or binary)? ERTOL right to left evaluation (left to right is default) Eunambig unambiguous definition elem?
immutable ubyte[RELMAX] `_rel_exception`;
  Determine properties of an elem. EBIN binary node? EUNA unary node? EOP operator node (unary or binary)? ERTOL right to left evaluation (left to right is default) Eunambig unambiguous definition elem?
immutable ubyte[RELMAX] `_rel_unord`;
  Determine properties of an elem. EBIN binary node? EUNA unary node? EOP operator node (unary or binary)? ERTOL right to left evaluation (left to right is default) Eunambig unambiguous definition elem?
immutable ubyte[RELMAX] `_rel_not`;
  Logical negation
  Determine properties of an elem. EBIN binary node? EUNA unary node? EOP operator node (unary or binary)? ERTOL right to left evaluation (left to right is default) Eunambig unambiguous definition elem?
immutable ubyte[RELMAX] `_rel_swap`;
  Operand swap
  Determine properties of an elem. EBIN binary node? EUNA unary node? EOP operator node (unary or binary)? ERTOL right to left evaluation (left to right is default) Eunambig unambiguous definition elem?
immutable ubyte[RELMAX] `_rel_integral`;
  If operands are integral types
  Determine properties of an elem. EBIN binary node? EUNA unary node? EOP operator node (unary or binary)? ERTOL right to left evaluation (left to right is default) Eunambig unambiguous definition elem?
immutable ubyte[OPMAX] `opcost`;
  Determine the cost of evaluating an operator.
  Used for reordering elem trees to minimize register usage.
  Determine properties of an elem. EBIN binary node? EUNA unary node? EOP operator node (unary or binary)? ERTOL right to left evaluation (left to right is default) Eunambig unambiguous definition elem?
const(char)*[OPMAX] `debtab`;
  Determine properties of an elem. EBIN binary node? EUNA unary node? EOP operator node (unary or binary)? ERTOL right to left evaluation (left to right is default) Eunambig unambiguous definition elem?

Copyright © 1999-2020 by the D Language Foundation | Page generated by Ddoc on Fri Apr 17 19:11:59 2020