On Sun, Dec 18, 2016 at 04:15:10PM +0100, Laslo Hunhold wrote: > However, we still have bootstrapping, so gcc might as well be written in > Brainfuck. As long as you can bootstrap it, everything is alright.
You cannot bootstrap with C in a reasonable way. For instance you want to compile that pile of cra* which is llvm (those _amazing_ coders got it wrong right at the start, LOL) for GPU shader support. It's advanced c++ and it does not compile with gcc 4.7.4, the last C bootstrapable compiler. It means you have to compile first c++ gcc 4.7.4 in order to compile c++ gcc 6.0.2, that to compile llvm. I acquired a raspberry pi 3... armv8/64bits... I was happy and about to configure a minimal server... till I found out that gcc armv8 backend (aarch64) is *NOT* in gcc 4.7.4.... So in order to bootstrap from a C compiler linux for armv8, I must compile c++ gcc 4.7.4 on x86/x86_64 in order to compile a cross 6.0.2 C gcc compiler for armv8. WOW! Back on llvm: you are supposed to need "only" a c++98 compiler/runtime to build llvm... and gcc 4.7.4 pretends to be c++98 clean... of course since llvm is pushing hard on c++, you run into c++98 front-end gcc 4.7.4 bugs... fixed in the _first_ c++98 gcc, namely gcc 4.8.0. Those c++ coders are just fu**ing the open source software stack and are a bunch of retarded sickoz thinking they are smart. And writting a C compiler won't really help: modern c++ compiles only with c++. Don't tell me to compile gcc 4.7.4, look at this bloody mess. The only way out from this sabotage would to port all c++ written critical software in simple C. For a lambda end-user system, you can just forget it: - libreoffice - llvm - blink/webkit/cef | gecko - harfbuzz Most of them are massive. Maybe writting a modern c++ in simple C in order to break the vicious cycle? A modern c++ compiler/runtime is just insanity and ultra hard to get right (have a look at the c++ ABI to have a good laught). I can hear people LOLing in microsoft and apple. All this is becoming a joke, a real fu**ing joke. -- Sylvain