Mikael Morin wrote:
On Sunday 14 August 2011 09:35:56 Tobias Burnus wrote:
[Four examples which were still mishandled]
Hem, OK; it is a can of Pandora.
Sorry for opening it a bit more.
I can propose the following ad-hoc fix for the two latter cases. The patch passes gfortran.dg/*goto* and gfortran.dg/*label*, and I'm doing a full regression test. Is that OK?
That's OK with test cases (original issue plus the two newly fixed ones). Nit: You have a missing tab at:
+ /* In the case of BLOCK and ASSOCIATE blocks, there cannot be more than + one parallel block. Thus, we add the special code to the nested block + itself, instead of the parent one. */ Thanks for the patch!
About your two former cases, the first one looks especially tricky. For the second one, it may be valid, but a warning would be nice IMO as one of the labels is masked by the other. Both cases need more investigation anyway.
I think those could be deferred. - If you don't work on them, one should fill a PR to make sure they do not get forgotten.
Tobias