aboutsummaryrefslogtreecommitdiff
path: root/libjava/link.cc
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2008-01-18 19:11:15 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2008-01-18 19:11:15 +0000
commit70a0694b3a218c38010fb3e35db86613d8d932c2 (patch)
tree6e423098942edd6f114e8f8bf8b5dc8f3c051ffe /libjava/link.cc
parent987b399aaf13821e04bd603b373bbe21b5224a81 (diff)
downloadgcc-70a0694b3a218c38010fb3e35db86613d8d932c2.zip
gcc-70a0694b3a218c38010fb3e35db86613d8d932c2.tar.gz
gcc-70a0694b3a218c38010fb3e35db86613d8d932c2.tar.bz2
re PR c++/33887 (Reference to bitfield gets wrong value when optimizing)
PR c++/33887 * link.cc (_Jv_Linker::prepare_constant_time_tables): has_interfaces is boolean, treat it as such. From-SVN: r131632
Diffstat (limited to 'libjava/link.cc')
-rw-r--r--libjava/link.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/libjava/link.cc b/libjava/link.cc
index 3b4f37d..d6fd2dd 100644
--- a/libjava/link.cc
+++ b/libjava/link.cc
@@ -1,6 +1,7 @@
// link.cc - Code for linking and resolving classes and pool entries.
-/* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation
+/* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ Free Software Foundation
This file is part of libgcj.
@@ -662,10 +663,11 @@ _Jv_Linker::prepare_constant_time_tables (jclass klass)
// interfaces or primitive types.
jclass klass0 = klass;
- jboolean has_interfaces = 0;
+ jboolean has_interfaces = false;
while (klass0 != &java::lang::Object::class$)
{
- has_interfaces += klass0->interface_count;
+ if (klass0->interface_count)
+ has_interfaces = true;
klass0 = klass0->superclass;
klass->depth++;
}