[Bug c++/59914] New: A variadic function template that forwards to a multi-pack variadic template causes an infinite loop
ville.voutilainen at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Jan 23 11:15:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59914
Bug ID: 59914
Summary: A variadic function template that forwards to a
multi-pack variadic template causes an infinite loop
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ville.voutilainen at gmail dot com
template <class T, class... U> void f(T&& t, int i, U&&... u) {}
template <class... T> void g(T&&... t) {g(t..., 5, t...);}
int main() {g(6, 6, 6);}
Now, this was just a typo - the invocation in g was supposed to invoke f.
The compiler goes nuts and pegs the cpu. This is certainly undefined
behavior, but I wonder if it's possible to do something a bit more graceful.
More information about the Gcc-bugs
mailing list