http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48912
Paolo Carlini <paolo.carlini at oracle dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jason at gcc dot gnu.org Summary|[C++0x]Compiler abort |[C++0x] Compiler abort |silently |silently --- Comment #1 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-05-06 09:47:40 UTC --- As a matter of fact, with the released 4.6.0 I'm getting an ICE, not a silent miscompilation for the second snippet. In mainline and in the 4_6-branch it's already correctly rejected with something like: ... ... 48912_2.C:3:11: in constexpr expansion of ‘f()’ 48912_2.C:3:11: in constexpr expansion of ‘f()’ 48912_2.C:3:11: in constexpr expansion of ‘f()’ 48912_2.C:8:22: error: constexpr evaluation depth exceeds maximum of 512 (use -fconstexpr-depth= to increase the maximum) The first snippet though, the recursive function alone, is accepted in mainline and 4_6-branch, I'm not 100% sure that's correct, probably it is but let's ask Jason to have a look.