------- Comment #2 from burnus at gcc dot gnu dot org 2008-01-30 18:25 ------- Created an attachment (id=15057) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15057&action=view) Draft Patch
First patch: - Better error message - Fix that check But ... The volatile constrain is properly taken into account: CALL s(p,q) ! Violation of constraint C1233 [271:9-11], 1 Error: Pointer-array actual argument at (1) requires an assumed-shape or pointer-array dummy argument 'a' due to VOLATILE attribute The same message (see above in the interpretation) should also given for p = q But if one removes the VOLATILE the "p = q" is valid; however, gfortran ignores the ASSIGNMENT(=) and states: p = q 1 Error: Incompatible ranks 2 and 1 in assignment at (1) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35033