diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/simplify.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 8cf0bc3..7634dce 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,10 @@ 2007-01-09 Brooks Moses <brooks.moses@codesourcery.com> + * simplify.c (gfc_simplify_ibclr): Fix POS comparison. + (gfc_simplify_ibset): Same. + +2007-01-09 Brooks Moses <brooks.moses@codesourcery.com> + PR 30381 PR 30420 * simplify.c (convert_mpz_to_unsigned): New function. diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c index 82005f1..d4cdc9e 100644 --- a/gcc/fortran/simplify.c +++ b/gcc/fortran/simplify.c @@ -1280,7 +1280,7 @@ gfc_simplify_ibclr (gfc_expr * x, gfc_expr * y) k = gfc_validate_kind (x->ts.type, x->ts.kind, false); - if (pos > gfc_integer_kinds[k].bit_size) + if (pos >= gfc_integer_kinds[k].bit_size) { gfc_error ("Second argument of IBCLR exceeds bit size at %L", &y->where); @@ -1386,7 +1386,7 @@ gfc_simplify_ibset (gfc_expr * x, gfc_expr * y) k = gfc_validate_kind (x->ts.type, x->ts.kind, false); - if (pos > gfc_integer_kinds[k].bit_size) + if (pos >= gfc_integer_kinds[k].bit_size) { gfc_error ("Second argument of IBSET exceeds bit size at %L", &y->where); |