Hi, On Sat, 31 Mar 2018, Petr Skocik wrote:
The first takes symlinks into account with header file caching (I need it with my build setup which uses a symlink in a weird way -- gcc and clang don't have problems with it but tcc did).
Can you clarify what the problem is exactly? Thing is: realpath isn't available on WIN32, and using it causes many additional syscalls (per directory component for each tried include path). If that's really necessary then it'd be better to just open the file in question and use the mount id and inode number as differentiator instead of the filename. But to understand that I'd like to know what "weird way" means in your build setup.
The second fixes stringification with derived types. I noticed tcc stringified them wrong (like `void *(int)(int, void *(int))` where it should be `void (*(int, void (*)(int)))(int)`).
I've pushed this and amended it a bit (actually the above output misses another indirection, but that was a problem in _Generics handling of types), i.e. added a testcase.
The last one makes tcc ignore static and restrict inside of []. C11 allows these inside parameter declarations (with implications only on performance and compile-time checking), so I think tcc might as well silently accept them.
I've also pushed this, with slight changes (adding volatile handling, a testcase and formatting fixes).
Thanks for considering the patches and thanks for the work on tcc.
And thank you for the contribution. Ciao, Michael. _______________________________________________ Tinycc-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/tinycc-devel
