| 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 |  |