// PR c++/86184
// { dg-do run }
// { dg-options "" }
int j;
struct X {
X() { j++; }
operator bool() { return true; }
};
/* Only create X once. */
bool b = X() ?: false;
bool b2 = X() ? X() : false;
int
main ()
{
if (j != 3)
__builtin_abort ();
}