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.

tcc-0.9.22-function-ptr-in-condexpr.patch

Bug: Function pointers do not work within conditional expressions.

tcc-0.9.22-multiple-typedef-specifiers.patch

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.

tcc-0.9.22-sign-extension.patch

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

tcc-0.9.23-pp-number-multi-pasting.patch

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

tcc-0.9.23-llong-test-expression.patch

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