Home
       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