Unofficial tcc Patches

This is a collection of unofficial patches to Fabrice Bellard's TinyCC (tcc) compiler. They fix some issues in the official releases. Most of the patches have some details and/or examples demonstrating the problem, and have been posted or discussed on the tinycc-devel mailing list.

Note that the version number in the patch name is simply the version of tcc that it was generated against. It does not mean that the patch has been incorporated into later tcc releases.


Bug: Function pointers do not work within conditional expressions.


Bug: Tcc can get confused if a typedef name is later used as an identifier. A typical symptom is that tcc complains about missing identifiers inside a structure definition.


Bug: Sign extension is not implemented properly for some conversions.


Bug: Using mutiple token pasting operations to create a single token can fail.


Bug: A long long value used as a test expression ignores the upper 32 bits at runtime.

Older patches

tcc-0.9.21-function-parameters.patch (fixed in 0.9.22)

Bug: Type compatibility checking between function declarations and definitions can fail when modifiers (for example "const") are used.

Dave Dodge dododge/at/dododge/dot/net