------- Comment #1 from pault at gcc dot gnu dot org  2007-05-15 13:49 -------
This does the trick on all fronts:

Index: gcc/fortran/check.c
===================================================================
*** gcc/fortran/check.c (révision 124614)
--- gcc/fortran/check.c (copie de travail)
*************** gfc_check_atan2 (gfc_expr *y, gfc_expr *
*** 649,661 ****
  try
  gfc_check_besn (gfc_expr *n, gfc_expr *x)
  {
!   if (scalar_check (n, 0) == FAILURE)
!     return FAILURE;

    if (type_check (n, 0, BT_INTEGER) == FAILURE)
      return FAILURE;

    if (type_check (x, 1, BT_REAL) == FAILURE)
      return FAILURE;

    return SUCCESS;
--- 649,667 ----
  try
  gfc_check_besn (gfc_expr *n, gfc_expr *x)
  {
!   char buffer[80];

    if (type_check (n, 0, BT_INTEGER) == FAILURE)
      return FAILURE;

    if (type_check (x, 1, BT_REAL) == FAILURE)
+     return FAILURE;
+
+   /* Note arg[0] is misnamed, for besjn and besyn, as 'ncopies' in
+      intrinsic.c (add_functions).  */
+   snprintf (buffer, 80, "arguments 'n' and '%s' for intrinsic '%s'",
+           gfc_current_intrinsic_arg[1], gfc_current_intrinsic);
+   if (gfc_check_conformance (buffer, n, x) == FAILURE)
      return FAILURE;

    return SUCCESS;

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         |2007-05-15 13:49:12
               date|                            |


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

Reply via email to