head 1.3; access; symbols OPENPKG_E1_MP_HEAD:1.1 OPENPKG_E1_MP:1.1 OPENPKG_E1_MP_2_STABLE:1.1 OPENPKG_E1_FP:1.1 OPENPKG_2_STABLE_MP:1.1 OPENPKG_2_STABLE_20061018:1.1 OPENPKG_2_STABLE_20060622:1.1 OPENPKG_2_STABLE:1.1.0.14 OPENPKG_2_STABLE_BP:1.1 OPENPKG_2_5_RELEASE:1.1 OPENPKG_2_5_SOLID:1.1.0.12 OPENPKG_2_5_SOLID_BP:1.1 OPENPKG_2_4_RELEASE:1.1 OPENPKG_2_4_SOLID:1.1.0.10 OPENPKG_2_4_SOLID_BP:1.1 OPENPKG_CW_FP:1.1 OPENPKG_2_3_RELEASE:1.1 OPENPKG_2_3_SOLID:1.1.0.8 OPENPKG_2_3_SOLID_BP:1.1 OPENPKG_2_2_RELEASE:1.1 OPENPKG_2_2_SOLID:1.1.0.6 OPENPKG_2_2_SOLID_BP:1.1 OPENPKG_2_1_RELEASE:1.1 OPENPKG_2_1_SOLID:1.1.0.4 OPENPKG_2_1_SOLID_BP:1.1 OPENPKG_2_0_RELEASE:1.1 OPENPKG_2_0_SOLID:1.1.0.2 OPENPKG_2_0_SOLID_BP:1.1 OPENPKG_1_STABLE_MP:1.1; locks; strict; comment @# @; 1.3 date 2007.09.16.07.43.14; author rse; state Exp; branches; next 1.2; commitid UOkHn81eIDNHSVxs; 1.2 date 2007.09.16.07.39.03; author rse; state Exp; branches; next 1.1; commitid m0afmOM7xkzgRVxs; 1.1 date 2003.07.02.14.01.49; author mlelstv; state Exp; branches; next ; desc @@ 1.3 log @another patchset from Debian @ text @Index: doc/jikes.1 --- doc/jikes.1.orig 2004-03-02 10:02:11 +0100 +++ doc/jikes.1 2007-09-16 09:40:39 +0200 @@@@ -185,7 +185,7 @@@@ compatibility to older virtual machines, and some source constructs will be compiled to less efficient workarounds in order to avoid known virtual machine bugs or deficiencies. However, a lower target may -occaisionally produce incorrect semantic behavior. Furthermore, some +occasionally produce incorrect semantic behavior. Furthermore, some language features require virtual machine support, where there are no known workarounds in earlier releases: the assert statement requires 1.4 (unless you also use \fB\-noassert\fP), and the planned addition Index: src/decl.cpp --- src/decl.cpp.orig 2004-09-27 00:40:41 +0200 +++ src/decl.cpp 2007-09-16 09:40:39 +0200 @@@@ -2596,7 +2596,9 @@@@ // if (control.option.deprecation && hidden_method -> IsDeprecated() && - ! method -> containing_type -> file_symbol -> IsClassOnly()) + ! method -> containing_type -> file_symbol -> IsClassOnly() && + ! method -> IsDeprecated() && + ! InDeprecatedContext()) { ReportSemError(SemanticError::DEPRECATED_METHOD_OVERRIDE, left_tok, right_tok, method -> Header(), Index: src/double.h --- src/double.h.orig 2004-06-02 13:26:22 +0200 +++ src/double.h 2007-09-16 09:40:39 +0200 @@@@ -63,6 +63,11 @@@@ #include "platform.h" #include "long.h" +// We should really have an autoconf test for this, but autoconf hates me. +#if defined(WORDS_BIGENDIAN) || (defined(__arm__) && !defined(__VFP_FP__)) +#define DOUBLES_BIGENDIAN_WORDS +#endif + #ifdef HAVE_JIKES_NAMESPACE namespace Jikes { // Open namespace Jikes block #endif @@@@ -395,7 +400,25 @@@@ static const IEEEdouble bigtens[]; // powers of 10 by powers of 2 #endif +#if defined(WORDS_BIGENDIAN) != defined(DOUBLES_BIGENDIAN_WORDS) + // This is sick, but then so is this entire class hierarchy. + inline void setHighWord(u4 high) { BaseLong::setLowWord(high); } + inline void setLowWord(u4 low) { BaseLong::setHighWord(low); } + using BaseLong::setHighAndLowWords; + inline void setHighAndLowWords(u4 high, u4 low) + { BaseLong::setHighAndLowWords(low, high); } +#endif +#ifdef HAVE_64BIT_TYPES + // This really isn't going to help anyone. Make it private. + using BaseLong::Words; +#endif + public: +#if defined(WORDS_BIGENDIAN) != defined(DOUBLES_BIGENDIAN_WORDS) + inline u4 HighWord() const { return BaseLong::LowWord(); } + inline u4 LowWord() const { return BaseLong::HighWord(); } +#endif + // // Information methods, for evaluating components of the float // Index: src/error.cpp --- src/error.cpp.orig 2004-09-27 00:40:41 +0200 +++ src/error.cpp 2007-09-16 09:40:39 +0200 @@@@ -1,4 +1,4 @@@@ -// $Id: error.cpp,v 1.159 2004/09/26 22:40:41 elliott-oss Exp $ +// $Id: error.cpp,v 1.160 2004/10/10 02:59:40 elliott-oss Exp $ // // This software is subject to the terms of the IBM Jikes Compiler // License Agreement available at the following URL: @@@@ -513,6 +513,7 @@@@ warning[DEPRECATED_FIELD] = WEAK_WARNING; warning[DEPRECATED_METHOD] = WEAK_WARNING; warning[DEPRECATED_CONSTRUCTOR] = WEAK_WARNING; + warning[DEPRECATED_METHOD_OVERRIDE] = WEAK_WARNING; warning[UNNECESSARY_TYPE_IMPORT] = WEAK_WARNING; warning[MULTIPLE_PUBLIC_TYPES] = WEAK_WARNING; Index: src/platform.h --- src/platform.h.orig 2004-08-20 02:21:17 +0200 +++ src/platform.h 2007-09-16 09:40:39 +0200 @@@@ -151,6 +151,18 @@@@ # include STD_LIB_NAME(time) #endif +// +// In the compiler, we want EXACT control over signed and unsigned values +// of certain bit widths. Configure should have already found us what we need. +// +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif // HAVE_INTTYPES_H + // C++ standard support #ifdef HAVE_STD @@@@ -182,18 +194,6 @@@@ #endif -// -// In the compiler, we want EXACT control over signed and unsigned values -// of certain bit widths. Configure should have already found us what we need. -// -#if HAVE_INTTYPES_H -# include -#else -# if HAVE_STDINT_H -# include -# endif -#endif // HAVE_INTTYPES_H - typedef uint8_t u1; typedef int8_t i1; typedef uint16_t u2; Index: src/set.cpp --- src/set.cpp.orig 2002-12-11 01:55:04 +0100 +++ src/set.cpp 2007-09-16 09:40:39 +0200 @@@@ -43,6 +43,9 @@@@ bool SymbolSet::operator==(const SymbolSet& rhs) const { + if (!&rhs) + return false; + if (this != &rhs) { if (symbol_pool.Length() != rhs.symbol_pool.Length()) @@@@ -70,6 +73,9 @@@@ // void SymbolSet::Union(const SymbolSet& set) { + if (!&set) + return; + if (this != &set) { for (unsigned i = 0; i < set.symbol_pool.Length(); i++) @@@@ -90,6 +96,9 @@@@ // void SymbolSet::Intersection(const SymbolSet& set) { + if (!&set) + return; + if (this != &set) { Tuple old_symbol_pool(symbol_pool.Length()); @@@@ -120,6 +129,9 @@@@ // bool SymbolSet::Intersects(const SymbolSet& set) const { + if (!&set) + return false; + for (unsigned i = 0; i < set.symbol_pool.Length(); i++) { ShadowSymbol* shadow = set.symbol_pool[i]; @@@@ -139,6 +151,9 @@@@ // void SymbolSet::RemoveElement(const Symbol* element) { + if (!element) + return; + const NameSymbol* name_symbol = element -> Identity(); unsigned i = name_symbol -> index % hash_size; ShadowSymbol* previous = NULL; Index: src/symbol.h --- src/symbol.h.orig 2004-09-27 01:10:19 +0200 +++ src/symbol.h 2007-09-16 09:40:39 +0200 @@@@ -1106,8 +1106,6 @@@@ // bool IsInner() const { - assert((! IsLocal() && ! Anonymous()) || - (IsNested() && ! ACC_STATIC())); return IsNested() && ! ACC_STATIC(); } @ 1.2 log @add a bunch of fixes from sf.net @ text @d1 84 d87 1 a87 1 +++ src/platform.h 2007-09-16 09:36:26 +0200 d128 1 a128 1 +++ src/set.cpp 2007-09-16 09:36:26 +0200 d181 1 a181 1 +++ src/symbol.h 2007-09-16 09:36:26 +0200 @ 1.1 log @help with gcc3.3 compatibility @ text @d1 5 a5 4 --- src/platform.h.dist 2003-07-02 15:59:23.000000000 +0200 +++ src/platform.h 2003-07-02 15:59:50.000000000 +0200 @@@@ -141,6 +141,18 @@@@ # include d23 1 a23 1 @@@@ -183,18 +195,6 @@@@ d42 65 @