Next: 4.6.4 Preprocessor Macros Up: 4.6 The PIC16 port Previous: 4.6.2 Port Specific Options Contents Index

## 4.6.3 Environment Variables

There is a number of environmental variables that can be used when running SDCC to enable certain optimizations or force a specific program behaviour. these variables are primarily for debugging purposes so they can be enabled/disabled at will.

Currently there is only two such variables available:

OPTIMIZE_BITFIELD_POINTER_GET
  When this variable exists, reading of structure bitfields is optimized by directly loading FSR0 with the address of the bitfield structure. Normally SDCC will cast the bitfield structure to a bitfield pointer and then load FSR0. This step saves data ram and code space for functions that make heavy use of bitfields. (i.e., 80 bytes of code space are saved when compiling malloc.c with this option).
NO_REG_OPT
  Do not perform pCode registers optimization. This should be used for debugging purposes. If bugs in the pcode optimizer are found, users can benefit from temporarily disabling the optimizer until the bug is fixed.