out: exit if there is no room for more relocations or symbols
[neatcc.git] / ncc.h
blob8656da999e4591d3e36be2af2b5081c3a4bf9e3a
1 /* predefined array limits; (p.f. means per function) */
2 #define SECLEN (1 << 19) /* size of CS section */
3 #define NDATS 4096 /* number of DS data symbols */
4 #define NSYMS 4096 /* number of elf symbols */
5 #define NRELS 8192 /* number of elf relocations */
6 #define NGLOBALS 2048 /* number of global variables */
7 #define NLOCALS 1024 /* number of locals p.f. */
8 #define NARGS 32 /* number of function/macro arguments */
9 #define NTMPS 64 /* number of expression temporaries */
10 #define NNUMS 1024 /* number of integer constants p.f. (arm.c) */
11 #define NJMPS 4096 /* number of jmp instructions p.f. */
12 #define NFUNCS 1024 /* number of functions */
13 #define NENUMS 4096 /* number of enum constants */
14 #define NTYPEDEFS 1024 /* number of typedefs */
15 #define NSTRUCTS 512 /* number of structs */
16 #define NFIELDS 128 /* number of fields in structs */
17 #define NARRAYS 8192 /* number of arrays */
18 #define NLABELS 1024 /* number of labels p.f. */
19 #define NAMELEN 128 /* size of identifiers */
20 #define NDEFS 1024 /* number of macros */
21 #define MARGLEN 1024 /* size of macro arguments */
22 #define MDEFLEN 2048 /* size of macro definitions */
23 #define NBUFS 32 /* macro expansion stack depth */
24 #define NLOCS 1024 /* number of header search paths */
26 #define LEN(a) (sizeof(a) / sizeof((a)[0]))