>Many things in C++ aren't. We seem to be going in circles.
No, you seem to be missing the point. I'm not talking about you or me writing C++ code. I'm talking about compiling an existing C program as C++ without having to make massive changes. I'm willing to add a cast to malloc calls here and there, but changing every occurance of standard library usage to handle namespaces just so that the program will compile is ridiculous. That is why the C library (as defined by C90) is supported. Not supporting it would break far too much existing code. Now, since the standards committee considers existing C and C++ code and tries to break as little of both as possible, the compromise should make perfect sense.