The ports of GCC on Windows are too broken and incomplete to be useful for anything serious, especially if you want basic exploit mitigations like ASLR to work. Clang's Windows port is a very serious one using the proper platform ABIs, etc. Can even use it via Visual Studio.
-
-
-
Microsoft should really think about replacing their official compiler with Clang... Clang went out of the way to work with their IDE, etc. so it's most of the way there already. Microsoft may have contributed a bit to this, not sure. They definitely made LLVM contributions.
-
The GCC ports can't actually use the Microsoft headers or the standard platform ABI. They don't work with the platform tools or standard Windows libraries. Clang treated it the same way they do with GCC: implementing the extensions, making a compatible CLI, respecting ABI, etc.
-
There was no reason they needed the CLI, the extensions, or the MS-provided headers. Just ABI with the libs. The rest is only for compat with legacy Windows sources.
-
But this was about MSVC-vs-anything (e.g. clang), not specifically about GCC.
-
Need full compatibility with the platform and existing tools like IDEs / debuggers to be able to take over. Clang is in a position to replace cl.exe and LLD will be in a position to replace link.exe. Intel C++ compiler, etc. is not necessarily any less bad / weird than MSVC++.
-
"To be able to take over" was not topic. My tweet was about Chrome using MSVC.
-
Well, what should they have used? Intel's compiler? They actually had to be part of porting Clang to escape from cl.exe.
- 7 more replies
New conversation -
-
-
I mean, Windoze decided long ago that C was irrelevant so they have to keep C++ up to date. I find it _really_ impressive a number of complex codebases work fine between Microsoft and POSIX-world C++ compilers. Much better than the C situation :/.
-
Chrome almost surely has a huge bulk of Windows-specific code making it work...
-
Perhaps, but I am always open to the idea of a codebase running on different compilers as a (underappreciated) test of portability. This unfortunately includes proprietary compilers.
End of conversation
New conversation -
-
-
You're a compiler snob, and I dig that about you.
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.