------- Comment #6 from fxcoudert at gcc dot gnu dot org  2007-03-20 23:51 
-------
I think test.f is not valid Fortran, because size(p,1) is not a valid
specification expression. See 7.1.6 of the F2003 standard: it is a array
inquiry function (size) with an argument that is a variable (p) whose
properties inquired about *are dependent* on the upper bound of the last
dimension of an assumed-size array. So, it's invalid.

Now, we actually accept it because SIZE is a specification inquiry, and we
don't check things any further. This part (check_inquiry and its callers in
expr.c) need some rewriting to go along with the standard.


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fxcoudert at gcc dot gnu dot
                   |                            |org
           Severity|major                       |normal
  GCC build triplet|x86_64-linux-gnu            |
   GCC host triplet|x86_64-linux-gnu            |
 GCC target triplet|x86_64-linux-gnu            |
           Keywords|ice-on-valid-code           |accepts-invalid, ice-on-
                   |                            |invalid-code
      Known to fail|4.1.1 4.1.2                 |4.1.1 4.1.2 4.2.0 4.3.0
   Last reconfirmed|2007-03-17 22:08:39         |2007-03-20 23:51:36
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31253

Reply via email to