aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/simplify.c4
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);