DDL Compiler Commands
Data Definition Language (DDL) Reference Manual — 426798-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;