diff options
Diffstat (limited to 'gcc/fortran/simplify.c')
-rw-r--r-- | gcc/fortran/simplify.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c index e6fbefc..5b47e93 100644 --- a/gcc/fortran/simplify.c +++ b/gcc/fortran/simplify.c @@ -1348,6 +1348,9 @@ gfc_simplify_ibset (gfc_expr * x, gfc_expr * y) result = gfc_copy_expr (x); mpz_setbit (result->value.integer, pos); + + twos_complement (result->value.integer, gfc_integer_kinds[k].bit_size); + return range_check (result, "IBSET"); } @@ -2514,6 +2517,8 @@ gfc_simplify_not (gfc_expr * e) mpz_and (result->value.integer, result->value.integer, gfc_integer_kinds[i].max_int); + twos_complement (result->value.integer, gfc_integer_kinds[i].bit_size); + return range_check (result, "NOT"); } |