| // 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(); | |
| } |