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