http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50473
--- Comment #3 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-11-11 10:13:16 UTC --- The rvalue reference is essential. With this we still ICE: constexpr int f() { return 1; } template<class T> struct test { static constexpr auto&& value = f(); };