diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2008-01-18 19:11:15 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2008-01-18 19:11:15 +0000 |
commit | 70a0694b3a218c38010fb3e35db86613d8d932c2 (patch) | |
tree | 6e423098942edd6f114e8f8bf8b5dc8f3c051ffe /libjava/link.cc | |
parent | 987b399aaf13821e04bd603b373bbe21b5224a81 (diff) | |
download | gcc-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.cc | 8 |
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++; } |