Exceptions to C99 standard

  • According to C99: “If an object that has static or thread storage duration is not initialized explicitly, and if it has arithmetic type, it is initialized to (positive or unsigned) zero;”. For performance considerations, local memory, although having static storage durations, is left un-initialized in the beginning of a program.

  • Recursive functions are not supported.

  • Standard C library is not supported.

  • Arithmetic operations on pointers for scalar types less than 4 bytes are not supported.

  • Variadic functions are not supported.

  • Pointers to functions are not supported.

  • A function in a TPC C program cannot be called main.