(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
expr/
cond12.C
// PR c++/58714
// { dg-do run }

struct X {
    X& operator=(const X&);
    X& operator=(X&){__builtin_abort();}
};

X g;
X& X::operator=(const X&)
{
  return g;
}

int main(int argv,char**) {
  X a, b;
  ((argv > 2) ? a : b) = X();
}