// { dg-do assemble } // g++ 1.36.1 bug 900210_05 // Section 18.3 of the 2.0 Reference Manual says "An implementation // providing { anachronistic features } should also provide a way for // the user to ensure that they do not occur in a source file." // The *only* proper way to "ensure" an absence of anachronstic features // is for C++ language processors to generate errors (rather than just // warnings) when such features are used. These errors could perhaps be // triggered by some set of command line options, or by the absence of // certain command line options. (For g++, the -pedantic and -traditional // options come to mind.) // The use of errors rather than warnings is important because errors // usually result in nonzero exit status codes for language processors // and these nonzero exit stati can be automatically checked during // normal execution of a Makefile. // cfront 2.0 provides the +p option which causes errors to be generated for // all cases of anachronistic usage. // g++ generates neither errors nor warnings for such usage, even when the // -ansi and -pedantic options are used. // Cfront 2.0 passes this test. // keywords: anachronism, enum types, integral types, implicit type conversions enum enum0 { enum_value_0 } enum0_object; int int0_object; void function () { enum0_object = int0_object; /* { dg-error "" } */ } int main () { return 0; }