cstd-c99.h - scc - simple c99 compiler
HTML git clone git://git.simple-cc.org/scc
DIR Log
DIR Files
DIR Refs
DIR Submodules
DIR README
DIR LICENSE
---
cstd-c99.h (2833B)
---
1 #define STDC_VERSION "199901L"
2
3 /* Translation limits */
4 /*
5 * 127 nesting levels of blocks
6 */
7 #define NR_BLOCK 127
8 /*
9 * 63 nesting levels of conditional inclusion
10 */
11 #define NR_COND 63
12 /*
13 * 12 pointer, array, and function declarators (in any combinations)
14 * modifying an arithmetic, a structure, a union, or an incomplete type
15 * in a declaration
16 */
17 #define NR_DECLARATORS 12
18 /*
19 * 63 nesting levels of parenthesized declarators within a full
20 * declarator
21 */
22 #define NR_SUBTYPE 63
23 /*
24 * 63 nesting levels of parenthesized expressions within a full
25 * expression
26 */
27 #define NR_SUBEXPR 63
28 /*
29 * 63 significant initial characters in an internal identifier or a
30 * macro name (each universal character name or extended source
31 * character is considered a single character)
32 */
33 #define INTIDENTSIZ 63
34 /*
35 * 31 significant initial characters in an external identifier (each
36 * universal character name specifying a short identifier of 0000FFFF
37 * or less is considered 6 characters, each universal character name
38 * specifying a short identifier of 00010000 or more is considered 10
39 * characters, and each extended source character is considered the
40 * same number of characters as the corresponding universal character
41 * name, if any)
42 */
43 #define EXTIDENTSIZ 31
44 /*
45 * 4095 external identifiers in one translation unit
46 */
47 #define NR_EXT_IDENT 4095
48 /*
49 * 511 identifiers with block scope declared in one block
50 */
51 #define NR_INT_IDENT 511
52 /*
53 * 4096 macro identifiers simultaneously defined in one preprocessing
54 * translation unit
55 */
56 #define NR_MACROIDENT 4096
57 /*
58 * 127 parameters in one function definition
59 */
60 #define NR_FUNPARAM 127
61 /*
62 * 127 arguments in one function call
63 */
64 #define NR_FUNARG 127
65 /*
66 * 127 parameters in one macro definition
67 */
68 #define NR_MACROPARAM 127
69 /*
70 * 127 arguments in one macro invocation
71 */
72 #define NR_MACROARG 127
73 /*
74 * 4095 characters in a logical source line
75 */
76 #define LINESIZ 4095
77 /*
78 * 4095 characters in a character string literal or wide string literal
79 * (after concatenation)
80 */
81 #define STRINGSIZ 4095
82 /*
83 * 65535 bytes in an object (in a hosted environment only)
84 */
85 #define OBJECTSIZ 65535
86 /*
87 * 15 nesting levels for #include'd files
88 */
89 #define NR_INCLUDE 15
90 /*
91 * 1023 case labels for a switch statement (excluding those for any
92 * nested switch statements)
93 */
94 #define NR_SWITCH 1023
95 /*
96 * 1023 members in a single structure or union
97 */
98 #define NR_FIELDS 1023
99 /*
100 * 1023 enumeration constants in a single enumeration
101 */
102 #define NR_ENUM_CTES 1023
103 /*
104 * 63 levels of nested structure or union definitions in a single
105 * struct-declaration-list
106 */
107 #define NR_STRUCT_LEVEL 63
108 /*
109 * number of defined structs/unions in one translation unit
110 */
111 #define NR_MAXSTRUCTS 127