(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.old-deja/
g++.benjamin/
15756-1.C
// { dg-do assemble  }
// { dg-options "-Wsign-promo" }
// 981203 bkoz
// g++/15756  test1

enum e_value { first = 0, next = 30 };

struct sanjuan {
  sanjuan(int value);
  sanjuan(unsigned value);
  friend sanjuan operator&(const sanjuan& x, const sanjuan& y);
  friend int operator!=(const sanjuan& x, const sanjuan& y);
};

extern void mod_enum(e_value*);
extern int a;

void foo(void) {
  e_value mod = first;
  mod_enum(&mod);
  if (mod != next)
    ++a;
}