// 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" }
}