aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>2005-04-27 15:37:53 +0000
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>2005-04-27 15:37:53 +0000
commit90aeadcb5c1c498a6b4260a3e35063618541aff0 (patch)
tree994299707c399c2909c8c7b1436fe3b387996d36 /gcc/fortran
parentb9f8dfba4222e65611c4e9ff15ee392a40e5117a (diff)
downloadgcc-90aeadcb5c1c498a6b4260a3e35063618541aff0.zip
gcc-90aeadcb5c1c498a6b4260a3e35063618541aff0.tar.gz
gcc-90aeadcb5c1c498a6b4260a3e35063618541aff0.tar.bz2
re PR fortran/21177 (wrong code with NULL())
PR fortran/21177 * interface.c (compare_parameter): Ignore type for EXPR_NULL only if type is BT_UNKNOWN. * gfortran.dg/pr21177.f90: New test From-SVN: r98837
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/interface.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index bf87e6a..822dcd0 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2005-04-27 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR fortran/21177
+ * interface.c (compare_parameter): Ignore type for EXPR_NULL
+ only if type is BT_UNKNOWN.
+
2005-04-25 Paul Brook <paul@codesourcery.com>
Steven G. Kargl <kargls@comcast.net>
diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c
index 6cb8fc6..5b848bc 100644
--- a/gcc/fortran/interface.c
+++ b/gcc/fortran/interface.c
@@ -1096,7 +1096,7 @@ compare_parameter (gfc_symbol * formal, gfc_expr * actual,
return compare_interfaces (formal, actual->symtree->n.sym, 0);
}
- if (actual->expr_type != EXPR_NULL
+ if ((actual->expr_type != EXPR_NULL || actual->ts.type != BT_UNKNOWN)
&& !gfc_compare_types (&formal->ts, &actual->ts))
return 0;