For all its warts, C++ only got adopted inside AT&T and later by almost every C compiler vendor, because it just fitted on their existing toolchains.
Even lack of modules is related to that, C++ object files needed to look just like C ones.
Now that C++ is grown up and can live on its own, it needs to pay for the crazy days of its parties going out with C. :)