// { dg-do assemble } // { dg-options "-Wsign-promo" } // 981203 bkoz // g++/15756 test2 // this test may only be valid for 32bit targets at present #include enum e_i { vali } enum_int; enum e_ui { #if INT_MAX == 32767 valui = 0xF234 #else valui = 0xF2345678 #endif } enum_uint; int i; unsigned int ui; struct caracas { caracas(int); caracas(unsigned int); void foo(); }; int main () { caracas obj_ei ( enum_int ); // { dg-warning "" } caracas obj_eui ( enum_uint ); // { dg-warning "" } caracas obj_i ( i ); caracas obj_ui ( ui ); obj_ei.foo(); obj_eui.foo(); obj_i.foo(); obj_ui.foo(); }