diff options
Diffstat (limited to 'gcc/fortran/simplify.c')
-rw-r--r-- | gcc/fortran/simplify.c | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c index 942b401..8ffe75a 100644 --- a/gcc/fortran/simplify.c +++ b/gcc/fortran/simplify.c @@ -127,7 +127,7 @@ get_kind (bt type, gfc_expr *k, const char *name, int default_kind) return -1; } - if (gfc_extract_int (k, &kind) != NULL + if (gfc_extract_int (k, &kind) || gfc_validate_kind (type, kind, true) < 0) { gfc_error ("Invalid KIND parameter of %s at %L", name, &k->where); @@ -1499,7 +1499,7 @@ gfc_simplify_btest (gfc_expr *e, gfc_expr *bit) if (e->expr_type != EXPR_CONSTANT || bit->expr_type != EXPR_CONSTANT) return NULL; - if (gfc_extract_int (bit, &b) != NULL || b < 0) + if (gfc_extract_int (bit, &b) || b < 0) return gfc_get_logical_expr (gfc_default_logical_kind, &e->where, false); return gfc_get_logical_expr (gfc_default_logical_kind, &e->where, @@ -4234,7 +4234,6 @@ gfc_simplify_maskr (gfc_expr *i, gfc_expr *kind_arg) { gfc_expr *result; int kind, arg, k; - const char *s; if (i->expr_type != EXPR_CONSTANT) return NULL; @@ -4244,8 +4243,8 @@ gfc_simplify_maskr (gfc_expr *i, gfc_expr *kind_arg) return &gfc_bad_expr; k = gfc_validate_kind (BT_INTEGER, kind, false); - s = gfc_extract_int (i, &arg); - gcc_assert (!s); + bool fail = gfc_extract_int (i, &arg); + gcc_assert (!fail); result = gfc_get_constant_expr (BT_INTEGER, kind, &i->where); @@ -4265,7 +4264,6 @@ gfc_simplify_maskl (gfc_expr *i, gfc_expr *kind_arg) { gfc_expr *result; int kind, arg, k; - const char *s; mpz_t z; if (i->expr_type != EXPR_CONSTANT) @@ -4276,8 +4274,8 @@ gfc_simplify_maskl (gfc_expr *i, gfc_expr *kind_arg) return &gfc_bad_expr; k = gfc_validate_kind (BT_INTEGER, kind, false); - s = gfc_extract_int (i, &arg); - gcc_assert (!s); + bool fail = gfc_extract_int (i, &arg); + gcc_assert (!fail); result = gfc_get_constant_expr (BT_INTEGER, kind, &i->where); @@ -5060,7 +5058,6 @@ gfc_expr * gfc_simplify_poppar (gfc_expr *e) { gfc_expr *popcnt; - const char *s; int i; if (e->expr_type != EXPR_CONSTANT) @@ -5069,8 +5066,8 @@ gfc_simplify_poppar (gfc_expr *e) popcnt = gfc_simplify_popcnt (e); gcc_assert (popcnt); - s = gfc_extract_int (popcnt, &i); - gcc_assert (!s); + bool fail = gfc_extract_int (popcnt, &i); + gcc_assert (!fail); return gfc_get_int_expr (gfc_default_integer_kind, &e->where, i % 2); } @@ -5282,8 +5279,8 @@ gfc_simplify_repeat (gfc_expr *e, gfc_expr *n) (e->ts.u.cl->length && mpz_sgn (e->ts.u.cl->length->value.integer) != 0)) { - const char *res = gfc_extract_int (n, &ncop); - gcc_assert (res == NULL); + bool fail = gfc_extract_int (n, &ncop); + gcc_assert (!fail); } else ncop = 0; @@ -5693,7 +5690,7 @@ gfc_simplify_selected_int_kind (gfc_expr *e) { int i, kind, range; - if (e->expr_type != EXPR_CONSTANT || gfc_extract_int (e, &range) != NULL) + if (e->expr_type != EXPR_CONSTANT || gfc_extract_int (e, &range)) return NULL; kind = INT_MAX; @@ -5722,7 +5719,7 @@ gfc_simplify_selected_real_kind (gfc_expr *p, gfc_expr *q, gfc_expr *rdx) else { if (p->expr_type != EXPR_CONSTANT - || gfc_extract_int (p, &precision) != NULL) + || gfc_extract_int (p, &precision)) return NULL; loc = &p->where; } @@ -5732,7 +5729,7 @@ gfc_simplify_selected_real_kind (gfc_expr *p, gfc_expr *q, gfc_expr *rdx) else { if (q->expr_type != EXPR_CONSTANT - || gfc_extract_int (q, &range) != NULL) + || gfc_extract_int (q, &range)) return NULL; if (!loc) @@ -5744,7 +5741,7 @@ gfc_simplify_selected_real_kind (gfc_expr *p, gfc_expr *q, gfc_expr *rdx) else { if (rdx->expr_type != EXPR_CONSTANT - || gfc_extract_int (rdx, &radix) != NULL) + || gfc_extract_int (rdx, &radix)) return NULL; if (!loc) |