1// PR c++/58063 2// { dg-do run } 3 4struct basic_ios 5{ 6 bool operator!() const { return false; } 7}; 8 9struct ostream : virtual basic_ios 10{ 11}; 12 13int i; 14 15ostream& operator<<(ostream& os, const char* s) { 16 ++i; 17 return os; 18} 19 20ostream cout; 21 22void f(bool x = !(cout << "hi!\n")) { } 23 24int main() { 25 f(); 26 if (i != 1) 27 __builtin_abort(); 28} 29