AFAIK mainline Linux currently has a minimum compiler requirement of GCC5.1, but even then the only reason for that version bump was to avoid compiler bugs in earlier versions. With a bit of patching and a restricted set of architectures it might be possible to continue using GCC4.7 for mainline Linux.
All that would not to be required if gcc was till a clean simple and plain C project,…
It cuts both ways. Linux and any other C project could avoid this if they remained compatible with tinycc, GCC4.7, or any other pure C compilers. Apparently such an expectation is out of the question, I suppose asm goto and friends are too appealing.
…moving gcc to c++ was probably one of the worst mistake in open source software history, if not the worst.
The decision to move GCC to C++98 was not taken lightly, nor was it done without opposition. I would recommend reading into the discussions on the topic. Moreover, I would also recommend browsing the source code of GCC4.7 and comparing it to later versions to see how much the transition genuinely simplified a lot of the codebase, e.g. the large scale replacement of preprocessor abuse.
At the end of the day, although it adds another step to the bootstrapping process it needed to be done to keep GCC development manageable.