Code that is accepted by a compiler is not always correct (in accordance with the definition of the C++ language). Two reasons for this are that changes are made in the language and that compilers may contain bugs. In the short term, very little can be done about the latter. In order to reduce the amount of code that must be rewritten for each new compiler release, it is common to let the compiler provide warnings instead of reporting errors for such code until the next major release. Cfront provides the +w flag to direct the compiler to give warnings for these types of language changes.