What does the fpermissive flag do?

Right from the docs: -fpermissiveDowngrade some diagnostics about nonconformant code from errors to warnings. Thus, using -fpermissive will allow some nonconforming code to compile. Bottom line: don’t use it unless you know what you are doing!