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