| // PR c++/92032 - DR 1601: Promotion of enumeration with fixed underlying type. |
| // { dg-do compile { target c++11 } } |
| |
| enum E1 : long { e1 }; |
| enum E2 : short { e2 }; |
| |
| int f1(short); |
| void f1(int); |
| |
| void f2(int); |
| int f2(short); |
| |
| void f3(int); |
| int f3(long); |
| |
| int f4(short); |
| void f4(long); |
| |
| int f5(int); |
| void f5(long); |
| |
| int f6(unsigned int); // { dg-message "candidate" } |
| void f6(long); // { dg-message "candidate" } |
| |
| void |
| fn () |
| { |
| int r = 0; |
| r += f1 (e2); |
| r += f2 (e2); |
| r += f3 (e1); |
| r += f4 (e2); |
| r += f5 (e2); |
| r += f6 (e2); // { dg-error "ambiguous" } |
| } |