diff options
Diffstat (limited to 'src/tools/lcc/doc/4.html')
-rw-r--r-- | src/tools/lcc/doc/4.html | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/tools/lcc/doc/4.html b/src/tools/lcc/doc/4.html index a2e1213..0b4b36d 100644 --- a/src/tools/lcc/doc/4.html +++ b/src/tools/lcc/doc/4.html @@ -99,7 +99,7 @@ the symbol's <code>type</code> field.</p> <h2><a NAME="operators">5.5 Dag Operators</a></h2> -<p>The <code>op</code> field a of <code>node</code> structure holds a dag operator, which +<p>The <code>op</code> field of a <code>node</code> structure holds a dag operator, which consists of a generic operator, a type suffix, and a size indicator. The type suffixes are:</p> @@ -516,14 +516,14 @@ e.g.,</p> <p>The type suffix for a conversion operator denotes the type of the result and the size indicator gives the size of the result. For example, <code>CVUI4</code> converts an unsigned (<code>U</code>) to a 4-byte signed integer (<code>I4</code>). The <code>syms[0]</code> -field points to a symbol-table entry for a integer constant that gives the size of the +field points to a symbol-table entry for an integer constant that gives the size of the source operand. For example, if <code>syms[0]</code> in a <code>CVUI4</code> points to a symbol-table entry for 2, the conversion widens a 2-byte unsigned integer to a 4-byte signed integer. Conversions that widen unsigned integers zero-extend; those that widen signed integers sign-extend.</p> <p>The front end composes conversions between types <em>T</em><sub>1</sub> and <em>T</em><sub>2</sub> -by widening <em>T</em><sub>1</sub> to it's "supertype", if necessary, converting +by widening <em>T</em><sub>1</sub> to its "supertype", if necessary, converting that result to <em>T</em><sub>2</sub>'s supertype, then narrowing the result to <em>T</em><sub>2</sub>, if necessary. The following table lists the supertypes; omitted entries are their own supertypes.</p> |