JALv2 PRAGMAs


There are many extra things the compiler either needs to know to do its job, or modify its behavior to suit a particular need. This information is passed to the compiler with something called a PRAGMA. This file describes every PRAGMA the compiler understands.

See the JALv2 documentation for definitions and conventions. Any time multiple options are allowed, the default option is preceded with a '*'. An {empty} option is interpreted as the default option.

Table of Contents
1. Chip Configuration
1.1. TARGET CHIP
1.2. TARGET CLOCK
1.3. TARGET FUSES
1.4. TARGET opt tags
2. Compiler Configuration
2.1. BOOTLOADER
2.1.1. BLOADER
2.1.2. LOADER18 [ cexpr ]
2.1.3. LONG_START
2.1.4. RICKPIC
2.2. CLEAR
2.3. EEDATA
2.4. FUSE
2.5. IDDATA
2.6. TASK
3. Global Configuration
3.1. ERROR
3.2. NAME
3.3. SIZE
3.4. SPEED
4. PROCEDURE/FUNCTION Configuration
4.1. FRAME
4.2. INLINE
4.3. INTERRUPT
4.3.1. * NORMAL
4.3.2. FAST
4.3.3. RAW
4.4. JUMP_TABLE
4.5. KEEP
4.6. NOSTACK
5. Optimization PRAGMAs
5.1. EXPR_REDUCE
5.2. CEXPR_REDUCE
5.3. CONST_DETECT
5.4. LOAD_REDUCE
5.5. TEMP_REDUCE
5.6. VARIABLE_FRAME
5.7. VARIABLE_REUSE
6. Warning
6.1. ALL
6.2. BACKEND
6.3. CONVERSION
6.4. DIRECTIVES
6.5. MISC
6.6. RANGE
6.7. STACK_OVERFLOW
6.8. TRUNCATE
7. Chip Specification
7.1. CODE
7.2. DATA
7.3. EEPROM
7.4. FUSE_DEF
7.5. ID
7.6. STACK
7.7. TARGET CPU
7.8. TARGET BANK
7.9. TARGET PAGE
8. Debugging
8.1. CODEGEN
8.2. PCODE