[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] Some patches
From: |
Michael Matz |
Subject: |
Re: [Tinycc-devel] Some patches |
Date: |
Sun, 1 Apr 2018 00:57:26 +0200 (CEST) |
User-agent: |
Alpine 2.20 (LSU 67 2015-01-07) |
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.