diff options
Diffstat (limited to 'gcc/fortran/expr.c')
-rw-r--r-- | gcc/fortran/expr.c | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index 59f770c..edf8336 100644 --- a/gcc/fortran/expr.c +++ b/gcc/fortran/expr.c @@ -3173,7 +3173,8 @@ gfc_check_assign (gfc_expr *lvalue, gfc_expr *rvalue, int conform) /* This is possibly a typo: x = f() instead of x => f(). */ if (warn_surprising && rvalue->expr_type == EXPR_FUNCTION && gfc_expr_attr (rvalue).pointer) - gfc_warning ("POINTER-valued function appears on right-hand side of " + gfc_warning (OPT_Wsurprising, + "POINTER-valued function appears on right-hand side of " "assignment at %L", &rvalue->where); /* Check size of array assignments. */ @@ -3198,9 +3199,10 @@ gfc_check_assign (gfc_expr *lvalue, gfc_expr *rvalue, int conform) { int rc; if (warn_surprising) - gfc_warning ("BOZ literal at %L is bitwise transferred " - "non-integer symbol '%s'", &rvalue->where, - lvalue->symtree->n.sym->name); + gfc_warning (OPT_Wsurprising, + "BOZ literal at %L is bitwise transferred " + "non-integer symbol %qs", &rvalue->where, + lvalue->symtree->n.sym->name); if (!gfc_convert_boz (rvalue, &lvalue->ts)) return false; if ((rc = gfc_range_check (rvalue)) != ARITH_OK) @@ -3246,22 +3248,25 @@ gfc_check_assign (gfc_expr *lvalue, gfc_expr *rvalue, int conform) mpfr_sub (diff, rv, rvalue->value.real, GFC_RND_MODE); if (!mpfr_zero_p (diff)) - gfc_warning ("Change of value in conversion from " - " %s to %s at %L", gfc_typename (&rvalue->ts), + gfc_warning (OPT_Wconversion, + "Change of value in conversion from " + " %qs to %qs at %L", gfc_typename (&rvalue->ts), gfc_typename (&lvalue->ts), &rvalue->where); mpfr_clear (rv); mpfr_clear (diff); } else - gfc_warning ("Possible change of value in conversion from %s " - "to %s at %L",gfc_typename (&rvalue->ts), + gfc_warning (OPT_Wconversion, + "Possible change of value in conversion from %qs " + "to %qs at %L", gfc_typename (&rvalue->ts), gfc_typename (&lvalue->ts), &rvalue->where); } else if (warn_conversion_extra && lvalue->ts.kind > rvalue->ts.kind) { - gfc_warning ("Conversion from %s to %s at %L", + gfc_warning (OPT_Wconversion_extra, + "Conversion from %qs to %qs at %L", gfc_typename (&rvalue->ts), gfc_typename (&lvalue->ts), &rvalue->where); } @@ -3783,7 +3788,8 @@ gfc_check_pointer_assign (gfc_expr *lvalue, gfc_expr *rvalue) } if (warn) - gfc_warning ("Pointer at %L in pointer assignment might outlive the " + gfc_warning (OPT_Wtarget_lifetime, + "Pointer at %L in pointer assignment might outlive the " "pointer target", &lvalue->where); } |