TAL Programmer's Guide
TAL and C Guidelines
Mixed-Language Programming
17–10 096254 Tandem Computers Incorporated
Matching Data Types Use data types that are compatible between languages for:
Shared global variables
Formal or actual parameters
Function return values
Table 17-2 lists compatible TAL and C data types for each TAL addressing mode.
Table 17-2. Compatible TAL and C Data Types
TAL Addressing Mode TAL Data Type C Data Type Notes
Direct STRING char
Direct INT short TAL INT signed range only
Direct INT(32) long
Direct FIXED(0) long long TAL FIXED(0) only
Direct REAL float
Direct REAL(64) double
Standard indirect (.) STRING char
*
Standard indirect (.) INT short
*
Standard indirect (.) INT(32) long
*
Standard indirect (.) FIXED(0) long long
*
Standard indirect (.) REAL float
*
Standard indirect (.) REAL(64) double
*
Extended indirect (.EXT) STRING extptr char
*
For extptr, see Note.
Extended indirect (.EXT) INT extptr short
*
Extended indirect (.EXT) INT(32) extptr long
*
Extended indirect (.EXT) FIXED(0) extptr long long
*
Extended indirect (.EXT) REAL extptr float
*
Extended indirect (.EXT) REAL(64) extptr double
*
Note: In C, use extptr only in the parameter-type-list of an interface declaration to specify a
parameter type that is defined in TAL as an extended pointer.
Incompatibilities between TAL and C data types include the following:
TAL has no numeric data type that is compatible with C unsigned long.
TAL UNSIGNED is not compatible with C unsigned short. TAL UNSIGNED(16)
can represent signed or unsigned values.
For more information on C and TAL data types, see “Parameters and Variables” later
in this section.