https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103508
--- Comment #6 from kargls at comcast dot net ---
After looking a the Fortran standard and the examples here, this
has nothing to do PDT. The reduce testcase
program foo
real x, y
block
block
real y
y = x
end
end
end
gives the error message for the first missing 'END BLOCK' and
then ICE. There is special handling of removing a partially
constructed namespace in decl.cc at lines 8986-9014. I have
not been able to unravel the code, yet; but I suspect the
namespace removal has gone sideways. Note, changing to
'end block' for either 'end' generates the error and parsing
continues without the ICE, i.e.,
program foo
real x, y
block
block
real y
y = x
end
end block ! Add the correct end statement
end