------- Comment #4 from burnus at gcc dot gnu dot org 2008-05-28 22:19 ------- Update summary.
> I see. If component x were an allocatable instead of a pointer, > would I then get an error? Yes. > It might be useful to emit a warning when -Wsurprising (or some > other option turned on by -Wall) is enabled. I changed the title now. > I could not yet find this wording in the standard. Do you by chance > know the exact verse? The only thing I could find was: Sorry, I was too lazy to search the standard and wrote how I understood the standard (copied over from the PR without realizing that I was not copying the standard). > [F2003 draft] > 5.1.2.7 INTENT attribute > [...] > The INTENT (IN) attribute for a pointer > dummy argument specifies that during the execution of the procedure > its association shall not be changed except that it may become > undefined if the target is deallocated other than through the pointer > (16.4.2.1.3). I think this is the essential point: The value of the pointer target may change but not the *association status*. Thus assigning to a pointer is OK, allocating, deallocating or re-associating is invalid. -- burnus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|accepts-invalid |diagnostic Known to work|4.4.0 | Priority|P4 |P3 Summary|[4.3 regression] Missed |Add -Wsurprising for |error with assignment to |pointers arguments with |INTENT(IN) argument |INTENT(IN) Target Milestone|4.3.1 |--- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36271