Hi, I ran into some tinycc bugs best demonstrated by:
int main(){
(void)_Generic(&(int[2]){0}, int(*)[4]:0); //shouldn't compile
but it does
return _Generic(&(int[2]){0}, int(*)[2]:0, int(*)[4]:0);
//reports a `type match twice` error even though int(*)[2] and
int(*)[4] are
//different types
//also `int(*)[2]` shouldn't be rendered as `int *[2]`
}
My shot at the fixes is at https://github.com/pskocik/tinycc. It's
separated into addition of failing tests and fixes to those tests.
I've also thrown in a separate patch that allows `tcc -o -` to be
treated as "write output to stdout".
(I had problems with -o /dev/stdout on some Cygwin IIRC) and another one
that makes libc accept `-l lib` in addition
to `-llib` (because gcc/clang do and POSIX specifically wants it).
I welcome criticism.
Best regards,
Petr S.
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel