// PR c++/45267 // { dg-do compile { target c++11 } } // { dg-options "-O" } template struct Vector { Vector(long long x); inline Vector operator<< [[gnu::always_inline]] (int x) const; }; long long bar (long long); template<> inline Vector Vector::operator<<(int x) const { return bar(x); } bool b; int main() { Vector a(1); if ((a << 2), b) { a << 2; throw 1; } }