the half of the exmaples what compiles in C and not in C++ is a bad joke. To name a variable name to a reserved name in the upgraded version is no conception break and to can define functions later then used is also a bad concept even in C. It may works and not works anymore in C++, but it's not an issue at all.
And most we talk about "bad stuff" which compiled in C and not in C++ anymore, like define a constant without defining a constant.. what is the use practise on it?
to make a difference between print "Hello World" and print("Hello World") is not important, because if it's like in perl where both of it works. But if 1) works in py 2.0 and 2) in py 3.0 then they are different languages and it's not an upgrade