The issue was found by Michael when working on the "restrict" issue of DT; see
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45586#c40
Without the patch, not only his draft patch fails, but one also gets - as Mikael
pointed out - strange dumps. For extends_1.f03 the result without patch is:
new_person->service.education.person.service.education.person.education.person.person.ss
= *ss;
with the patch the result is the more reasonable:
new_person->service.education.person.ss = *ss;
Build and regtested on x86-64-linux.
OK for the trunk?
Tobias
PS: Michael plans to submit his restrict patch (comment 35) after this patch has
been committed; the draft patch has been already pre-reviewed by Mikael (comment
38).