I found a few minor issues with the integration of the latest official release in VS 2012 (update 3). In the following code snippet:
- Automatic format from VS does not properly indent the END ASSOCIATE. I noticed several times the same problem with the CASE DEFAULT statement of a switch instruction.
- Outlining works for the first DO loop and the two IF instructions, but fails for the 2nd loop and the ASSOCIATE block.
- The SIZE intrisinc function is not highlighted. I am pretty sure it was in some previous versions.
- The "highlight matching tokens" feature does not work for the ASSOCIATE block: it wrongly pairs the 2nd END DO with ASSOCIATE. If I replace SIZE(D) as upper limit of the 2nd loop by, say 3, the highlight of the tokens works. It seems to be linked to the use of a function, as replacing SIZE(D) by MAX(D) does not work, but using D(3) does...
PROGRAM DUMMY IMPLICIT NONE INTEGER :: A, B, C, I, D(6) ASSOCIATE (AA => A) DO I=1,5 IF (I>4) THEN B = I + AA EXIT END IF END DO DO I=1,SIZE(D) IF (I>4) THEN B = I + AA EXIT END IF END DO END ASSOCIATE END PROGRAM