(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
overload/
defarg10.C
// PR c++/58063
// { dg-do run }

struct basic_ios
{
  bool operator!() const { return false; }
};

struct ostream : virtual basic_ios
{
};

int i;

ostream& operator<<(ostream& os, const char* s) {
  ++i;
  return os;
}

ostream cout;

void f(bool x = !(cout << "hi!\n")) { }

int main() {
  f();
  if (i != 1)
    __builtin_abort();
}