Right, but C++ started as an extension of C and is mostly compatible and historically you could compile C with the C++ compiler. I don't think it's a good comparison.
> historically you could compile C with the C++ compiler.
not any C, only the C++-compatible subset.
int* foo = malloc(sizeof(int));
has never worked in C++ for instance while it's valid C. Code that worked is code that people actually did effort to express in a way compatible with a C++ compiler.