8.3.2.1 General

  • -mcall-prologues

    This option changes how functions save registers on entry and restore those registers on function exit. If this option is not specified, the registers that need to be preserved by each function will be saved and restored by code inside those functions. If using the -mcall-prologues option, this preservation code is extracted as subroutines called at the appropriate points in the function. Using this option can reduce code size but increase the code’s execution time.

  • -mno-interrupts

    This option controls whether interrupts should be disabled when the stack pointer is changed. For most devices, the state of the status register, SREG, is saved in a temporary register, and interrupts are disabled before the stack pointer is adjusted. The status register is restored after changing the stack pointer. If a program does not use interrupts, there is no need for the stack adjustments to be protected in this way. Use of this option omits the code that disables and potentially re-enables interrupts around the code that adjusts the stack pointer, thus reducing code size and execution time.

  • -funsigned-char

    Forces a plain char object to have an unsigned type. By default, the plain char type is equivalent to signed char unless using the -mext=cci option, in which case it is identical to unsigned char. The -funsigned-char makes this type explicit. Rather than relying on the type assigned to a plain char type by the compiler, consider explicitly stating the signedness of char objects when defined.

  • -funsigned-bitfields

    These options control whether a bit field is signed or unsigned when the declaration does not use either signed or unsigned. These options say that the default bit field type is unsigned.

  • -mext=cci

    This option controls the language extension used during compilation. Enabling the CCI extension requests the compiler to check all source code and compiler options for compliance with the Common C Interface (CCI). Code that complies with this interface can be easier ported across all MPLAB XC compilers. Code or options that do not conform to the CCI will be flagged by compiler warnings.