diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/cppexp.c | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 10d1df8..835ae07 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-06-07 Jason Merrill <jason@redhat.com> + + * cppexp.c (num_equality_op): Use a temporary variable to work + around gcc 3.0.4 bug. + 2002-06-07 Gabriel Dos Reis <gdr@codesourcery.com> * diagnostic.c (diagnostic_build_prefix): Tidy. diff --git a/gcc/cppexp.c b/gcc/cppexp.c index e5f464e..4fc833c 100644 --- a/gcc/cppexp.c +++ b/gcc/cppexp.c @@ -1128,9 +1128,11 @@ num_equality_op (pfile, lhs, rhs, op) cpp_num lhs, rhs; enum cpp_ttype op; { - lhs.low = num_eq (lhs, rhs); + /* Work around a 3.0.4 bug; see PR 6950. */ + bool eq = num_eq (lhs, rhs); if (op == CPP_NOT_EQ) - lhs.low = !lhs.low; + eq = !eq; + lhs.low = eq; lhs.high = 0; lhs.overflow = false; lhs.unsignedp = false; |
