http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60542
--- Comment #4 from janus at gcc dot gnu.org --- (In reply to Thomas Koenig from comment #3) > This is with current trunk (as of a few minutes ago), on > x86_64-unknown-linux-gnu. I'm on the same platform and don't see the failure with gcc version 4.9.0 20140315 (experimental) [trunk revision 208590] (GCC) > ig25@linux-fd1f:~/Krempel/Where> ./a.out > > Program aborted. Backtrace: > #0 0x7F2AC9F1D417 > #1 0x7F2AC9F1EB12 > #2 0x7F2AC9FEF208 > #3 0x400C9E in MAIN__ at realloc_on_assign_5.f03:16 (discriminator 1) > Abgebrochen So maybe you can try this? Index: realloc_on_assign_5.f03 =================================================================== --- realloc_on_assign_5.f03 (revision 208590) +++ realloc_on_assign_5.f03 (working copy) @@ -13,6 +13,7 @@ if (a .ne. 'ax') call abort if (len (a) .ne. 2) call abort a = (a(2:2)) + print *,a if (a .ne. 'x') call abort if (len (a) .ne. 1) call abort end program main Maybe you could do a bit of debugging to see what goes wrong and where the error actually comes from?