From a29114b3536caf57d274d29b20289a6df9d31239 Mon Sep 17 00:00:00 2001 From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Fri, 7 Jun 2002 13:29:17 +0000 Subject: [PATCH] * cppexp.c (num_equality_op): Use a temporary variable to work around gcc 3.0.4 bug. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54339 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/cppexp.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 10d1df8aa1e2..835ae073e7e8 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 e5f464eaa000..4fc833c23e4e 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; -- GitLab