Data Definition Language (DDL) Reference Manual

DDL Compiler Commands
Data Definition Language (DDL) Reference Manual529431-004
9-15
CFIELDALIGN_MATCHED2
The C source code for a struct generated with CFIELDALIGN_MATCHED2 set is
preceded by the statement:
#pragma fieldalign shared2 __struct-name
where __struct-name is the name of the struct.
When generating C source with MATCHED2 alignment, the DDL compiler allows
substructures to start on an odd-byte boundary. Without matched2 alignment, C
substructures must start on a word boundary.
The DDL source code for a definition or record compiled with matched2 alignment is
preceded by the command CFIELDALIGN_MATCHED2.
Pascal (on D-series systems) does not support the CFIELDALIGN_MATCHED2
command.
The C00CALIGN and CFIELDALIGN_MATCHED2 commands cannot be in effect at
the same time. The DDL compiler uses the value of the last command that was
specified (C00CALIGN, NOC00CALIGN, or CFIELDALIGN_MATCHED2). C00CALIGN
is the default.
To reset the CFIELDALIGN_MATCHED2 command, specify one of:
The C00CALIGN command, which generates default C output.
The NOC00CALIGN command, which does not generate C output for certain
structures. For more information, see C00CALIGN on page 9-12.
When you set CFIELDALIGN_MATCHED2, the DDL compiler ignores any FILLER
specification. Instead, the DDL compiler uses an extended FILLER 1 algorithm, adding
fillers as described previously. For more information about FILLER 1, see FILLER on
page 9-59.
To suppress the #pragma fieldalign matched2 statements, set the NOCPRAGMA
command.
When compiling a definition or record with matched2 alignment, all referenced
definitions must have been compiled with matched2 alignment; otherwise, the DDL
compiler returns an error.
For more information about alignment rules, see Appendix H, DDL Alignment Rules
for C.