1.4.1 Limits of Compiler

Table 1.1 shows the translation limits of the compiler.

Source programs must be created to fall within these translation limits.

Table 1.1

Translation Limits of Compiler

No.

Classification

Item

Translation Limit

1

Startup

Total number of macro names that can be specified using the define option

Unlimited

2

Number of characters in a file name

Unlimited (depends on the OS)

3

Source program

Number of characters in one line

32768

4

Number of source program lines in one file

Unlimited

5

Total number of source program lines that can be compiled

Unlimited

6

Preprocessing

Nesting levels of files in an #include statement

Unlimited

7

Total number of macro names in a #define statement

Unlimited

8

Number of parameters that can be specified using a macro definition or macro call operation

Unlimited

9

Number of expansions of a macro name

Unlimited

10

Nesting levels of conditional inclusion

Unlimited

11

Total number of operators and operands that can be specified in an #if or #elif statement

Unlimited

12

Declaration

Number of function definitions

Unlimited

13

Number of external identifiers used for external linkage

Unlimited

14

Number of valid internal identifiers used in one function

Unlimited

15

Number of pointers, arrays, and function declarators that qualify the basic type

16

16

Number of array dimensions

6

17

Size of arrays and structures

2147483647 bytes

No.

Classification

Item

Translation Limit

18

Statement

Nesting levels of compound statements

Unlimited

19

Nesting levels of statements in a combination of repeat (while, do, and for) and select (if and switch) statements

4096

20

Number of compound statements that can be written in one function

2048

21

Number of goto labels that can be specified in one function

2147483646

22

Number of switch statements

2048

23

Nesting levels of switch statements

2048

24

Number of case labels that can be specified in one switch statement

2147483646

25

Nesting levels of for statements

2048

26

Expression

Number of characters in a string

32766

27

Number of parameters that can be specified using a function definition or function call operation

2147483646

28

Total number of operators and operands that can be specified in one expression

About 500

29

Standard library

Number of files that can be opened simultaneously in an open function

Variable*1

30

Section

Length of section name*2

8146

31

 

Number of sections that can be specified in #pragma section in one file

2045

32

Maximum size of each section

4294967295 bytes

33

Output files

Maximum number of characters per line of assembly source code that can be output

8190

Notes 1.

For details, refer to section 8.3.2 Initial Setting.

Notes 2.

Since the assembler's limit of number of characters in one line is applied to the length of a section name when generating an object, the length that can be specified in #pragma section or the section option is shorter than this limit.