3 ms·
GCC has very good ISO compliance and ISO C23 is better supported than in Clang (which I expect to catch up soon though)
by uecker 2y ago
GCC has very good ISO compliance and ISO C23 is better supported than in Clang (which I expect to catch up soon though)
- throwaway2037 2y agoKnowing the history of GCC (more focused on C) and Clang (more focused on C++), it makes sense to me that GCC has better ISO C compliance. Clang has a very nice specific page for ISO C version compliance: https://clang.llvm.org/c_status.html#c2x https://clang.llvm.org/c_status.html#c2x I could not find the same for GCC, but I found an old one for C99: https://gcc.gnu.org/c99status.html https://gcc.gnu.org/c99status.html CppRef has a joint page, but honestly, I am more likely to believe a page directly owned/controlled/authored by the project itself: https://en.cppreference.com/w/c/compiler_support/23 https://en.cppreference.com/w/c/compiler_support/23 Finally, is there a specific feature of C23 that you need that Clang does not support?
- uecker 2y agoI would not say that GCC is more focused on C. Also in GCC there is a lot more effort going into C++ than C. C is generally neglected, which is sad given its importance. GCC's support for C23 is essentially complete. Clang is mostly catching up, but features I need that I am missing are storage class in compound literals and tag compatibility. It is also sad that Clang does not implement strict aliasing correctly (it applies C++'s rules also in C).
- bobmcnamara 2y ago"substantially complete" C99 even