Next: , Previous: , Up: Defining Types   [Contents][Index]


5.4 Subrange Types

The ‘r’ type descriptor defines a type as a subrange of another type. It is followed by type information for the type of which it is a subrange, a semicolon, an integral lower bound, a semicolon, an integral upper bound, and a semicolon. The AIX documentation does not specify the trailing semicolon, in an effort to specify array indexes more cleanly, but a subrange which is not an array index has always included a trailing semicolon (see Array Types).

Instead of an integer, either bound can be one of the following:

A offset

The bound is passed by reference on the stack at offset offset from the argument list. See Parameters, for more information on such offsets.

T offset

The bound is passed by value on the stack at offset offset from the argument list.

a register-number

The bound is passed by reference in register number register-number.

t register-number

The bound is passed by value in register number register-number.

J

There is no bound.

Subranges are also used for builtin types; see Traditional Builtin Types.