diff options
Diffstat (limited to 'gcc/fortran/expr.c')
-rw-r--r-- | gcc/fortran/expr.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index ad9f42a..f332b34 100644 --- a/gcc/fortran/expr.c +++ b/gcc/fortran/expr.c @@ -1736,7 +1736,8 @@ gfc_check_assign (gfc_expr * lvalue, gfc_expr * rvalue, int conform) if (rvalue->rank != 0 && lvalue->rank != rvalue->rank) { - gfc_error ("Incompatible ranks in assignment at %L", &lvalue->where); + gfc_error ("Incompatible ranks %d and %d in assignment at %L", + lvalue->rank, rvalue->rank, &lvalue->where); return FAILURE; } @@ -1747,6 +1748,10 @@ gfc_check_assign (gfc_expr * lvalue, gfc_expr * rvalue, int conform) return FAILURE; } + if (rvalue->expr_type == EXPR_NULL) + gfc_warning ("NULL appears on right-hand side in assignment at %L", + &rvalue->where); + /* Check size of array assignments. */ if (lvalue->rank != 0 && rvalue->rank != 0 && gfc_check_conformance ("Array assignment", lvalue, rvalue) != SUCCESS) |