// 981203 bkoz
// g++/15756  test1
// Build don't link: 
// Special g++ Options: -Wsign-promo

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;
}













