From 60d92bbdcfc22c7248989ad7efb856989d299daa Mon Sep 17 00:00:00 2001 From: /dev/humancontroller Date: Thu, 13 Apr 2017 11:30:00 +0000 Subject: update the tools to the latest revision URL: https://github.com/darklegion/tremulous revision: c862a5340c8de44dcc7abaff170c20c04f9340e8, equivalently f45fbef604e05144057dec8d1dbfc5d4f5a2a822 --- src/tools/lcc/doc/4.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/tools/lcc/doc/4.html') 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 type field.

5.5 Dag Operators

-

The op field a of node structure holds a dag operator, which +

The op field of a node structure holds a dag operator, which consists of a generic operator, a type suffix, and a size indicator. The type suffixes are:

@@ -516,14 +516,14 @@ e.g.,

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, CVUI4 converts an unsigned (U) to a 4-byte signed integer (I4). The syms[0] -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 syms[0] in a CVUI4 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.

The front end composes conversions between types T1 and T2 -by widening T1 to it's "supertype", if necessary, converting +by widening T1 to its "supertype", if necessary, converting that result to T2's supertype, then narrowing the result to T2, if necessary. The following table lists the supertypes; omitted entries are their own supertypes.

-- cgit