------- Comment #1 from pault at gcc dot gnu dot org  2010-02-26 07:35 -------
This fixes it and regtests.

Index: gcc/fortran/check.c
===================================================================
*** gcc/fortran/check.c (revision 157061)
--- gcc/fortran/check.c (working copy)
*************** gfc_check_allocated (gfc_expr *array)
*** 537,542 ****
--- 537,550 ----
    if (variable_check (array, 0) == FAILURE)
      return FAILURE;

+   if (array->expr_type != EXPR_VARIABLE && array->expr_type != EXPR_FUNCTION)
+     {
+       gfc_error ("The argument of '%s' intrinsic at %L is not a variable "
+                "or function expression", gfc_current_intrinsic,
+                &array->where);
+       return FAILURE;
+     }
+ 
    attr = gfc_variable_attr (array, NULL);
    if (!attr.allocatable)
      {

OK for trunk with the usual embellishments of ChangeLogs and testcase?
Paul


-- 

pault at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |pault at gcc dot gnu dot org
                   |dot org                     |
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2010-02-26 07:35:26
               date|                            |


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

Reply via email to