Data Definition Language (DDL) Reference Manual (G06.24+)

DDL Compiler Commands
Data Definition Language (DDL) Reference Manual426798-002
9-39
C_MATCH_HISTORIC_TAL Command
DDL word-aligns substructures declared by template with a typedef or
structure tag. DDL adds a filler if needed to word-align a referenced definition.
DDL word-aligns substructures that refer to other group definitions to make their
length even.
The C source code for a struct generated with matched2 alignment set is preceded
by the following statement:
#pragma fieldalign matched2 __struct-name
where __struct-name is the name of the struct.
To suppress the #pragma fieldalign matched2 statements, set the
NOCPRAGMA command.
C_MATCH_HISTORIC_TAL Command Example
The following example shows the C source generated for the given DDL source with
C_MATCH_HISTORIC_TAL in effect which allows substructures to start and end on
odd-byte boundaries. If the C_MATCH_HISTORIC_TAL command is not in effect,
C source will not be generated for def f because substructure j starts on an odd-
byte boundary.
def a.
02 b type character 1.
02 c type character 1.
02 d type character 1.
end.
def e type character 1.
def f.
02 g type binary 16.
02 h.
03 i type e.
03 j type a.
02 k type character 1.
02 l type binary 16.
end.
DDL emits a filler at level 2 after k because the following data items will not fit in the
remaining byte.
Generated C Source:
/* SCHEMA PRODUCED DATE - TIME :10/13/1995 13:23:16 */
#pragma section a
/* Definition A created on 10/13/1995 at 13:23 */
#pragma fieldalign shared8 __a
typedef struct __a
{
char b;
char c;
char d;