1 // { dg-do assemble  }
2 // { dg-options "-Wsign-promo" }
3 // 981203 bkoz
4 // g++/15756  test2
5 // this test may only be valid for 32bit targets at present
6 
7 #include <limits.h>
8 
9 enum e_i {
10   vali
11 }
12 enum_int;
13 
14 enum e_ui {
15 #if INT_MAX == 32767
16   valui = 0xF234
17 #else
18   valui = 0xF2345678
19 #endif
20 }
21 enum_uint;
22 
23 int i;
24 unsigned int ui;
25 
26 struct caracas {
27   caracas(int);
28   caracas(unsigned int);
29   void foo();
30 };
31 
main()32 int main ()
33 {
34   caracas obj_ei  ( enum_int  ); // { dg-warning "" }
35   caracas obj_eui ( enum_uint ); // { dg-warning "" }
36   caracas obj_i  ( i  );
37   caracas obj_ui ( ui );
38 
39   obj_ei.foo();
40   obj_eui.foo();
41   obj_i.foo();
42   obj_ui.foo();
43 }
44 
45 
46 
47 
48 
49 
50 
51