aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/simplify.c
diff options
context:
space:
mode:
authorSteven G. Kargl <kargls@comcast.net>2006-02-10 19:01:05 +0000
committerSteven G. Kargl <kargl@gcc.gnu.org>2006-02-10 19:01:05 +0000
commitdef661340610359e6eea3cdd4189089b3b9b7acd (patch)
tree47904c72572a1f413c0df6b9172a66991423a611 /gcc/fortran/simplify.c
parent6f4d3d86564db6a42ffb8ffa8960cc32129ab581 (diff)
downloadgcc-def661340610359e6eea3cdd4189089b3b9b7acd.zip
gcc-def661340610359e6eea3cdd4189089b3b9b7acd.tar.gz
gcc-def661340610359e6eea3cdd4189089b3b9b7acd.tar.bz2
re PR fortran/20858 (NULL doesn't get its argument type (kind))
2006-02-05 Steven G. Kargl <kargls@comcast.net> PR fortran/20858 *decl.c (variable_decl): Improve error message. Remove initialization typespec. Wrap long line. *expr.c (gfc_check_pointer_assign): Permit checking of type, kind type, and rank. *simplify.c (gfc_simplify_null): Ensure type, kind type, and rank are set. gfortran.dg/null_1.f90: New test. From-SVN: r110845
Diffstat (limited to 'gcc/fortran/simplify.c')
-rw-r--r--gcc/fortran/simplify.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c
index 894903b..b477078 100644
--- a/gcc/fortran/simplify.c
+++ b/gcc/fortran/simplify.c
@@ -2528,16 +2528,14 @@ gfc_simplify_null (gfc_expr * mold)
{
gfc_expr *result;
- result = gfc_get_expr ();
- result->expr_type = EXPR_NULL;
-
if (mold == NULL)
- result->ts.type = BT_UNKNOWN;
- else
{
- result->ts = mold->ts;
- result->where = mold->where;
+ result = gfc_get_expr ();
+ result->ts.type = BT_UNKNOWN;
}
+ else
+ result = gfc_copy_expr (mold);
+ result->expr_type = EXPR_NULL;
return result;
}