Comment by vidarh
18 days ago
And it doesn't for the compiler in question either. As long as the headers exist in the places it looks for them. No compiler magically knows where the headers are if you haven't placed them in the right location
18 days ago
And it doesn't for the compiler in question either. As long as the headers exist in the places it looks for them. No compiler magically knows where the headers are if you haven't placed them in the right location
stddef.h (et al) should be shipped by the compiler itself, and so it should know where it is. But they rely on gcc for it, hence it doesn't always know where to look. Seems totally fine for a prototype.
Especially given they're not shipping anything. The GCC binaries can't find misplaced or not installed headers either.
Shipping GPL headers that explicitly state that they are part of GCC with a creative commons licensed compiler would probably make a lot of people rather unhappy, possibly even lawyers.
Would you accept the same quality of implementation from a human team?
I've certainly encountered clang & gcc not finding or just not having header files a good couple times. Mostly around cross-compilation, but there was a period of time for which clang++ just completely failed to find any C++ headers on my system.
Yes, clang is famously in this category.
If you copy the clang binary to a random place in your filesystem, it will fail to compile programs that include standard headers.
A compiler that can't magically know how to find headers that don't exist in the expected directory?
Yes, that is the case for pretty much every compiler. I suppose you could build the headers into the binary, but nobody does that.
Consider: content-addressed headers.
2 replies →