aboutsummaryrefslogtreecommitdiff
path: root/gcc/cppexp.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2002-06-07 09:29:17 -0400
committerJason Merrill <jason@gcc.gnu.org>2002-06-07 09:29:17 -0400
commit97459791c142c5da7d299d2528da86d0f485f5b1 (patch)
tree1957e42c81343f2907eda7a51b9014b815a0b0ec /gcc/cppexp.c
parent4b1d52c7ae4f1ccf81daa0b238b797031ce7d613 (diff)
downloadgcc-97459791c142c5da7d299d2528da86d0f485f5b1.zip
gcc-97459791c142c5da7d299d2528da86d0f485f5b1.tar.gz
gcc-97459791c142c5da7d299d2528da86d0f485f5b1.tar.bz2
cppexp.c (num_equality_op): Use a temporary variable to work around gcc 3.0.4 bug.
* cppexp.c (num_equality_op): Use a temporary variable to work around gcc 3.0.4 bug. From-SVN: r54339
Diffstat (limited to 'gcc/cppexp.c')
-rw-r--r--gcc/cppexp.c6
1 files changed, 4 insertions, 2 deletions
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;