https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107795
--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Louis Dionne from comment #8) > (In reply to Andrew Pinski from comment #5) > > (In reply to Louis Dionne from comment #4) > > > (In reply to Andrew Pinski from comment #2) > > > > You should not be building on top of GCC's limits.h header at all > > > > really. > > > > Rather implementations should have their own. > > > > > > What do you mean by "implementations"? Do you mean implementations of the > > > C > > > library or compiler implementations, or what? > > > > GCC limits.h is the implementation detail of GCC. > > Yes I know it gets fuzzy. This is why GCC even has fixincludes to make sure > > target headers are always correct. See the comment I posted. > > When compiling pure C with GCC, what's the order of includes? Is it "C > Library includes > GCC builtin includes", or "GCC builtin includes > C > Library includes"? GCC version specific includes > GCC version specific fixincludes > C library includes That is for C. C++ is: libstdc++ library includes > ... (rest same as C).