http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46678
--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-27 00:35:04 UTC --- (In reply to comment #1) > testing: r162217 (589550ff51f6645a92a0538f31953b94e40585b4) > testing: r162219 (c5faa79924f2b5c58fd21b6bd2416836985dfc25) Forgot to change that: The first is working, the second is failing. If one looks at the original dump, the only difference is nesting: While the working version has: sub (integer(kind=1)[0:D.1600] * restrict a, integer(kind=4) & restrict n) { .... { // setup .string and other initialization } { // memmove etc. } { // write } } While the failing version uses: sub (integer(kind=1)[0:D.1600] * restrict a, integer(kind=4) & restrict n) { .... { // setup .string and other initialization { // memmove etc. } { // write } } }