Programming Tools Guide
Appendix A, ANSI implementation-defined behavior

Translation limits

Translation limits

The following translation limits are defined for this implementation:

Table A-9 Defined translation limits

 -------------------------------------------------------------
 Item                               Actual       Minimum
                                                 Acceptable
 -------------------------------------------------------------
 nesting levels of compound         >=256        15
 statements, iteration control
 structures, and selection
 control structures.
 nesting levels of conditional      >=32         8
 inclusion
 pointer, array, and function       >=32         12
 declarators (in any
 combinations) modifying an
 arithmetic, a structure, a
 union, or an incomplete type in
 a declaration
 declarators nested by              >=32         12
 parentheses within a full
 declarator
 expressions nested by              >=128        32
 parentheses within a full
 expression
 significant initial characters     >=1024       31
 in an internal identifier or a
 macro name
 significant initial characters     >=1024       6
 in an external identifier
 external identifiers in one        >=1024       511
 translation unit
 identifiers with block scope       >=2048       127
 declared in one block
 macro identifiers simultaneously   >=4096       1024
 defined in one translation unit
 parameters in one function         >=256        31
 definition
 arguments in one function call     >=256        31
 parameters in one macro            >=128        31
 definition
 arguments in one macro             >=128        31
 invocation
 characters in a logical source     >=4096       509
 line
 characters in a character string   >=4096       509
 literal or wide string literal
 (after concatenation)
 bytes in an object (in a hosted    >=65535      32767
 environment)
 nesting levels for #include'd      >=16         8
 files
 case labels for a switch           unlimited    257
 statement (excluding those for
 any nested switch statements)
 members in a single structure or   >=512        127
 union
 enumeration constants in a         >=512        127
 single enumeration
 levels of nested structure or      >=64         15
 union definitions in a single
 struct-declaration-list
 functions that can be registered   37           32
 by atexit().