picmplabxc16compiler-version

What C standard does XC16 v1.5 use by default?


I can't find a clear answer to what C standard Microchip's XC16 v1.5 compiler use by default (xc16-gcc -> options = empty).

We clearly get a different result if we specify it to -std=C99, but from what?!?


Solution

  • The xc16 compiler uses the C89 standard. Have a look a chapter 7 in the manual.

    This compiler conforms to the ANSI X3.159-1989 Standard for programming languages. This is commonly called the C89 Standard. It is referred to as the ANSI C Standard in this manual. Some features from the later standard C99 are also supported.

    With the XC8 2.0 compiler and up selected, you can enable the C99 standard.