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