5 ms·
I've the feeling that only a language fork from the GCC/clang teams could have any chance to success. It looks like the C standard committee is not interested i
by antirez 8y ago
I've the feeling that only a language fork from the GCC/clang teams could have any chance to success. It looks like the C standard committee is not interested in changing point of view.
- posterboy 8y agoIt's like the word "standard" has meaning, e.g. "not changing". Not even for good reasons? Well "good" is a subjective statement. Objectively, only changes to maintain the standard would qualify, which is a contradiction. I guess, adding to the standard library wouldn't be a problem, but I guess you are rather leaning on security concerns and all that jazz that comes up when rust is discussed. C is open as can be but you can't tack on a change of the semantics without changing the language. Then, what do you still need C for?
- pcwalton 8y agoGCC and Clang have already essentially forked the C language. Perhaps the most important C project—the Linux kernel—is written in the GNU dialect of C.
- pjmlp 8y agoAlthough Google has managed to compile it with clang, as they removed gcc from Android.
- pcwalton 8y agoRight, that's the point—a useful C compiler nowadays needs to be a GNU C compiler, not a standard C compiler.
- pjmlp 8y agoTo reinforce your point that is also how Microsoft decided to go on Azure Sphere. https://www.mediatek.com/products/azureSphere/mt3620 https://www.mediatek.com/products/azureSphere/mt3620
- deleted 8y ago[deleted]
- ndesaulniers 8y agoWoot, next up is assemble and link without binutils!
- mrpippy 8y agoAnd that was a project that took years: https://lwn.net/Articles/734071/ https://lwn.net/Articles/734071/
- cesarb 8y agoAnd is still not finished. The Linux kernel now requires the "asm goto" extension, which clang doesn't have (see https://lwn.net/Articles/748074/ https://lwn.net/Articles/748074/ and https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e501ce957a786ecd076ea0cfb10b114e6e4d0f40 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...). If you check the GCC version defines (__GNUC__ and friends), you'll see that clang claims to be compatible with GCC 4.2.1, while "asm goto" was introduced later, with GCC 4.5. The tracking bug for compiling the Linux kernel with clang is https://bugs.llvm.org/show_bug.cgi?id=4068 https://bugs.llvm.org/show_bug.cgi?id=4068, in case you want to follow their progress.
- pjmlp 8y agoIt is finished on Android's source tree. https://source.android.com/setup/build/requirements https://source.android.com/setup/build/requirements As of Android 8, only clang is used.