2004-10-02  Elliott Hughes  <enh@acm.org>

	* NEWS: describe 1.22 and the bugs fixed between 1.21 and 1.22.

2004-09-26  Bu FeiMing  <phileas_bu@hotmail.com>

	* src/symbol.h (InsertDirectorySymbol): bug #495; subdirectories
	of a class directory should not be considered source directories.

2004-09-26  Elliott Hughes  <enh@acm.org>

	* src/decl.cpp, src/error.cpp, src/error.h: bug #4046; warn when
	overriding a deprecated method.

2004-09-13  Elliott Hughes  <enh@acm.org>

	* src/decl.cpp: bug #4042; constructors and default constructors
	of strictfp classes should be strictfp themselves (JLS2 8.1.1.3).

2004-09-13  Elliott Hughes  <enh@acm.org>

	* src/class.cpp: the release candidate Java 1.5's javac uses
	UTF-8 constants instead of Class constants for annotations.
	This patch lets us work with the rt.jar from 1.5-rc.

2004-08-20  Elliott Hughes  <enh@acm.org>

	* configure.ac, src/config.h.in, src/platform.h: bug #4018;
	include <errno.h> to fix FreeBSD 4.8 build problems.
	* Makefile.in, aclocal.m4, config.guess, config.sub,
	configure, depcomp, install-sh, doc/Makefile.in,
	src/Makefile.in: regenerated.

2004-08-18  Elliott Hughes  <enh@acm.org>

	* src/body.cpp, src/decl.cpp, src/semantic.h: bug #3947; ignore
	static variables if we're looking for shadows of a non-static
	variable, and vice versa.

2004-06-25  Elliott Hughes  <enh@acm.org>

	* src/decl.cpp: a fix to my fix for bug #3986; still regresses 
	on the same Jacks tests, but is better practically. Now, as
	well as rejecting invalid 1.4 source, we can compile against
	the 1.5 rt.jar classes.

2004-06-22  Elliott Hughes  <enh@acm.org>

	* src/decl.cpp: bug #3424; distinguish between invalid types
	and placeholders for not-found types (i.e. keep saying "type not
	found" rather than switching to "a candidate was found, but it is
	invalid and needs to be fixed before this type will successfully
	compile."

2004-06-21  Elliott Hughes  <enh@acm.org>

	* src/decl.cpp: bug #3986; don't compile covariant return types
	in .java files when -source is less than 1.5. This breaks
	the Jacks tests 13.1-covariance-[123], but I think they're wrong
	and should only be run with "-source 1.5".

2004-06-20  Elliott Hughes  <enh@acm.org>

	* src/system.cpp: bug #3934 and bug #3989; don't try to create
	a placeholder for unfound system methods and fields. It's
	likely to be too late. (I wonder if we should use tests such
	as "control.Throwable_initCauseMethod() != NULL" instead of
	the usual "control.option.target < JikesOption::SDK1_4", the
	better to cope with unusual targets such as MIDP-1.0, and cases
	where the user has forgotten "-target 1.3"? The current patch
	stops us crashing; the alternative patch would let us "just work".)

2004-06-02  Elliott Hughes  <enh@acm.org>

	* src/double.cpp, src/double.h: it's impossible to implement
	"T& operatorO(const T&)" correctly where O isn't an assignment
	operator. (In our case, we were leaking memory.)
	Implement "T operator(const T&)" instead.

2004-06-02  Elliott Hughes  <enh@acm.org>

	* src/definite.cpp: remove redundant test from
	DefinitePair::operator=(const DefiniteAssignmentSet&).
	* src/double.cpp: fix leak in BigInt::operator=(const BigInt&).
	* src/double.h: fix BitInt(BigInt&).

2004-05-31  Elliott Hughes  <enh@acm.org>

	* src/definite.cpp, src/double.cpp, src/set.h: fix operator=
	implementations missing self-assignment checks (found while
	investigating bug 3973).

2004-05-20  Elliott Hughes  <enh@acm.org>

	* src/bytecode.cpp: Bug 3974 - don't assume that a string literal
	has type java.lang.String; it may have been cast to java.lang.Object
	or one of String's implemented interfaces in valid (if strange) code.

2004-05-17  Elliott Hughes  <enh@acm.org>

	* src/expr.cpp: Bug 3972 - don't assume that a constant is an int
	literal just because it's not one of the other literals we were
	expecting; check explicitly. Invalid source may mean that we're
	actually looking at a string constant, say.

2004-05-16  Chris Abbey  <jikes@cabbey.net>

	Release 1.21

2004-05-13  Chris Abbey  <jikes@cabbey.net>

	* configure.ac: bump version
	* configure: regen

	
2004-05-04  Chris Abbey  <jikes@cabbey.net>

	* src/m4/ac_check_iconv.m4: enable --without-iconv
	* aclocal.m4:
	* config.guess:
	* config.sub:
	* configure:
	* depcomp
	* install-sh
	* Makefile.in
	* src/Makefile.in
	* doc/Makefile.in: regen

2004-05-04  Chris Abbey  <jikes@cabbey.net>

	* autogen.sh: made more user friendly

2004-05-03  Elliott Hughes  <enh@acm.org>

	* src/init.cpp: fix bug #3948 by ignoring fields of array types
	when looking for final fields that could be made static.

2004-05-03  Elliott Hughes  <enh@acm.org>

	* src/class.cpp, src/error.cpp: ensures we also print the path to
	the class file within the JAR file (i.e. include the package) in
	diagnostics about invalid class files.

2004-05-03  Elliott Hughes  <enh@acm.org>

	* src/class.h: fixes compilation with libgcj3.3.jar; gcj-compiled
	classes have an extra attribute "gnu.gcj.gcj-compiled". A fencepost
	error in GetN was causing us to reject the class file. (Also fixes
	the analogous error in SkipN.)

2004-05-03  Elliott Hughes  <enh@acm.org>

	* src/class.h, src/class.cpp: Always call MarkInvalid rather than
	sometimes manipulating the field directly, and switch from a simple
	boolean to a description of the problem we found...
	* src/error.cpp: ...so we can give a potentially useful diagnostic.

2004-05-01  Elliott Hughes  <enh@acm.org>

	* src/control.cpp: it's the import that's unused, not the name.
	Let the user's editor highlight the whole import declaration,
	not just the name.

2004-04-18  Chris Abbey  <jikes@cabbey.net>

	Release 1.20.

2004-04-17  Chris Abbey  <jikes@cabbey.net>

	* src/expr.cpp: convert ExtremaForType, ReportOverflow, and 
	CheckIntegerAddition from static to inline to allow compilation
	on AIX.
	
2004-04-17  Eric Blake  <ebb9@byu.net>

	* src/m4/ac_cxx_exceptions.m4: Delete - this file is no longer
	needed, because jikes doesn't use exceptions.
	* src/Makefile.in: Regenerate.

2004-04-16  Chris Abbey  <jikes@cabbey.net>

	* src/Makefile.in: trivial hand patch, looks like  src/m4/
	was not up to date the last time this was regen'd.

2004-04-15  Eric Blake  <ebb9@byu.net>

	* NEWS: More news blurbs.
	* configure.ac: Bump jikes version, and update to automake 1.8.3.
	* config.guess: Regenerate.
	* config.sub: Regenerate.
	* configure: Regenerate.
	* install-sh: Regenerate.
	* mkinstalldirs: Regenerate.

2004-04-14  Chris Abbey	 <jikes@cabbey.net>

	* src/error.cpp (SemanticError::InitializeMessageGroups): turn
	the defaults down for Effective Java and Naming Conventions
	diagnostics.

2004-04-14  Eric Blake  <ebb9@byu.net>

	* NEWS: My shot at 1.20 release notes.

2004-04-13  Chris Abbey  <jikes@cabbey.net>

	* src/symbol.ccp: revert to using strcmp and wcscmp instead of
	comparing just the first char. Fixes bug 3920. Thanks to Elliott
	for pointing out the subtle difference of the equivalent to
	changing from s.equals(".") to s.startsWith(".").

2004-04-12  Eric Blake  <ebb9@byu.net>

	* src/error.h (STATIC_TYPE_ACCESSING_MEMBER_TYPE): New error.
	* src/error.cpp: Ditto.
	* src/decl.cpp (FindType): Emit it when appropriate.

2004-04-11  Eric Blake  <ebb9@byu.net>

	* src/symbol.cpp (UnlinkFromParents): Fix compile-time error with
	poor choice of identifier.

2004-04-11  Elliott Hughes  <enh@acm.org>

	* AUTHORS: Credit where credit's due.

2004-04-11  Elliott Hughes  <enh@acm.org>

	* src/diagnose.cpp: Remove an extraneous endl that caused blank
	lines to appear in +E or +D output when there were syntax (rather
	than lexical or semantic) errors. There are still some cases where
	Jikes outputs extra blank lines in its regular output, but they're
	less noticeable when the output isn't very tight anyway, and I haven't
	found them in the source, either.

2004-04-11  Phil Norman  <cuvy.abezna@virgin.net>

	* src/symbol.h, src/symbol.cpp: Fix bug 3446. Added a method
	TypeSymbol::UnlinkFromParents which removes references from the
	subtypes and dependents sets of the TypeSymbol's 'super' and set
	of implemented interfaces. Used this method in the method
	SymbolTable::DeleteAnonymousTypes so that destroyed anonymous
	types will be properly unlinked. Bug 3446 was caused by things such
	as the TypeSymbol representing java.lang.Object keeping references
	to a destroyed TypeSymbol, and so causing segfaults.

2004-04-08  Eric Blake  <ebb9@byu.net>

	* src/class.cpp (Init) [!JIKES_DEBUG]: Fix regression in non-debug
	builds from previous patch.

2004-04-07  Eric Blake  <ebb9@byu.net>

	* src/depend.cpp (AddDependence): Move array, primitive processing
	here from elsewhere. Once again allows int[].class in a package.
	* src/expr.cpp (ProcessAmbiguousName, ProcessFieldAccess),
	(ProcessMethodName, GetAnonymousType): Use updates to
	AddDependence.

2004-04-04  Eric Blake  <ebb9@byu.net>

	* src/class.cpp (Init): Silence compiler warning.

2004-04-04  Musachy Barroso <insanus@bellsouth.net>

	Jikes patch 432.
	* src/control.cpp (Control): Check for system I/O errors.
	* src/control.h (general_io_errors, general_io_warnings): New
	fields.
	* src/error.cpp (SafeArray): New method for persistent strings.
	* src/error.h (IO_WARNING, IO_ERROR): New errors.
	* src/system.cpp (ProcessBootClassPath): 
	* src/system.cpp (ProcessExtDirs): 
	* src/system.cpp (ProcessClassPath): 

2004-04-04  Eric Blake  <ebb9@byu.net>

	* src/class.h (GetN): Return NULL-terminated byte arrays. 
	(CPUtf8Info::Bytes): Change to reflect the actual contents of the
	bytes array rather than debugging view - fixes bug 3913.
	(CPUtf8Info::contents, Init): Use contents only when debugging.
	* src/class.cpp: Update all callers.
	* src/symbol.cpp (UnboxedType): Adds missing Byte.
	* src/error.cpp: Fix some typos.
	(PrintFile): Be forgiving of NULL filename.

2004-04-04  Elliott Hughes  <enh@acm.org>

	* src/symbol.cpp (BoxedType): Adds the missing primitive type 'byte'.

2004-04-04  Elliott Hughes  <enh@acm.org>

	* src/expr.cpp (GetAnonymousType): Fix bug 3692. If we failed to
	get a default constructor, we should give up before we require it.

2004-04-03  Elliott Hughes  <enh@acm.org>

	* src/error.cpp: Correctly fix the text of *all* package-related
	errors.

2004-04-03  Elliott Hughes  <enh@acm.org>

	* src/diagnose.cpp, src/error.cpp: Fix +D so that it outputs the
	correct column numbers, instead of always reporting column 0
	because we hadn't re-read the input to be able to translate token
	indexes into column numbers.

2004-04-02  Elliott Hughes  <enh@acm.org>

	* src/error.cpp: Fix a few package-related errors; packages should
	be reported as "java.lang", not "java/lang".

2004-03-31  Eric Blake  <ebb9@byu.net>

	* src/ast.cpp [JIKES_DEBUG]: Move stream.h include outside of the
	namespace.
	* src/depend.cpp: Formatting.
	(BoxedTypeForPrimitiveType, AddStringConversionDependence): Delete
	- with autoboxing in JSR 201, this information better belongs in
	TypeSymbol.
	* src/semantic.h: Ditto.
	* src/expr.cpp (ReportVariableNotFound): Use NULL, not 0, when we
	mean a pointer.
	(ProcessClassLiteral): Restore class dependence on non-primitive
	types, that Elliott's patch regressed on.
	(ProcessPLUS): Depend on the boxed type.
	(CreateAccessToScopedVariable, ProcessAmbiguousName): Don't allow
	static class to access constant instance variable of enclosing
	class, bug 3536.
	* src/symbol.h (BoxedType, UnboxedType): New methods.
	* src/symbol.cpp: Implement.

2004-03-31  Elliott Hughes  <enh@acm.org>

	* src/expr.cpp: Fix a null-pointer access caused by trying to be too
	clever; all that effort I put into not crashing on valid source, and
	not a thought given to invalid source like "class C{C(){this.c=0;}}".

2004-03-28  Elliott Hughes  <enh@acm.org>

	* src/decl.cpp: Compiling GNU Classpath from CVS and looking at Jikes'
	complaints was a good reminder that we shouldn't warn about hiding of
	the serialVersionUID field; that's the way it's supposed to be used.

2004-03-28  Elliott Hughes  <enh@acm.org>

	* src/init.cpp: Warn about non-static final fields initialized by a
	constant expression; these can be made static to save space in each
	instance.
	* src/error.cpp, src/error.h: The new diagnostic.

2004-03-28  Elliott Hughes  <enh@acm.org>

	* src/decl.cpp: Accept default access for serialVersionUID; it's
	common existing practice.
	* src/error.cpp: Put all the serialization-related warnings
	together in the +Pserial group.

2004-03-28  Elliott Hughes  <enh@acm.org>

	* src/expr.cpp: Fix another assertion compiling Sun's
	JDK 1.4.1 source; don't ask FindInaccessibleType to try with an
	AstName whose base_opt is non-null, because it doesn't handle
	that case. We can now compile the JDK as well as javac again.

2004-03-28  Elliott Hughes  <enh@acm.org>

	* src/expr.cpp: Fix an assertion compiling Sun's
	JDK 1.4.1 source; it looks like the call to AddDependence in
	ProcessClassLiteral was lifted too high, and the dependence should
	be on the java.lang class that wraps the primitive type, not
	the primitive type itself.
	* src/depend.cpp, src/semantic.h: A new method to translate from
	a primitive type to its java.lang wrapper type.

2004-03-28  Elliott Hughes  <enh@acm.org>

	* src/class.h (CPUtf8Info): Fix uninitialized member data.

2004-03-27  Eric Blake  <ebb9@byu.net>

	* src/depend.cpp (AddDependence): Don't create dependencies on
	null, jikes bug 3701.
	* src/class.h (ClassFile::GetN): Make more robust (I crashed my
	system by 0-filling several megabytes on a short but invalid
	.class file).
	(UnknownAttribute): New class, split out from AttributeInfo to
	reduce attribute memory needs.
	* src/class.cpp: Ditto.

2004-03-26  Eric Blake  <ebb9@byu.net>

	* src/definite.cpp (DefiniteSwitchStatement): Fix problems with
	switch statements without a default label.

2004-03-25  Eric Blake  <ebb9@byu.net>

	* configure.ac (AC_CXX_RTTI): Compilers have improved in 2 years,
	don't cripple the RTTI check.
	* aclocal.m4: Regenerate with automake 1.8.3.
	* Makefile.in: Regenerate.
	* configure: Ditto.
	* doc/Makefile.in: Ditto.
	* src/Makefile.in: Ditto.

	* src/stream.h (TokenIndex, BadToken): Move to...
	* src/platform.h (TokenIndex, BAD_TOKEN): ...here. This reduces
	the number of files that depend on stream.h.
	* src/ast.cpp: Use the new TokenIndex.
	* src/ast.h: Ditto.
	* src/body.cpp: Ditto.
	* src/class.cpp: Ditto.
	* src/control.cpp: Ditto.
	* src/decl.cpp: Ditto.
	* src/depend.cpp: Ditto.
	* src/diagnose.cpp: Ditto.
	* src/diagnose.h: Ditto.
	* src/error.cpp: Ditto.
	* src/error.h: Ditto.
	* src/expr.cpp: Ditto.
	* src/incrmnt.cpp: Ditto.
	* src/init.cpp: Ditto.
	* src/java.g: Ditto.
	* src/lpginput.h: Ditto.
	* src/modifier.cpp: Ditto.
	* src/option.cpp: Ditto.
	* src/parser.cpp: Ditto.
	* src/parser.h: Ditto.
	* src/scanner.cpp: Ditto.
	* src/scanner.h: Ditto.
	* src/semantic.h: Ditto.
	* src/stream.cpp: Ditto.
	* src/symbol.cpp: Ditto.
	* src/symbol.h: Ditto.
	* src/system.cpp: Ditto.
	* src/table.h: Ditto.
	* src/unparse.cpp: Ditto.
	* src/javaact.cpp: Regenerate.

2004-03-23  Eric Blake  <ebb9@byu.net>

	* src/ast.h (AstEnumDeclaration, AstEnumConstant),
	(AstAnnotationDeclaration): Final new classes to fully parse JDK
	1.5 grammar (but semantics are still a ways off).
	* src/error.h (ANNOTATION_TYPE_UNSUPPORTED, ENUM_TYPE_UNSUPPORTED),
	(SUPER_IS_ENUM, CANNOT_CONSTRUCT_ENUM): New errors.
	* src/error.cpp: Ditto.
	* src/ast.cpp: Rough support for enum and annotation types.
	* src/body.cpp: Ditto.
	* src/control.h: Ditto.
	* src/decl.cpp: Ditto.
	* src/expr.cpp: Ditto.
	* src/java.g: Ditto.
	* src/modifier.cpp: Ditto.
	* src/parser.h: Ditto.
	* src/scanner.cpp: Ditto.
	* src/semantic.h: Ditto.
	* src/symbol.cpp: Ditto.
	* src/symbol.h: Ditto.
	* src/system.cpp: Ditto.
	* src/unparse.cpp: Ditto.
	* src/javaact.cpp: Regenerate.
	* src/javaact.h: Ditto.
	* src/javadcl.h: Ditto.
	* src/javadef.h: Ditto.
	* src/javasym.h: Ditto.

2004-03-23  Eric Blake  <ebb9@byu.net>

	* src/control.h: Reorder accessor cache variables.
	(FIELD_ACCESSOR): Similar to TYPE_ACCESSOR, to access fields like
	Integer.TYPE and ElementType.FIELD.
	* src/control.cpp: Ditto.
	* src/system.cpp (ProcessSystemField): New.
	* src/expr.cpp (ProcessClassLiteral): Use field accessors.
	(GetAnonymousType): Use '-' instead of '$' in 1.5 anon types.
	* src/platform.cpp (US_MI): New.
	* src/platform.h: Ditto.

2004-03-16  Eric Blake  <ebb9@byu.net>

	* src/ast.cpp: Backport the ability to parse JSR 14 from the
	generics-branch (but not the semantic passes). Now mainline and
	generics are in sync on the grammar.
	* src/ast.h: Ditto.
	* src/body.cpp: Ditto.
	* src/bytecode.cpp: Ditto.
	* src/decl.cpp: Ditto.
	* src/error.cpp: Ditto.
	* src/error.h: Ditto.
	* src/expr.cpp: Ditto.
	* src/java.g: Ditto.
	* src/jikes.cpp: Ditto.
	* src/jikesapi.cpp: Ditto.
	* src/parser.cpp: Ditto.
	* src/parser.h: Ditto.
	* src/scanner.cpp: Ditto.
	* src/semantic.h: Ditto.
	* src/symbol.cpp: Ditto.
	* src/unparse.cpp: Ditto.
	* src/javaact.cpp: Regenerate.
	* src/javaact.h: Ditto.
	* src/javadcl.h: Ditto.
	* src/javadef.h: Ditto.
	* src/javasym.h: Ditto.

2004-03-14  Elliott Hughes  <enh@acm.org>

	* src/decl.cpp, src/semantic.h: Bug 3378 - the previous fix made the
	diagnostic worse in the case where the problem was an inaccessible
	field, because it would report 'type not found' rather than
	'no accessible field'. A new method, FindInaccessibleType, finds only
	inaccessible types (unlike FindType), and doesn't report anything
	directly (unlike MustFindType). MustFindType uses the newly-extracted
	method.
	* src/expr.cpp (ReportVariableNotFound): use new method.

2004-03-14  Elliott Hughes  <enh@acm.org>

	* src/expr.cpp (ReportVariableNotFound): fix for bug 3378; if we can't
	find an accessible type, look for an inaccessible one as a plausible
	cause of the error.

2004-03-13  Elliott Hughes  <enh@acm.org>

	* src/control.cpp: only check for unused imports if compilation
	is successful. Seemingly unused imports may well be used by code
	we couldn't compile, so we can't be sure they're unused.

2004-03-12  Eric Blake  <ebb9@byu.net>

	* src/ast.h (AstMethodInvocation): Split method into base_opt and
	identifier_token.
	* src/ast.cpp (Clone, Print): Use updated AST.
	* src/bytecode.cpp (MethodTypeResolution),
	(EmitAssignmentExpression, EmitMethodInvocation): Ditto.
	* src/definite.cpp (DefiniteMethodInvocation): Ditto.
	* src/expr.cpp (Header, FindMisspelledMethodName),
	(FindMethodInType, FindMethodInEnvironment, CreateAccessToType),
	(CreateAccessToScopedVariable, CreateAccessToScopedMethod),
	(FindVariableMember, FindMethodMember, ProcessMethodName): Ditto.
	* src/java.g (MethodInvocation): Ditto.
	* src/parser.h: Ditto.
	* src/unparse.cpp (Unparse): Ditto.
	* src/javaact.cpp: Regenerate.
	* src/javaact.h: Ditto.
	* src/javadcl.h: Ditto.
	* src/javadef.h: Ditto.

2004-03-11  Elliott Hughes  <enh@acm.org>

	* src/error.cpp: Bug 3896 - failure to find .java files mentioned
	on the command-line should be an error, not a warning. Non .java
	files should also be treated as errors (most likely incorrect
	arguments).

2004-03-11  Elliott Hughes  <enh@acm.org>

	* src/body.cpp, src/semantic.h: add warnings about boolean assignment
	used as a truth value in an if, while, or do expression.
	* src/error.cpp, src/error.h: new diagnostic.

2004-03-10  Eric Blake  <ebb9@byu.net>

	* src/decl.cpp (ReadType): Bug 3852 - fix at least the simple test
	case, where valid A referring to valid B referring to invalid C
	was not caught in A.

2004-03-09  Elliott Hughes  <enh@acm.org>

	* src/expr.cpp (GetAnonymousType): Fix invalid assertion that was
	triggering during placeholder types - bug 3884.

2004-03-07  Elliott Hughes  <enh@acm.org>

	* src/decl.cpp (ProcessInstanceInitializers),
	(ProcessStaticInitializers):
	fix compilation of classes such as Sun's implementation of
	java.lang.Character which use field declarations that declare more
	than one field. The misleading names NumInstanceVariables and
	NumClassVariables actually give the number of field declarations,
	not the number of variables declared (i.e. "int i = 0, j = 1;" was
	being treated as one rather than two).

2004-03-05  Eric Blake  <ebb9@byu.net>

	* src/ast.h (AstMemberValue, AstMemberValuePair, AstAnnotation),
	(AstModifierKeyword): New classes.
	(AstModifiers): Redo, to annotations in addition to keywords, per
	JSR 175.
	(AstPackageDeclaration): Add modifiers_opt.
	(AstLocalVariableStatement, AstLocalClassStatement),
	(AstClassCreationExpression): Rename to be shorter names.
	* src/decl.cpp (CheckPackage): Check for package annotations,
	although this needs more work.
	* src/error.h (ANNOTATION_MODIFIER_UNSUPPORTED),
	(RECOMMENDED_ANNOTATION_ORDER, DUPLICATE_ANNOTATION): New errors.
	* src/error.cpp: Ditto.
	* src/stream.h (PackageToken): New method, to allow for package
	modifiers.
	* src/stream.cpp: Reflect changes to stream.
	* src/parser.cpp (PackageHeaderParse): Ditto.
	* src/parser.h: Ditto.
	* src/scanner.cpp (ClassifyIdOrKeyword): Ditto.
	* src/semantic.h (ProcessPackageModifiers): New method.
	* src/ast.cpp: Reflect changes to AST.
	* src/body.cpp: Ditto.
	* src/bytecode.cpp: Ditto.
	* src/bytecode.h: Ditto.
	* src/definite.cpp: Ditto.
	* src/expr.cpp: Ditto.
	* src/modifier.cpp: Ditto.
	* src/symbol.cpp: Ditto.
	* src/symbol.h: Ditto.
	* src/unparse.cpp: Ditto.
	* src/java.g: Ditto.
	(CompilationUnit, PackageDeclaration, Modifier): Parse annotation
	modifiers (but not yet for annotation types).
	* src/javaact.cpp: Regenerate.
	* src/javaact.h: Ditto.
	* src/javadcl.h: Ditto.
	* src/javadef.h: Ditto.
	* src/javaprs.h: Ditto.
	* src/javasym.h: Ditto.

2004-03-02  Elliott Hughes  <enh@acm.org>

	* src/control.cpp, src/decl.cpp: remove checks for +P from referenced
	import checks; as long as +Punused-package-imports doesn't imply +P --
	which it's hard to envisage as long as +P also turns on the anonymous
	pedantic checks -- having +Punused-package-imports seemingly
	non-functional is going to get us more bug reports.
	* src/error.cpp: fix the diagnostic text to output the package name
	in Java source form rather than internal form.

2004-03-02  Elliott Hughes  <enh@acm.org>

	* src/option.cpp: Implement -Werror as a javac-compatible synonym
	for +Z2.
	* src/jikes.cpp, doc/jikes.1: Document new -Werror option.

2004-03-01  Eric Blake  <ebb9@byu.net>

	* src/ast.h (Ast, StoragePool): Backport improved type-safety,
	reduced object size, and placement operator new from
	generics-branch.  Affects all Ast classes.
	* src/ast.cpp: Ditto.
	* src/body.cpp: Ditto.
	* src/bytecode.cpp: Ditto.
	* src/control.cpp: Ditto.
	* src/definite.cpp: Ditto.
	* src/expr.cpp: Ditto.
	* src/java.g: Ditto.
	* src/parser.cpp: Ditto.
	* src/javaact.cpp: Regenerate.

2004-02-29  Elliott Hughes  <enh@acm.org>

	* src/error.cpp: Also allow +Pno-all to turn off all named groups. This
	is useful to turn off any named groups enabled by default, without
	having to know what they are or explicitly list them.
	* doc/jikes.1: Better document new +Pno-all option.

2004-02-29  Elliott Hughes  <enh@acm.org>

	* src/error.cpp: Fix "jikes --help" to show which +P groups are enabled
	by default, rather than misleadingly trying (and failing) to show what
	bare +P does. This whole area is something of a mess, so I expect to
	be back soon.
	Also add a new +Pall option to allow command-lines of the form "jikes
	+Pall +Pno-redundant-modifier +Pno-modifier-order +Pno-serial", for
	people who'd rather enable everything and explicitly disable what they
	don't like than explicitly enable everything they want.
	* doc/jikes.1: Document new +Pall option. The whole +P section was
	rather misleading and inaccurate, so I've rewritten it to correspond
	jikes' current behavior.

2004-02-28  Elliott Hughes  <enh@acm.org>

	* NEWS: Try to keep track of what I've done, so I don't have to
	read through the ChangeLog when we're getting ready to release 1.20.

2004-02-28  Elliott Hughes  <enh@acm.org>

	* src/error.cpp: Implement upgrading of warnings to errors, as well
	as the old optional upgrading of cautions. Fixes bug 665.
	* src/jikesapi.cpp, jikesapi.h: Replace the nowarn and zero_defect
	boolean fields with a new field that represents the level of tolerance
	we show towards warnings and cautions.
	* src/option.cpp: Parse +Z0, +Z1 and +Z2, and re-implement -nowarn, +Z
	and --zero-cautions in terms of the new tolerance level.
	variable; or hiding of fields when declaring a field.
	* src/stream.cpp: Tracks the API change for testing whether warnings
	should be generated.
	* src/jikes.cpp, doc/jikes.1: Document new +Z sub-options.

2004-02-27  Elliott Hughes  <enh@acm.org>

	* src/body.cpp, src/semantic.h: Add a method to check for an
	accessible field with a given name (WarnOfAccessibleFieldWithName).
	* src/error.cpp, error.h: New error messages, and +P[no-]shadow.
	* src/body.cpp, src/decl.cpp: Check for shadowing of fields
	when declaring a local variable, a foreach variable, a catch
	variable; or hiding of fields when declaring a field.
	* doc/jikes.1: Document +P[no-]shadow.

2004-02-27  Eric Blake  <ebb9@byu.net>

	* src/ast.h (AstImportDeclaration::static_token_opt): New field.
	* src/ast.cpp (AstImportDeclaration::Clone, Print): Support it.
	* src/unparse.cpp (AstImportDeclaration::Unparse): Ditto.
	* src/decl.cpp (ProcessImports): Note that static imports are not
	supported yet.
	* src/error.h (STATIC_IMPORT_UNSUPPORTED): New error.
	* src/error.cpp: Ditto.
	* src/java.g (ImportDeclaration): Parse static imports, from JSR
	201.
	* src/javaact.cpp: Regenerate.
	* src/javaact.h: Ditto.
	* src/javadcl.h: Ditto.
	* src/javadef.h: Ditto.
	* src/javasym.h: Ditto.

2004-02-27  Eric Blake  <ebb9@byu.net>

	* src/option.cpp (SaveCurrentDirectoryOnDisk, nocleanup): Fix
	mingw build.
	* src/symbol.cpp (ReadDirectory): Ditto.
	* src/system.cpp (ProcessExtDirs): Ditto.

2004-02-26  Eric Blake  <ebb9@byu.net>

	* src/ast.h (AstFormalParameter::ellipsis_token_opt): New field.
	* src/ast.cpp (AstFormalParameter::Clone, Print): Support it.
	* src/unparse.cpp (AstFormalParameter::Unparse): Ditto.
	* src/body.cpp (ProcessForeachStatement, ProcessTryStatement):
	Ditto.
	* src/decl.cpp (ProcessFormalParameters): Note that varargs are
	not supported yet.
	* src/error.h (VARARGS_UNSUPPORTED): New error.
	* src/error.cpp: Ditto.
	* src/parser.h: Forward declare AstFormalParameter.
	* src/java.g (FormalParameter, FormalParameterList),
	(LocalVariableDeclaration): Parse varargs, from JSR 201.
	* src/javaact.cpp: Regenerate.
	* src/javaact.h: Ditto.
	* src/javadcl.h: Ditto.
	* src/javadef.h: Ditto.
	* src/javasym.h: Ditto.

2004-02-26  Eric Blake  <ebb9@byu.net>

	* src/expr.cpp (ProcessPLUS): Remove bad assertion ('true +
	false', while illegal, can reach this point).

2004-02-26  Eric Blake  <ebb9@byu.net>

	* AUTHORS: Give credit where due.
	* src/bytecode.cpp (EmitAssignmentExpression),
	(EmitBinaryExpression, ConcatenateString, EmitStringAppendMethod):
	Use faster StringBuilder (added in 1.5) when available.
	* src/control.h (*_name_symbol): Rearrange the name_symbols to be
	in alphabetic order.
	(GetPrimitiveType): Improve the signature.
	* src/system.cpp: Implement changes to control.h.
	* src/platform.h: Delete lots of unused string constants, now that
	they are more easily generated in system.cpp.
	* src/control.cpp: Whitespace cleanup, and use changes in
	control.h and platform.h.
	* src/decl.cpp: Ditto.
	* src/error.cpp: Ditto.
	* src/error.h: Ditto.
	* src/expr.cpp: Ditto.
	* src/lookup.cpp: Ditto.
	* src/platform.cpp: Ditto.
	* src/symbol.cpp: Ditto.

2004-02-23  Emil Ong  <emilong@cs.berkeley.edu>, 
            Mark Richters  <mr@Informatik.Uni-Bremen.DE>
	
	* doc/jikes.1: Documented new pedantic flags unused-type-imports
	and unused-package-imports; originally by Mark Richters for 1.12,
	ported to current by Emil Ong, ported to cvs HEAD by cabbey.

	* src/control.cpp (ProcessBodies): If pedantic option is turned
	on, call CheckForUnusedImports after all types of a body have been
	processed.
	(CheckForUnusedImports): New method checks and warns about
	unnecessary import declarations.
	* src/control.h (class Control): Declare new method
	CheckForUnusedImports.
	* src/decl.cpp (ImportType): If pedantic option is set, keep track
	of packages from which types are imported as a result of a
	type-import-on-demand.
	(FindType): If pedantic option is set, keep track of types which
	are found by a single-type-import.
	* src/error.cpp (StaticInitializer): Initialize new named warnings
	UNUSED_TYPE_IMPORT and UNUSED_PACKAGE_IMPORT.
	(named_errors[]): Added new named warnings UNUSED_TYPE_IMPORT 
	and UNUSED_PACKAGE_IMPORT.
	(InitializeMessages): Added messages for new named warnings 
	UNUSED_TYPE_IMPORT and UNUSED_PACKAGE_IMPORT.
	* src/error.h (class SemanticError): Added UNUSED_TYPE_IMPORT and
	UNUSED_PACKAGE_IMPORT to enum SemanticErrorKind.
	* src/semantic.h (class Semantic): Added SymbolSets
	referenced_package_imports and referenced_type_imports.

2004-02-23  Eric Blake  <ebb9@byu.net>

	* configure.ac: Fix typo in --enable-source15 test.
	* configure: Regenerate.
	* src/config.h.in: Ditto.
	* src/access.h (Print): Minor improvement.
	* src/expr.cpp (CastValue): Ditto.
	* src/parser.h: Ditto.

	* src/control.h (system_package, unnamed_package): Replace with
	LangPackage() and UnnamedPackage().
	(TYPE_ACCESSOR, METHOD_ACCESSOR): Utility macros to make adding
	new system symbols easier.
	* src/control.cpp: Update accordingly.
	* src/system.cpp: Ditto.
	* src/class.cpp: Ditto.
	* src/decl.cpp: Ditto.
	* src/depencd.cpp: Ditto.
	* src/platform.h: Add several new string constants. This file
	could stand a cleanup after the control refactor.
	* src/platform.cpp: Update accordingly.

	* NEWS: Document the addition of enhanced for loops.
	* src/ast.h (AstForeachStatement): New class.
	* src/ast.cpp: Support it.
	* src/unparse.cpp: Ditto.
	* src/semantic.h (ProcessForeachStatement),
	(DefiniteForeachStatement): New methods.
	* src/body.cpp (ProcessForeachStatement),
	(ProcessContinueStatement): Support foreach loops.
	* src/definite.cpp (DefiniteForeachStatement): Ditto.
	* src/bytecode.h (EmitForeachStatement): New method.
	* src/bytecode.cpp: Support foreach loops.
	* src/error.h (INCOMPATIBLE_TYPE_FOR_FOREACH, TYPE_NOT_ITERABLE),
	(FOREACH_UNSUPPORTED): New errors.
	* src/error.cpp: Support foreach loops.
	* src/symbol.h (helper_variable_index): Rename from
	try_or_synchronized_variable_index, for use by foreach.
	* src/symbol.cpp: Support rename.
	* src/java.g (FormalParameter): Refactor, to allow LALR(1) grammar
	with the previously refactored LocalVariableDeclaration.
	(ForeachStatement): Parse new construct.
	* src/javaact.cpp: Regenerate.
	* src/javaact.h: Ditto.
	* src/javadcl.h: Ditto.
	* src/javadef.h: Ditto.
	* src/javasym.h: Ditto.

2004-02-22  Elliott Hughes  <enh@acm.org>

	* body.cpp (ProcessLocalVariableDeclarationStatement): Make the
	duplicate local variable declaration checking more similar to that
	in ProcessTryStatement.
	* body.cpp (ProcessTryStatement):
	* decl.cpp (ProcessConstructorDeclaration, ProcessMethodDeclaration):
	Invoke SetLocation on formal parameters. We can't do it in
	ProcessFormalParameters, because that's invoked before the variable
	symbols can have an owner -- how else do you check for duplicate
	signatures? -- but we do need to come back and do it eventually.
	The problems was noticed with reporting the location of the
	original occurrence of a local variable, where the location would
	be given as "".

2004-02-17  Eric Blake  <ebb9@byu.net>

	* ChangeLog: Reformat to fit 80 columns.

	* configure.ac: Add --enable-source15 to turn on beta 1.5
	features, without making it default.
	* NEWS: Document configure option.
	* src/option.cpp (GetErrorMessage, Option): Use it.
	* src/Makefile.am (JAVAC): Silence code.h regen warnings.
	* configure: Regenerate.
	* src/Makefile.in: Ditto.
	* src/config.h.in: Ditto.
	* src/access.h (ACC_ANNOTATION): Now 0x2000, per updated JSR 175.
	* src/bytecode.cpp (EmitExpression, GenerateClassAccessMethod),
	(GenerateClassAccess): Utilize 1.5 class format change that allows
	ldc class.
	* src/expr.cpp (ProcessClassLiteral): Ditto.
	* src/class.cpp (Signature, SignatureLength): Signature parsing is
	experimental on the generics-branch; disable it completely here to
	allow -source 1.5 to work.

	* src/gencode.java: Update to support Unicode 4.0 surrogate pairs,
	now legal in 1.5.
	* src/code.h: Regenerate.
	* src/code.cpp: Ditto.
	* src/lookup.cpp: Use adjusted Code methods.
	* src/scanner.cpp: Ditto.
	(ClassifyNumericLiteral): Scan hex floating point. In the process,
	make some floating point errors nicer.
	* src/double.cpp (IEEEfloat(char*), IEEEdouble(char*)): Resolve
	hex floating point.
	* src/expr.cpp (ProcessFloatLiteral, ProcessDoubleLiteral): Accept
	hex floating point.
	* src/error.cpp (HEX_FLOATING_POINT_UNSUPPORTED): New error.
	* src/error.h: Ditto.
	* src/stream.cpp (INVALID_FLOATING_HEX_EXPONENT),
	(INVALID_FLOATING_HEX_MANTISSA, INVALID_FLOATING_HEX_PREFIX),
	(INVALID_OCTAL_CONSTANT, INVALID_FLOATING_EXPONENT): Ditto.
	* src/stream.h: Ditto.

2004-02-17  Elliott Hughes  <enh@acm.org>

	* doc/jikes.1: Document new +Peffective-java and +Pserial switches.
	* src/control.h, src/platform.cpp, src/platform.h, src/system.cpp: Adds
	new serialPersistentFields name symbol.
	* src/decl.cpp (CheckForSerializationMistakes): Don't warn about
	the companion field to serialVersionUID, serialPersistentFields.
	Add the new serialization checks from Java 1.5's javac.
	(CheckFieldDeclaration, CheckFieldName): Factor out the field
	checking, now there's more of it.
	* double.cpp, src/double.h: Use Int::MIN_INT and Int::MAX_INT.
	* src/error.cpp: New errors. Proper support for command-line +P
	switches that turn groups of warnings on/off (previously there was
	a single special case for +Pnaming).
	* src/error.h: Ditto.
	* src/expr.cpp: Adds overflow checking for integer constant
	expressions.
	* src/expr.cpp (FindMethodMember, FindVariableMember): Check for class
	methods or fields accessed via an instance rather than the class.
	* src/expr.cpp (ProcessShift, ProcessShiftCount, ProcessLEFT_SHIFT,
	ProcessRIGHT_SHIFT): check for over-large or negative shift counts,
	factor out some duplicated code. (These checks would have helped the
	submitter of the recently-fixed code generation bug for prefix unary
	operators.) (The new overflow-related code might be better in a
	new file overflow.h)
	* src/long.h: New class Int, analogous to LongInt, so we can get hold
	of MIN_INT and MAX_INT in a similar manner.
	* src/semantic.h: New prototypes.

2004-02-16  Elliott Hughes  <enh@acm.org>

	* src/class.cpp (AnnotationComponentAnnotation::Print): Fix
	non-JIKES_DEBUG build.

2004-02-12  Eric Blake  <ebb9@byu.net>

	* src/access.h (ACCESS_ANNOTATION): Add, from JSR 175? According
	to Sun, the value of this flag may still change before 1.5 is
	final.
	* src/bytecode.h (RegisterFieldRef, RegisterMethodref),
	(RegisterClass): Decrease number of overloads, in order to better
	track inner classes. Don't emit the currently forbidden
	ACC_STRICTFP for inner classes.
	* src/bytecode.cpp: Change all callers of updated Register*.
	(LoadVariable): Don't load String constants, fixes bug 3850.
	* src/class.h (CPInfo::tag): Change type to ConstantPoolTag.
	(ConstantPool::invalid): Move inline.
	(ATTRIBUTE_LocalVariableTypeTable): Implement, shares code with
	LocalVariableTable.
	(AnnotationComponentValue): Rename from AnnotationMemberValue.
	(AnnotationComponentConstant, AnnotationComponentEnum),
	(AnnotationComponentAnnotation, AnnotationComponentArray): Break
	into subclasses for better implementation.
	(Annotation): Rename from AnnotationValue, and make easier to
	dynamically grow.
	(Signature, SignatureLength): Update method signatures to allow
	checking -source 1.5; fixes bug 3853.
	* src/class.cpp: Implement.
	* src/symbol.h (IsNested, IsInner, IsLocal): Const-ify.

2004-02-06  Elliott Hughes  <enh@acm.org>

	* src/bytecode.cpp (EmitPreUnaryExpression): Fix bad assertion -
	patch 433.	
	* src/error.cpp (EJ_AVOID_OVERLOADING_EQUALS): Fix message typo -
	Patch 435.
	* src/expr (ProcessAND_AND, ProcessOR_OR),
	(ProcessConditionalExpression): Improve comments - Patch 434.

2004-02-06  Eric Blake  <ebb9@byu.net>

	* src/access.h (ACCESS_BRIDGE, ACCESS_VARARGS, ACCESS_ENUM),
	(ACCESS_SYNTHETIC): New access flags in JDK 1.5. (If only JSR 202
	were public already...).
	(Print): Take an argument now, adjust all callers.
	* src/bytecode.cpp (DeclareField, BeginMethod),
	(MethodTypeResolution, ByteCode, FinishCode): Use .class file and
	symbol updates; emit EnclosingMethod attribute now.
	(EmitTryStatement): Debug catch clause parameters.
	* src/bytecode.h (CreateEnclosingMethodAttribute): New method.
	* src/class.h (ATTRIBUTE_RuntimeVisibleAnnotations),
	(ATTRIBUTE_RuntimeInvisibleAnnotations),
	(ATTRIBUTE_RuntimeVisibleParameterAnnotations),
	(ATTRIBUTE_RuntimeInvisibleParameterAnnotations),
	(ATTRIBUTE_AnnotationDefault, ATTRIBUTE_EnclosingMethod): New,
	from JSR 175 and 202.
	* src/class.cpp: Implement.
	* src/control.h (EnclosingMethod_literal): New field.
	* src/decl.cpp (ProcessConstructorDeclaration),
	(AddDefaultConstructor, AddInheritedFields, AddInheritedMethods),
	(MustFindType, GetStaticInitializer, ProcessInstanceInitializer):
	Use symbol updates.
	* src/definite.cpp (DefiniteName, DefinitePLUSPLUSOrMINUSMINUS),
	(DefiniteSetup): Ditto.
	* src/error.h (UNNAMED_TYPE_ACCESS): New error.
	* src/error.cpp: Implement.
	* src/expr.cpp (FindConstructor, FindMethodInType),
	(FindMethodInEnvironment, FindVariableInType),
	(FindVariableInEnvironment, GetAnonymousConstructor): Use symbol
	updates.
	* src/platform.h (U8S_*_length): Delete, unneeded.
	* src/platform.cpp: Ditto.
	* src/symbol.cpp (GetArrayType, InsertThis0),
	(FindOrInsertClassLiteralMethod, FindOrInsertClassLiteral),
	(FindOrInsertAssertVariable, FindOrInsertLocalShadow),
	(GetReadAccessMethod, GetReadAccessConstructor),
	(GetWriteAccessMethod, GetWriteAccessFromReadAccess): Use symbol
	updates.
	* src/symbol.h (PackageSymbol::DEPRECATED): Add, in preparation
	for JSR 175 allowing package modifiers.
	(MarkDeprecated, IsDeprecated): Delete, as now covered by
	AccessFlags.
	* src/system.cpp (EnclosingMethod_literal): Initialize.

2004-02-02  Eric Blake  <ebb9@byu.net>

	* NEWS (1.19a): Placeholder for changes to future 1.20.
	* AUTHORS: Add credit where it is due.
	* src/Makefile.am [MAINTAINER_MODE]: Remove race in parallel
	builds, from automake FAQ.
	* configure.ac: Bump version to 1.19a for CVS development. Fix
	more autoconf style issues.
	* src/m4/ac_check_iconv.m4: Improve iconv checks. Allow configure
	to continue for systems with broken iconv (such as current cygwin).
	* src/m4/ac_find_encoding.m4: Ditto.
	* src/m4/ac_try_encoding.m4: Ditto.
	* src/stream.h [HAVE_ENCODING]: Key off of JIKES_ICONV_ENCODING
	rather than HAVE_ICONV_H, so systems with broken iconv can still
	make it through configure, but without -encoding support.
	* src/stream.cpp [HAVE_ENCODING]: Ditto.
	* src/.cvsignore: Update for new witness files.
	* configure: Regenerate.
	* src/Makefile.in: Ditto.
	* src/config.h.in: Ditto.

2004-02-02  Dirk Weigenand  <Dirk.Weigenand@smb-tec.com>

	* NEWS: fixed my (cabbey's) bad spelling.

2004-02-01  Chris Abbey  <jikes@cabbey.net>

	Release 1.19.

2004-01-31  Elliott Hughes  <enh@acm.org>

	* src/decl.cpp (ProcessClassBodyForEffectiveJavaChecks): Patch
	430, fix Effective Java warnings on duplicate declarations.

2004-01-31  Eric Blake  <ebb9@byu.net>

	* src/system.cpp (ProcessExtDirs): Fix compiler error for mingw.
	* src/class.cpp (ProcessClassFile): Avoid inner classes named "",
	generated by some invalid compilers.
	* configure.ac: Move release date to Feb 1, per Chris Abbey.
	* configure: Regenerate.

2004-01-31  Eric Blake  <ebb9@byu.net>

	* NEWS: Fill in more information for 1.19.
	* doc/jikes.1: Ditto.
	* configure.ac: Prepare for 1.19 (with tentative release of Jan
	31). Upgrade to automake 1.8.2.
	* Makefile.in: Regenerate.
	* aclocal.m4: Ditto.
	* config.guess: Ditto.
	* config.sub: Ditto.
	* configure: Ditto.
	* install-sh: Ditto.
	* doc/Makefile.in: Ditto.
	* src/Makefile.in: Ditto.

2004-01-30  Eric Blake  <ebb9@byu.net>

	* src/expr.cpp (FindMisspelledMethodName): Jikes bug 3613.
	(ReportVariableNotFound, FindMisspelledVariableName): Similar, but
	with fields.
	* src/semantic.h (FindMisspelledVariableName): Update signature.
	* src/error.cpp (FIELD_NOT_FOUND, METHOD_NOT_FOUND): Update
	wording.

2004-01-30  Eric Blake  <ebb9@byu.net>

	* src/bytecode.cpp (ConcatenateString): Jikes bug 3501.
	(EmitTryStatement): Minor optimization when catch block is empty.

2004-01-28  Chris Abbey  <jikes@cabbey.net>

	* src/system.cpp (Control::ProcessExtDirs): Don't spew
	an error about invalid zip or jar for files that are
	obviously neither zip nor jar.

2004-01-28  Eric Blake  <ebb9@byu.net>

	* src/bytecode.h (IsMultiDimensionalArray): New method.
	* src/bytecode.cpp (DeclareLocalVariable),
	(EmitAssignmentExpression, EmitArrayAccessLhs): Use it; fully
	solves jikes bug 3295 (my last patch here missed some cases).
	(Bytecode): Robustify Chris's patch for class-file version.

2004-01-26  Eric Blake  <ebb9@byu.net>

	* src/init.cpp (ComputeFinalValue): Jikes bug 3797.
	* src/decl.cpp (ProcessClassBodyForEffectiveJavaChecks): Fix
	compiler warning.

2004-01-26  Chris Abbey	 <jikes@cabbey.net>

	* src/bytecode.cpp (ctor): use same class file versions for 1.4.2
	as for 1.4, add output file version to debug verbose output.
	
2004-01-25  Chris Abbey  <jikes@cabbey.net>

	* src/error.cpp (PrintNamedWarnings): indicate default states with +P
	(REDUNDANT_MODIFIER, RECOMMENDED_MODIFER_ORDER): remove from
	default +P set, must ask for these explicitly now.
	* src/error.h:
	* src/error.cpp: add a meta +P switch for all naming convention
	warnings
	* src/scanner.cpp: make the new l vs L warning pedantic 
	
2004-01-25  Elliott Hughes  <enh@acm.org>

	* src/error.cpp (SemanticError::Report): fix +Z option
	* src/body.cpp: Ignore the unconventional constant field name
	'serialVersionUID' which ought to be 'SERIAL_VERSION_UID',
	but has to be 'serialVersionUID' because of existing practice
	in class versioning.
	* src/control.h:
	* src/platform.cpp:
	* src/platform.h: Add 'serialVersionUID' symbol.
	* src/error.cpp: Improves the message for unconventional names.
	* src/decl.cpp: Ignore empty classes when suggesting private
	constructors for utility classes.
	* src/body.cpp: Warn about unconventional names, returning null instead
	of a zero-length array, empty catch and finally blocks, and overly
	general throws clauses.
	* src/control.h: Add 'equals' and 'hashCode' symbols.
	* src/semantic.h:
	* src/decl.cpp: Warn about unconventional names, overloaded equals
	methods, equals without hashCode and vice versa, use of Latin, utility
	classes without a private constructor, interfaces that don't
	define types, and public static final array fields.
	* src/error.cpp:
	* src/error.h: Add all the new errors.
	* src/lookup.cpp:
	* src/lookup.h: Add NameSymbol methods for finding unconventional
	names.
	* src/platform.cpp:
	* src/platform.h: Add 'equals' and 'hashCode' string constants.
	* src/scanner.cpp: Warn about use of l instead of L as a suffix.
	* src/stream.cpp:
	* src/stream.h: Add the "l instead of L" error.
	* src/system.cpp: Add 'equals' and 'hashCode' name symbols.
	* src/error.cpp: Change message string for INVALID_CAST_CONVERSION
	which was giving incorrect diagnostic output.
	* src/lookup.h: Fix spelling mistakes.

2004-01-24  Eric Blake  <ebb9@byu.net>

	* src/decl.cpp (FindTypeInEnvironment): Delete unused method.
	* src/error.cpp (METHOD_OVERLOAD_NOT_FOUND, METHOD_NOT_FOUND),
	(CONSTRUCTOR_NOT_FOUND, CONSTRUCTOR_OVERLOAD_NOT_FOUND): Improve
	wording and make more consistent. Fixes jikes bug 260.
	* src/expr.cpp (Header): New helper method.
	(ReportMethodNotFound): Use Header(). Consolidate with error
	reporting previously done...
	(FindMethodInEnvironment): ... here, to reduce code duplication.
	(ReportConstructorNotFound): Use Header().
	(ProcessAmbiguousName, ProcessMethodName): Simplify call to
	Find*InEnvironment.
	* src/semantic.h (Find*InEnvironment): Update prototypes.

2004-01-24  Eric Blake  <ebb9@byu.net>

	* src/body.cpp (ProcessSwitchStatement): Make sure scope of local
	classes in switch statment is switch-statement block...
	(ProcessLocalVariableDeclarationStatement): while keeping local
	variables at the scope of the entire switch statement.
	* src/bytecode.h (MethodStack::Push, AssertIndex, NestingLevel):
	Update assertions to cooperate with switch statement scoping
	changes.
	* src/bytecode.cpp (EmitSwitchStatement): Fix regressions caused
	by over-optimization of switch statements.
	* NEWS: Document scoping change.

2004-01-23  Eric Blake  <ebb9@byu.net>

	* src/java.g: Add 'enum', '@', and '...' tokens in preparation for
	JDK 1.5.
	* src/dump.cpp (token_type): Add support for new tokens.
	* src/platform.h (US_AT, US_DOT_DOT_DOT, US_enum): Ditto.
	* src/platform.cpp: Ditto.
	* src/scanner.h (ClassifyDocComment, ClassifyPound): Remove unused
	declarations.
	(ClassifyAt): Add.
	* src/scanner.cpp (Scanner, ScanKeyword4, ClassifyIdOrKeyword),
	(ClassifyPeriod, ClassifyAt): Scan new keywords. Treat enum as
	identifier for now, with a warning.
	* src/stream.h (DEPRECATED_IDENTIFIER_ENUM): Add.
	* src/stream.cpp (getErrorMessage, KeywordName): Use.
	* NEWS: Document this.
	* src/javaact.cpp: Regenerate.
	* src/javaact.h: Ditto.
	* src/javadcl.h: Ditto.
	* src/javadef.h: Ditto.
	* src/javaprs.h: Ditto.
	* src/javasym.h: Ditto.

2004-01-22  Eric Blake  <ebb9@byu.net>

	* src/semantic.h (DefiniteLocalClassDeclarationStatement): Add.
	* src/definite.cpp (DefiniteLocalClassDeclarationStatement):
	Define, to detect definite assignment before local class
	declarations.
	* NEWS: Document this.

2004-01-21  Elliott Hughes  <enh@acm.org>

	* src/body.cpp (ProcessTryStatement): Better error report on
	duplicate declaration.
	* src/error.cpp (INVALID_CHARACTER_VALUE),
	(INVALID_CAST_CONVERSION): Fix typos.
	* src/error.h: Ditto.
	* src/lookup.h: Ditto.
	* src/semantic.h (ProcessClassFile): Fix prototype.

2004-01-21  Eric Blake  <ebb9@byu.net>

	* src/option.cpp (Option): Fix Windows fallout from const-ifying
	StringConstant.

2004-01-20  Eric Blake  <ebb9@byu.net>

	* src/bytecode.h (ArrayAccessLhs): Move to bytecode.cpp.
	* src/bytecode.cpp (DeclareLocalVariable),
	(EmitAssignmentExpression, EmitArrayAccessLhs): Emit checkcast
	when treating null as multidimensional array, since pre-1.5 VMs
	incorrectly choke on aastore.
	* NEWS: Document.

2004-01-19  Eric Blake  <ebb9@byu.net>

	* src/class.h: Backport improved .class file handling from
	generics branch.
	* src/class.cpp: New file in the backport, replaces...
	* src/getclass.h: Delete.
	* src/getclass.cpp: Delete.
	* src/Makefile.am: Replace getclass.cpp with class.cpp.
	* src/Makefile.in: Regenerate.
	* src/bytecode.h: Backport changes related to class.h. In the
	process, this solves core dump from double delete on JVMS jacks
	tests.
	* src/bytecode.cpp: Ditto.
	* src/op.h (OpLine, OpDmp): Ditto.
	* src/op.cpp: Ditto.
	* src/semantic.h: Ditto.
	* src/symbol.cpp: Ditto.
	* src/symbol.h: Backport the symbol table handling from generics
	branch, which provides better handling of symbols.
	* src/body.cpp (UncaughtException, GetLocalType): Use symbol.h
	updates.
	* src/decl.cpp (ProcessTypeNames, ProcessConstructorDeclaration),
	(AddDefaultConstructor, ProcessMethodDeclaration): Ditto.
	* src/expr.cpp (ReportConstructorNotFound, FindConstructor),
	(UpdateLocalConstructor, GetAnonymousConstructor): Ditto.
	* src/system.cpp (InitAssertionErrorInfo),
	(InitNoClassDefFoundErrorInfo, InitStringBufferInfo): Ditto.
	* src/access.h (LegalAccess): New function, backported.
	* src/control.h (GetType, ProcessPackage, GetPrimitiveType):
	const-ified.
	* src/control.cpp (ProcessPackage): Ditto.
	* src/error.h (WRONG_TYPE_IN_CLASSFILE): Replaces
	TYPE_NOT_IN_UNNAMED_PACKAGE and TYPE_IN_WRONG_PACKAGE.
	* src/error.cpp: Ditto.
	* src/platform.h: Added several needed String constants.
	* src/platform.cpp: const-ify. Initialize new
	constants. Reformat.

2004-01-17  Eric Blake  <ebb9@byu.net>

	* autogen.sh: Use depcomp.
	* src/Makefile.am: depcomp is more mature; we can quit manually
	tracking dependencies (thank heavens).
	* Makefile.in: Regenerate.
	* doc/Makefile.in: Ditto.
	* src/Makefile.in: Ditto.

2004-01-17  Eric Blake  <ebb9@byu.net>

	* src/semantic.h: Drop dependence on control.h (slight compilation
	speed improvement).
	* src/body.cpp (CheckedException): Move here from semantic.h.
	* src/depend.cpp (AddDependence, AddStringConversionDependence):
	Ditto.
	* src/expr.cpp (IsConstantTrue, IsConstantFalse),
	(ProcessExpressionOrStringConstant): Ditto.
	* src/definite.cpp: Dependency on control.h now explicit.
	* src/class.h: Ditto.

2004-01-17  Eric Blake  <ebb9@byu.net>

	* src/op.h: Backport improvements from generics-branch. Better
	opcode dumping, and only compiled when needed. 
	* src/op.cpp: Ditto.
	* src/bytecode.h (EmitMethodInvocation, CompleteCall): Add
	need_value parameter and return stack effect.
	* src/bytecode.cpp: Adjust all callers.

2004-01-16  Eric Blake  <ebb9@byu.net>

	* src/body.cpp (ProcessThrowStatement): Fallout from yesterday -
	throwing null cannot make checked exception catch reachable.
	* src/expr.cpp (MoreSpecific): From Sun bug 4761586, no longer
	consider the declaring type when deciding method ambiguity.
	* src/error.cpp (InitializeMessages): Update error message wording
	accordingly.
	* NEWS: Document this.

2004-01-15  Eric Blake  <ebb9@byu.net>

	* src/semantic.h (CheckedException): From Java Spec Report, throw
	null is unchecked.
	* NEWS: Document this.

2004-01-14  Eric Blake  <ebb9@byu.net>

	* src/expr.cpp (ReportMethodNotFound): Improve error message when
	accessing interface.clone(); it regressed from 1.18.
	* src/config.h.in: Regenerate (missed checking this in yesterday).

2004-01-13  Eric Blake  <ebb9@byu.net>

	* src/m4/ac_check_error_discard_const.m4: Further autoconf fixes;
	again, use AC_LANG_PROGRAM instead of AC_LANG_SOURCE.
	* src/m4/ac_check_iconv.m4: Ditto.
	* src/m4/ac_check_wcs_funcs.m4: Ditto.
	* src/m4/ac_cxx_bool.m4: Ditto.
	* src/m4/ac_cxx_check_ostream_const_unsigned_char_ptr.m4: Ditto.
	* src/m4/ac_cxx_check_set_new_handler.m4: Ditto.
	* src/m4/ac_cxx_const_cast.m4: Ditto.
	* src/m4/ac_cxx_dynamic_cast.m4: Ditto.
	* src/m4/ac_cxx_explicit.m4: Ditto.
	* src/m4/ac_cxx_have_std.m4: Ditto.
	* src/m4/ac_cxx_member_constants.m4: Ditto.
	* src/m4/ac_cxx_namespaces.m4: Ditto.
	* src/m4/ac_cxx_reinterpret_cast.m4: Ditto.
	* src/m4/ac_cxx_rtti.m4: Ditto.
	* src/m4/ac_cxx_static_cast.m4: Ditto.
	* src/m4/ac_try_encoding.m4: Ditto.
	* src/m4/acx_check_pathname_style.m4: Ditto.
	* configure: Regenerate.

2004-01-10  Eric Blake  <ebb9@byu.net>

	* src/m4/ac_cxx_check_set_new_handler.m4: More autoconf fixes;
	use AC_LANG_PROGRAM not AC_LANG_SOURCES.
	* configure: Regenerate with patched autoconf 2.59 (see
	http://mail.gnu.org/archive/html/autoconf-patches/2004-01/msg00033.html),
	so that autoconf -Wall is warning-free.
	* NEWS: Start filling in, to prepare for jikes 1.19.

2004-01-07  Eric Blake  <ebb9@byu.net>

	* doc/jikes.1: Add defaults to options with arguments. Bump
	copyright year.
	(-source): Bump default to 1.4.
	(-target): Bump default to 1.4.2.
	* src/jikes.cpp (main): Add defaults to options with arguments.
	* src/option.cpp (Option): Bump default for -source and -target.
	* src/platform.cpp (U8S_help_header): Bump copyright year.

2004-01-02  Eric Blake  <ebb9@byu.net>

	* autogen.sh: Add --copy to automake invocation.
	* configure.ac: Clean up autoconf -Wall warnings. Remove unused
	checks for max int sizes.
	* src/platform.h: Remove unused USHRT_MAX checks.
	* src/m4/ac_check_error_discard_const.m4: Clean up autoconf -Wall
	warnings.
	* src/m4/ac_check_iconv.m4: Ditto.
	* src/m4/ac_check_mathlib.m4: Ditto.
	* src/m4/ac_check_wcs_funcs.m4: Ditto.
	* src/m4/ac_cxx_bool.m4: Ditto.
	* src/m4/ac_cxx_check_ostream_const_unsigned_char_ptr.m4: Ditto.
	* src/m4/ac_cxx_check_set_new_handler.m4: Ditto.
	* src/m4/ac_cxx_const_cast.m4: Ditto.
	* src/m4/ac_cxx_dynamic_cast.m4: Ditto.
	* src/m4/ac_cxx_explicit.m4: Ditto.
	* src/m4/ac_cxx_have_std.m4: Ditto.
	* src/m4/ac_cxx_member_constants.m4: Ditto.
	* src/m4/ac_cxx_namespaces.m4: Ditto.
	* src/m4/ac_cxx_reinterpret_cast.m4: Ditto.
	* src/m4/ac_cxx_rtti.m4: Ditto.
	* src/m4/ac_cxx_static_cast.m4: Ditto.
	* src/m4/ac_try_encoding.m4: Ditto.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* doc/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* src/config.h.in: Regenerate.

2003-12-29  Eric Blake  <ebb9@byu.net>

	* Makefile.am (INCLUDED_M4_FILES): Delete,
	(ACLOCAL_AMFLAGS): Add. Let automake 1.8 do the work.
	* NEWS: Add a blurb, for testing 'make dist'.
	* acinclude.m4: Delete; now done by automake.
	* autogen.sh: Update to match latest auto-toolchain.
	* configure.ac (AC_INIT): Bump version to 1.18c.
	(AM_INIT_AUTOMAKE): Require automake 1.8.
	(AC_PREREQ): Require autoconf 2.59.
	* src/stamp-h.in: Delete, not needed in CVS.
	* Makefile.in: Regenerate.
	* aclocal.m4: Ditto.
	* config.guess: Ditto.
	* config.sub: Ditto.
	* configure: Ditto.
	* depcomp: Ditto.
	* install-sh: Ditto.
	* missing: Ditto.
	* mkinstalldirs: Ditto.
	* doc/Makefile.in: Ditto.
	* src/Makefile.in: Ditto.
	* src/config.h.in: Ditto.
	* src/m4/ac_check_error_discard_const.m4: Properly quote AC_DEFUN,
	because automake 1.8 requires it.
	* src/m4/ac_check_iconv.m4: Ditto.
	* src/m4/ac_check_mathlib.m4: Ditto.
	* src/m4/ac_check_wcs_funcs.m4: Ditto.
	* src/m4/ac_cxx_bool.m4: Ditto.
	* src/m4/ac_cxx_check_ostream_const_unsigned_char_ptr.m4: Ditto.
	* src/m4/ac_cxx_check_set_new_handler.m4: Ditto.
	* src/m4/ac_cxx_exceptions.m4: Ditto.
	* src/m4/ac_cxx_have_std.m4: Ditto.
	* src/m4/ac_cxx_namespaces.m4: Ditto.
	* src/m4/ac_find_encoding.m4: Ditto.
	* src/m4/ac_try_encoding.m4: Ditto.
	* src/m4/acx_check_pathname_style.m4: Ditto.

2003-12-29  Paul  <paul@gear.dyndns.org>

	* jikes.spec: Improve the spec file, in part for better Red Hat
	use - patches 416, 417.
	* doc/Makefile.am (docdir): Documentation belongs in $(datadir).

2003-12-24  Eric Blake  <ebb9@byu.net>

	* src/bytecode.h (CompileConstructor): Add parameter.
	* src/bytecode.cpp (GenerateCode): Remove unused variables, track
	constant instance variables.
	(CompileConstructor): Initialize constant instance variables
	sooner, compliant with JLS 13.1.
	* src/decl.cpp (MustFindNestedType): More error checking.
	(InitializeVariable): Don't initialize instance constants in
	instance initializer, since they are done earlier in constructor.

2003-10-13  Eric Blake  <ebb9@byu.net>

	* src/bytecode.cpp (EmitBinaryExpression): Avoid dead code caused
	in previous version of patch.

2003-10-11  Eric Blake  <ebb9@byu.net>

	* src/bytecode.cpp (EmitBinaryExpression): Evaluate left branch of
	otherwise unused && and || - bug 3488.

2003-10-06  Eric Blake  <ebb9@byu.net>

	* src/ast.h (AstWhileStatement, AstDoStatement, AstForStatement):
	Change loop bodies to always be blocks (resolves bug 3587).
	* src/ast.cpp: Use updates.
	* src/body.cpp (ProcessWhileStatement, ProcessDoStatement),
	(ProcessForStatement, ProcessContinueStatement): Ditto.
	(ProcessTryStatement): Undo old hack for try statements fixed by
	this update.
	* src/bytecode.cpp (EmitStatement): Use updates.
	* src/bytecode.h (Label::~Label): Add, to prevent regressions.
	* src/definite.cpp: Use updates.
	* src/java.g (MakeBlock): New function, use to implement AST
	updates.
	* src/javaact.cpp: Regenerate.
	* src/javaact.h: Ditto.
	* src/parser.h: Use updates.

2003-10-03  Eric Blake  <ebb9@byu.net>

	* src/body.cpp: Formatting.
	* src/decl.cpp: Ditto.
	* src/error.cpp: Ditto.
	* src/symbol.cpp: Ditto.
	* src/symbol.h: Ditto.

2003-10-01  Eric Blake  <ebb9@email.byu.edu>

	* src/symbol.h (MethodSymbol::file_location),
	(VariableSymbol::file_location): Initialize to NULL - fix
	regressions in patch on June 29.

2003-09-27  Eric Blake  <ebb9@email.byu.edu>

	* src/case.h (IsAsciiAlpha, StringEqual): Removed compiler
	warnings.
	* src/op.cpp (OpDesc): Ditto.

2003-09-27  Eric Blake  <ebb9@email.byu.edu>

	* src/m4/ac_cxx_type_equivalence.m4: New file, needed for at least
	gcc 3.3	on cygwin.
	* Makefile.am: Add dependence on ac_cxx_type_equivalence.m4.
	* acinclude.m4: Ditto.
	* configure.ac: Require automake 1.7.6, and rename from
	configure.in as recommended by automake.
	* Makefile.in: Regenerate.
	* aclocal.m4: Ditto.
	* config.guess: Ditto.
	* config.sub: Ditto.
	* configure: Ditto.
	* depcomp: Ditto.
	* install-sh: Ditto.
	* doc/Makefile.in: Ditto.
	* src/Makefile.in: Ditto.
	* src/config.h.in: Ditto.
	* src/platform.h: Add TYPE_I4_IS_INT to clean up type warnings.
	* src/case.h: Fix type warnings under gcc 3.3.
	* src/double.cpp: Ditto.
	* src/double.h: Ditto.
	* src/long.h: Ditto.
	* src/lookup.cpp: Ditto.
	* src/lookup.h: Ditto.
	* src/stream.cpp: Ditto.

2003-06-29  Musachy Barroso  <insanus@bellsouth.net>

	* src/body.cpp:
	* src/decl.cpp:
	* src/error.cpp:
	* src/symbol.cpp:
	* src/symbol.h: On duplicated field or local variable
	error message, add location of original field or local
        variable declaration.

2003-06-29  Musachy Barroso  <insanus@bellsouth.net>

	* src/decl.cpp:
	* src/error.cpp:
	* src/symbol.cpp:
	* src/symbol.h: When a duplicate method or constructor
	is found, add information(location) about the original
	method or constructor declaration to the error message

2003-05-31  Eric Blake  <ebb9@email.byu.edu>

	* src/case.h:
	* src/getclass.cpp: Fix comparisons between wchar_t and int to
	avoid warnings.

2003-05-15  Chris Abbey  <jikes@cabbey.net>

	* Makefile.in: add HACKING file to dist list	

2003-04-18  Eric Blake  <ebb9@email.byu.edu>

	* src/case.h:
	* src/java.g: Fix typos.
	* src/javaact.cpp:
	* src/javaact.h:
	* src/javadcl.h:
	* src/javadef.h:
	* src/javaprs.h:
	* src/javasym.h: Regenerate, and with updated version of jikespg.

2003-04-10  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h:
	* src/error.h: Fix implicit destructor warning in gcc 3.3+.
	* src/case.h: Fix array reference warning in gcc 3.3+.
	* src/getclass.h: Fix empty class warning in gcc 3.3+.
	* src/set.h: Workaround for gcc PR c++/10347. 

2003-03-28  Eric Blake  <ebb9@email.byu.edu>

	* Makefile.am: Allow maintainer mode to detect changes in src/m4.
	* configure.in: Check for touch, for maintainer mode.
	* src/Makefile.am: Fix maintainer mode dependence.
	* src/symbol.cpp:
	* src/system.cpp: Remove compiler warning.
	* src/m4/ac_check_wcs_funcs.m4: Fix to work with -Werror.
	* Makefile.in:
	* configure:
	* doc/Makefile.in:
	* src/Makefile.in: Regenerate.

2003-03-24  Eric Blake  <ebb9@email.byu.edu>

	* configure.in: Update to automake 1.7.3.
	* src/m4/ac_cxx_check_set_new_handler.m4: Fix typo.
	* Makefile.in:
	* aclocal.m4:
	* config.guess:
	* config.sub:
	* configure:
	* depcomp:
	* doc/Makefile.in:
	* src/Makefile.in:
	* src/config.h.in: Regenerate.

2003-03-02  Elliott Hughes  <enh@acm.org>

	* src/diagnose.cpp:
	* src/stream.cpp: (emacsErrorString, regularErrorString):
	improve consistency between the emacs and regular error
	output by ensuring that both kinds contain both a type
	such as "Lexical" or "Syntax" and a severity.
	
2003-02-18  Jan Ploski  <jpljpl@gmx.de>

	* src/dump.cpp: Fix segfault with +c +L and files that
	don't start with a comment. bug #3519 - regresion tested
	by Max Horn <max@quendi.de>

2002-12-18  Eric Blake  <ebb9@email.byu.edu>

	* src/platform.h (IntToString, LongToString): Backport from
	generics-branch.
	* src/expr.cpp: 
	* src/platform.cpp: Use updated tostring classes.
	* configure.in: Bump version number.
	* src/Makefile.am: Improve compile dependences.
	* Makefile.in:
	* aclocal.m4:
	* config.guess:
	* config.sub:
	* configure:
	* install-sh:
	* doc/Makefile.in:
	* src/Makefile.in: Regenerate with newer autotools versions.

2002-12-13  Eric Blake  <ebb9@email.byu.edu>

	* src/getclass.cpp (ProcessClassFile): Fix segfault when class
	file has invalid (or missing) supertype - bug 3404.

2002-12-10  Eric Blake  <ebb9@email.byu.edu>

	* src/platform.cpp (DoubleToString):
	* src/op.cpp (OpLine, OpDmp): Fix regressions in last commit.

2002-12-10  Eric Blake  <ebb9@email.byu.edu>

	* src/tuple.h: Backport and improve generics-branch handling of
	tuples; length is now unsigned instead of int.
	* src/access.h:
	* src/ast.h:
	* src/body.cpp:
	* src/bytecode.cpp:
	* src/bytecode.h:
	* src/class.h:
	* src/control.cpp:
	* src/control.h:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/depend.cpp:
	* src/diagnose.cpp:
	* src/double.h:
	* src/error.cpp:
	* src/error.h:
	* src/expr.cpp:
	* src/getclass.cpp:
	* src/incrmnt.cpp:
	* src/jikesapi.cpp:
	* src/long.h:
	* src/lookup.cpp:
	* src/lookup.h:
	* src/platform.cpp:
	* src/platform.h:
	* src/scanner.cpp:
	* src/segment.cpp:
	* src/segment.h:
	* src/semantic.h:
	* src/set.cpp:
	* src/set.h:
	* src/stream.cpp:
	* src/stream.h:
	* src/symbol.cpp:
	* src/symbol.h:
	* src/system.cpp:
	* src/table.h: Changes associated with tuples; more const-safety.

2002-12-10  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.cpp:
	* src/ast.h:
	* src/control.h:
	* src/diagnose.cpp:
	* src/error.cpp:
	* src/expr.cpp:
	* src/jikesapi.cpp:
	* src/lookup.cpp:
	* src/lookup.h:
	* src/parser.cpp:
	* src/segment.cpp:
	* src/symbol.cpp:
	* src/symbol.h:
	* src/system.cpp:
	* src/tuple.h: Silence HP compiler warnings introduced in prior
	patch. Also, change memmove to more efficient memcpy where legal.

2002-12-09  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h (AstName): Another back-port from generics-branch.
	* src/java.g (*NotName): Backport the grammar changes that allow
	better parsing of casts, necessary for AstName.
	* src/ast.cpp:
	* src/bytecode.cpp:
	* src/bytecode.h:
	* src/control.cpp:
	* src/control.h:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/diagnose.cpp:
	* src/dump.cpp:
	* src/error.cpp:
	* src/error.h:
	* src/expr.cpp:
	* src/incrmnt.cpp:
	* src/lookup.cpp:
	* src/lookup.h:
	* src/parser.h:
	* src/scanner.cpp:
	* src/scanner.h:
	* src/stream.cpp:
	* src/stream.h:
	* src/symbol.cpp:
	* src/symbol.h:
	* src/system.cpp:
	* src/unparse.cpp: Changes associated with those in the AST.
	* src/javaact.cpp:
	* src/javaact.h:
	* src/javadcl.h:
	* src/javadef.h:
	* src/javasym.h: Regenerate.

2002-12-07  Eric Blake  <ebb9@email.byu.edu>

	* configure.in:
	* src/m4/ac_cxx_bool.m4:
	* src/m4/ac_try_encoding.m4: Remove warnings, to allow
	configuration with CXXFLAGS='-W -Werror'.
	* configure: Regenerate.

2002-12-06  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h: Code cleanup.
	* src/definite.cpp (DefiniteMethodBody): Fix regression in last
	commit.

2002-12-06  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h (AstBrackets, AstModifiers, AstArguments): Consolidate
	common code into fewer locations.
	* src/ast.cpp:
	* src/body.cpp:
	* src/bytecode.cpp:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/expr.cpp:
	* src/java.g:
	* src/modifier.cpp:
	* src/parser.cpp:
	* src/parser.h:
	* src/semantic.h:
	* src/symbol.cpp:
	* src/unparse.cpp: Use modifications to Ast tree.
	* src/javaact.cpp:
	* src/javaact.h:
	* src/javadcl.h:
	* src/javadef.h: Regenerate.

2002-12-06  Elliott Hughes <enh@acm.org>

	* src/stream.cpp (ReadInput, RereadInput): 
	* src/symbol.h (buffer): Remove dead code pertaining to buffer
	files, whatever they were.

2002-12-06  Chris Dennis  <chris.dennis@invidi.com>

	* src/control.cpp (ProcessBodies): Fix compile error in Windows.

2002-12-05  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h (AstDeclaredType, AstInitializerDeclaration): More
	AST backporting from generics-branch. Also change all Num* methods
	to return unsigned counts, instead of int.
	* src/Makefile.am:
	* src/ast.cpp:
	* src/body.cpp:
	* src/bytecode.cpp:
	* src/bytecode.h:
	* src/class.h:
	* src/control.cpp:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/depend.cpp:
	* src/error.cpp:
	* src/error.h:
	* src/expr.cpp:
	* src/getclass.cpp:
	* src/init.cpp:
	* src/java.g:
	* src/modifier.cpp:
	* src/parser.cpp:
	* src/parser.h:
	* src/semantic.h:
	* src/spell.h:
	* src/symbol.cpp:
	* src/symbol.h:
	* src/unparse.cpp: Associated back-ports. Also fix all compiler
	warnings.
	* src/Makefile.in:
	* src/javaact.cpp:
	* src/javaact.h:
	* src/javadcl.h:
	* src/javadef.h:
	* src/javaprs.h:
	* src/javasym.h: Regenerate.

2002-12-04  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h (AstType, AstInstanceofExpression, AstClassLiteral):
	Backport abstract syntax tree improvements from generics-branch.
	* src/java.g: Backport grammar improvements from generics-branch,
	now allowing LALR(1) instead of LALR(2) parsing.
	* src/ast.cpp
	* src/body.cpp:
	* src/bytecode.cpp:
	* src/bytecode.h:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/expr.cpp:
	* src/modifier.cpp:
	* src/parser.cpp:
	* src/parser.h:
	* src/semantic.h:
	* src/symbol.cpp:
	* src/unparse.cpp: Backport changes associated with AST update.
	* src/javaact.cpp:
	* src/javaact.h:
	* src/javadcl.h:
	* src/javadef.h:
	* src/javaprs.h:
	* src/javasym.h: Regenerate.

2002-12-02  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (InitializeArray): Fix bug 3399.

2002-12-02  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.h (EmitBinaryExpression, ConcatenateString),
	(AppendString): Add need_value argument to emit less code.
	* src/bytecode.cpp (EmitBinaryExpression): Fix logic in evaluation
	of a||true, bug 3398.

2002-11-30  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitSwitchStatement):
	* src/body.cpp (ProcessSwitchStatement): Fix regression in switch
	statements from recent commit.

2002-11-27  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h:
	* src/ast.cpp (Clone): Remove covariance, for the sake of our
	friends at Microsoft who don't believe in standards.

2002-11-27  Eric Blake  <ebb9@email.byu.edu>

	* doc/jikes.1 (+a): New option to omit asserts.
	(-target, -source):
	* src/jikes.cpp: Improve documentation to match new behavior.
	* src/body (ProcessAssertStatement):
	* src/bytecode.cpp (CompileClass, EmitAssertStatement),
	(GenerateAssertVariableInitializer): Update to allow forward
	compatibility to old VMs with proper command line options.
	* src/error.h:
	* src/error.cpp (ASSERT_UNSUPPORTED_IN_TARGET): New error.
	* src/jikesapi.h (SDK1_4_2, SDK1_5): New Java release levels.
	* src/option.cpp:
	* src/option.h: Add long names for sevaral +options, improve
	handling of +a, -source, -target.
	* src/semantic.h: Fix typo.

2002-11-26  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h (Ast): Remove unnecessary destructors (Ast nodes are
	allocated from a storage pool; hence reclaiming the pool reclaims
	all the nodes at once rather than using destructors).
	* src/ast.cpp:
	* src/unparse.cpp: Remove pure virtual method implementations.
	* src/bytecode.h (CompileConstructor, GenerateClassAccessMethod):
	Remove dead parameters.
	* src/bytecode.cpp (EmitSwitchStatement): Remove dead comment.
	* src/double.h (operator++, operator--):
	* src/long.cpp (operator++, operator--):
	* src/scanner.cpp (ScanKeyword0):
	* src/unzip.cpp (UncompressFile*):
	* src/op.h (OpLine):
	* src/op.cpp:
	* src/class.h (Print, Describe): Remove dead parameters.
	* src/definite.cpp (DefiniteDefault*): Move to...
	* src/semantic: Here.
	(DefiniteDefaultStatement): Rename from DefiniteEmptyStatement.
	(DefiniteBlockStack): Remove dead parameter.

2002-11-26  Eric Blake  <ebb9@email.byu.edu>

	* doc/jikes.1 (-Xswitchcheck): Document new option added for javac
	compatibility - patch 374.
	* src/ast.h (AstSwitchLabel): Consolidate AstCaseLabel and
	AstDefaultLabel into one class.
	(CaseElement, AstSwitchStatement): Rework the sorting and storage
	of labels to allow for better emission of switch statements.
	(Clone()) Partial backport of covariant clone method from
	generics-branch.
	* src/bytecode.cpp (EmitSwitchStatement): Optimize simple forms of
	switch statements.
	(EmitSwitchBlockStatement, CloseSwitchLocalVariables): New methods.
	* src/error.h (SemanticError::WarningLevel) Increase capabilities,
	to allow more flexibility with named warnings.
	(SemanticError::NamedError) Move here from error.cpp.
	(SWITCH_FALLTHROUGH): New warning message.
	* src/error.cpp (EnableDefaultWarnings): Improve handling of named
	warnings.
	* src/option.cpp: Add support for -Xswitchcheck (and +Pswitchcheck).
	* src/semantic.h (SemanticStack): Consolidate ExceptionTableStack,
	StatementStack, and NestingLevelStack into one typesafe template.
	(ReportSemError): Add version that takes single AST node.
	* src/double.h (Fraction): Silence compiler warning.
	* src/stream.cpp (getErrorMessage): Fix formatting.
	* src/ast.cpp:
	* src/body.cpp (ProcessSwitchStatement):
	* src/bytecode.h:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/java.g:
	* src/modifier.cpp:
	* src/parser.cpp:
	* src/parser.h:
	* src/symbol.cpp:
	* src/unparse.cpp: Update to changes in AST and semantic.
	* src/javaact.cpp:
	* src/javaact.h:
	* src/javadcl.h:
	* src/javadef.h:
	* src/javaprs.h:
	* src/javasym.h: Regenerate.

2002-11-25  Eric Blake  <ebb9@email.byu.edu>

	* configure.in: Bump version following the 1.18 release.
	* configure:
	* src/config.h.in: Regenerate.
	* src/ast.h (DYNAMIC_CAST<>) Move to...
	* src/platform.h: Here.
	Fix up includes of standard headers.

2002-11-21  Eric Blake  <ebb9@email.byu.edu>

	* 1.18 release.

2002-11-18  Eric Blake  <ebb9@email.byu.edu>

	* NEWS:
	* jikes.spec:
	* configure.in: Prepare for releasing 1.18.
	* configure: Regenerate.

2002-11-16  Eric Blake  <ebb9@email.byu.edu>

	* src/definite.cpp (DefiniteBlock): Don't mark variables declared
	in a loop with continue as multiply assigned - bug 3306.

2002-11-14  Eric Blake  <ebb9@email.byu.edu>

	* COPYING: Revert - Jikes is not under the GPL.
	* autogen.sh: 
	* configure.in (AM_INIT_AUTOMAKE): Fix so that COPYING will not be
	overwritten again.
	* Makefile.in:
	* doc/Makefile.in:
	* src/Makefile.in: Regenerate.

2002-11-14  Eric Blake  <ebb9@email.byu.edu>

	* src/Makefile.in: Regenerate after fixing a bug in automake 1.7.1
	- see patch 371.

2002-11-12  Eric Blake  <ebb9@email.byu.edu>

	* configure.in: Modify version, update to autoconf 2.54 and
	friends.
	* src/m4/ac_cxx_bool.m4:
	* src/m4/ac_cxx_check_set_new_handler.m4:
	* src/m4/ac_cxx_const_cast.m4:
	* src/m4/ac_cxx_dynamic_cast.m4:
	* src/m4/ac_cxx_exceptions.m4:
	* src/m4/ac_cxx_explicit.m4:
	* src/m4/ac_cxx_have_std.m4:
	* src/m4/ac_cxx_member_constants.m4:
	* src/m4/ac_cxx_namespaces.m4:
	* src/m4/ac_cxx_reinterpret_cast.m4:
	* src/m4/ac_cxx_rtti.m4:
	* src/m4/ac_cxx_static_cast.m4: Update obsolete autoconf-isms.
	* COPYING:
	* INSTALL:
	* aclocal.m4:
	* config.guess:
	* config.sub:
	* configure:
	* depcomp:
	* install-sh:
	* missing:
	* mkinstalldirs:
	* Makefile.in:
	* doc/Makefile.in:
	* src/config.h.in:
	* src/Makefile.in: Regenerate.

2002-11-11  Eric Blake  <ebb9@email.byu.edu>

	* src/symbol.h (ContainingPackageName): New method.
	* src/body.cpp:
	* src/bytecode.cpp:
	* src/control.cpp:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/expr.cpp:
	* src/init.cpp:
	* src/symbol.cpp:
	* src/system.cpp: Use the method.

2002-11-09  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (AppendString): String concatenation broken
	when using (int)char - bug 3363.
	* src/expr.cpp (ProcessAmbiguousName): Another case of
	placeholder_type assertion - bug 3359.

2002-11-09  Chris Dennis  <chris.dennis@invidi.com>

	* src/error.cpp (InitializeMessages): For loop variables (again).

2002-11-07  Eric Blake  <ebb9@email.byu.edu>

	* src/error.cpp (NotDot): Fix logic.

2002-11-06  Eric Blake  <ebb9@email.byu.edu>

	* src/error.h:
	* src/error.cpp (FILE_FILE_CONFLICT): Restore error I accidentally
	deleted in last patch.

2002-11-05  Elliott Hughes  <enh@acm.org>

	* src/error.cpp:
	* src/error.h: Massive rewrite. Use printf style strings and
	consolidate formatting into common routines. Improves output of
	filenames, and adds some infrastructure for naming (and thus
	suppressing) arbitrary errors - based on patch 368.
	(ErrorString::Array): Fix a memory leak.
	* src/body.cpp:
	* src/diagnose.h:
	* src/diagnose.cpp:
	* src/jikes.cpp:
	* src/jikesapi.h:
	* src/modifier.cpp:
	* src/option.cpp:
	* src/option.h:
	* src/semantic.h:
	* src/stream.cpp:
	* src/stream.h:
	* doc/jikes.1: Fallout from the error changes. More const safety,
	slight changes to command line arguments.
	* src/Makefile.am: Update dependences.
	* src/Makefile.in: Regenerate.

2002-11-02  Eric Blake  <ebb9@email.byu.edu>

	* src/semantic.h (class Semantic): Fix prototype.

2002-11-02  Eric Blake  <ebb9@email.byu.edu>

	* src/modifier.cpp (ProcessAccessFlag): Overdid last commit -
	restore behavior of pedantic_modifier_order.

2002-11-02  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ReportConstructorNotFound, ProcessTypeExpression),
	(GetAnonymousType): Minor touchups.
	* src/bytecode.cpp (ByteCode): Move ACC_SUPER logic here...
	* src/class.h (class ClassFile): from here, since modifier.cpp
	should not implicitly set it.

2002-11-02  Elliott Hughes  <enh@acm.org>

	* src/access.h: Helper functions for the changes to modifier.cpp.
	* src/error.cpp:
	* src/error.h: Consolidate some modifier error messages.
	* src/modifier.cpp: Removal of duplicate code, regularization of
	checking.
	* src/semantic.h (ReportSemError) A new form for the common case
	where there's only a single token involved, not a span.
	(ProcessAccessFlag) New prototype.

2002-10-31  Eric Blake  <ebb9@email.byu.edu>

	* src/unparse.cpp (Unparse): Fix unparse output typo.

2002-10-28  Eric Blake  <ebb9@email.byu.edu>

	* src/error.cpp (PrintCATCH_ARRAY_TYPE): Fix typo.
	* src/body.cpp (ProcessTryStatement): Detect array catch types,
	and reduce spurious catch clause duplication warnings - bug 3343.

2002-10-14  Eric Blake  <ebb9@email.byu.edu>

	* src/body.cpp (ProcessExecutableBodies): Pedantic warning for
	strange interface throws clauses - bug 3232.
	* src/expr.cpp (ProcessTypeExpression),
	(ProcessClassInstanceCreationExpression): Catch bad types that were
	found in right file but have invalid contents - bugs 3318, 3319.
	* src/error.h:
	* src/error.cpp (INVALID_TYPE_FOUND): New error message.
	* src/symbol.cpp (GetArrayType): Don't make array of bad type.

2002-10-14  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (GetAnonymousType): Avoid segfault on bad anonymous
	class - bug 3322.

2002-10-14  Eric Blake  <ebb9@email.byu.edu>

	* src/decl.cpp (ReadType): Always report when a type is not found
	- solves core dumps reported in bug 3319.

2002-10-14  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (CanCastConvert): Fix recognition of incompatible
	casts between classes - bug 3320.

2002-10-10  Eric Blake  <ebb9@email.byu.edu>

	* src/scanner.cpp (ScanKeyword7): Fix fallthrough that treated
	"befault" as a keyword.

2002-10-07  Eric Blake  <ebb9@email.byu.edu>

	* src/m4/ac_define_integer_bits.m4: New file.
	* acinclude.m4: Include it.
	* configure.in: Determine types of exact bitwidths required.
	* src/Makefile.am: Update file dependencies.
	* aclocal.m4:
	* configure:
	* Makefile.in:
	* doc/Makefile.in:
	* src/Makefile.in:
	* src/config.h.in: Regenerate.
	* src/platform.h (i1, i2, i4, i8, u1, u2, u4, u8): Use types of
	known size.
	* src/ast.h:
	* src/bytecode.h:
	* src/class.h:
	* src/control.h:
	* src/error.h:
	* src/option.h:
	* src/platform.h:
	* src/scanner.h:
	* src/semantic.h:
	* src/set.h:
	* src/stream.h:
	* src/symbol.h: Optimize to include fewer unnecessary headers;
	helping to speed compilation time slightly.
	* src/ast.cpp (CaseElement::Value, AstExpression::Type):
	* src/body.cpp:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/depend.cpp:
	* src/diagnose.cpp:
	* src/error.cpp (Semantic::PrintMessages, class ErrorString):
	* src/expr.cpp:
	* src/getclass.cpp:
	* src/jikesapi.cpp:
	* src/modifier.cpp:
	* src/option.cpp:
	* src/platform.cpp:
	* src/scanner.cpp:
	* src/stream.cpp (RightColumn, NameString, NameStringLength),
	(LineLength, LineSegmentLength, FindColumn):
	* src/symbol.cpp (IsClassSuffix, IsJavaSuffix):
	* src/system.cpp: Include necessary headers, and move some code
	around to avoid dependencies.

2002-10-04  Eric Blake  <ebb9@email.byu.edu>

	* src/symbol.cpp (GetReadAccessConstructor): Avoid bug when
	accessor constructor is created during final field evaluation -
	bug 3310.
	* src/ast.h (AstBreakStatement, AstContinueStatement): Initialize
	nesting_level, to avoid coredump found on generics-branch.

2002-10-02  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitConditionalExpression): Fix verifyerror in
	non-boolean ?: expressions - bug 3311.

2002-09-27  Chris Abbey  <jikes@cabbey.net>

	* 1.17 release.

2002-09-25  Andrew M. Inggs  <aminggs@yahoo.co.uk>

	* src/m4/ac_try_encoding.m4: Use positive return values to
	avoid a bug on MSYS (Mingw native build system) where
	negative return values are seen as 0 at the shell level.

	* configure: regen (by cabbey)
	
	* src/stream.cpp (DecodeNextCharacter): If byte-swapping is
	needed, swap bytes in var next and not those pointed to by
	chp (since chp is modified by calls to iconv).

2002-09-13  Alan Donovan  <adonovan@lcs.mit.edu>

	* src/symbol.cpp (ReadDirectory): Ignore unreadable files (such as
	broken links) - bug 3207.

2002-09-11  Eric Blake  <ebb9@email.byu.edu>

	* src/double.cpp (IEEEfloat(LongInt)): Fix bug in (float)long -
	bug 3272.

2002-09-11  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.h:
	* src/bytecode.cpp (InitializeArray, EmitArrayCreationExpression):
	Allow for discarded creation in instanceof - bug 3267.
	(EmitBranchIfExpression, EmitConditionalExpression): Further
	optimizations of ?:, including a fix for VerifyError - bug 3271.
	(EmitCastExpression, StripNops): Elide further unnecessary
	widening casts.
	* src/decl.cpp (CheckMethodOverride): More covariance.
	* src/error.h (InClone): New method.
	* src/expr.cpp (GetAnonymousType): In context of a clone, do not
	process anonymous classes - bug 3273.
	(CanMethodInvocationConvert, CanAssignmentConvertReference),
	(CanCastConvert): Simplify type comparison checks.
	* src/symbol.h (IsSubtype): New method.

2002-09-09  Eric Blake  <ebb9@email.byu.edu>

	General type-handling improvements, including bug 413, 426:
	* src/decl.cpp (ProcessTypeNames): Allow java.java in the unnamed
	package, which does not have subpackages.
	(FindTypeInShadow): Find only accessible types.
	(FindNestedType): Return only accessible types, without error if
	none exists.
	(ReadType): Look for clash with package on failure.
	(ProcessImportQualifiedName): Improve type searching.
	(ProcessPackageOrType): Improve searching, along with error
	messages when not found.
	(ImportType): Return any imported type, accessible or not.
	(FindType): Find only accessible types.
	(MustFindType): Improve error messages when types are not found.
	* src/error.h:
	* src/error.cpp (PACKAGE_NOT_TYPE): New error.
	* src/semantic.h:
	* src/expr.cpp (SimpleNameAccessCheck, TypeNestAccessCheck):
	Delete dead code.
	(TypeAccessCheck): Change to a silent check.

2002-09-05  Eric Blake  <ebb9@email.byu.edu>

	* src/semantic.h:
	* src/decl.cpp (FindTypeInLayer): Delete dead code.
	(MustFindType): Perform type access check even when loading from
	CLASSPATH, to fix some jacks results.
	(CheckMethodOverride):
	* src/getclass.cpp (ProcessClassFile): Add limited support for
	covariance in .class files - bug 3088.
	* src/error.h:
	* src/error.cpp (CONSTRUCTOR_OVERLOAD_NOT_FOUND): New error.
	* src/expr.cpp (ReportConstructorNotFound): Improve to report
	about access and overload problems.

2002-09-03  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (FindMethodInEnvironment, FindVariableInEnvironment):
	Reduce shadowing warnings to pedantic level - bugs 119, 324, 2145.
	* src/decl.cpp (FindType): According to Neal Gafter, inherited
	member types shadow the current type.
	* src/error.h:
	* src/error.cpp (INHERITANCE_AND_LEXICAL_SCOPING_CONFLICT_WITH_TYPE):
	Add a caution to detect this case (which is opposite C++).

2002-09-03  Eric Blake  <ebb9@email.byu.edu>

	* src/decl.cpp (ProcessTypeHeader, ProcessTypeHeaders),
	(ComputeTypesClosure): Make member types visible early enough.
	(ProcessSingleTypeImportDeclaration): Create place-holder type for
	bad imports to silence further errors.
	(FindNestedType): Check for inaccessible nested types before
	reporting type not found.
	* src/semantic.h (AddDependence): Check for bad types.
	* src/expr.cpp (ProcessMethodName, GetAnonymousType),
	(ProcessClassInstanceCreationExpression):
	* src/body.cpp (ProcessTryStatement): Silence chain-reaction error
	messages when try block contains semantic error - bug 670.
	* src/error.h:
	* src/error.cpp (DUPLICATE_IMPORT_NAME),
	(ANONYMOUS_TYPE_CANNOT_OVERRIDE_DEFAULT_ABSTRACT_METHOD): New
	error messages.

2002-08-29  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ReportMethodNotFound, FindMethodInType),
	(ProcessMethodName, FindMethodMember):
	* src/decl.cpp (CompleteSymbolTable, CheckMethodOverride),
	(AddInheritedMethods): Allow for multiple inheritance of abstract
	methods, including when one of the set is not public - bug 3253.
	* src/error.h:
	* src/error.cpp (UNIMPLEMENTABLE_CLASS): New caution.

2002-08-29  Eric Blake  <ebb9@email.byu.edu>

	* src/error.h:
	* src/error.cpp (*_THROWS_CLAUSE_CLASS): New pedantic warnings.
	* src/semantic.h (CheckThrow):
	* src/body.cpp (CheckThrow): Improve to give pedantic warnings
	regarding throws clauses - bug 3232.
	(ProcessMethodBody, ProcessConstructorBody): Use new features.

2002-08-28  Elliott Hughes  <enh@acm.org>

	* src/set.h (primes): g++ 3.1 on Mac OS X 10.2 has trouble
	with static arrays in template classes; avoid these and remove
	duplication of hash-resizing code as a side-effect - patch 349.

2002-08-28  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (FindMethodMember): One more case of bug 3240.
	(ProcessClassInstanceCreationExpression):
	* src/body.cpp (UncaughtExceptionContext): Fix error messages.
	* src/init.cpp (ComputeFinalValue): Provide correct context for
	evaluating final variables - bug 3245.	

2002-08-26  Eric Blake  <ebb9@email.byu.edu>

	* src/symbol.cpp (GetWriteAccessMethod, GetReadAccessMethod):
	Special case access of field via classname.super.
	* src/expr.cpp (FindMethodMember, FindVariableMember): Check for
	accessor methods required for classname.super when inner class and
	enclosing class extend same superclass - bug 3240.

2002-08-26  ??  <lecharny@libertysurf.fr>

	* src/option.cpp (Option): Fix bad logic with drive letters in -d
	for Windows - bug 3238.

2002-08-26  Eric Blake  <ebb9@email.byu.edu>

	* src/symbol.cpp (BlockSymbol):
	* src/body.cpp (ProcessTryStatement),
	(ProcessSynchronizedStatement): Fix bug when multiple synchronized
	statements appear in static method with no params - bug 3205.
	* src/decl.cpp: Fix typo in last commit.

2002-08-26  Eric Blake  <ebb9@email.byu.edu>

	* src/decl.cpp (ProcessTypeHeader, ProcessInterface),
	(ProcessTypeHeaders): Fix inner classes subclassing something in
	the same .java file - bug 3202.
	* src/scanner.cpp (ScanSlashComment): Comment dead code.
	* src/stream.h (LAST_CHARACTER_NOT_NEWLINE): New warning.
	* src/stream.cpp (ProcessInputAscii, ProcessInputUnicode): Give
	pedantic warning if file doesn't end in \n (or its variants).

2002-08-22  Eric Blake  <ebb9@email.byu.edu>

	* src/scanner.cpp (ScanSlashComment): Revert change that gave
	error on //EOF, based on Sun bug 4386773.

2002-08-21  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (StripNops): Minor bytecode optimization -
	assignment conversion to superinterfaces was emitting useless
	checkcast.

2002-08-15  Eric Blake  <ebb9@email.byu.edu>

	* src/error.cpp:
	* src/error.h (TYPE_NOT_PRIMITIVE, TYPE_NOT_VALID_FOR_SWITCH),
	(TYPE_NOT_CONVERTIBLE_TO_SWITCH_TYPE): Delete.
	(TYPE_NOT_*): Improve wording.
	* src/body.cpp: Use improved error wording.
	(ProcessSwitchStatement): Improve handling of sub-integer cases.
	(ProcessThisCall, ProcessSuperCall): Detect void arguments to
	constructors.
	* src/semantic.h (BinaryNumericPromotion): New method, to collapse
	common code from existing 3 overloads.
	* src/expr.cpp (Process*): General cleanup: detect more cases of
	void subexpressions, don't cause errors in outer expression if
	inner one was bad, use improved error wording, improve formatting.
	(ProcessEQUAL_EQUAL, ProcessNOT_EQUAL): Fix
	problems when void or reference types compared - bug 3201.
	(ProcessConditionalExpression): Fix problems with sub-integer
	cases in ?:.
	* src/bytecode.cpp (DefineLabel): Undo optimization of goto next
	bytecode when local variable table is created, as that was the
	cause of bug 3212.
	(VariableTypeResolution): Add -target 1.4 control to static fields
	of interfaces, bug 3218.
	(EmitConditionalExpression): Fix bug in cond?0:-0.0.

2002-08-06  Eric Blake  <ebb9@email.byu.edu>

	* src/lookup.h (Hash): Improve hash function for strings.
	* src/lookup.cpp: Use improved hashing for compilation speed-up on
	large number of classes with similar string constants (for
	example, the code in bug 222).

2002-08-06  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h:
	* src/bytecode.cpp: Formatting.
	(EndMethod): Fix assertion with oversize method body.
	* src/decl.cpp (GetStaticInitializerMethod),
	(ProcessInstanceInitializers): Assign return type to generated
	methods to avoid coredump with oversize initializer body.

2002-08-05  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.cpp (AstClassBody::Clone): Correctly clone.
	* src/bytecode.h (last_parameter_index):
	* src/expr.cpp (ProcessCastExpression):
	* src/semantic.h:
	* src/symbol.h (initializer_constructors):
	* src/symbol.cpp:
	* src/ast.h (CHECK_AND_CAST): Delete dead code.
	(AstMethodBody, AstSwitchBlock):
	* src/parser.cpp (Initializer):
	* src/unparse.cpp: Fix unparsing bugs, related to switch blocks
	and instance initializers.
	* src/error.cpp:
	* src/bytecode.cpp: Add more JVMS violation tests, for array
	dimensions and method parameter count.
	(EmitCastExpression): Improve to handle all casts within a single
	method.
	* src/segment.h:
	* src/segment.cpp: Fix constant pool overflow - bug 222.

2002-08-02  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.h (EmitCheckForNull):
	* src/bytecode.cpp (EmitCheckForNull, EmitSuperInvocation),
	(LoadVariable, EmitInstanceCreationExpression): Fix two corner
	cases of null checks - bugs 2991, 3170.

2002-08-02  Eric Blake  <ebb9@email.byu.edu>

	Overhaul line ending and error message output. Solves bug 2879,
	and makes errors more unified in appearance.
	* src/gencode.java (IsNewline): Redefine.
	(IsWhitespace): New category, necessary for @deprecated - bug 519.
	* src/code.cpp:
	* src/code.h: Regenerate.
	* src/control.cpp (ProcessBodies): Do not output .class file after
	parse error, even if we were able to recover.
	* src/diagnose.h (ParseErrorInfo):
	* src/diagnose.cpp:
	* src/error.h (ErrorInfo):
	* src/error.cpp:
	* src/stream.h (StreamError):
	* src/stream.cpp: Unify, using new features of LexStream.
	* src/option.cpp:
	* src/parser.cpp:
	* src/unparse.cpp:
	* src/dump.cpp: Fix outputting bugs, plus file formatting.
	* src/expr.cpp (ProcessCharacterLiteral, ProcessStringLiteral):
	Allow a known bad token to not kill semantic analysis.
	* src/lookup.cpp (FindOrInsertChar, FindOrInsertString): Keep the
	quotes surrounding literals.
	* src/platform.h (operator<<): Make sure non-printable characters
	do not cause display problems.
	* src/scanner.cpp: Improve comment and literal parsing.
	* src/stream.cpp (ProcessInputAscii, ProcessInputUnicode): Improve
	parsing, especially with end-of-file issues.
	* src/stream.h (RightColumn, OutputLine, OutputSource): Added.
	(ComputeColumns, InitializeColumns): Deleted.
	* src/tab.h:
	* src/tab.cpp (Tab): Improve tab expansion.

2002-07-31  Eric Blake  <ebb9@email.byu.edu>

	* src/symbol.cpp (FindOrInsertClassLiteral): Fix coredump with
	class literal in static local class, reported on jikes list.

2002-07-31  Eric Blake  <ebb9@email.byu.edu>

	* src/option.cpp (Option): Formatting, and some option
	improvements. Fix memory leak on repeated options - bug 2813.
	* src/jikesapi.h:
	* src/jikesapi.cpp: Formatting.
	* src/jikes.cpp:
	* doc/jikes.1: Improve documentation of options.

2002-07-30  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.cpp:
	* src/control.cpp:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/depend.cpp:
	* src/diagnose.cpp:
	* src/diagnose.h:
	* src/double.h:
	* src/dump.cpp:
	* src/error.h:
	* src/getclass.cpp:
	* src/init.cpp:
	* src/javaprs.h:
	* src/jikes.cpp:
	* src/jikesapi.cpp:
	* src/jikesapi.h:
	* src/long.cpp:
	* src/long.h:
	* src/modifier.cpp:
	* src/op.cpp:
	* src/option.cpp:
	* src/parser.h:
	* src/platform.cpp:
	* src/platform.h:
	* src/scanner.cpp:
	* src/stream.cpp:
	* src/stream.h:
	* src/symbol.h:
	* src/tuple.h:
	* src/unzip.cpp:
	* src/unzip.h:
	* src/zip.cpp: Formatting changes.

2002-07-29  Eric Blake  <ebb9@email.byu.edu>

	* src/semantic.h: Various method signature updates.
	* src/expr.cpp (MoreSpecific, NoMethodMoreSpecific),
	(FindMethodInType, FindMethodInEnvironment, FindMethodMember),
	(ProcessMethodName): When a type inherits multiple methods with
	the same signature, merge the throws clauses together - bug 2395.
	* src/bytecode.cpp (GenerateClassAccess): Optimize class literal
	when result is not needed.

2002-07-26  Eric Blake  <ebb9@email.byu.edu>

	* src/symbol.h (class_literal_class): Share with placeholder
	class, when possible.
	* src/symbol.cpp (FindOrInsertClassLiteralClass),
	(FindOrInsertClassLiteralMethod, FindOrInsertClassLiteral):
	* src/expr.cpp (ProcessAmbiguousName):
	* src/bytecode.cpp (EmitExpression, GenerateClassAccessMethod)
	(GenerateClassAccess): Don't initialize classes when using class
	literals - bug 3142.
	(EmitCheckForNull): Optimize null check to use less bytecode.
	(GenerateAssertVariableInitializer): Optimize assert
	initialization to use less bytecode.

2002-07-25  Eric Blake  <ebb9@email.byu.edu>

	* src/definite.cpp: Improve definite assignment analysis to use
	the updated rules of try-catch blocks - bug 3125. In the process,
	remove lots of dead code.
	* src/semantic.h (DefinitePairs, DefiniteTryStack): Delete unused
	classes.
	(DefiniteBlocks): Prune unused structures.
	(ReachableAssignments): New for try-catch blocks.
	* src/set.h (DefinitePair): Add default constructor.

2002-07-23  Eric Blake  <ebb9@email.byu.edu>

	* src/definite.cpp (DefiniteBreakStatement),
	(DefiniteContinueStatement, DefiniteTryStatement): Fix definite
	assignment when break or continue is interrupted by an abrupt
	finally clause - bug 3117.
	* src/expr.cpp (ProcessAmbiguousName): Fix bug when method is
	qualified by constant string variable - bug 3124.

2002-07-22  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (CheckSimpleName): Fix use of shadow variables in
	explicit constructor - bug 3119.
	* src/error.cpp (PrintEXPRESSION_NOT_CONSTANT): Improve message -
	bug 655.
	(PrintBLOCKED_CATCH_CLAUSE): Improve message - bug 1858.
	* src/body.cpp (ProcessTryStatement): Use improved message.

2002-07-19  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h (processing_try_block): Add.
	* src/body.cpp (UncaughtException, ProcessTryStatement): 
	Fix try-block handling, when a catch clause is interrupted by an
	abrupt finally, and when a try-finally is the sole statement in a
	do-while loop - bug 613.

2002-07-19  Eric Blake  <ebb9@email.byu.edu>

	* src/decl.cpp (CheckMethodOverride, AddInheritedMethods): Fix
	method overriding to detect package scope method conflicts when
	the method was not inherited.
	* src/error.cpp: Improve error message wording related to method
	inheritance.

2002-07-19  Eric Blake  <ebb9@email.byu.edu>

	* src/scanner.cpp (ScanStarComment): Only the most recent doc
	comment applies to a declaration.
	* src/getclass.cpp (ReadTypeFromSignature): 
	* src/symbol.cpp (FindOrInsertClassLiteralClass): Missed a case in
	previous commit.
	* src/expr.cpp (FindConstructor, FindMethodInType),
	(FindMethodInEnvironment, FindVariableInType),
	(FindVariableInEnvironment, ProcessAmbiguousName):
	* src/decl.cpp (ProcessTypeHeader, ProcessInterface),
	(ProcessFieldDeclaration, ProcessMethodDeclaration),
	(MustFindType):
	* src/semantic.h (InDeprecatedContext):
	* src/stream.h (ResetDeprecated):
	* src/symbol.h (TypeSymbol::ResetDeprecated): Silence deprecation
	warnings inside a deprecated context.

2002-07-18  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (FindConstructor, FindMethodInType),
	(FindVariableInType, ProcessAmbiguousName),
	(GetAnonymousConstructor): Improve error messages for @deprecated.
	* src/body.cpp (ProcessSuperCall): Avoid repeating work, and thus
	duplicate error messages.
	* src/scanner.cpp (ScanStarComment): Fix @deprecated parsing - bug
	519.

2002-07-18  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitStatement): Fix case of infinite do-while
	loop emitting dead code - bug 3085.
	* src/expr.cpp (ProcessMethodName): Fix handling of non-inherited
	enclosing instance methods in explicit constructors - bug 3082.
	(CreateAccessToType): Fix access of non-inherited members.
	* src/symbol.cpp (GetReadAccessMethod): More fixes of X.super.m(),
	detected by bug 246.
	* src/depend.cpp (ProcessSubtypes):
	* src/error.cpp (CIRCULAR_*):
	* src/getclass.cpp (ProcessClassFile):
	* src/decl.cpp: Fix handling of cyclic inheritance - bug 338.
	(AddInheritedMethods): Make warning become pedantic.
	* src/semantic.h: Improve some documentation, as well as redo
	methods involved in cyclic inheritance changes.

2002-07-15  Mo DeJong  <supermo@bayarea.net>

	* configure: Regen.
	* configure.in: Set CXXFLAGS when compiling
	with VC++. This gets us closer to being able
	to compile with VC++, but does not yet work.
	An autoconf patch will be required since
	VC++ thinks .cc files are object files.

2002-07-12  Mo DeJong  <supermo@bayarea.net>

	* configure: Regen.
	* configure.in: Define HAVE_ENCODING if iconv or icu is supported.
	* src/config.h.in: Regen.
	* src/jikes.cpp:
	* src/option.cpp:
	* src/stream.cpp:
	* src/stream.h: Replace HAVE_LIBICU_UC || HAVE_ICONV_H
	checks with HAVE_ENCODING check.

2002-07-12  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitTryStatement): Fix case with empty try
	statement - bug 3071.
	(EmitStatement): Fix case with empty if clause - bug 3076.
	(EmitBinaryExpression): Fix case with mixed-type addition and
	subtraction with constant 0 on left - bug 3078.
	(EmitSwitchStatement, DefineLabel): Fix case with infinite loop
	caused by if() continue; - bug 3077.
	* src/symbol.cpp (GetReadAccessMethod): Fix case with X.super.m()
	in an accessor method - bug 169.

2002-07-11  Chris Abbey  <jikes@cabbey.net>

	* configure.in: redefine version number to differentiate
	cvs builds post 1.16.
	* jikes.spec: ditto
	* configure: regen

2002-07-10  Chris Abbey  <jikes@cabbey.net>

	* 1.16 release.

2002-07-10  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ProcessPLUS): Fix the (hopefully) last bug with
	string concatenation - bug 3066.

2002-07-10  Eric Blake  <ebb9@email.byu.edu>

	* src/class.h (AddException): Add optimizations.
	* src/bytecode.h (handler_range_start, handler_range_end): New
	fields to allow better handling of exception handler ranges.
	(monitor_handler_pc, monitor_start_pc): Remove, as their
	functionality was duplicated by new fields.
	* src/bytecode.cpp (EmitTryStatement, ProcessAbruptExit),
	(EmitSynchronizedStatement): Use newer form of exception handling,
	to solve bug 3055.
	* src/ast.h (AstBlock::TRY_CLAUSE_WITH_CATCH): New block tag.

2002-07-09  Eric Blake  <ebb9@email.byu.edu>

	* src/definite.cpp (DefiniteAssignmentExpression),
	(DefinitePLUSPLUSOrMINUSMINUS): Detect shadow variables better.
	* src/expr.cpp (CreateAccessToScopedVariable): Avoid assertion
	when illegally accessing non-final local - bug 3057.

2002-07-09  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (TypeAccessCheck): Perform type checks in all
	cases, including supertypes - bug 3054.
	* src/decl.cpp (ProcessTypeHeader, ProcessInterface): Remove
	duplicate error report.

2002-07-09  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ProcessAmbiguousName): Fix handling of byte.class
	and friends, bug 3053.

2002-07-09  Eric Blake  <ebb9@email.byu.edu>

	* src/symbol.h (VariableSymbol): Silence HP-UX aCC warning about
	trailing comma.

2002-07-08  Eric Blake  <ebb9@email.byu.edu>

	* src/decl.cpp (ProcessTypeHeader, ProcessTypeHeaders),
	(ProcessImportQualifiedName, ProcessSingleTypeImportDeclaration),
	(ProcessTypeImportOnDemandDeclaration, ImportType),
	(ProcessInterface, CheckNestedTypeDuplication): Improve detection
	of inaccessible supertypes and bad type importing - bugs 122, 412,
	2686, 2688, 2695.
	* src/error.h:
	* src/error.cpp (IMPORT_NOT_CANONICAL): Add new error.
	
2002-07-08  Eric Blake  <ebb9@email.byu.edu>

	* src/class.h (SetMax): New function.
	* src/bytecode.cpp (EmitStatement, DefineLabel): Improve dead
	branch handling in if statements - bug 2895.

2002-07-08  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (LoadVariable): Fix assertion in bug 3044.
	* src/decl.cpp (InitializeVariable): Improve variable
	initialization procedure.
	* src/expr.cpp (ProcessSimpleName, FindVariableMember): Improve
	final variable inlining.
	* src/getclass.cpp: Ditto.
	* src/symbol.cpp: Ditto.
	* src/init.cpp (ComputeFinalValue): Fix regression mentioned in
	bug 3044, introduced by patch 310.
	* src/semantic.h (ComputeFinalValue): Change method signature.
	* src/symbol.h (MarkInitialized, IsInitialized): Add flag for
	initialization value computed, to be orthogonal from declaration
	complete.

2002-07-07  Bu FeiMing  <mybird@online.sh.cn>

	* src/stream.cpp (getErrorMessage): duplication of "to make
	use of" in error message.
	
2002-07-05  Chris Abbey  <jikes@cabbey.net>

	* doc/jikes.1: explain that windows doesn't have -encoding
	by default, and how to tell if a given binary has -encoding
	support or not.

2002-07-04  Eric Blake  <ebb9@email.byu.edu>

	* src/set.h (Resize): Fix bug in patch 316, which was causing
	multiple definite assignment bugs - bug 3040.

2002-07-02  Chris Dennis  <chris.dennis@invidi.com>

	* src/definite.cpp (DefiniteSetup): Another VC++ scoping patch.

2002-07-02  Eric Blake  <ebb9@email.byu.edu>

	* src/set.h (Resize): Followup to patch 310: Fix a thinko that was
	causing a coredump on jacks 4.10-jvms-12.

2002-07-02  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.cpp:
	* src/ast.h (original_constructor_invocation),
	(local_init_statments): Delete unused fields.
	* src/decl.cpp (ProcessConstructorDeclaration),
	(AddDefaultConstructor): Mark the this$0 parameter synthetic.
	* src/definite.cpp: Delete dead comments.
	(DefiniteThisCall, DefiniteSuperCall): Add methods for definite
	analysis in explicit constructor calls - bug 2999.
	(DefiniteConstructorBody): Use new methods.
	* src/semantic.h: Add new method signatures.
	(DefiniteClassDeclaration): Delete unused method.

2002-07-02  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitCheckForNull): Revert part of patch 296,
	as well as detect one more case of guaranteed non-null reference.

2002-07-01  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitFieldAccess): Eliminate code duplication,
	by deferring to LoadVariable.
	(LoadVariable): Fix handling of constant variables - bug
	2991. Also, fix shadow variable handling.
	* src/error.cpp (ENCLOSING_INSTANCE_ACCESS_ACROSS_STATIC_REGION):
	Improve error message wording.
	* src/expr.cpp (FindLocalVariable, FindEnclosingInstance),
	(CreateAccessToType): Improve variable resolution to detect
	anonymous classes in static regions.
	(UpdateLocalConstructors, GetAnonymousType),
	(ProcessClassInstanceCreationExpression): Improve shadow variable
	handling - bug 2986.

2002-07-01  Eric Blake  <ebb9@email.byu.edu>

	* src/body.cpp (ProcessExecutableBodies):
	* src/decl.cpp (CompleteSymbolTable, InitializeVariable),
	(ProcessInitializer, ProcessStaticInitializers),
	(ProcessInstanceInitializers):
	* src/definite.cpp: Refactor definite assignment of fields to use
	O(n) performance instead of O(n^2) performance, as well as saving
	assignment status on a stack - bugs 118, 500.
	* src/error.cpp:
	* src/error.h (FINAL_FIELD_ASSIGNMENT_NOT_SIMPLE): Add an error
	message as part of the definite assignment fix.
	* src/expr.cpp (CheckSimpleName, ProcessSimpleName),
	(FindVariableMember, ProcessAssignmentExpression): Fix remaining
	cases of accessing a field before declaration - bug 603.
	* src/init.cpp: Improve constant variable analysis - bug 2991.
	* src/semantic.h (SemanticEnvironment): Move definite assignment
	status here, to store state on the stack, necessary for processing
	anonymous classes inline.
	(Semantic): Change definite assignment to use the state stack.
	* src/set.h (BitSet, DefinitePair): Improve functionality to be
	more efficient by allowing resizing, as well as fix a few bugs in
	things like operator==.
	* src/symbol.cpp (LocalVariableIndex): Add method to allow the
	definite assignment analysis speedup.
	* src/symbol.h (MarkIncomplete, *Assigned): Delete methods that
	are redundant with definite assignment refactoring.

2002-06-28  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitPreUnaryExpression): Fix bug in ! when
	used in optimized && - bug 3011.

2002-06-28  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h (shadow_parameter_offset): Delete from here...
	* src/body.cpp (ProcessThisCall, ProcessSuperCall): Ditto.
	* src/bytecode.h (shadow_parameter_offset): ... and move to here,
	to fix bug 3001.
	* src/bytecode.cpp (CompileConstructor, EmitThisInvocation),
	(ByteCode): Ditto.
	* src/symbol.h (VariableSymbol::ContainingType): Add.
	* src/semantic.h: Some formatting improvements, use new method.
	* src/expr.cpp: Ditto.
	(GetAnonymousType):
	* src/symbol.cpp (GetReadAccessConstructor): More of the bug fix.

2002-06-28  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ProcessMOD): Fix bug from incomplete patch on the
	22nd - bug 3006.

2002-06-28  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp: Minor formatting improvements.
	(EmitTryStatement): Emit exception handlers in correct order -
	jikes bug 3003.
	(EmitCheckForNull): Update emitted code to match javac.

2002-06-27  Eric Blake  <ebb9@email.byu.edu>

	* src/symbol.cpp (EnclosingType): Update logic to work for classes
	read from .class file - bug 2995.

2002-06-27  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (CanCastConvert): Don't allow conversion to null
	type - bug 2982.

2002-06-24  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp:
	* src/bytecode.h:
	* src/control.cpp:
	* src/decl.cpp:
	* src/expr.cpp:
	* src/symbol.cpp:
	* src/symbol.h: Fix formatting, comments, and improve some naming
	issues; but no code changes.

2002-06-19  Eric Blake  <ebb9@email.byu.edu>

	* src/control.cpp (ProcessHeaders):
	* src/decl.cpp (ProcessSuperTypeDependences, SetDefaultSuperType),
	(ProcessTypeHeader, CompleteSymbolTable): Fix core dump of Jacks
	test 8.1.4-object-1.

2002-06-18  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (CompileConstructor),
	(GenerateClassAccessMethod): Make compile output decisions based
	on target JVM level, not source JDK level.
	(EmitSwitchStatement): Remove dead code in switch statements -
	followup to patch 279.

2002-06-18  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ConstructorAccessCheck): Fix regressions not
	covered by patch 280 - still bug 2899.

2002-06-18  Eric Blake  <ebb9@email.byu.edu>

	* src/symbol.h (HasEnclosingInstance):
	* src/symbol.cpp (HasEnclosingInstance):
	* src/expr.cpp (CreateAccessToType, ProcessAmbiguousName),
	(ProcessThisExpression, ProcessSuperExpression): Fix test of
	enclosing instances to not bypass uninitialized current
	instance. This is on advice from Gilad Bracha (author of JLS 2nd
	edition), and highlights some bad Jacks tests - bug 2920.

2002-06-18  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (AppendString):
	* src/expr.cpp (ProcessAssignmentExpression):
	* src/lookup.cpp (EndsInKnownString): Correctly concatenate
	1-character constant strings - bug 2919.

2002-06-18  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp:
	* src/bytecode.h:
	* src/expr.cpp: Formatting.
	* src/error.cpp (SELF_IN_EXPLICIT_CONSTRUCTOR),
	(ENCLOSING_INSTANCE_ACCESS_FROM_CONSTRUCTOR_INVOCATION): Improve
	error wording.

2002-06-17  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ConstructorAccessCheck): Allow access of protected
	superconstructors - bug 2899.

2002-06-17  Eric Blake  <ebb9@email.byu.edu>

	* src/body.cpp (ProcessSuperCall): Remove duplicate error message,
	final cleanup for bug 386.
	
2002-06-17  Eric Blake  <ebb9@email.byu.edu>

	* src/decl.cpp (AddInheritedMethods): Synthetic methods do not
	need to be inherited - bug 2924.

2002-06-17  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitSwitchStatement, EmitBlockStatement),
	(DeclareLocalVariable):
	* src/bytecode.h (Push, Pop): Mark local variables uninitialized
	regardless of JIKES_DEBUG, and fix problems when a declaration
	statement is not executed because a prior statement ended abruptly
	- bug 2907.

2002-06-17  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitSwitchStatement): Don't optimize gotos
	with no-op default label - bug 2895.

2002-06-15  Chris Abbey  <jikes@cabbey.net>

	* src/unparse.cpp (AstCompilationUnit::Unparse): fix definition
	signature to match declaration signature in ast.h; AIX's xlC
	compiler isn't as sloppy as gcc about signature constnes.

2002-06-05  Chris Abbey  <jikes@cabbey.net>

	* src/bytecode.cpp (EmitAssertStatement): produce proper error
	instead of assertion if user requests -source 1.4 and uses asserts
	in their code but doesn't have Ljava/lang/AssertionError;
	available because they used a 1.3 rt.jar in BOOTCLASSPATH for
	example.

2002-06-04  Andrew G. Tereschenko  <tag@ibis.odessa.ua>

	* src/double.cpp: additional parenthesis near shift operators
	to make MSVC v7 (.NET) happier.

2002-06-03  Chris Dennis  <chris.dennis@invidi.com>

	* src/expr.cpp (ProcessClassInstanceCreationExpression):
	deal with VC++'s inability to support the new ANSI 'for'
	scoping rules; again.

2002-05-31  Chris Abbey  <jikes@cabbey.net>

	* src/stream.cpp (getErrorMessage): clarify error message
	for assert as a keyword.

2002-05-23  Eric Blake  <ebb9@email.byu.edu>

	* src/definite.cpp (DefinitePLUSPLUSOrMINUSMINUS): Yet another
	corner case - bug 2398.

2002-05-23  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (CheckSimpleName): One last bug in nested classes -
	bug 440.

2002-05-22  Eric Blake  <ebb9@email.byu.edu>

	* src/error.h (ZERO_DIVIDE_ERROR):
	* src/error.cpp (ZERO_DIVIDE_ERROR):
	* src/expr.cpp (ProcessSLASH, ProcessMOD),
	(ProcessAssignmentExpression): Remove ZERO_DIVIDE_ERROR, since
	http://java.sun.com/docs/books/jls/clarifications-2-2nd-ed.html -
	the JLS2 clarification page - states division by 0 is legal Java.

2002-05-22  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h (NewAstArray): Make this a global function, to
	workaround egcs-1.1.2 bug.

2002-05-22  Eric Blake  <ebb9@email.byu.edu>

	* src/decl.cpp: Allow interface int clone(); - see bug 2878.
	* src/error.cpp: Add new UNIMPLEMENTABLE_INTERFACE warning.
	* src/error.h: Ditto.
	* src/symbol.cpp: Fix core dump caused by last patch.

2002-05-22  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h: Minor touchups to previous patch.
	* src/body.cpp:
	* src/bytecode.cpp:
	* src/bytecode.h:
	* src/code.cpp:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/expr.cpp:
	* src/modifier.cpp:
	* src/semantic.h:
	* src/symbol.cpp:
	* src/symbol.h:
	* src/unparse.cpp:

2002-05-22  Eric Blake  <ebb9@email.byu.edu>

	* src/java.g: Change grammar to detect this() and super() anywhere
	in method - bug 2805.
	* src/javaact.cpp: Regenerate.
	* src/javaact.h: Ditto.
	* src/javadcl.h: Ditto.
	* src/javadef.h: Ditto.
	* src/javaprs.h: Ditto.
	* src/javasym.h: Ditto.
	* src/ast.cpp: Update handling of AST components to match grammar.
	* src/ast.h: Ditto.
	* src/unparse.cpp: Ditto.
	* src/semantic.h: Improve semantic analysis of constructors,
	initializer blocks, and nested classes.
	* src/body.cpp: Ditto.
	* src/decl.cpp: Ditto.
	* src/expr.cpp: Ditto.
	* src/symbol.cpp: Improve handling of nested type representations.
	* src/symbol.h: Ditto.
	* src/bytecode.cpp: Improve bytecode emission of constructors, and
	squash a few latent bugs.
	* src/bytecode.h: Ditto.
	* src/error.cpp: Improve errors related to constructors.
	* src/error.h: Ditto.
	* src/class.h: Related code touchups, such as formatting or
	name changes.
	* src/control.cpp: Ditto.
	* src/control.h: Ditto.
	* src/definite.cpp: Ditto.
	* src/depend.cpp: Ditto.
	* src/getclass.cpp: Ditto.
	* src/parser.cpp: Ditto.
	* src/parser.h: Ditto.
	* src/platform.cpp: Ditto.
	* src/platform.h: Ditto.
	* src/system.cpp: Ditto.

2002-05-20  Chris Abbey  <jikes@cabbey.net>

	* src/expr.cpp (ProcessClassInstanceCreationExpression): fix
	asserts so that they actually assert instead of segv.

2002-05-16  Eric Blake  <ebb9@email.byu.edu>

	* HACKING: Update instructions for patch submission to mention
	ChangeLog entries.

2002-05-16  Andrew Pimlott  <jikes-dev@andrew.pimlott.net>

	* src/stream.h (ReportMessage): New method, to silence syntax
	warnings.
	* src/stream.cpp: Use it.
	* src/scanner.cpp: Use it.

2002-05-16  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ProcessAssignmentExpression): Fix coredump in
	Jacks test 15.26.2-left-shift-12 and others.
	* src/symbol.h (IsLocal): Workaround coredump in jacks test
	8.1.2-static-15.

2002-05-16  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitStatement): Fix bug 2871, where infinite
	loops were not properly detected.

2002-05-16  Eric Blake  <ebb9@email.byu.edu>

	* src/dump.cpp (token_type): One more update.

2002-05-16  Eric Blake  <ebb9@email.byu.edu>

	* src/error.cpp
	(PrintINHERITANCE_AND_LEXICAL_SCOPING_CONFLICT_WITH_LOCAL):
	* src/decl.cpp (FindType): Improve error message.

2002-05-15  Andrew Pimlott  <jikes-dev@andrew.pimlott.net>

	* src/bytecode.cpp (EmitConditionalExpression): Fix bug in
	the patch on 11 May.

2002-05-15  Eric Blake  <ebb9@email.byu.edu>

	* src/dump.cpp (token_type): Missed a case in previous commit.

2002-05-15  Eric Blake  <ebb9@email.byu.edu>

	Updated version of patch 40.
	* src/bytecode.cpp:
	* src/bytecode.h:
	* src/definite.cpp:
	* src/expr.cpp: Add support for parenthesized variables - bug 105.
	* src/error.cpp:
	* src/error.h: Add new errors UNNECESSARY_PARENTHESIS,
	NOT_A_VARIABLE.
	* src/java.g: Update grammar to allow parenthesized variables in
	assignment expressions.
	* src/javaact.cpp:
	* src/javaact.h:
	* src/javadcl.h:
	* src/javadef.h:
	* src/javasym.h: Regenerate.

2002-05-15  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitStatement):  Fix definite assignment
	analysis of for loops - bug 2780.
	* src/definite.cpp (DefiniteForStatement): Fix abrupt completion
	bug in loops.

2002-05-15  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (CompileClass): Fix bug 2256 for default
	private constructors, jacks test 8.8.7-runtime-default-3.
	(CompileClass):
	* src/expr.cpp (UpdateLocalConstructors): Fix bug 206, when
	accessing private superconstructor from local class.

2002-05-15  David Lum  <david.lum@level8.com>

	* src/bytecode.cpp (EmitThisInvocation): Workaround for bug 2256 -
	fix constructors in local and anonymous classes.

2002-05-14  Mo DeJong  <supermo@bayarea.net>

	* src/bytecode.cpp (EndMethod): Invoke new
	Code_attribute::CodeLengthExceeded() method instead of checking
	the return value of Code_attribute::CodeLength(). The check was
	not valid since CodeLength() was returning a u2 value which would
	never be greater than 65535.
	* src/class.h (CodeLength, CodeLengthExceeded): Return 65535 when
	the value of CodeLength() exceeds the maximum allowable length to
	avoid an invalid conversion from int to u2. Bytecode for such a
	class will not be generated since CodeLengthExceeded() is checked
	before the class file is emitted. Fixes Jacks 4.10-jvms-2.

2002-05-14  Mo DeJong  <supermo@bayarea.net>

	* src/bytecode.cpp: Add casts to avoid compiler
	warning on signed/unsigned comparison.

2002-05-14  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ProcessAmbiguousName): Fix name parsing to load
	packages that weren't imported - bug 2550.

2002-05-14  Eric Blake  <ebb9@email.byu.edu>

	* src/class.h (AddLocalVariable): Remove dead code.

2002-05-11  Max Gilead  <gilead@yellow.dyndns.org>

	* doc/jikes.1:
	* src/jikes.cpp:
	* src/modifier.cpp:
	* src/option.cpp:
	* src/option.h: Add +Pno-modifier-order option, to silence
	pedantic warnings about recommended modifier ordering.

2002-05-11  Eric Blake  <ebb9@email.byu.edu>

	* src/class.h:
	* src/bytecode.h:
	* src/bytecode.cpp: More bytecode optimizations: dead code
	removal, from bug 2849; goto next op removal; ?: optimizations;
	one more bug with asynchronous exceptions in try-finally and
	synchronized statements.

2002-05-09  Mo DeJong  <supermo@bayarea.net>

	* configure.in: Bump version, require autoconf 2.53 - patch 270.
	* configure: Regenerate.

2002-05-06  Eric Blake  <ebb9@email.byu.edu>

	* src/depend.h:
	* src/depend.cpp:
	* src/incrmnt.cpp:
	* src/symbol.cpp (TypeSymbol): Templatize cycle checking.

2002-05-01  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ConvertToType): Don't cast to missing return type
	- bug 2814.

2002-05-01  Eric Blake  <ebb9@email.byu.edu>

	* src/platform.cpp (SystemFopen): Add workaround for obscure bug
	in cygwin file inode hashing.

2002-04-29  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (PrintCode): Add casts for g++ 3.1 problem.
	* src/platform.h (operator<<): Ditto.
	* src/jikesapi.cpp (stat): Fix resolution issue for g++ 3.1.

2002-03-22  Eric Blake  <ebb9@email.byu.edu>

	Update to automake 1.6, autoconf 1.53.
	* .cvsignore: Ignore new configuration file.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* doc/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* src/config.h.in: Regenerate.
	* src/platform.h: Remove name conflict.

2002-03-14  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ProcessAmbiguousName): Fix bug 2761.

2002-03-12  Eric Blake  <ebb9@email.byu.edu>

	* src/double.cpp (operator<, operator>): The commit on Feb 25 was
	flawed. THIS patch finally fixes bug 2700.

2002-03-12  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ProcessAND_AND): Fix bug 2750.

2002-03-08  Eric Blake  <ebb9@email.byu.edu>

	* src/option.cpp (makeStrippedCopy): Let -bootclasspath ''
	override $BOOTCLASSPATH.

2002-03-06  Andrew M. Inggs  <aminggs@yahoo.co.uk>

	* src/control.cpp (Control): Check for null in +DR reports - bug
	1792, patch 262.

2002-03-06  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h:
	* src/ast.cpp:
	* src/dump.cpp:
	* src/semantic.h:
	* src/unparse.cpp:
	* src/java.g: Rename FloatingPointLiteral to FloatLiteral.
	* src/gencode.java: Add IsHexDigit, IsOctalDigit.
	* src/javaact.cpp:
	* src/javaact.h:
	* src/javadcl.h:
	* src/javadef.h:
	* src/javaprs.h:
	* src/javasym.h:
	* src/code.h: Regenerate.
	* src/scanner.h (CheckOctalLiteral): Delete.
	* src/scanner.cpp (ClassifyNumericLiteral): Correctly tokenize
	numeric literals according to JLS chapter 3.
	(ClassifyCharLiteral, ClassifyStringLiteral): Detect bad escape
	sequences during parsing, not syntax or semantic analysis.
	* src/stream.h:
	* src/stream.cpp:
	* src/error.cpp: Fix error messages for parsing literals.
	* src/error.h (INVALID_STRING_VALUE): Delete.
	* src/lookup.cpp:
	* src/expr.cpp: Update to changes in scanner.
	(ProcessAmbiguousName): Remove assertion failure from bad
	java.lang.

2002-03-06  Eric Blake  <ebb9@email.byu.edu>

	* src/decl.cpp (ProcessTypeNames): Fix crash in compiling
	java.lang with syntax errors.
	* src/double.cpp (operator>, operator<): Quick optimization.

2002-03-05  Eric Blake  <ebb9@email.byu.edu>

	* src/scanner.cpp (ScanStarComment): Fix bug 2721.

2002-03-05  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (LoadVariable): Fix bug 2728.
	(EmitStatement): Fix bug 2729.
	(ProcessAbruptExit): Fix bug 2731.
	* src/bytecode.h (FindInteger): Fix bug 2730.

2002-02-26  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (ProcessAbruptExit): Fix bug 2713.

2002-02-25  Chris Abbey  <jikes@cabbey.net>

	* configure.in: Fix spacing error.
	* configure: Regenerate.

2002-02-25  Eric Blake  <ebb9@email.byu.edu>

	* src/double.cpp (operator>, operator<): Fix bug 2700.

2002-02-25  Eric Blake  <ebb9@email.byu.edu>

	* src/init.cpp (ProcessVariableInitializer): Fix bug 2702.

2002-02-25  Eric Blake  <ebb9@email.byu.edu>

	* src/semantic.h (DefiniteLoopBody): Update signature.
	* src/definite.cpp (DefiniteLoopBody, DefiniteWhileStatement),
	(DefiniteForStatement, DefiniteDoStatement): Fix loop semantics
	for definite unassignment - bug 2675, patch 265.

2002-02-21  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ProcessMethodInvocation): Check for void
	arguments.
	(ProcessNOT_EQUAL, ProcessEQUAL_EQUAL):
	* src/error.cpp:
	* src/error.h (VOID_TYPE_IN_EQUALITY_EXPRESSION): Use TYPE_IS_VOID
	instead.

2002-02-20  Eric Blake  <ebb9@email.byu.edu>

	* src/jikesapi.cpp (DefaultFileReader): Silence a warning.
	* src/bytecode.cpp (GenerateClassAccessMethod): Use exception
	chaining for class literals when -source == 1.4.
	* src/control.cpp:
	* src/control.h (Throwable_initCauseMethod),
	(NoClassDefFoundError_InitStringMethod): Add methods.
	* src/platform.cpp:
	* src/platform.h (US_initCause, U8S_LP_Throwable_RP_Throwable):
	Add fields. Also, shorten names of other long fields.
	* src/set.h:
	* src/system.cpp: Reformat code.

2002-02-20  Eric Blake  <ebb9@email.byu.edu>

	* src/error.cpp (PrintNEGATIVE_ARRAY_SIZE):
	* src/error.h:
	* src/expr.cpp (ProcessArrayCreationExpression): Add caution for
	NEGATIVE_ARRAY_SIZE.

2002-02-20  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h (AstBlock): Add ABRUPT_TRY_FINALLY, to correctly emit
	synchronized blocks in try-finally.
	* src/bytecode.cpp (EmitSynchronizedStatement),
	(ProcessAbruptExit, EmitTryFinally): Correct synchronized
	statement to be safe with asynchronous exceptions, bug 2647.
	(EmitExpression, LoadVariable): Don't optimize away class literal
	or volatile variable qualifying a static reference, because of
	their potential side effects.
	* src/bytecode.h (class MethodStack): Improve, to work with
	synchronized statement fixes - patch 263.

2002-02-18  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h (NewTokenIndexArray): Remove dead code, which was
	responsible for bug 2652 before I reworked labeled statements.

2002-02-18  Eric Blake  <ebb9@email.byu.edu>

	* src/gencode.java: Add more optimizations, to reduce the size of
	the Unicode lookup table.
	* src/code.h:
	* src/code.cpp: Regenerate.

2002-02-12  Andrew M. Inggs  <aminggs@yahoo.co.uk>

	* doc/jikes.1: Updated description of @file option to match
	changes made on 2001-12-11.

2002-02-09  Eric Blake  <ebb9@email.byu.edu>

	* doc/jikes.1:
	* src/platform.cpp (U8S_help_header): Update copyright.

2002-02-09  Eric Blake  <ebb9@email.byu.edu>

	* configure.in: Bump version to 1.15b, to mark a stable CVS
	version for use with GNU Classpath.
	* configure:
	* src/config.h.in: Regenerate.

2002-02-09  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitStatement): Fix emission of dead code.

2002-02-08  Eric Blake  <ebb9@email.byu.edu>

	* src/platform.cpp:
	* src/platform.h (U8S_false, U8S_true): Added.
	* src/expr.cpp (CastValue): Simplified string conversion of
	boolean.
	(ProcessPLUS):
	* src/bytecode.cpp (LoadLiteral): Optimize loading -1L, 2L to 5L,
	-1.0f, -0.0f, 2.0f to 5.0f, -0.0, -1.0, 2.0 to 5.0.
	(EmitExpression): Fix bug with over-optimization of casts.
	(EmitBinaryExpression):
	* src/lookup.h:
	* src/lookup.cpp (CollectStrings): Renamed from EvaluateConstant.
	(EndsInKnownString): Renamed from IsConstantString.
	In general, adjusted string concatenation to work with known,
	non-constant strings (such as (Object)string, the null
	literal). Now jikes performs fully associative string
	concatenation, resulting in less bytecode!

2002-02-07  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (ConcatenateString, AppendString): Fix one more
	case of non-const String + primitive.
	(LoadImmediateInteger): Optimize case of 0xffff.

2002-02-06  Eric Blake  <ebb9@email.byu.edu>

	* src/scanner.cpp: Silence '$' in identifier warnings when
	-nowarn specified.
	* src/parser.cpp (PackageHeaderParse): Allocate memory to prevent
	core dump when compiling GNU's Classpath.
	* src/lookup.cpp (IsConstantString):
	* src/expr.cpp (CastValue, IsIntValueRepresentableInType): Fix
	missing cases in previous commit, exposed by Classpath.
	(ProtectedAccessCheck):
	* src/symbol.cpp (GetWriteAccessMethod):
	* src/semantic.h (ProtectedAccessCheck): Update rules to fix bug
	exposed by Classpath.
	* src/decl.cpp (CompleteSymbolTable): Special case
	java.lang.Object when checking concrete classes.

2002-02-05  Eric Blake  <ebb9@email.byu.edu>

	* src/definite.cpp (DefiniteExpression): Optimize DA/DU analysis
	of constant expressions.
	* src/body.cpp:
	* src/bytecode.cpp:
	* src/bytecode.h:
	* src/expr.cpp: Use IsConstantTrue and IsConstantFalse in more
	places, and convert LiteralValue* casts to DYNAMIC_CASTs.
	* src/lookup.cpp:
	* src/lookup.h (IsConstantString): Rename from IsConstant, and
	update to work with string concat changes.
	* src/semantic.h:
	* src/expr.cpp (CastPrimitiveValue): Inline into CastValue.
	(ProcessPLUS, ProcessAssignmentExpression):
	* src/bytecode.cpp (AppendString): Update string concatenation to
	avoid useless compiler-generated cast in the middle, the cause of
	bug 2625 - patch 259.

2002-01-31  Eric Blake  <ebb9@email.byu.edu>

	* src/class.h:
	* src/op.h:
	* src/op.cpp: Format to 80 columns, and standardize
	capitalization to rest of Jikes. Use Opcode enum for type safety
	and easier debugging.
	* src/bytecode.h (EmitBranch(unsigned, Label&)): Inline into the
	more powerful EmitBranch(Opcode, Label&, AstStatement*).
	* src/bytecode.cpp: Fix more cases where EmitBranch was not
	checking for wide jumps - bug 2538.
	(EmitTryStatement): More optimizations - patch 258.

2002-01-11  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ProcessSLASH, ProcessMOD): Fix core dump when
	caution instead of error occurs on divide by 0 - bug 2568.

2002-01-11  Marko Kreen  <marko@l-t.ee>

	* src/bytecode.cpp (ByteCode): Improve verbose output in debug
	build to track down errant class files - patch 256.

2002-01-06  Eric Blake  <ebb9@email.byu.edu>

	* src/op.h (class Operators):
	* src/op.cpp (opdesc): Make protected, and allow null arguments.
	* src/bytecode.h (PutNop): Delete dead code.
	* src/bytecode.cpp (EmitAssignmentExpression): Fix bad bytecode,
	caused by typo in patch 231 - bug 2541.
	(PutOp): Improve debugging code. Delete giant
	switch statement since it was duplicating op.cpp.
	(ChangeStack):
	* src/jikes.cpp:
	* src/scanner.cpp:
	* src/option.cpp (Option):
	* src/option.h: Replace static #ifdef TRACE_STACK_CHANGE with new
	dynamic +S option and debug_trace_stack_change, to allow easier
	debugging of bug 2541 - patch 254.

2002-01-06  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitBranchIfExpression, EmitBinaryExpression):
	More optimizations of boolean result operations.
	(EmitCheckForNull, EmitSuperInvocation): Remove redundant check
	for null in anonymous constructors.
	(ConcatenateString): Fix overzealous assertion (idea courtesy of
	Mo DeJong) - bug 2540.
	* src/table.h (Overload): Fix subtle logic error which caused
	assertion failure - bug 2536, patch 253.

2001-12-21  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitBranchIfExpression): Another bug detected
	by test cases written for bug 2530.

2001-12-21  Mo DeJong  <supermo@bayarea.net>

	* src/bytecode.h (IsZero, IsOne): Include the byte, short, and
	char types in the checks made by these methods - bug 2530, patch
	252.

2001-12-19  Eric Blake  <ebb9@email.byu.edu>

	* src/java.g: Fix core dump caused by patch on Dec 8 - bug 2518.
	* src/javaact.cpp:
	* src/javadcl.h:
	* src/javadef.h:
	* src/javasym.h: Regenerate.

2001-12-19  Eric Blake  <ebb9@email.byu.edu>

	* src/jikes.cpp (main): Provide help message when no command-line
	arguments are given.

2001-12-18  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitBranchIfExpression): Missed a case in the
	prior commit.

2001-12-18  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (BinaryNumericPromotion): Improve formatting and
	delete useless conditionals.
	* src/bytecode.h (IsNull): Delete dead code.
	(IsOne): Add for better optimizing.
	(EmitCastExpression): Add argument to track optimized expression.
	* src/bytecode.cpp: Fix incorrect code generation when optimizing
	&, *, <<, >>, and ?:, also perform more optimizations of binary
	operations - bugs 2509, 2513, patch 249.

2001-12-18  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ProcessAmbiguousName): Report invalid package name
	sooner, rather than creating and discarding the package. As a
	result, more error messages can detect mispelled names.

2001-12-14  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ProcessMethodName): Fix another core dump from my
	recent patching frenzy.

2001-12-13  Mo DeJong  <supermo@bayarea.net>

	* src/zip.cpp (Zip): Avoid core dump when zip file on CLASSPATH
	does not exist by checking to make sure the zipbuffer has been
	allocated - patch 247.
	* src/error.cpp (PrintCANNOT_OPEN_ZIP_FILE): Improve message give
	to user when a zip file cannot be opened. The file could be
	invalid but it could also just not exist - patch 248.

2001-12-12  Chris Abbey  <jikes@cabbey.net>
	    Eric Blake  <ebb9@email.byu.edu>

	* src/zip.cpp: Reformat to 80 columns.

2001-12-12  Mo DeJong  <supermo@bayarea.net>

	* src/zip.cpp (Zip, ReadDirectory): Use constants instead of hard
	coded numbers. If a valid END header can't be found at the end of
	the file we need to scan the file backwards. This matches the
	implementation of the command line unzip utility. The Zip file
	format is so brain damaged that this is the only option.
	* src/zip.h (Zip, IsValid): Add enum constants for ZIP header
	sizes and magic numbers - bug 261, patch 246.

2001-12-12  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (AppendString): Fix regression from patch 237,
	when doing string concatenation with primitives.

2001-12-11  Mo DeJong  <supermo@bayarea.net>

	Patch 243, based on poll of user base.
	* src/option.cpp (ExpandAtFileArgument, GetErrorMessage):
	Revert modifications to @file processing made on
	2001-11-01. Only one file name per line is supported.
	Remove unused error condition.
	* src/option.h (UNTERMINATED_QUOTE): Remove unused
	error condition.

2001-12-10  Chris Dennis  <Chris.Dennis@invidi.com>

	* src/expr.cpp (ProcessClassInstanceCreationExpression): Yet
	another case of bug 2377, bad for-loop scoping in VC++.

2001-12-09  Eric Blake  <ebb9@email.byu.edu>

	* src/body.cpp (ProcessTryStatement): Update finally blocks to
	"interrupt" other abrupt completions when the finally block itself
	completes abruptly. Also, check for duplicated unchecked
	exceptions in catch clauses - bug 1858.
	* src/bytecode.cpp (EmitTryStatement, ProcessAbruptExit, IsNop):
	Add optimizations for empty finally statement.
	* src/bytecode.h (IsNop): New method.
	* src/error.h:
	* src/error.cpp (UNREACHABLE_DEFAULT_CATCH_CLAUSE): Delete, since
	it is no longer possible to detect.
	* src/expr.cpp:
	* src/init.cpp: Remove attempts to track unchecked exceptions in
	the TryExceptionTableStack: since Sun claims that all
	non-duplicate unchecked exception clauses are reachable, it was
	not worth the extra effort.
	* src/semantic.h (class NestingLevelStack): Added to track abrupt
	finally clauses - patch 240.

2001-12-08  Eric Blake  <ebb9@email.byu.edu>

	* src/java.g: Update parser to track generated blocks.
	* src/javaact.cpp: Regenerate.
	* src/ast.cpp: Fix some AST display issues.
	* src/unparse.cpp (AstBlock::Unparse): Revert patch 134, while
	still ensuring that bug 638 does not have problems.

2001-12-08  Eric Blake  <ebb9@email.byu.edu>

	* src/java.g: Update parser to have only one label per block.
	* src/javaact.cpp: Regenerate.
	* src/ast.cpp:
	* src/ast.h:
	* src/body.cpp:
	* src/definite.cpp:
	* src/unparse.cpp: Update label handling - bug 2483.
	* src/stream.h (BadToken): Rename from Badtoken.
	* src/decl.cpp:
	* src/diagnose.cpp:
	* src/semantic.h:
	* src/symbol.cpp: Update spelling of BadToken.
	* src/bytecode.cpp:
	* src/error.cpp:
	* src/expr.cpp: Other minor fixes - patch 239.

2001-12-08  Eric Blake  <ebb9@email.byu.edu>

	* src/java.g: Update parser rules for qualified this and super to
	favor types over variables.
	* src/javaact.cpp:
	* src/javaact.h:
	* src/javadcl.h:
	* src/javadef.h:
	* src/javaprs.h:
	* src/javasym.h: Regenerate.
	* src/expr.cpp (ProcessAmbiguousName): Redo patch 235 from
	previous attempt, which was causing core dumps - bug 2465.

2001-12-08  Eric Blake  <ebb9@email.byu.edu>

	* src/error.h:
	* src/error.cpp (NO_ABSTRACT_METHOD_IMPLEMENTATION),
	(NON_ABSTRACT_TYPE_INHERITS_ABSTRACT_METHOD_FROM_ABSTRACT_CLASS):
	Remove dead code as followup to patch 236 on Miranda methods.
	(UNCAUGHT_*_EXCEPTION): Rename from UNCAUGHT_*_CHECKED_EXCEPTION.
	(UNCAUGHT_EXPLICIT_*_EXCEPTION): Rename from
	CONSTRUCTOR_DOES_NOT_THROW_*_EXCEPTION.
	(UNCAUGHT_THROWN_EXCEPTION): Rename and collapse BAD_THROWABLE*.
	* src/semantic.h (UncaughtException): Rename and reverse sense
	from CatchableException.
	(UncaughtExceptionContext): Add method to make error messages more
	versatile - followup to previous commit.
	* src/decl.cpp:
	* src/expr.cpp:
	* src/body.cpp: Incoporate above changes - patch 238.

2001-12-08  Eric Blake  <ebb9@email.byu.edu>

	* src/symbol.h:
	* src/symbol.cpp:
	* src/expr.cpp: Code cleanup from -Wall.
	(ProcessClassInstanceCreationExpression): Propagate exceptions
	from anonymous class instance creation expressions outward.
	* src/error.h:
	* src/error.cpp (UNCAUGHT_METHOD_CHECKED_EXCEPTION),
	(UNCAUGHT_CONSTRUCTOR_CHECKED_EXCEPTION): Rename from
	UNCATCHABLE_*_THROWN_CHECKED_EXCEPTION.
	(UNCAUGHT_ANONYMOUS_CONSTRUCTOR_CHECKED_EXCEPTION): New error.
	* src/semantic.h: Reformat comments to 80 columns.
	(CheckedException): Add bad types to list of unchecked exceptions.
	* src/body.cpp (CatchableException): Update the behavior of
	exceptions in anonymous classes and instance initializers - bugs
	46, 359, 2472, patch 238.

2001-12-07  Eric Blake  <ebb9@email.byu.edu>

	* src/access.h:
	* src/body.cpp:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/depend.cpp:
	* src/diagnose.cpp:
	* src/getclass.cpp:
	* src/init.cpp: Code cleanup, in part from -Wall compilation.
	* src/bytecode.cpp (DeclareLocalVariable): Avoid assigning unused
	constants when not compiling with -g - bug 2482.
	(EmitAssignmentExpression, EmitBinaryExpression),
	(ConcatenateString, AppendString): Improve String concatenation,
	to optimize longer concats starting with a constant, and to avoid
	concatenating "" - bug 1788, patch 237.

2001-12-07  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (CompileClass): Remove the emission of Miranda
	methods (generated place-holder abstract methods in abstract
	classes which inherit but don't declare the method) - bug 2356,
	patch 236.

2001-12-06  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ProcessAmbiguousName): Update name resolution to
	search for type in Foo.this - bug 2465, patch 235.

2001-12-05  Eric Blake  <ebb9@email.byu.edu>

	* src/body.cpp: Reformat comments to 80 columns. Improve error
	messages for uninitialized finals.
	* src/definite.cpp: Improve error messages for assignment to blank
	vs. regular final variables.
	* src/error.cpp:
	* src/error.h (PARENT_TYPE_IN_UNNAMED_PACKAGE): Delete as unused.
	(TARGET_VARIABLE_IS_FINAL, FINAL_VARIABLE_TARGET_IN_LOOP): Rename
	to VARIABLE_NOT_DEFINITELY_UNASSIGNED,
	VARIABLE_NOT_DEFINITELY_UNASSIGNED_IN_LOOP.
	(FINAL_VARIABLE_NOT_BLANK, ABRUPT_INITIALIZER),
	(UNINITIALIZED_FINAL_VARIABLE_IN_INTERFACE): New errors.
	(METHOD_NOT_CLASS_METHOD, NAME_NOT_CLASS_VARIABLE): Improve
	wording, to make it clear that member exists - bug 2452.
	* src/semantic.h (AddDependence): Update to account that imports
	from unnamed package are no longer legal.
	* src/decl.cpp (ProcessInitializer): Update to account for fact
	that initializers are always reachable, and must complete normally
	- bug 2454, patch 234.

2001-11-30  Eric Blake  <ebb9@email.byu.edu>

	* src/definite.cpp (DefiniteAssertStatement): Fix a bug in assert
	statement definite unassignment analysis.

2001-11-26  Eric Blake  <ebb9@email.byu.edu>

	* src/symbol.cpp (GetReadAccessMethod):
	* src/expr.cpp (FindMethodMember): Update to patch 142; qualified
	super methods require an accessor where fields did not, since the
	invokespecial bytecode can only occur in subclasses - bug 2430,
	patch 233.

2001-11-26  Henner Zeller  <H.Zeller@acm.org>

	* jikes.spec: Mandrake compresses man-pages with bzip, not gzip -
	bug 335, patch 232.

2001-11-25  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.h:
	* src/bytecode.cpp: Reformat to fit more in 80 columns.
	(semantic, control): Rename from this_semantic and this_control.
	(StripNops): Rename from UnParenthesize, and include check for
	widening casts.
	(EmitCast): Update to treat (short)byte as a nop.
	(LoadReference): Remove, as it was duplicating EmitExpression.
	(EmitNewArray): Update to use ANEWARRAY instead of MULTIANEWARRAY
	when only one dimension provided - patch 231.

2001-11-13  Brian Sullivan  <bsulliv@legacyj.com>

	* src/platform.cpp (class StringConstant): Code reformating to
	support IA-64 compilation: the aCC compiler does not recognize
	comma-chained class-member initializers.
	* src/body.cpp:
	* src/bytecode.cpp:
	* src/control.h:
	* src/decl.cpp:
	* src/depend.cpp:
	* src/dump.cpp:
	* src/error.cpp:
	* src/expr.cpp:
	* src/getclass.cpp:
	* src/lookup.cpp:
	* src/option.cpp:
	* src/platform.h:
	* src/symbol.cpp:
	* src/system.cpp: Change all US__ and U8S__ prefixes to US_ and
	U8S_, for consistency - patch 230.

2001-11-13  Eric Blake  <ebb9@email.byu.edu>

	* src/error.cpp:
	* src/error.h (PROTECTED_INTERFACE_METHOD_NOT_ACCESSIBLE): Add new
	error.
	* src/expr.cpp (MemberAccessCheck, ReportMethodNotFound): Update
	to account for the fact that interfaces do not inherit protected
	methods from Object, bug 1787, patch 229 update.

2001-11-12  Eric Blake  <ebb9@email.byu.edu>

	* src/double.cpp (IntValue, LongValue): Fix a bug in
	float to integral-type conversion, bug 2403.

2001-11-12  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (GenerateAssertVariableInitializer),
	(EmitAssertStatement): Fix regressions caused by patch 225.

2001-11-12  Eric Blake  <ebb9@email.byu.edu>

	* src/system.cpp (InitObjectInfo): Delete.
	* src/control.h (Object):
	* src/control.cpp (Object_getClassMethod): Rearrange evaluation
	dependencies to allow compilation of java.lang.Object, fixing
	regression caused by patch 139.

2001-11-12  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (LoadImmediateInteger): Fix a regression from
	my patch of bug 220.

2001-11-12  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (FindVariable*): Another regression in patch 229.

2001-11-11  Eric Blake  <ebb9@email.byu.edu>

	* src/decl.cpp:
	* src/expr.cpp:
	* src/modifier.cpp: Fix some more random regressions caused by
	patch 229.

2001-11-11  Eric Blake  <ebb9@email.byu.edu>

	* src/decl.cpp (NeedsInitializationMethod): Fix assertion error in
	previous commit.

2001-11-10  Eric Blake  <ebb9@email.byu.edu>

	* src/decl.cpp (CheckMethodOverride, AddInherited*): Consolidate
	all the work of CompleteSymbolTable, CheckMethodOverride, and
	CheckInheritedMethodThrows into one place, which is now called
	when building the inheritance tables. Fixes bugs 190, 1787, 1801.
	* src/error.h:
	* src/error.cpp: More error cleanups: Collapse REDUNDANT_* and
	OBSOLESCENT_ABSTRACT into REDUNDENT_MODIFIER, add
	RECOMMENDED_MODIFIER_ORDER, collapse VOLATILE_FINAL and
	FINAL_VOLATILE to VOLATILE_FINAL_FIELD, add
	MISMATCHED_IMPLICIT_METHOD, FINAL_IMPLICIT_METHOD_OVERRIDE, and
	MISMATCHED_IMPLICIT_OVERRIDDEN_EXCEPTION, and delete some unused
	errors.
	* src/modifier.cpp: Add checking (in pedantic mode) for the
	recommended ordering of modifiers.
	* src/platform.cpp: Fix a core-dump caused during my testing when
	I accidentally passed NULL as an error message parameter.
	* src/semantic.h: Update some method headers.
	* src/table.h (RemoveConflicts): Delete this method, as saving the
	method conflicts is essential for determining the merged throws
	clause mentioned in bug 2395 (although I don't have that bit
	working yet) - patch 229.

2001-11-09  Eric Blake  <ebb9@email.byu.edu>

	* src/decl.cpp (ProcessImportQualifiedName): Detect attempts to
	import from the unnamed package.
	* src/error.h:
	* src/error.cpp (IMPORT_FROM_UNNAMED_PACKAGE): Add new error.
	(UNKNOWN_ON_DEMAND_IMPORT): Rename from
	UNKNOWN_QUALIFIED_NAME_BASE, bug 601, patch 228.

2001-11-08  Eric Blake  <ebb9@email.byu.edu>

	* src/access.h (AccessString): Add, for easier error messages.
	* src/ast.h (AstClassInstanceCreationExpression): Add field for
	storing class declaration of anonymous types.
	* src/body.cpp (ProcessConstructorBody): Constructor bodies are
	always reachable.
	* src/bytecode.cpp (CompileClass): Emit some accessor methods
	directly, instead of generating on the fly.
	(EmitMethodInvocation): Emit invokespecial instead of invokestatic
	in accessor method, as needed, bug 169.
	* src/decl.spp: Minor code cleanup.
	* src/error.cpp: Lots of reformatting, improved error messages.
	* src/error.h: Remove dead errors: FIELD_NAME_NOT_FOUND,
	NAME_NOT_VARIABLE, METHOD_NAME_NOT_FOUND,
	UNREACHABLE_CONSTRUCTOR_BODY. Add new error:
	METHOD_OVERLOAD_NOT_FOUND.
	* src/expr.cpp: Lots of work to improve access of fields and
	methods (work remains to be done on nested types and constructors,
	as well as some cleanup of error reporting). Fix at least these
	bugs:
	  182: access of inherited protected methods in other packages
	  does not require an accessor method
	  213: access of protected static members is legal regardless of
	  the qualifier
	  215: when a field is not found, check for a method before a
	  misspelled field name
	  219: when a method is not found, check for overloaded versions
	  before reporting no method found
	  246: Classname.this.member and Classname.super.member do not
	  point to subclasses of Classname
	  427: access of a private field gives better error message
	  666: Classname.super.member does not point to inaccessible
	  supertype
	  2376: correctly grab the only inherited field when a superclass
	  has two ambiguous fields of differing accessibility
	* src/lookup.h (HashCode): Add a hash to VariableSymbol for use by
	symbol.cpp
	* src/semantic.h: Improve various method calls, consolidating some
	error reporting, and passing necessary information to do
	accessibility checks.
	* src/set.h (class Map): Add new class for more efficient accessor
	method mapping in symbol.cpp
	* src/stream.h (Badtoken): Make static
	* src/symbol.cpp: Update the generation and retrieval of accessor
	methods, since there can be as many as three accessor methods for
	an instance variable. The updated accessors can be emitted
	directly to bytecode, with no extra effort. Work still remains for
	constructor accessors.
	* src/symbol.h: Update accessor method storage - patch 142.

2001-11-08  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (LoadImmediateInteger): Comment why we emit ldc
	instead of sipush if the constant already appears in the pool; but
	emit sipush instead of ldc_w - bug 220.

2001-11-08  Eric Blake  <ebb9@email.byu.edu>

	* src/double.h (NAN_BITS): Rename from NAN, which happened to
	expand as a pre-processor macro in gcc 3.0.1 - bug 2255.

2001-11-08  Eric Blake  <ebb9@email.byu.edu>

	* src/decl.cpp (CompleteSymbolTable): Improve the tests for
	abstract method implementations, bug 2382.
	(AddInherited*): Improve tests for ambiguous names, as the public
	member of a superclass' interface is inherited even if the default
	member of the grandparent class is not. This is a first of two
	parts for addressing bug 2376.
	* src/table.h (class ExpandedMethodTable): Fix method return types
	for use in AddInheritedMethods - patch 227.

2001-11-07  Chris Dennis  <Chris.Dennis@invidi.com>

	* src/symbol.cpp: Fix for-loop scoping for the non-compliant VC++
	compiler (this seems to be a recurring problem!) - bug 2377.

2001-11-06  Eric Blake  <ebb9@email.byu.edu>

	* src/error.h:
	* src/error.cpp (FIELD_NAME_NOT_FOUND, METHOD_NAME_NOT_FOUND):
	Rename from NAME_NOT_FOUND, METHOD_NAME_NOT_FOUND_IN_TYPE.
	(FIELD_NOT_ACCESSIBLE, METHOD_NOT_ACCESSIBLE),
	(CONSTRUCTOR_NOT_ACCESSIBLE): Consolidate from several similar
	errors.
	(PROTECTED_INSTANCE_FIELD_NOT_ACCESSIBLE),
	(PROTECTED_INSTANCE_METHOD_NOT_ACCESSIBLE): Add to give better
	error message in protected access violation.
	(STATIC_PROTECTED_FIELD_ACCESS, STATIC_PROTECTED_METHOD_ACCESS):
	Delete these errors, as JLS2 made them legal.
	* src/symbol.h:
	* src/symbol.cpp (GetReadAccessConstructor): Split from
	GetReadAccessMethod.
	* src/expr.cpp:
	* src/body.cpp (ProcessSuperCall): Update to use above changes -
	patch 226.

2001-11-06  Eric Blake  <ebb9@email.byu.edu>

	* src/body.cpp (ProcessExecutableBodies): Suppress spurious
	warning messages about finals not assigned in a constructor which
	contains semantic errors, bug 669.
	* src/symbol.cpp (CleanUp): Fix core dump from patch 225.

2001-11-05  Eric Blake  <ebb9@email.byu.edu>

	Patch 139.
	* src/scanner.cpp (ScanKeyword6, ClassifyIdOrKeyword)
	(ClassifyId):
	* src/stream.h:
	* src/stream.cpp:
	* src/java.g (AssertStatement): Add syntax rules for assert
	statement: bug 602. Also, add lexical warning for use of $ in
	identifier: bug 505.
	* src/javaact.cpp:
	* src/javaact.h:
	* src/javadcl.h:
	* src/javadef.h:
	* src/javaprs.h:
	* src/javasym.h: Regenerate.
	* src/unparse.cpp:
	* src/ast.cpp:
	* src/ast.h (AstAssertStatement): Add AstAssertStatement, the AST
	object.
	* src/semantic.h:
	* src/definite.cpp (DefiniteAssertStatement):
	* src/decl.cpp (ProcessStaticInitializers)
	(GetStaticInitializerMethod):
	* src/symbol.h:
	* src/symbol.cpp (FindOrInsertAssertVariable, AssertVariable):
	* src/body.cpp (ProcessAssertStatement): Add semantic rules for
	assert statement.
	* src/bytecode.h:
	* src/bytecode.cpp (EmitAssertStatement): Add bytecode emission
	for assert statement.
	* src/control.h:
	* src/control.cpp (Object, Class, AssertionError):
	* src/system.cpp:
	* src/platform.h:
	* src/platform.cpp (StringConstant): Add necessary hooks for
	getting strings and library methods used in compiling assert
	statement.
	* src/error.cpp:
	* src/platform.h (ErrorString): Use endl instead of '\n'.

2001-11-05  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp: Reformat comments to 80 columns. Update
	stack_depth tracing to actually trace stack depth, bug
	211. Optimize generation of class literals. Also, update field and
	method references to point to their qualifying class type, per JLS
	13.1, bug 353.
	* src/op.cpp: Update to correctly track stack depth.
	* src/symbol.cpp: Update generation of class literals. Update some
	code formatting - patch 225.

2001-11-05  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (DeclareField): Correct the use of
	ConstantValue attributes to obey JLS2, bug 183 - patch 224.

2001-11-04  Eric Blake  <ebb9@email.byu.edu>

	* src/control.h (StringBuffer_*Method): Fix some typos.
	* src/control.cpp:
	* src/expr.cpp:
	* src/symbol.cpp:
	* src/symbol.h (NumAnonymousTypes): Rename from
	num_anonymous_types, to be consistent.
	* src/ast.h: Add Ast::IsSuperAccess to complement
	IsSuperAccess. Initialize a number of fields that were never
	being assigned in the grammar.

2001-11-03  Eric Blake  <ebb9@email.byu.edu>

	* src/option.h (INVALID_SDK_ARGUMENT): Add error message.
	* src/option.cpp: Use error message, and fix stupid typo.

2001-11-02  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h: Reformat comments to 80 columns. Remove unused
	AstAssignmentExpression::DEFINITE_EQUAL.
	* src/bytecode.cpp: Reformat comments to 80 columns. Update when
	local variable table data is generated, to start when a varible is
	declared (rather than first assigned), bug 422; this also solves
	the core dump of bug 2353. Optimize boolean conditional
	expressions when one term is constant, bug 65.
	* src/definite.cpp: Remove dead code for tracking when a variable
	is first assigned, since the local variable table now only cares
	when it is declared. Patch 223.

2001-11-02  Eric Blake  <ebb9@email.byu.edu>

	* src/symbol.cpp: Reformat comments to 80 columns.
	* src/expr.cpp: Reformat comments to 80 columns. Fix one last
	corner case in TypeAccessCheck.
	* doc/jikes.1: Fix some wording to match @file behavior.

2001-11-02  Eric Blake  <ebb9@email.byu.edu>

	* src/decl.cpp: Reformat comments to 80 columns.

2001-11-02  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (TypeAccessCheck):
	* src/symbol.cpp (HasProtectedAccessTo): Update to be in line with
	JLS 6.6.1 for array types, bug 675 - patch 222.

2001-11-02  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ConstructorAccessCheck): Fix access check for
	anonymous classes which call a default constructor in another
	package, bug 193 - patch 221.

2001-11-02  Mo DeJong  <supermo@bayarea.net>

	* configure.in: Add --enable-jikes-namespace flag. Jikes classes
	and functions will be defined in a C++ namespace when enabled.
	* configure: Regen.
	* src/config.h.in: Regen. Patch 220.

2001-11-01  Eric Blake  <ebb9@email.byu.edu>

	* src/option.cpp (enum ParseState): Inline into the single method
	where it was used.
	* src/scanner.h:
	* src/scanner.cpp (ScanStarComment): Update comment scanning to
	allow embedded Ctrl-Z, bug 2352. Also, detect @deprecated only if
	it begins a line in the comment, bug 519 - patch 219.

2001-11-01  Eric Blake  <ebb9@email.byu.edu>

	* src/option.h:
	* src/option.cpp (ArgumentExpander): Update @file parsing to match
	Sun's javac, bug 1905. Rearrange error reporting so that parse
	errors can be easily detected.
	* src/jikesapi.cpp (parseOptions):
	* src/control.h (ProcessNewInputFiles):
	* src/control.cpp (ProcessNewInputFiles): Update to account for
	earlier error detection.

2001-10-31  Eric Blake  <ebb9@email.byu.edu>

	* src/jikesapi.cpp: Fix up formatting.
	* src/control.cpp: Fix up formatting. Fix report of # of .java
	files processed, bug 1818.

2001-10-31  Eric Blake  <ebb9@email.byu.edu>

	* src/option.h (OptionError):
	* src/platform.cpp (U8S_help_header): Fix compile issues with
	HP-UX aCC.

2001-10-31  Eric Blake  <ebb9@email.byu.edu>

	Patch 211:
	* doc/jikes.1: Update the man page to reflect options changes.
	* src/jikesapi.h:
	* src/jikesapi.cpp:
	* src/option.h:
	* src/option.cpp (Option): Add -encoding option on builds without
	encoding, which prints an error message - bug 2242. Add various
	options synonyms - bug 339. Add -source, -target, and -J options,
	as well as making -g work like in javac - bug 273.
	* src/bytecode.cpp:
	* src/class.h (Write):
	* src/control.cpp:
	* src/definite.cpp:
	* src/error.cpp:
	* src/error.h:
	* src/platform.cpp:
	* src/platform.h:
	* src/semantic.h: Update to use improved options.
	* src/jikes.cpp: Add --help and --version support. Print usage to
	stdout - bug 225.

2001-10-30  Eric Blake  <ebb9@email.byu.edu>

	* src/decl.cpp (ProcessTypeHeader): Fix infinite recursion with
	invalid local class, bug 2293 - patch 215.

2001-10-30  Eric Blake  <ebb9@email.byu.edu>

	* src/decl.cpp (AddDefaultConstructor): Default constructor should
	have access modifier of enclosing class, bug 391 - patch 214.

2001-10-27  Chris Dennis  <Chris.Dennis@invidi.com>

	* src/definite.cpp: Change all uses of pair to def_pair, to avoid
	conflict with MS VC++ compiler mentioned in bug 2283 - patch 212.
	Also, reindent some code in #ifdef blocks.

2001-10-26  Chris Dennis  <Chris.Dennis@invidi.com>

	* src/platform.cpp (SystemFopen, SystemMkdirhierForFile):
	* src/jikesapi.cpp (JikesAPI::stat): Fix namespace issues
	mentioned in bug 2250 - patch 210.

2001-10-25  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h:
	* src/java.g (SwitchBlock): Mark blocks inside a switch statement
	with AstBlock::SWITCH, for use in definite assignment analysis.
	* src/javaact.cpp: Regenerate.
	* src/definite.cpp:
	* src/semantic.h:
	* src/expr.cpp:
	* src/set.h: Overhaul definite assignment analysis, to bring it
	line with 2nd edition JLS. In the process, fixed bugs: 192, 603,
	606, 610, 623 - patch 209.
	
2001-10-17  Eric Blake  <ebb9@email.byu.edu>

	* src/long.cpp (operator/, operator%): Suppress a warning in the
	HP aCC compiler.

2001-10-16  Eric Blake  <ebb9@email.byu.edu>

	* src/op.h:
	* src/op.cpp:
	* src/bytecode.cpp: Change OP_INVOKENONVIRTUAL to OP_INVOKESPECIAL,
	the new name in the second edition JVMS - patch 208.

2001-10-16  Michael Ernst  <mernst@alum.mit.edu>

	* src/unparse.cpp: Adjust bodies to use LexStream*.  Replace a use
	of "\n" by endl.  Add comment.  Make line breaks in if statements
	consistent.
	* src/ast.h: Adjust Unparse prototypes to take LexStream*, not
	LexStream&.
	* src/control.cpp (CleanUp): Use LexStream* - patch 198.

2001-10-16  Michael Ernst  <mernst@alum.mit.edu>

	* src/bytecode.cpp (EmitAssignmentExpression):
	* src/control.cpp (Serializable_type):
	* src/depend.cpp (OutputMake):
	* src/dump.cpp (Dump): Disambiguate error messages - patch 200.

2001-10-16  Michael Ernst  <mernst@alum.mit.edu>

	* src/ast.cpp (AstSwitchBlockStatement): Fix some debug output
	formatting errors - patch 197.

2001-10-16  Michael Ernst  <mernst@alum.mit.edu>

	* src/decl.cpp (ProcessFieldDeclaration):
	* src/diagnose.cpp (getErrorMessage):
	* src/stream.cpp (ProcessInputUnicode): Explicitly initialize some
	variables, restrict scope of temporaries, and fix some comment
	typos - patches 202, 203.

2001-10-16  Michael Ernst  <mernst@alum.mit.edu>

	* src/platform.h: Add prototype SystemMkdirhierForFile.
	* src/platform.cpp (SystemMkdirhierForFile): Add definition.
	* src/unparse.cpp (Unparse): Use SystemMkdirhierForFile - patch
	199.

2001-10-15  Michael Ernst  <mernst@alum.mit.edu>

	* src/platform.h: Fix typos, and reindent comments to 80 columns -
	patch 204.

2001-10-15  C. Scott Ananian  <cananian@alumni.princeton.edu>

	* src/body.cpp (ProcessClassDeclaration): Hack to fix bug 1954:
	patch 86 broke behavior of local classes in a static context; this
	needs to be fixed correctly before 1.16 - patch 195.

2001-10-15  Michael Ernst  <mernst@alum.mit.edu>

	* src/stream.cpp:
	* src/stream.h (class LexStream): Change file_read to bool, to
	match its use - patch 201.

2001-10-14  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.h (InvertIfOpCode): Fix regression caused by patch
	167, as reported in bug 1982 - patch 205.

2001-10-14  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.h:
	* src/bytecode.cpp (GenerateClassAccess): Fix a regression
	reported in bug 2016 with class literal - patch 206.

2001-10-13  Daniel Resare  <noa@metamatrix.se>

	* jikes.spec: Properly set the file ownership to root

2001-10-13  Chris Abbey  <jikes@cabbey.net>

	* jikes.spec: set version to make it obvious if someone is using
	CVS versions.
	
2001-10-12  Eric Blake  <ebb9@email.byu.edu>

	* jikes.spec: Update to version 1.15.
	* configure.in: Change version to 1.15a to make it obvious when
	bug reports are made against CVS.
	* configure:
	* src/config.h.in: Regenerate.

2001-09-28  Chris Abbey  <jikes@cabbey.net>

	Released 1.15, thanks for driving this one Eric.

2001-09-28  Chris Abbey  <jikes@cabbey.net>

	* src/option.cpp: Correct regression with cygwin classpath
	handling, consolidate options and envvars to common code.

2001-09-21  Eric Blake  <ebb9@email.byu.edu>

	* configure.in: Update the version to 1.15 in preparation for
	release candidate.
	* configure: Regenerate.

2001-09-21  Mo DeJong  <supermo@bayarea.net>

	* HACKING: Add note about running ./autogen.sh to regenerate
	autotools files - patch 193.
	* autogen.sh: Run automake before autoconf.
	* src/Makefile.am: Update the dependencies to be current.
	* Makefile.in:
	* doc/Makefile.in:
	* src/Makefile.in: Regen, without auto dependency tracking for now.

2001-09-20  Mo DeJong  <supermo@bayarea.net>

	* configure.in: Change --enable-debug option so that CXXFLAGS is
	automatically set to -g when the CXXFLAGS variable was not set by
	the user - patch 192.
	* configure: Regen.

2001-09-20  Chris Abbey  <jikes@cabbey.net>

	* src/double.h (BigInt): Fixed friend class issues, to correct
	build breakage with compilers stricter than gcc is (like AIX) -
	patch 186.

2001-09-20  Mo DeJong  <supermo@bayarea.net>

	* configure.in: Add check for __int64 type which is supported by
	VC++ under Windows - patch 191.
	* configure: Regen.
	* src/config.h.in: Regen.
	* src/platform.h: Revert incorrect #ifdef checks added by patch
	190. These checks need to be done in the configure.in file so
	config.h gets the right #ifdefs.
	* src/double.cpp:
	* src/long.cpp:
	* src/long.h: Use HAVE_64BIT_TYPES instead of HAVE_UNSIGNED_LONG_LONG.

2001-09-20  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitFieldAccess): Fix another reported
	regression caused by patch 90.

2001-09-17  Eric Blake  <ebb9@email.byu.edu>

	* src/jikesapi.cpp:
	* src/jikes.cpp:
	* src/platform.h: Revert patch 168.  Too many complaints.  See bug
	1900, among others.

2001-09-15  Chris Abbey  <jikes@cabbey.net>

	* src/m4/ac_try_encoding.m4: Add fallback test for ISO8859-1 to
	fix AIX's iconv (and others without ISO-8859-1) - patch 188.
	* configure: regenerate

2001-09-15  Chris Abbey  <jikes@cabbey.net>

	* configure.in: enable users to activate rtti tests without
	hacking configure script, just by setting envvar - patch 187.
	* configure: regenerate

2001-09-15  Chris Dennis  <Chris.Dennis@invidi.com>

	* src/platform.h: Add support for MS VC++ __int64 - patch 190,
	from bug 1897.

2001-09-15  Chris Dennis  <Chris.Dennis@invidi.com>

	* src/java.g: Fix namespace typo - patch 189, from bug 1896.
	* src/javaact.h: regenerate

2001-09-14  Jerry Veldhuis  <jerry@invidi.com>

	* src/symbol.h (IsInner): Fix a regression caused by patch 90.
	This patch is a hack, and a cleaner version should be made before
	jikes 1.16 - patch 185, from bug 1895.

2001-09-13  Eric Blake  <ebb9@email.byu.edu>
	    Michael Ernst  <mernst@lcs.mit.edu>
	
	* src/Makefile.am:
	* src/Makefile.in: fix typo that broke --enable-maintainer-mode
	* src/access.h:
	* src/ast.cpp:
	* src/ast.h:
	* src/body.cpp:
	* src/bytecode.cpp:
	* src/bytecode.h:
	* src/case.cpp:
	* src/case.h:
	* src/class.h:
	* src/code.cpp:
	* src/code.h:
	* src/control.cpp:
	* src/control.h:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/depend.cpp:
	* src/depend.h:
	* src/diagnose.cpp:
	* src/diagnose.h:
	* src/double.cpp:
	* src/double.h:
	* src/dump.cpp:
	* src/error.cpp:
	* src/error.h:
	* src/expr.cpp:
	* src/gencode.java:
	* src/getclass.cpp:
	* src/getclass.h:
	* src/incrmnt.cpp:
	* src/init.cpp:
	* src/java.g:
	* src/javaact.cpp:
	* src/javaact.h:
	* src/javadcl.h:
	* src/javadef.h:
	* src/javaprs.h:
	* src/javasym.h:
	* src/jikes.cpp:
	* src/jikesapi.cpp:
	* src/jikesapi.h:
	* src/long.cpp:
	* src/long.h:
	* src/lookup.cpp:
	* src/lookup.h:
	* src/lpginput.cpp:
	* src/lpginput.h:
	* src/modifier.cpp:
	* src/op.cpp:
	* src/op.h:
	* src/option.cpp:
	* src/option.h:
	* src/parser.cpp:
	* src/parser.h:
	* src/platform.cpp:
	* src/platform.h:
	* src/scanner.cpp:
	* src/scanner.h:
	* src/segment.cpp:
	* src/segment.h:
	* src/semantic.h:
	* src/set.cpp:
	* src/set.h:
	* src/spell.h:
	* src/stream.cpp:
	* src/stream.h:
	* src/symbol.cpp:
	* src/symbol.h:
	* src/system.cpp:
	* src/tab.cpp:
	* src/tab.h:
	* src/table.h:
	* src/tuple.h:
	* src/unparse.cpp:
	* src/unzip.cpp:
	* src/unzip.h:
	* src/zip.cpp:
	* src/zip.h: Patches 135, 136 - Fix whitespace and comment typos
	for a more consistent style.  Update copyright notice years where
	necessary.  Also centralize some #includes in platform.h.  Headers
	now open up in emacs under c++-mode.

2001-09-10  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitFieldAccess): Fix a regression in class
	literals, caused by the previous patch.

2001-09-09  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.h:
	* src/bytecode.cpp (EmitExpression)
	(EmitConditionalExpression, EmitFieldAccess):
	Added the flag need_value, for optimal code
	generation when a qualifying expression to a static
	reference is encountered - patch 90, from bug 435.
	* src/bytecode.cpp (EmitStatementExpression):
	Removed case Ast::PARENTHESIZED_EXPRESSION, since
	the JLS forbids them as statements.
	(EmitAssignmentExpression, EmitFieldAccess)
	(EmitMethodInvocation, LoadVariable, LoadReference):
	Update to use added need_value flags.
	* src/symbol.h (AccessesInstanceMember):
	Added a method for easier detection when a static
	accessor method is accessing an instance member.

2001-09-08  Gregory Steuck  <greg@nest.cx>
	    Andrew M. Inggs  <aminggs@yahoo.co.uk>
	    Eric Blake  <ebb9@email.byu.edu>

	* src/option.cpp (Option): Consolidated classpath related option
	processing into a single routine, along with fixes that were
	causing segfaults with cygwin.  Based in part on patches 122 and
	129, and comments on those patches.

2001-09-08  Norris Boyd  <nboyd@atg.com>

	* src/bytecode.cpp: Follow-on patch to the previous, to cover
	jsr_w as well - patch 177.

2001-09-08  Norris Boyd  <nboyd@atg.com>

	* src/bytecode.h:
	* src/bytecode.cpp: Instrument wide jump capabilities into
	branches.  For branching opcodes like ifeq, if the branch offset
	requires more than two bytes, generate a branch around a
	goto_w. Uses the hueristic of the number of tokens branched over,
	to avoid the difficulty of regenerating or patching code in order
	to insert the additional goto_w op - patch 167, from bug 161.

2001-09-08  Eric Blake  <ebb9@email.byu.edu>

	* src/body.cpp (ProcessSynchronizedStatement, ProcessIfStatement):
	Detect illegal synchronized(null){}, bug 1882, and clean up
	impossible check for statements that complete normally - patch 182.

2001-09-08  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (UpdateGeneratedLocalConstructor):
	Removed the cause of a core dump when a method omits a
	return type in a local class - patch 91, from bug 179.
	* src/error.h:
	* src/error.cpp (PrintMISSPELLED_CONSTRUCTOR_NAME):
	Added an error to differentiate between behavior
	taken when bad constructor is interpreted as
	misspelling instead of missing return type.
	Improved the wording of various constructor-related
	error messages.
	* src/decl.cpp (ProcessConstructorDeclaration):
	Added some better handling of misspelled name vs.
	missing return type.
	* src/spell.h (Spell): Added some documentation
	to better explain this (useful) class.

2001-09-08  Eric Blake  <ebb9@email.byu.edu>

	* src/jikesapi.cpp (JikesOption): Attempt a workaround to a segv
	encountered with bad encoding from patch 168.

2001-09-07  Eric Blake  <ebb9@email.byu.edu>

	* src/decl.cpp (ProcessMembers, ProcessFieldDeclaration)
	(ProcessMethodDeclaration, ProcessStaticInitializers): Improve the
	error handling of inner classes and static members - patch 86,
	from bugs 247, 343, 348, 349.
	* src/error.h:
	* src/error.cpp (PrintSTATIC_FIELD_IN_INNER_CLASS):
	Split into:
	(PrintSTATIC_FIELD_IN_INNER_CLASS_NOT_FINAL)
	(PrintSTATIC_FIELD_IN_INNER_CLASS_NOT_CONSTANT):
	Report error messages on static fields in inner types located in
	static context (bug 348).
	(PrintSTATIC_METHOD_IN_INNER_CLASS, PrintSTATIC_TYPE_IN_INNER_CLASS)
	(PrintSTATIC_INITIALIZER_IN_INNER_CLASS):
	Improved the error message wording to be consistent.
	* src/symbol.cpp:
	* src/symbol.h (TypeSymbol): Deleted IsTopLevel(), since it was
	redundant with IsInner().  Fixed IsInner() to correctly detect
	local and anonymous classes in static contexts.
	* src/body.cpp (ProcessClassDeclaration):
	Local classes should never have the ACC_STATIC attribute set when
	emitting bytecode.
	(ProcessExecutableBodies): Remove cause of assertion failure when
	called after syntax errors in anonymous class (bug 343).
	* src/init.cpp (ProcessVariableInitializer): Fix error detection
	of non-constant static fields in inner classes (bug 247).

2001-09-07  Eric Blake  <ebb9@email.byu.edu>

	* src/error.h:
	* src/error.cpp:
	Added PrintSTRICTFP_NATIVE_METHOD().
	Updated error messages concerning modifiers.
	* src/decl.cpp (ProcessMethodDeclaration):
	Uncomment code to set methods that are
	implicitly final.
	* src/expr.cpp (GetAnonymousType):
	Fix code so that anonymous types are implicitly
	final, but never static.
	* src/modifier.cpp: Update calls to improved
	error message for duplicate modifiers.
	(ProcessMethodModifiers): Add check for
	illegal abstract/strictfp and native/strictfp
	pairs - patch 72, from bug 407.
	
2001-09-07  Michael Ernst  <mernst@lcs.mit.edu>

	* src/platform.h (StringConstant):
	* src/platform.cpp (StringConstant):
	* src/control.h (Control): Remove references to US_Vector and
	Vector_type, which is unused - patch 161.

2001-09-07  Michael Ernst  <mernst@lcs.mit.edu>

	* src/unparse.cpp (Unparse AstBlock): Labels need to be within,
	not outside, added braces - patch 134, from bug 638.

2001-09-06  Takashi Okamoto  <tora@debian.org>

	* configure.in: check for needed headers.
	* configure:
	* src/config.h.in: Regenerate.
	* src/jikesapi.cpp:
	* src/jikes.cpp:
	* src/platform.h: set character encoding based on the one for the
	default locale - patch 168.

2001-09-06  Eric Blake  <ebb9@email.byu.edu>

	* src/Makefile.am: Added src/gencode.java to the .tar
	ball, along with hardcoded maintainer target gencode.
	Also, install jikesapi.h in the include directory.
	* src/.cvsignore:
	* Makefile.in:
	* doc/Makefile.in:
	* src/Makefile.in: Regenerate with automake dependency tracking.
	* src/gencode.java: Improved the code with more comments,
	notification in the generated files, and a 4x reduction
	to the size of src/code.cpp with no runtime cost (by
	sharing more common array entries) - patch 140, from bug 640.
	* src/code.h:
	* src/code.cpp: Regenerate from new gencode.java.
	* src/scanner.cpp (Scanner): Add a sanity check.

2001-09-06  Eric Blake  <ebb9@email.byu.edu>

	Patch 85:
	* src/java.g: Fixed some copyright and namespace
	code transferred to generated files.
	Fixed up some comments (in particular, where JLS2
	clarifies questions posed by JLS1), typos, and
	whitespace consistency problems.
	(ExplicitConstructorInvocation): Removed this
	illegal production - from bug 420.
	(Primary, ArrayCreationExpression, ArrayAccess)
	(ArrayCreationInitialized, ArrayCreationUninitialized):
	Split ArrayCreationExpression into two parts, to
	allow legal array access of initialized array,
	added in JLS2 - from bug 123.
	* src/javaact.cpp:
	* src/javaact.h:
	* src/javadcl.h:
	* src/javadef.h:
	* src/javaprs.h:
	* src/javasym.h: Regenerate with CVS version of jikespg - from bug
	516.
	* src/bytecode.cpp (EmitThisInvocation):
	* src/body.cpp (ProcessThisCall):
	* src/symbol.cpp (GetReadAccessMethod):
	Remove code for qualified explicit this constructor,
	which is not legal Java - from bug 420.
	* src/ast.cpp (Print):
	* src/ast.h (AstThisCall): Remove base_opt and
	dot_token_opt, as they are not necessary in legal
	Java - from bug 420.
	
2001-09-06  Russ Trotter <russtrotter@yahoo.com>

	* src/bytecode.cpp (GenerateAccessMethod)
	(GenerateClassAccessMethod): Second half of JPDA patches, to work
	around bug in Sun's software - patch 119, from bugs 210, 473.

2001-09-06  Michael Ernst  <mernst@lcs.mit.edu>

	* src/bytecode.cpp (EmitAssignmentExpression):
	* src/getclass.cpp (ProcessSignature):
	* src/decl.cpp (ProcessMethodDeclaration): Fix some warnings
	triggered by some versions of gcc -Wall - patch 137.

2001-09-06  Michael Ernst  <mernst@lcs.mit.edu>

	* src/stream.h (SetUpComments): Prevent duplicate work, by
	checking if comment_buffer already exists - patch 133.

2001-09-05  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitSwitchStatement): Fix assertion failure
	when -g is enabled - patch 143, from bug 136.

2001-09-05  Eric Blake  <ebb9@email.byu.edu>

	* src/body.cpp (ProcessSynchronizedStatement, ProcessReturnStatement):
	* src/expr.cpp (ProcessAmbiguousName, ProcessMethodName):
	Fix remaining cases of string constants not being
	compiled inline - patch 121, from bug 66.

2001-09-05  Eric Blake  <ebb9@email.byu.edu>

	* src/segment.h (PairSegment, TripletSegment):
	* src/op.h (Operators):
	* src/op.cpp (opline):
	* src/platform.h (Ostream):
	* src/body.cpp (ProcessLocalVariableDeclarationStatement): Fix
	compiler warnings on HP-UX 11.00 aCC.

2001-09-05  Ian P. Cardenas  <ian.cardenas@emagine-solutions.com>

	* src/semantic.h (AddDependence): changed pedantic error reporting
	to use ReportSemError as to avoid segfault when error is NULL -
	patch 108, from bug 491.

2001-09-05  Eric Blake  <ebb9@email.byu.edu>

	* src/platform.h (Ostream operator<<): Add missing
	operator<<(ostream&(&)(ostream&)).
	* src/access.h:
	* src/ast.cpp:
	* src/bytecode.cpp:
	* src/class.h:
	* src/control.cpp:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/depend.cpp:
	* src/dump.cpp:
	* src/error.cpp:
	* src/getclass.cpp:
	* src/incrmnt.cpp:
	* src/jikesapi.cpp:
	* src/op.cpp:
	* src/stream.cpp:
	* src/unparse.cpp: Use endl instead of '\n' for platform
	independence.

2001-09-04  Eric Blake  <ebb9@email.byu.edu>

	* depcomp: One more autotool file, but only useful when
	configuring with dependency tracking enabled.
	* src/.cvsignore: Add gencode.class.
	* ChangeLog: Fix some whitespace issues.

2001-09-04  Eric Blake  <ebb9@email.byu.edu>
	    Chris Abbey  <jikes@cabbey.net>

	* .cvsignore:
	* doc/.cvsignore:
	* src/.cvsignore: Add for convenience.
	* AUTHORS:
	* COPYING:
	* HACKING:
	* INSTALL:
	* NEWS:
	* TODO: Some updates in preparation for 1.15.
	* src/m4/ac_find_encoding.m4:
	* configure.in: Fix some bugs with the autotool chain, add
	--enable-debug to configuration - patch 127.
	* Makefile.in:
	* aclocal.m4:
	* config.guess:
	* config.sub:
	* configure:
	* missing:
	* mkinstalldirs:
	* doc/Makefile.in:
	* src/Makefile.in:
	* src/config.h.in: Regen with latest version of Autotools.

2000-09-04  Eric Blake  <ebb9@email.byu.edu>

	* src/body.cpp (ProcessLocalVariableDeclarationStatement)
	(ProcessExecutableBodies): Reduce check for local variable/formal
	parameter duplication to occur only in innermost enclosing
	class, per JLS 14.4.2 - patch 62, from bug 197.

2001-09-04  Eric Blake  <ebb9@email.byu.edu>
	
	* src/body.cpp (ProcessSynchronizedStatement)
	(ProcessTryStatement): Fix VerifyErrors caused
	by reusing local variables between try and
	finally blocks - patch 50, from bug 204.
	* src/bytecode.cpp (ProcessAbruptExit)
	(EmitSynchronizedStatement): Likewise.  Also
	optimized the emitted bytecode for synchronized.

2001-09-03  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ProcessAssignmentExpression): Fix the regression
	caused by the patch committed 2001-05-06 - patch 118, from bug 493.

2001-09-02  Eric Blake  <ebb9@email.byu.edu>

	* src/stream.cpp (ProcessInputUnicode): Remove side effect from
	assert statement - patch 145, from bug 657.

2001-08-31  Chris Abbey  <jikes@cabbey.net>

	* README:
	* jikes.spec:
	* doc/jikes.1:
	* src/access.h:
	* src/ast.cpp:
	* src/ast.h:
	* src/body.cpp:
	* src/bytecode.cpp:
	* src/bytecode.h:
	* src/case.cpp:
	* src/case.h:
	* src/class.h:
	* src/control.cpp:
	* src/control.h:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/depend.cpp:
	* src/depend.h:
	* src/diagnose.cpp:
	* src/diagnose.h:
	* src/double.cpp:
	* src/double.h:
	* src/dump.cpp:
	* src/error.cpp:
	* src/error.h:
	* src/expr.cpp:
	* src/getclass.cpp:
	* src/getclass.h:
	* src/incrmnt.cpp:
	* src/init.cpp:
	* src/java.g:
	* src/javaact.cpp:
	* src/javaact.h:
	* src/javadcl.h:
	* src/javadef.h:
	* src/javaprs.h:
	* src/javasym.h:
	* src/jikes.cpp:
	* src/long.cpp:
	* src/long.h:
	* src/lookup.cpp:
	* src/lookup.h:
	* src/lpginput.cpp:
	* src/lpginput.h:
	* src/modifier.cpp:
	* src/op.cpp:
	* src/op.h:
	* src/option.cpp:
	* src/option.h:
	* src/parser.cpp:
	* src/parser.h:
	* src/platform.cpp:
	* src/platform.h:
	* src/scanner.cpp:
	* src/scanner.h:
	* src/segment.cpp:
	* src/segment.h:
	* src/semantic.h:
	* src/set.cpp:
	* src/set.h:
	* src/spell.h:
	* src/stream.cpp:
	* src/stream.h:
	* src/symbol.cpp:
	* src/symbol.h:
	* src/system.cpp:
	* src/tab.cpp:
	* src/tab.h:
	* src/table.h:
	* src/tuple.h:
	* src/unparse.cpp:
	* src/zip.cpp:
	* src/zip.h:
	* src/jcl/Makefile:
	* src/jcl/README:
	* src/jcl/jcl.cpp:
	* src/jcl/jcl_access.h:
	* src/jcl/jcl_bc_op.cpp:
	* src/jcl/jcl_bc_op.h:
	* src/jcl/jcl_bool.h:
	* src/jcl/jcl_class.cpp:
	* src/jcl/jcl_class.h:
	* src/jcl/jcl_dynamic.h:
	* src/jcl/jcl_iclass.cpp:
	* src/jcl/jcl_iclass.h:
	* src/jcl/jcl_int.h:
	* src/jcl/jcl_long.cpp:
	* src/jcl/jcl_long.h:
	* src/jcl/jcl_unicode.h: fix URLs. (no, that *isn't* every file
	in the repository, it just looks like it.)

2001-06-02  Mo DeJong  <mdejong@redhat.com>

	* src/unzip.cpp (UncompressFile0):
	* src/zip.cpp (Zip): Use SystemFread() instead of fread().

2001-06-01  Mo DeJong  <mdejong@redhat.com>

	* config.guess:
	* config.sub: Update from net versions to add
	the new windows32 host option.
	* src/m4/acx_check_pathname_style.m4 (ACX_CHECK_PATHNAME_STYLE_DOS):
	Add *windows32* to the set of targets that support
	DOS style pathnames.

2001-06-01  Mo DeJong  <mdejong@redhat.com>

	* src/option.cpp (ArgumentExpanded, ArgumentExpander): Rename
	ArgumentExpanded to ExpandAtFileArgument. Change parsing so
	@files are treated as one filename per line instead of
	space or tab separated file names.
	* src/option.h (ArgumentExpanded): Rename ArgumentExpanded
	to ExpandAtFileArgument.

2001-05-28  Pascal Davoust  <davoustp@yahoo.com>

	* src/double.h: Add (u4) cast to IEEEfloat constructor
	calls to avoid bad code generation with VC++.

2001-05-26  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (Semantic::ProcessConditionalExpression):
	Add a missing return that caused a regression in
	Jikes 1.14. An assertion was being raised when a ?:
	expression mixed a primitive and reference type
	in the second and third operands.

2001-05-17  Chris Abbey  <cabbey@bresnanlink.net>

	* option.cpp:
	* control.cpp: Completed the removal of EBCDIC related
	code that Vadim started in October 1999. (it was all
	dead code after the preprocessor ran anyway.) If support
	for EBCDIC is ever put back in it should be done through
	the API and ICU/iconv.
	* platform.h: replaced comment explaining the U_ enums.

2001-05-13  Chris Abbey  <cabbey@bresnanlink.net>

	Released Jikes 1.14, Happy Mother's Day.

2001-05-13  Chris Abbey  <cabbey@bresnanlink.net>

	* jikes.spec: added %doc for documentation files,
	and changed jikes.1 to jikes.1.gz because the rpm
	build process automatically compresses man pages,
	but doesn't reflect this in the %files section.

2001-05-11  Chris Abbey  <cabbey@bresnanlink.net>

	* src/stream.cpp (Stream::DecodeNextCharacter): fixed
	core fault in parser because we cast a char to a wchar_t
	without preventing sign expansion.

2001-05-11  Chris Abbey  <cabbey@bresnanlink.net>

	* jikes.spec: takes Dave's name out so people stop claiming
	to be him. Also update the version to 1.14

2001-05-10  Chris Abbey  <cabbey@bresnanlink.net>

	* src/option.cpp (Option::Option): make sure classpath,
	bootclasspath, sourcepath and extdirs are not null before
	being handed over to cygwin to convert the paths. Also
	flagged some potential memory leaks.

2001-05-09  Chris Abbey  <cabbey@bresnanlink.net>

	* acinclude.m4:
	* src/config.h.in:
	* src/m4/ac_check_iconv.m4:
	* src/m4/ac_find_encodign.m4:
	* src/m4/ac_try_encoding.m4: add support to probe for
	the correct combo of target encoding and byteswapping
	for iconv on this platform.
	* src/stream.cpp: make use of probed values instead
	of hardcoded. Correct byteswapping to handle all four
	bytes when sizeof(wchar_t) is 4, bypass swapping if
	possible.
	* aclocal.m4:
	* configure: regenerated

2001-05-07  Pascal Davoust  <davoustp@yahoo.com>

	* long.cpp (LongInt::ConstantCleanup):
	fix MSVC build break because the compiler
	doesn't allow automated conversion of a const X*
	to a void*. Explicit cast (without const modifier)
	used.
	* definite.cpp (DefiniteSwitchStatement):
	fix MSVC build break because of duplicate
	variables in 'for' loops.

2001-05-06  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.h:
	* src/bytecode.cpp (EmitCheckForNull): Add a method
	which emits a check for null-qualified expressions,
	shared between...
	(EmitClassInstanceCreationExpression):
	(EmitSuperInvocation): Use EmitCheckForNull to
	improve checks of qualified expressions (bugs 171,
	419).
	* src/body.cpp (ProcessSuperCall): Fix qualified
	super calls to allow subclasses of the enclosing
	class, in line with JLS 8.8.5.1 (bug 401).

2001-05-06  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitFieldAccessLhsBase):
	Removed redundant code.
	(EmitAssignmentExpression, EmitMethodInvocation)
	(LoadVariable, LoadReference): Fix assignments
	to static fields, calls to static methods,
	increments of static fields, and accesses to
	static methods, so that qualifying expressions
	are evaluated (bug 132).  Improve the error
	checking by adding asserts on dead code branches.

2001-05-06  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ProcessAssignmentExpression):
	Fixed a bad cast, which was causing bug 234.

2001-05-06  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (EmitPostUnaryExpressionField)
	(EmitPreUnaryIncrementExpressionArray):
	Fix bad bytecodes when performing increment
	operators on sub-integers (bugs 127, 223).

2001-05-06  Eric Blake  <ebb9@email.byu.edu>

	* src/definite.cpp (DefiniteBlock)
	(DefiniteSwitchStatement, DefiniteTryStatement):
	Changed the definite algorithm to quit checking
	variables that went out of scope, fixing bug
	253 and related.

2001-05-06  Kumaran Santhanam  <kumaran@alumni.stanford.org>

	* src/control.cpp (ProcessBodies): fix
	timestamp assert failure on Windows builds
	fixes bugs 128, 406. (by way of Eric).

2001-05-04  Pascal Davoust  <davoustp@yahoo.com>

	* control.cpp (Control): fix MSVC build break
	because of duplicate variables in for loops.

2001-05-04  Eric Blake  <ebb9@email.byu.edu>

	* src/lookup.h (IsConstant):
	* src/lookup.cpp (IsConstant, CheckStringConstant):
	Fix the regression from 1.12, bug 417 -
	constant string expressions should now
	be correct.

2001-05-04  Andrew Vajoczki  <vajoczki@yahoo.com>

	* src/bytecode.cpp (EmitSwitchStatement):
	Workaround for Sun JVM TABLESWITCH bug in JDK
	1.2, 1.3 which causes a VerifyError (bug 167,
	jacks 14.10-runtime-verifier-1)

2001-05-01  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (FindVariableMember)
	(ProcessAmbiguousName, ProcessFieldAccess):
	Fixed and consolidated code which processes
	qualified field access, to wipe out core
	dumps mentioned in bug 178.
	(ProcessSuperExpression): Fixed typo

2001-05-01  Eric Blake  <ebb9@email.byu.edu>

	* src/Makefile.am (jikespg):
	* src/Makefile.in (jikespg):
	Use $(JIKESPG) instead of hardcoded jikespg.

2001-05-01  Mo DeJong  <mdejong@redhat.com>

	* src/ast.h (DYNAMIC_CAST):
	* src/lookup.cpp: Add new DYNAMIC_CAST method, it
	will make use of the dynamic_cast<> operator
	and RTTI to check for downcast errors. Use it
	for all Ast and Symbol cast conversions.

2001-05-01  Eric Blake  <ebb9@email.byu.edu>

	* expr.cpp: use control.IsSimpleIntegerValueType(x)
	instead of x == control.int_type.

2001-05-01  Eric Blake  <ebb9@email.byu.edu>

	* expr.cpp: A string expression was not
	being treated as a constant, thus breaking
	some instanceof tests.

2001-04-26  Mo DeJong  <mdejong@redhat.com>

	* src/stream.cpp (DecodeNextCharacter): Use
	u2 type instead of wchar_t type to address
	a 16 bit value from a char*.

2001-04-23  Adam Hawthorne  <adamh@basis.com>

	* doc/jikes.1: Added options and changed text
	at the bottom to reflect those options.
	* src/control.cpp (Control):
	* src/control.h (Control):
	Add support for distinguishing
	directories specified with -sourcepath option.
	Add bad_dirnames for better error reporting
	because of the way the new options work. Add
	new methods ProcessBootClassPath(),
	ProcessExtDirs(), ProcessClassPath(), and
	ProcessSourcePath().
	* src/jikes.cpp (main): Added new options
	to usage message.
	* src/jikesapi.cpp (JikesOption):
	* src/jikesapi.h (JikesOption):
	Add new member variables bootclasspath,
	extdirs, and sourcepath.
	* src/option.cpp (Option): Add parsing of
	new options
	* src/symbol.cpp (DirectorySymbol, SymbolTable):
	* src/symbol.h (DirectorySymbol):
	Add source_dir_only flag in DirectorySymbol.
	Add new source_dir_only_ parameter to
	DirectorySymbol constructor, and check it
	in ReadDirectory(). Change
	SymbolTable::InsertDirectorySymbol() and
	DirectorySymbol::InsertDirectorySymbol() to
	require the flag.
	* src/system.cpp (Control):
	Change calls DirectorySymbol constructor,
	DirectorySymbol::InsertDirectorySymbol()
	and SymbolTable::InsertDirectorySymbol()
	to include source_dir argument.  Change
	ProcessPath to delegate path processing
	to ProcessBootClassPath(), ProcessExtDirs(),
	ProcessClassPath(), and ProcessSourcePath().
	Change ProcessSubdirectories() calls to
	include source_dir argument.
	* src/zip.cpp (Zip):
	Change calls to InsertDirectorySymbol to
	include source_dir flag.

2001-04-20  Eric Blake  <ebb9@email.byu.edu>

	* src/long.h: fix another HP-UX aCC enum

2001-04-19  Eric Blake  <ebb9@email.byu.edu>

	* src/double.cpp (IEEEfloat, Adjust):
	* src/double.h (IEEEfloat, Adjust, IEEEfloat, IEEEdouble):
	Add IEEEfloat::Adjust(), which simply segregates
	a portion of IEEEfloat(char *) from being inline,
	where it caused an ICE in mingw 2.95.2 (bug 433).
	Fix friend declarations to include the keyword
	class, to support the HP-UX aCC compiler. Fix
	enums, along with...
	* src/semantic.h (Semantic):
	Fixed enum to not end in trailing comma (it's
	valid in C99, but not C++98); not all compilers
	support this extension to the language yet.
	* src/platform.cpp (Format):
	Move declaration of int i out of for loop inside
	switch statement, since some compilers (aCC, VC++)
	are broken and don't do scoping correctly.

2001-04-16  Eric Blake  <ebb9@email.byu.edu>

	* doc/jikes.1: Include mention of other
	copyright code sources in jikes, including
	David M. Gay's dtoa.c that inspired much
	of this patch.
	* src/Makefile.am:
	* src/Makefile.in: Add dependency of
	double.h on long.h.
	* src/double.h:
	* src/double.cpp (IEEEfloat, IEEEdouble, BigInt):
	Add better const support to existing
	methods.
	Change IEEEfloat(char *) and
	IEEEdouble(char *) to be 100% accurate.
	Fix a bug in conversion from negative
	longs to floating point.
	Clean up magic numbers, and got enum
	constants working cleanly.
	Add methods Bias() and FractSize().
	Add the BigInt class for use
	in string/floating-point conversions.
	* src/expr.cpp (CastPrimitiveValue):
	Clean up the casts to work with more
	compilers.
	* src/semantic.h:
	* src/expr.cpp (Process*_SHIFT):
	Get rid of magic numbers with shifts.
	* src/long.h:
	* src/long.cpp:
	Add better const support to existing
	methods.
	Remove some magic numbers.
	* src/platform.h:
	* src/platform.cpp (FloatToString, DoubleToString)
	Rewrite the conversions from floating point to strings to be
	100% accurate.
	Replace use of raw literals for "NaN"
	and others with constants in StringConstant,
	for use on non-ASCII machines.
	Correct MAXIMUM_STRING_LENGTH to be large
	enough.

2001-04-15  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp: fix Assertion failure with string
	concat and divide by 0, bug 184

2001-04-13  Mo DeJong  <mdejong@redhat.com>

	* src/ast.h:
	* src/lookup.cpp: Don't place a large #ifdef HAVE_DYNAMIC_CAST
	around a whole set of cast definitions. Instead, we conditionally
	compile only the cast itself.

2001-04-05  Chris Abbey  <cabbey@bresnanlink.net>

	* configure.in: set release date for 1.14 in stone.
	Mo can breathe easier now.

2001-04-05  Chris Abbey  <cabbey@bresnanlink.net>

	* src/bytecode.cpp: removed debugging printfs
	that idiot Abbey just commited.
	* ChangeLog: spacing police

2001-04-04  Russ Trotter  <rtrotter@farcast.net>

	* src/bytecode.cpp: Add line number table
	generation to class variable initializers
	not inside static initializer blocks.

2001-04-04  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp: comply with JLS 15.28 by substituting
	final expressions of type TypeName.identifier.

2001-04-04  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.h: parenthesized expressions can
	be constant expressions. fixes Jacks 3.10.5-runtime-1
	and bug 66.

2001-04-04  Eric Blake  <ebb9@email.byu.edu>

	* src/control.h (Control):
	Remove NullLiteral(), as it is not needed when
	null is not compile-time constant.
	* src/bytecode.cpp (DeclareField, EmitExpression)
	(EmitStringAppendMethod, LoadLiteral):
	* src/expr.cpp (ProcessNullLiteral)
	(CastPrimitiveValue, ProcessPLUS)
	(ProcessAssignmentExpression):
	Remove references to NullLiteral().  Now
	null is not a compile-time constant.  Fixes
	bug 62.

2001-04-03  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp: Make const expressions involving binary
	operators & ^ | && || and trinary ?: correctly const. Fixes
	Jacks tests 15.28-primitive-13, -primitive-15, -primitive-17,
	-string-13, and -string-16, and a pair of bugs.

2001-04-01  Eric Blake  <ebb9@email.byu.edu>

	* src/bytecode.cpp (ByteCode::EmitStringAppendMethod):
	Do not use append(char[]) because it does not do the same
	as char[].toString(). Fixes jacks tests 15.18.1.1-runtime-1
	and 15.26.2-runtime-1

2001-04-01  Eric Blake  <ebb9@email.byu.edu>

	* src/ast.h:
	* src/lookup.h:
	* src/lookup.cpp:
	Add use of reinterpret_cast<>() and
	dynamic_cast<>() to remove warnings when
	compiling with aCC.  This includes moving
	blocks of code so that dynamic_cast<>()
	is not operating on incomplete classes.
	* src/op.h:
	* src/op.cpp (Operators):
	Changed access to string literals to be
	through const char * instead of char *,
	to remove warnings when compiling with
	aCC.
	* src/symbol.h:
	Remove the use of overload as an identifier,
	as it conflicts with the (obsolete) C++
	keyword.

2001-03-30  Eric Blake  <ebb9@email.byu.edu>

	* src/jikesapi.cpp (DefaultFileWriter):
	Fixed the call to the superconstructor to
	work with g++ 2.7 (bug 390).
	* src/expr.cpp (CastPrimitiveValue):
	Improved the casting calls, in particular
	repairing one detected as an ambiguity in
	g++ 2.7 (bug 390).
	
2001-03-30  Chris Abbey  <cabbey@bresnanlink.net>

	* src/jikes.cpp:
	* src/option.cpp:
	* src/platform.cpp:
	* src/stream.cpp:
	* src/stream.h: Change LIB_ICU to LIBICU in #defs
	so that it matches with what autoconf emits and the
	ICU code actually get's compiled in. One of the best
	schroedinbugs I've seen in quite a while. :(

2001-03-30  Eric Blake  <ebb9@email.byu.edu>

	* src/platform.h (operator<<): Add a cast
	to work around broken ostream << const unsigned
	char * with aCC on HP-UX.

2001-03-30  Mo DeJong  <mdejong@redhat.com>

	* configure.in: Add --enable-fp-emulation
	back in and default it to enabled.

2001-03-29  Chris Abbey  <cabbey@bresnanlink.net>

	* configure.in:
	* acinlclude.m4:
	* src/m4/ac_check_broken_ostream.m4:
	* src/m4/ac_cxx_check_ostream_const_unsigned_char_ptr.m4:
	renamed the define, and reversed the logic in concensuous
	with the lists opinions.

2001-03-28  Eric Blake  <ebb9@email.byu.edu>

	* configure.in:
	* acinclude.m4:
	* src/config.h.in:
	* src/m4/ac_check_broken_ostream.m4: add detection
	for HP/UX's broken ostream class that can't handle
	<< const unsigned char *.

2001-03-28  Chris Abbey  <cabbey@bresnanlink.net>

	* configure.in:
	* src/m4/ac_check_iconv.m4: add configure support for
	Bruno Haible's libiconv for cygwin.

2001-03-27  Pascal Davoust  <davoustp@yahoo.com>

	* configure.in: Fix ICC FP bug detection
	so compiler name is tested before trying to compile
	the code snippet (garbage was printed when using
	VC++ on Win32).

2001-03-27  Eric Blake  <ebb9@email.byu.edu>

	* configure.in: Fix typos related to UINT_MAX
	needed for aCC on HP/UX.

2001-03-19  Mo DeJong  <mdejong@redhat.com>

	* src/m4/ac_cxx_check_set_new_handler.m4:
	Use AC_TRY_LINK not AC_TRY_COMPILE. This
	should correctly detect a C++ implementation
	of std::set_new_handler that compiles but
	fails to link for some odd reason.

2001-03-04  Mo DeJong  <mdejong@redhat.com>

	* src/stream.cpp (Stream, HaveDecoder,
	SetEncoding, DestroyEncoding,
	ProcessInputAscii, ProcessInputUnicode,
	DecodeNextCharacter):
	Add new HaveDecoder method, use it
	in SetEncoding and DestroyEncoding.
	Conditionally compile the
	ProcessInputAscii method. Call
	new InitializeDataBuffer in the
	ProcessInputAscii and ProcessInputUnicode
	methods. Use new HasMoreData method
	instead of dealing with source_ptr
	and source_tail directly. Move all
	decoding code into the DecodeNextCharacter
	method. Check for error conditions using
	the ErrorDecodeNextCharacter method.
	No functional changes made, the code
	was simply moved into the super class.
	* src/stream.h (InitializeDataBuffer,
	HasMoreData, ErrorDecodeNextCharacter,
	ProcessInputAscii):
	Add source_ptr, source_tail, data_buffer,
	and error_decode_next_character fields
	to the Stream class. Rename _converter
	to _decoder in Stream class. Add new
	ErrorDecodeNextCharacter, HaveDecoder,
	and HasMoreData methods to query
	the state of a Stream. Add new
	InitializeDataBuffer method to setup
	source data pointers. Conditionally
	compile the ProcessInputAscii method
	in the LexStream class.

2001-03-03  Eric Blake  <ebb9@email.byu.edu>

	* src/dump.cpp (Dump): Fix typo,
	the ASCII range does not include
	128.

2001-03-03  Mo DeJong  <mdejong@redhat.com>

	* src/dump.cpp (Dump): Add debugging
	Dump method. The method signature is
	char* Dump(wchar_t*), it takes a
	wchar_t* and returns a char* with
	the chars outside the ASCII range
	escaped with \uXXXX ids.

2001-03-01  Mo DeJong  <mdejong@redhat.com>

	Released Jikes 1.13.

2001-02-27  Mo DeJong  <mdejong@redhat.com>

	* TODO: Add note about reverted patch.
	* doc/jikes.1: Fixup man page.
	* src/jikes.cpp: Fixup copyright year.

2001-02-27  Mo DeJong  <mdejong@redhat.com>

	* HACKING:
	* INSTALL:
	* README:
	* jikes.spec: Update URLs and
	instructions for 1.13 release.
	* doc/Makefile.am: Removed
	file in doc dir.
	* doc/contrib.html:
	* doc/jikes.gif:
	* doc/jikes.html:
	* doc/news.html: Removed.

2001-02-26  Mo DeJong  <mdejong@redhat.com>

	* src/jikesapi.cpp (DefaultFileReader):
	Use const_cast operator only when
	HAVE_CONST_CAST is defined. Comment
	out an assert that depends on the
	binary mode of SystemFread.

2001-02-24  Mo DeJong  <mdejong@redhat.com>

	* src/option.cpp:
	* src/option.h:
	Revert @file patch applied on 2001-02-17.

2001-02-21  Christopher Abbey  <cabbey@bresnanlink.net>

	* src/option.cpp (Option):
	Reset the encoding field to NULL
	in the case where the -encoding
	option is not valid.

2001-02-20  Eric Blake  <ebb9@email.byu.edu>

	* src/stream.cpp (Stream, ~Stream):
	Fix typos that break the build on
	systems without iconv or icu.

2001-02-19  Mo DeJong  <mdejong@redhat.com>

	* src/jikes.cpp (main): Only print the
	-encoding option when compiled with
	iconv or icu support.
	* src/option.cpp (Option):
	Move iconv and icu code to Stream class.
	Use encoding field to store the name
	of the encoding in use. Remove converter
	field, use encoding instead. Call
	Stream::IsSupportedEncoding method to
	determine if a given encoding is valid.
	* src/option.h (Option): Remove
	iconv and icu headers and the
	converter field.
	* src/platform.cpp (U8S_command_format):
	Only print the -encoding option when
	compiled with iconv or icu support.
	* src/stream.cpp (Stream, ~Stream,
	IsSupportedEncoding, SetEncoding,
	DestroyEncoding, LexStream,
	ProcessInputAscii, ProcessInputUnicode):
	Extract new Stream class from LexStream.
	Stream will handle encoding issues.
	* src/stream.h (Stream): Add iconv
	and icu includes. Add Stream class,
	LexStream inherits from Stream.

2001-02-18  Andrew M. Inggs  <aminggs@yahoo.co.uk>

	* src/jikes.cpp (main): Update
	Jikes home page URL in help output.

2001-02-18  Mo DeJong  <mdejong@redhat.com>

	* src/platform.cpp (LongToDecString):
	Add cast to ?: operator to make
	the gcc shipped with Red Hat 7 happy.

2001-02-18  Mo DeJong  <mdejong@redhat.com>

	* src/body.cpp (ProcessSuperCall): Fix
	assert caused by cast expression that
	was attempting to cast a primitive
	type argument in a super invocation
	to the synthetic argument type.
	Jikes passes a synthetic class
	type as the first argument to a
	synthetic constructor. It was
	failing to take that into account
	when checking the argument types.
	* src/bytecode.cpp (EmitCast):
	Add comment explaining why an
	assert might be generated on an
	invalid cast of a primitive type.

2001-02-17  Mo DeJong  <mdejong@redhat.com>

	* src/option.cpp (ArgumentExpanded,
	ArgumentExpander): Rename the
	ArgumentExpanded method to
	ExpandAtFileArgument. Implement
	proper string trimming for
	file names in ExpandAtFileArgument.
	Reformat some lines so they fit
	in one screen width.
	* src/option.h (ArgumentExpander):
	Update class declaration to reflect
	ExpandAtFileArgument name change.

2001-02-16  Mo DeJong  <mdejong@redhat.com>

	* src/lookup.cpp (EvaluateConstant,
	IsConstant, CheckStringConstant):
	Use type safe utf8_literals
	tuple instead of using a nasty bug
	causing down cast in EvaluateConstant.
	Check that a given final is of
	type string before adding it to
	the utf8_literals tuple in
	IsConstant. If dynamic_cast
	and RTTI are supported, use
	them to better diagnose invalid
	input conditions. Modify the
	IsConstant method to pass a
	pointer to the String type so
	that the expression type can
	be checked. This change fixes
	a bunch of core dumps related
	to string concatenation.
	* src/lookup.h (Utf8LiteralTable):
	Change Tuple<AstExpression *> *expr
	to Tuple<Utf8LiteralValue *> *utf8_literals.
	The new name is more descriptive and a
	type safe container avoid some nasty
	down casting problems later on.

2001-02-16  Mo DeJong  <mdejong@redhat.com>

	* TODO: Update items in the TODO list.
	* acinclude.m4: Add new macro files.
	* configure.in: Add macros to check
	for C++ style casts, the explicit
	keyword, and RTTI (disabled by default).
	Reorder a couple of macro calls so
	that header check appear together.
	* src/double.h:
	* src/long.h: Add explicit keyword
	to some constructor declarations.
	* src/m4/ac_cxx_const_cast.m4:
	* src/m4/ac_cxx_dynamic_cast.m4:
	* src/m4/ac_cxx_explicit.m4:
	* src/m4/ac_cxx_reinterpret_cast.m4:
	* src/m4/ac_cxx_rtti.m4:
	* src/m4/ac_cxx_static_cast.m4:
	Add new macro files.

2001-02-16  Eric Blake  <ebb9@email.byu.edu>

	* src/platform.cpp (LongToDecString,
	FloatToString, DoubleToString):
	Fix typo in abs calculation.
	Avoid core dump during float
	and double conversion.

2001-02-15  Eric Blake  <ebb9@email.byu.edu>

	* src/expr.cpp (ProcessPLUS): Prevent
	core dump when the + operator is
	applied to the null literal.

2001-02-15  Eric Blake  <ebb9@email.byu.edu>

	* src/error.cpp (StaticInitializer,
	PrintINTERFACE_NOT_INNER_CLASS):
	* src/error.h (SemanticError):
	Add INTERFACE_NOT_INNER_CLASS error message.
	* src/expr.cpp (
	ProcessClassInstanceCreationExpression):
	Generate error and return from function
	when a qualified class instance creation
	expression makes use of an interface.
	See JLS 15.9.1 for more information.

2001-02-14  Mo DeJong  <mdejong@redhat.com>

	* acinclude.m4: Add the M4 macro file
	ac_cxx_member_constants.m4.
	* configure.in: Add parens to all
	macro invocations. Add call to
	AC_CXX_MEMBER_CONSTANTS.
	* src/double.cpp:
	* src/double.h: Check for
	HAVE_MEMBER_CONSTANTS, use
	static const members if it
	is defined. Remove uses of
	the explicit keyword.
	* src/long.cpp: Change some
	bit pattern comparisons to
	avoid VC++ warning.
	* src/long.h: Remove uses of
	the explicit keyword.
	* src/m4/ac_cxx_member_constants.m4:
	Add new AC_CXX_MEMBER_CONSTANTS macro.

2001-02-12  Eric Blake  <ebb9@email.byu.edu>

	* configure.in: Add --enable-fp-emulation
	flag to configure.
	* src/double.cpp (IEEEFloat, IEEEDouble):
	* src/double.h (IEEEFloat, IEEEDouble):
	Add emulation code for IEEE 754 compliance.
	Rename FloatValue() and DoubleValue() to
	FloatView(), DoubleView().
	Remove unused FloatRoundedValue() and
	DoubleRoundedValue().
	IEEEDouble now extends BaseLong, for easier
	manipulation of 64 bit data.
	Replace Fmodulus() and Divide() with operator%
	and operator/.
	Add equals(), hashCode(), and compareTo(), which
	follow the semantics of java.lang.Float, Double.
	Add ctor(char *, boolean) to allow detection of
	underflow or overflow.
	* src/expr.cpp (ProcessLEFT_SHIFT, ProcessRIGHT_SHIFT,
	ProcessUNSIGNED_RIGHT_SHIFT, ProcessMOD):
	Simplify calls to shift operations using
	unsigned right shift. Simplify calls to double
	and float modulus to using modulus operator
	instead of Fmodulus.
	* src/long.cpp (BaseLong, LongInt, ULongInt):
	* src/long.h (BaseLong, LongInt, ULongInt):
	Add use of native 64 bit operations when
	HAVE_UNSIGNED_LONG_LONG is defined.
	Fix bugs in shift operators and in multiply.
	Add hashCode(), which mirrors java.lang.Long.
	* src/lookup.cpp (LongLiteralTable::Rehash,
	LongLiteralTable::FindOrInsert,
	FloatLiteralTable::FindOrInsertFloat,
	FloatLiteralTable::FindOrInsert,
	DoubleLiteralTable::FindOrInsertDouble,
	DoubleLiteralTable::FindOrInsert):
	Make use of new Hash method to simplify
	finding of a hash index.
	Check for NaN when inserting into the float
	or double table.
	Use new IEEEfloat and IEEEdouble equals
	method instead of operator equals.
	Use new flag in IEEEFloat, IEEEDouble
	ctors to detect overflow, underflow.
	* src/lookup.h (Hash::Function,
	LongLiteralTable::Hash): Use hashCode
	method for IEEEfloat and IEEEdouble classes.
	Add new Hash method to LongLiteralTable.
	* src/platform.cpp (FloatToString,
	DoubleToString): Replace use of FloatValue
	with FloatView and DoubleValue with
	DoubleView.
	* src/platform.h: Add i8 datatype via
	signed long long typedef. Fix up some
	comments that got the ranges wrong.

2001-02-01  Mo DeJong  <mdejong@redhat.com>

	* TODO: Note that deps have been added
	to Makefile.am.
	* src/Makefile.am: Add deps for .h files.
	* src/set.h:
	* src/tuple.h: Removed unused #includes.

2001-01-31  Mo DeJong  <mdejong@redhat.com>

	* config.guess:
	* config.sub: Update from GNU sources.
	* configure.in: Minor comment fixup.

2001-01-31  Mo DeJong  <mdejong@redhat.com>

	* TODO: Update TODO list.

2001-01-28  Mo DeJong  <mdejong@redhat.com>

	* src/jikesapi.cpp (~DefaultFileWriter): Don't
	call fclose() unless the earlier fopen() worked.

2001-01-26  C. Scott Ananian  <cananian@lesser-magoo.lcs.mit.edu>

	* src/option.cpp (Option, ~Option): Create a copy
	of the argument string for the dependence_report_name
	field. Deallocate it when finished.

2001-01-16  Mo DeJong  <mdejong@redhat.com>

	* src/bytecode.cpp: Add additional
	cast so that both branches of the ?:
	operator have the same result type.
	The AT&T compiler generated an error
	for this case.
	* src/jikesapi.cpp:
	* src/jikesapi.h: Use int instead of
	the bool type in jikesapi.h because
	bool is not supported by all compilers.
	* src/platform.h: Move the bool compat
	typedef before the include of tuple.h
	because tuple.h uses the bool type.
	* src/m4/ac_check_wcs_funcs.m4: Check
	for the wint_t type using out own
	#include files.

2001-01-14  Christopher Abbey  <cabbey@bresnanlink.net>

	* src/dump.cpp:
	* src/unparse.cpp: Fix for build problems
	when JIKES_DEBUG is defined.

2001-01-10  Mo DeJong  <mdejong@redhat.com>

	* src/jikesapi.cpp:
	* src/platform.h: Move include of
	<fstream> or <fstream.h> to platform.h.
	* src/unparse.cpp: Comment out headers
	that are already included in platform.h.

2001-01-10  Mo DeJong  <mdejong@redhat.com>

	* src/stream.cpp (LexStream::LiteralSymbol,
	LexStream::NameSymbol): Added class qualifier
	to fix compiler error when LexStream was
	defined in the Jikes namespace.

2001-01-10  Christopher Abbey  <cabbey@bresnanlink.net>

	* src/jikesapi.cpp: Move DefaultFileReader and
	DefaultFileWriter classes into the Jikes namespace.

2001-01-10  Mo DeJong  <mdejong@redhat.com>

	* src/ast.cpp:
	* src/body.cpp:
	* src/bytecode.cpp:
	* src/case.cpp:
	* src/code.cpp:
	* src/control.cpp:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/depend.cpp:
	* src/diagnose.cpp:
	* src/double.cpp:
	* src/dump.cpp:
	* src/error.cpp:
	* src/expr.cpp:
	* src/getclass.cpp:
	* src/incrmnt.cpp:
	* src/init.cpp:
	* src/javaact.cpp:
	* src/jikesapi.cpp:
	* src/long.cpp:
	* src/lookup.cpp:
	* src/lpginput.cpp:
	* src/modifier.cpp:
	* src/op.cpp:
	* src/option.cpp:
	* src/parser.cpp:
	* src/platform.cpp:
	* src/scanner.cpp:
	* src/segment.cpp:
	* src/set.cpp:
	* src/stream.cpp:
	* src/symbol.cpp:
	* src/system.cpp:
	* src/tab.cpp:
	* src/unparse.cpp:
	* src/unzip.cpp:
	* src/zip.cpp: Replace "using namespace Jikes"
	statements with "namespace Jikes { ... }" blocks.
	This moves most of the classes and methods defined
	by Jikes into the Jikes namespace.

2001-01-04  Mo DeJong  <mdejong@redhat.com>

	* configure.in: Replace check for
	namespace support with check for
	HAVE_JIKES_NAMESPACE env var. If
	defined, classes and functions will
	be defined in the Jikes namespace.
	* src/access.h:
	* src/ast.cpp:
	* src/ast.h:
	* src/body.cpp:
	* src/bytecode.cpp:
	* src/bytecode.h:
	* src/case.cpp:
	* src/case.h:
	* src/class.h:
	* src/code.cpp:
	* src/code.h:
	* src/control.cpp:
	* src/control.h:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/depend.cpp:
	* src/depend.h:
	* src/diagnose.cpp:
	* src/diagnose.h:
	* src/double.cpp:
	* src/double.h:
	* src/dump.cpp:
	* src/error.cpp:
	* src/error.h:
	* src/expr.cpp:
	* src/getclass.cpp:
	* src/getclass.h:
	* src/incrmnt.cpp:
	* src/init.cpp:
	* src/javaact.cpp:
	* src/javaact.h:
	* src/javadcl.h:
	* src/javadef.h:
	* src/javaprs.h:
	* src/javasym.h:
	* src/jikes.cpp:
	* src/jikesapi.cpp:
	* src/long.cpp:
	* src/long.h:
	* src/lookup.cpp:
	* src/lookup.h:
	* src/lpginput.cpp:
	* src/lpginput.h:
	* src/modifier.cpp:
	* src/op.cpp:
	* src/op.h:
	* src/option.cpp:
	* src/option.h:
	* src/parser.cpp:
	* src/parser.h:
	* src/platform.cpp:
	* src/platform.h:
	* src/scanner.cpp:
	* src/scanner.h:
	* src/segment.cpp:
	* src/segment.h:
	* src/semantic.h:
	* src/set.cpp:
	* src/set.h:
	* src/spell.h:
	* src/stream.cpp:
	* src/stream.h:
	* src/symbol.cpp:
	* src/symbol.h:
	* src/system.cpp:
	* src/tab.cpp:
	* src/tab.h:
	* src/table.h:
	* src/tuple.h:
	* src/unparse.cpp:
	* src/unzip.cpp:
	* src/unzip.h:
	* src/zip.cpp:
	* src/zip.h: Replace check for
	HAVE_NAMESPACES with HAVE_JIKES_NAMESPACE.

2001-01-03  Mo DeJong  <mdejong@redhat.com>

	* configure.in: Don't check for iostream.h.
	* src/platform.h: Remove HAVE_IOSTREAM_H
	test since this file is required. Remove
	HAVE_NEW and HAVE_NEW_H checks since both
	of these files are required.
	* src/m4/ac_cxx_check_set_new_handler.m4:
	Remove checks for new and new.h headers.
	Use HAVE_STD instead of HAVE_NEW and
	HAVE_NEW_H.

2001-01-01  Pascal Davoust  <davoustp@yahoo.com>

	* src/platform.h:
	* src/m4/ac_cxx_check_set_new_handler.m4: Rework
	detection and use of VC++ style _set_new_handler().
	The <new.h> include will always be used when
	compiling with VC++.

2000-12-29  Andrew G. Tereschenko  <tag@ibis.odessa.ua>

	* src/ast.h:
	* src/control.cpp:
	* src/depend.cpp:
	* src/dump.cpp:
	* src/jikesapi.cpp:
	* src/option.cpp:
	* src/platform.cpp:
	* src/symbol.cpp:
	* src/system.cpp:
	* src/unparse.cpp:
	* src/zip.cpp: Removed extra :: qualifiers from
	in front of method and type names.

2000-12-29  Mo DeJong  <mdejong@redhat.com>

	* src/platform.cpp: Fix minor typo in comment. No
	functional changes made.

2000-12-29  Diane Holt  <holtdl@yahoo.com>

	* src/error.cpp (SemanticError::PrintPACKAGE_NOT_FOUND):
	Change format of error message printed when a package
	can not be found. Print the name of the package once
	and then print each of the paths in the classpath.

2000-12-26  Mo DeJong  <mdejong@redhat.com>

	* src/incrmnt.cpp (Control::IncrementalRecompilation):
	Use char instead of u1 as the argument passed to
	the cin.get() method.

2000-12-20  Mo DeJong  <mdejong@redhat.com>

	* src/m4/ac_cxx_check_set_new_handler.m4:
	* src/m4/ac_cxx_namespaces.m4: Use
	HAVE_NAMESPACES not HAVE_NAMESPACE.

2000-12-20  Mo DeJong  <mdejong@redhat.com>

	* Makefile.am: Add RPM spec file to
	`make dist` target.
	* TODO: Mark TODO items fixed.
	* src/Makefile.am: Add java.g
	file to `make dist` target. Fix
	up efence target.

2000-12-20  Mo DeJong  <mdejong@redhat.com>

	* HACKING: Add new file that gives
	users a bit more hacking info.
	* INSTALL: Fix problems with CXXFLAGS
	and more autotools notes to HACKING.
	* README: Touch up minor errors,
	mention the HACKING file.
	* TODO: Update the TODO list with
	a number of issues TDB in 1.13.

2000-12-19  Mo DeJong  <mdejong@redhat.com>

	* autogen.sh: Pass the --ignore-deps
	flag to automake. We don't want to
	use depcomp, it breaks in too many
	places.
	* config.guess:
	* config.sub: Update guess and sub
	platform detection files.
	* configure.in:
	* jikes.spec: Set version to 1.13.
	* src/depcomp: Remove depcomp, now
	that we pass --ignore-deps to automake,
	it is no longer needed.

2000-12-03  Mo DeJong  <mdejong@redhat.com>

	* src/stream.cpp (ProcessInputUnicode): Use
	correct form of delete for an array variable.

2000-12-03  Mo DeJong  <mdejong@redhat.com>

	* src/jikesapi.cpp (compile): Revert
	change that allocated a Control object
	on the stack.

2000-12-03  Mo DeJong  <mdejong@redhat.com>

	* src/jikesapi.cpp (parseOptions): Revert
	the change that allocated an ArgumentExpander
	on the stack. Moving the object onto the
	stack masked test suite failures, causing
	them to pass even though memory was getting
	corrupted. From now on, we should never
	allocate an object on the stack.

2000-11-29  Mo DeJong  <mdejong@redhat.com>

	* src/jikesapi.h: Re-order instance declaration
	to avoid compiler warning.

2000-11-29  Eric Blake  <ebb9@email.byu.edu>

	* src/jikesapi.cpp (JikesAPI, parseOptions,
	cleanupOptions):  Initialize the parsedOptions
	member to avoid deleting uninitialized memory.
	Set the parsedOptions member to NULL in
	cleanupOptions to avoid a double delete of memory.
	Set the parsedOptions member inside parseOptions()
	so that it can be deleted later.

2000-11-27  Mo DeJong  <mdejong@redhat.com>

	* src/jikes.cpp (main): Don't attempt to
	manage memory returned by JikesAPI::parseOptions().
	* src/jikesapi.cpp (cleanupOptions, parseOptions):
	Add new method to delete memory allocated to options.
	Construct an ArgumentExpander on the stack to avoid
	a memory leak.
	* src/jikesapi.h (parseOptions, cleanupOptions):
	Add note to documentation for parseOptions() method.
	Add declaration of private cleanupOptions() method.
	* src/symbol.h (~FileSymbol): Call array delete.

2000-11-26  Mo DeJong  <mdejong@redhat.com>

	* src/Makefile.am: Add efence rule. This rule will
	build an efence malloc debugging version of jikes.
	* src/error.cpp: Minor code reformat to improve
	readability. No functional changes made.
	* src/option.cpp: Minor comment reformat.
	
2000-10-28  Mo DeJong  <mdejong@redhat.com>

	* src/Makefile.am: Remove commented out bits.

2000-10-18  Mo DeJong  <mdejong@redhat.com>

	* src/incrmnt.cpp (Control::IncrementalRecompilation):
	Rewrite incremental compile loop so that only a single
	character at a time is read.

2000-10-14  Mo DeJong  <mdejong@redhat.com>

	* src/lookup.cpp: Remove #ifdef JIKES_DEBUG
	blocks from around blocks of code to free memory.

2000-10-14  Mo DeJong  <mdejong@redhat.com>

	* src/jikesapi.cpp (compile): Minor code
	reformat. Allocate a control instance on
	the stack instead of the heap.
	* src/jikesapi.h: Minor code reformat.

2000-10-09  Mo DeJong  <mdejong@redhat.com>

	* acinclude.m4: Include iconv macro file.
	* configure.in: Move iconv related tests to AC_CHECK_ICONV.
	* src/stream.cpp (ProcessInputUnicode): Cast the 2nd argument
	to iconv to a non const if the compiler would generate an error.
	* src/m4/ac_check_iconv.m4: Add AC_CHECK_ICONV macro.

2000-09-11  Mo DeJong  <mdejong@redhat.com>

	* src/error.cpp (PrintUNREACHABLE_DEFAULT_CATCH_CLAUSE):
	Reword the error message, hopefully for the last time.

2000-08-23  Andrew G. Tereschenko  <tag@ibis.odessa.ua>

	* src/incrmnt.cpp (IncrementalRecompilation): Both
	'q' and 'Q' are now acceptable to quit incremental mode.

2000-08-21  Mo DeJong  <mdejong@redhat.com>

	* src/incrmnt.cpp (IncrementalRecompilation): Rewrite
	the user interaction loop for incremental re-compilation.
	We now look for the letter 'q', if that is what the user
	typed, we quit.

2000-08-21  Mo DeJong  <mdejong@redhat.com>

	* src/platform.h (Ostream::setf): Remove
	the setf method, it is not used anywhere
	and it causes the build to fail on the Mac.

2000-08-21  Mo DeJong  <mdejong@redhat.com>

	* src/error.cpp (PrintUNREACHABLE_DEFAULT_CATCH_CLAUSE):
	Reword warning for try block that catches Exception
	but does not contain a method that can raise a
	checked exception.

2000-08-13  Chris Abbey <cabbey@bresnanlink.net>

	* src/stream.cpp (~LexStream): Set columns to NULL
	after deleting it. Don't delete comment_buffer again,
	it is already done in DestroyInput().

2000-08-01  Mo DeJong  <mdejong@redhat.com>

	Released Jikes 1.12.

2000-07-30  Mo DeJong  <mdejong@redhat.com>

	* jikes.spec: Add default -O3 flag when building
	the release verison of jikes under Red Hat Linux.

2000-07-30  Mo DeJong  <mdejong@redhat.com>

	* src/decl.cpp (CompleteSymbolTable, AddInheritedMethods): Revert
	change meant to fix bug 102. The fix for 102 causes crashes in
	CheckInheritedMethodThrows. We will need to re-address this
	problem after the 1.12 release.

2000-07-30  Mo DeJong  <mdejong@redhat.com>

	* TODO: Updated TODO list with things
	we did not get done before 1.12 release.

2000-07-30  Mo DeJong  <mdejong@redhat.com>

	* src/option.cpp (ArgumentExpanded): Fix core dump
	when processing a @file argument that contains
	the sequence "\n\n".

2000-07-27  Mo DeJong  <mdejong@redhat.com>

	* src/system.cpp (GetOutputDirectory): Check for
	a NULL semantic member of a FileSymbol when writing
	dependencies. A .class file can have a NULL
	semantic member which was causing a core dump.

2000-07-26  C. Brian Jones  <cbj@gnu.org>

	* src/option.cpp (Option): Create a
	copy of the -classpath string so it
	can be deleted correctly later.

2000-07-26  Mo DeJong  <mdejong@redhat.com>

	* src/unparse.cpp: Uncomment #includes,
	they need to be moved to platform.h but
	without them the compile would fail if
	-DJIKES_DEBUG was set.

2000-07-25  Mo DeJong  <mdejong@redhat.com>

	* src/configure:
	* src/configure.in: Remove files from
	the old build system. These files
	were removed before but somehow they
	showed up in the CVS again.

2000-07-25  Chris Abbey <cabbey@bresnanlink.net>

	* configure.in: Disable check for namespace support.
	* src/access.h:
	* src/ast.cpp:
	* src/ast.h:
	* src/body.cpp:
	* src/bytecode.cpp:
	* src/bytecode.h:
	* src/case.cpp:
	* src/case.h:
	* src/class.h:
	* src/code.cpp:
	* src/code.h:
	* src/control.cpp:
	* src/control.h:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/depend.cpp:
	* src/depend.h:
	* src/diagnose.cpp:
	* src/diagnose.h:
	* src/double.cpp:
	* src/double.h:
	* src/dump.cpp:
	* src/error.cpp:
	* src/error.h:
	* src/expr.cpp:
	* src/getclass.cpp:
	* src/getclass.h:
	* src/incrmnt.cpp:
	* src/init.cpp:
	* src/javaact.cpp:
	* src/javaact.h:
	* src/javadcl.h:
	* src/javadef.h:
	* src/javaprs.h:
	* src/javasym.h:
	* src/jikes.cpp:
	* src/jikesapi.cpp:
	* src/long.cpp:
	* src/long.h:
	* src/lookup.cpp:
	* src/lookup.h:
	* src/lpginput.cpp:
	* src/lpginput.h:
	* src/modifier.cpp:
	* src/op.cpp:
	* src/op.h:
	* src/option.cpp:
	* src/option.h:
	* src/parser.cpp:
	* src/parser.h:
	* src/platform.cpp:
	* src/platform.h:
	* src/scanner.cpp:
	* src/scanner.h:
	* src/segment.cpp:
	* src/segment.h:
	* src/semantic.h:
	* src/set.cpp:
	* src/set.h:
	* src/spell.h:
	* src/stream.cpp:
	* src/stream.h:
	* src/symbol.cpp:
	* src/symbol.h:
	* src/system.cpp:
	* src/tab.cpp:
	* src/tab.h:
	* src/table.h:
	* src/tuple.h:
	* src/unparse.cpp:
	* src/unzip.cpp:
	* src/unzip.h:
	* src/zip.cpp:
	* src/zip.h: Use HAVE_NAMESPACES not HAVE_NAMESPACE.

2000-07-23  Mo DeJong  <mdejong@redhat.com>

	* TODO: Added a todo list.
	* jikes.spec: Updated version to 1.12. Updated URLs. Install
	documentation with Makfile not spec file.
	* doc/Makefile.am: Install HTML files.
	* doc/jikes.1: Remove dates and old URLs.
	* src/README: Removed old README.

2000-07-23  Andrew G. Tereschenko  <tag@ibis.odessa.ua>

	* src/jikesapi.cpp (parseOptions): Use
	expanded argv not passed in argv. This
	fixes the bug that was causing @ argument
	to not get expanded.

2000-07-23  Mo DeJong  <mdejong@redhat.com>

	* INSTALL: Added detailed build instructions.
	* README: Added note about OSI certification. Removed
	mention of Makefile.hand and jikestst. Removed dead links.
	* doc/ChangeLog: Removed old ChangeLog.
	* doc/jikes.html: Updated FAQ.
	* doc/news.html: Updated news.
	* doc/news_v1.html: Removed old news page, if someone
	wants this info the be retained then they should merge
	it into the docs/news.html file.

2000-07-22  Mo DeJong  <mdejong@redhat.com>

	* configure.in: Do not check for the stdc++ library.
	* src/java.g: Include platform.h not config.h.

2000-07-22  C. Scott Ananian  <cananian@lesser-magoo.lcs.mit.edu>

	* src/error.cpp (PrintRETURN_STATEMENT_IN_INITIALIZER,
	PrintMISPLACED_RETURN_WITH_EXPRESSION,
	PrintMISPLACED_RETURN_WITH_NO_EXPRESSION): Fix typos
	introduced during JikesAPI changes.

2000-07-22  Chris Abbey <cabbey@bresnanlink.net>

	* configure.in: Add check for iconv library.
	* src/m4/ac_cxx_check_set_new_handler.m4: Add
	missing "using namespace std" statement.

2000-07-15  Mo DeJong  <mdejong@redhat.com>

	* src/depcomp: Added missing file.

2000-07-12  Mo DeJong  <mdejong@redhat.com>

	* configure.in: Add JIKES_VERSION_STRING.
	* src/jikes.cpp: Use JIKES_VERSION_STRING,
	update project homepage URL.
	* src/platform.h: unset values in config.h
	that conflict with other symbols in jikes.
	* src/m4/acx_check_pathname_style.m4: Use
	three argument form of AC_DEFINE to keep
	autoheader happy.

2000-07-12  Mo DeJong  <mdejong@redhat.com>

	* src/Makefile.hand: Removed the Makefile
	used in the old build system. All builds
	should now be done with ./configure ; make.

2000-07-12  Mo DeJong  <mdejong@redhat.com>

	* missing:
	* mkinstalldirs: Added files that did not
	make it into the CVS for some strange reason.

2000-07-09  C. Scott Ananian  <cananian@lesser-magoo.lcs.mit.edu>

	* src/stream.cpp (ProcessInputUnicode): Fix for
	unicode line termination problems in Jacks section
	3.4. This is a followup patch for jitter bug number 253.

2000-07-08  Mo DeJong  <mdejong@redhat.com>

	* configure.in: Add AM_MAINTAINER_MODE macro.
	This will stop regeneration of configure
	related file when timestamps do not match.

2000-06-26  Andrew G. Tereschenko  <tag@ibis.odessa.ua>

	* src/diagnose.cpp (MergeCandidate):
	* src/diagnose.h (MergeCandidate): Change
	return type of method from bool to int.

2000-06-26  C. Scott Ananian  <cananian@lesser-magoo.lcs.mit.edu>

	* src/code.h: Fix comment.
	* src/gencode.java: Fix comment.
	* src/stream.cpp: Fix for jitter bug number 253.

2000-06-22  Andrew G. Tereschenko  <tag@ibis.odessa.ua>

	* src/platform.h: Avoid using #if ! to avoid
	bugs in the VC++ preprocessor.

2000-06-07  Mo DeJong  <mdejong@redhat.com>

	* src/control.cpp (ProcessSubdirectories):
	Fixed up compiler warnings in the Windows code.
	* src/jikesapi.cpp (DefaultFileReader):
	Added check for number of bytes read.
	* src/option.cpp (Option): Reorder
	declarations to make compiler happy.
	* src/platform.cpp (IntToString, IntToWstring):
	Avoid compiler warnings.
	* src/stream.cpp (ProcessInputUnicode):
	Avoid compiler warnings. Added FIXME.

2000-06-06  Mo DeJong  <mdejong@redhat.com>

	* configure: Regen to fix Solaris build.
	* configure.in: Removed some comments,
	fixed up a minor path issue.
	* src/stamp-h.in: Regen.

2000-06-03  Mo DeJong  <mdejong@redhat.com>

	* src/decl.cpp (CheckPackage): Removed
	error generated by jikes when a package
	named in a package statement could not
	be found on the CLASSPATH. This behavior
	did not match javac or other compilers
	and it makes it very difficult to use
	jikes for regression testing.

2000-05-30  Mo DeJong  <mdejong@cygnus.com>

	* src/config.cpp:
	* src/config.h: Removed. These two
	files were part of the old build
	system. They should have been removed
	when the new build system was merged.

2000-05-23  Mo DeJong  <mdejong@cygnus.com>

	* Makefile.in:
	* src/Makefile.in: Removed to make way for
	new automake based build system.

	* AUTHORS:
	* COPYING:
	* INSTALL:
	* Makefile.am:
	* Makefile.in:
	* NEWS:
	* acinclude.m4:
	* aclocal.m4:
	* autogen.sh:
	* configure.in:
	* doc/Makefile.am:
	* doc/Makefile.in:
	* src/Makefile.am:
	* src/Makefile.in:
	* src/stamp-h.in: Added or updated files to support
	automake version of the build system.

2000-05-22  Mo DeJong  <mdejong@cygnus.com>

	* src/error.cpp (PrintTYPED_METHOD_WITH_NO_RETURN):
	Fixed typo in error message.
	* src/zip.cpp (Zip): Removed extra semicolon.
	* src/m4/acx_check_pathname_style.m4: Removed comment.

2000-05-13  Mo DeJong  <mdejong@cygnus.com>

	* configure.in: Fixed up mkdir test so
	that it should work under a Mac style
	build environment.
	src/platform.cpp (SystemMkdir): Added
	mkdir() call for the Mac.

2000-05-12  Mo DeJong  <mdejong@cygnus.com>

	* configure.in: Added patches for ICC
	floating point bug detection sent
	in by Chris Abbey <cabbey@home.net>.

2000-05-11  Mo DeJong  <mdejong@cygnus.com>

	* src/access.h:
	* src/ast.cpp:
	* src/ast.h:
	* src/body.cpp:
	* src/bytecode.cpp:
	* src/bytecode.h:
	* src/case.cpp:
	* src/case.h:
	* src/class.h:
	* src/code.cpp:
	* src/code.h:
	* src/control.cpp:
	* src/control.h:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/depend.cpp:
	* src/depend.h:
	* src/diagnose.cpp:
	* src/diagnose.h:
	* src/double.cpp:
	* src/double.h:
	* src/dump.cpp:
	* src/error.cpp:
	* src/error.h:
	* src/expr.cpp:
	* src/getclass.cpp:
	* src/getclass.h:
	* src/incrmnt.cpp:
	* src/init.cpp:
	* src/java.g:
	* src/javaact.cpp:
	* src/javaact.h:
	* src/javadcl.h:
	* src/javadef.h:
	* src/javaprs.h:
	* src/javasym.h:
	* src/jikes.cpp:
	* src/jikesapi.cpp:
	* src/long.cpp:
	* src/long.h:
	* src/lookup.cpp:
	* src/lookup.h:
	* src/lpginput.cpp:
	* src/lpginput.h:
	* src/modifier.cpp:
	* src/op.cpp:
	* src/op.h:
	* src/option.cpp:
	* src/option.h:
	* src/parser.cpp:
	* src/parser.h:
	* src/platform.cpp:
	* src/platform.h:
	* src/scanner.cpp:
	* src/scanner.h:
	* src/segment.cpp:
	* src/segment.h:
	* src/semantic.h:
	* src/set.cpp:
	* src/set.h:
	* src/spell.h:
	* src/stream.cpp:
	* src/stream.h:
	* src/symbol.cpp:
	* src/symbol.h:
	* src/system.cpp:
	* src/tab.cpp:
	* src/tab.h:
	* src/table.h:
	* src/tuple.h:
	* src/unparse.cpp:
	* src/unzip.cpp:
	* src/unzip.h:
	* src/zip.cpp:
	* src/zip.h:
	Moved all jikes classes into the Jikes namespace.
	Only used when the HAVE_NAMESPACE macro is defined.
	* src/m4/ac_check_error_discard_const.m4
	* src/m4/ac_check_mathlib.m4
	* src/m4/ac_check_wcs_funcs.m4:
	Added author's email address.
	* src/m4/ac_cxx_check_set_new_handler.m4:
	Added note about namespace std and author's email address.

2000-05-08  Mo DeJong  <mdejong@cygnus.com>

	* Makefile.in:
	Fixed rule so it runs ./config.status.
	Also remove the src directory if it
	is empty in the make distclean rule.
	* src/Makefile.in (install-api): Fixed
	install rule so that it grabbed the .h
	file from the src dir not the build dir.
	Moved Makefile.in dep to parent Makefile.
	* src/stream.h (LexStream): Fixed up
	declaration of Dump() so that it compiles
	with icc.
	
2000-05-08  Mo DeJong  <mdejong@cygnus.com>

	* configure:
	* configure.in:
	* src/config.h.in: Added autoconf
	test for Mac style mkdir().

2000-05-08  Mo DeJong  <mdejong@cygnus.com>

	* src/jikesapi.cpp (~DefaultFileReader): Added
	(void *) cast to fix strict const error raised
	by g++. Also fixed an old constructor call in
	DefaultFileWriter().
	* src/option.cpp (Option): Moved Cygwin path
	conversion so that it also works on a
	-classpath passed in on the command line.
	* src/option.h (Option): Added declaration for
	SaveCurrentDirectoryOnDisk() method.
	* src/m4/acx_check_pathname_style.m4: Fixed
	detection of mingw32 compiler toolchain.

2000-05-05  Mo DeJong  <mdejong@cygnus.com>

	* src/Makefile.in:
	* src/access.h:
	* src/ast.cpp:
	* src/ast.h:
	* src/bytecode.cpp:
	* src/bytecode.h:
	* src/class.h:
	* src/control.cpp:
	* src/control.h:
	* src/dump.cpp:
	* src/error.cpp:
	* src/getclass.cpp:
	* src/jikes.cpp:
	* src/lookup.cpp:
	* src/lookup.h:
	* src/stream.cpp:
	* src/stream.h:
	* src/unparse.cpp: Changed all uses of #ifdef TEST
	to #ifdef JIKES_DEBUG.

2000-05-05  Mo DeJong  <mdejong@cygnus.com>

	* README: Merged in contents from src/README.
	* src/README: Removed.

2000-05-04  Vadim Zaliva  <lord@crocodile.org>

	* src/Makefile.in: Add code to install jikesapi.h on 'install' goal.

	* src/jikesapi.h:
	* src/jikesapi.cpp: DefaultFileReader and DefaultFileWriter have
	been moved from jikesapi.h to jikesapi.cpp to avoid platform
	dependant code in API headers.

2000-05-04  Mo DeJong  <mdejong@cygnus.com>

	* Makefile.in:
	* aclocal.m4:
	* autogen.sh:
	* config.guess:
	* config.sub:
	* configure:
	* configure.in:
	* install-sh:
	* src/config.h.in:
	* src/platform.cpp:
	* src/platform.h:
	* src/m4/ac_check_error_discard_const.m4:
	* src/m4/ac_check_mathlib.m4:
	* src/m4/ac_check_wcs_funcs.m4:
	* src/m4/ac_cxx_bool.m4:
	* src/m4/ac_cxx_check_set_new_handler.m4:
	* src/m4/ac_cxx_exceptions.m4:
	* src/m4/ac_cxx_have_std.m4:
	* src/m4/ac_cxx_namespaces.m4:
	* src/m4/acx_check_pathname_style.m4: Added new files
	to support the new autoconf based build system.
	* src/config.cpp:
	* src/config.h:
	* src/configure:
	* src/configure.in: Removed old autoconf based build
	files as they are no longer needed.
	* README: updated ChangeLog location, added build notes.
	* src/Makefile.in:
	* src/access.h:
	* src/ast.cpp:
	* src/ast.h:
	* src/body.cpp:
	* src/bytecode.cpp:
	* src/bytecode.h:
	* src/case.cpp:
	* src/case.h:
	* src/class.h:
	* src/code.h:
	* src/control.cpp:
	* src/control.h:
	* src/decl.cpp:
	* src/definite.cpp:
	* src/depend.cpp:
	* src/depend.h:
	* src/diagnose.cpp:
	* src/diagnose.h:
	* src/double.cpp:
	* src/double.h:
	* src/dump.cpp:
	* src/error.cpp:
	* src/error.h:
	* src/expr.cpp:
	* src/gencode.java:
	* src/getclass.cpp:
	* src/getclass.h:
	* src/incrmnt.cpp:
	* src/init.cpp:
	* src/javaact.cpp:
	* src/jikes.cpp:
	* src/jikesapi.cpp:
	* src/jikesapi.h:
	* src/long.cpp:
	* src/long.h:
	* src/lookup.cpp:
	* src/lookup.h:
	* src/lpginput.cpp:
	* src/lpginput.h:
	* src/modifier.cpp:
	* src/op.cpp:
	* src/op.h:
	* src/option.cpp:
	* src/option.h:
	* src/parser.cpp:
	* src/parser.h:
	* src/scanner.cpp:
	* src/scanner.h:
	* src/segment.cpp:
	* src/segment.h:
	* src/semantic.h:
	* src/set.cpp:
	* src/set.h:
	* src/spell.h:
	* src/stream.cpp:
	* src/stream.h:
	* src/symbol.cpp:
	* src/symbol.h:
	* src/system.cpp:
	* src/tab.h:
	* src/table.h:
	* src/tuple.h:
	* src/unparse.cpp:
	* src/unzip.cpp:
	* src/unzip.h:
	* src/zip.cpp:
	* src/zip.h:  Added support for new autoconf based build
	by switching from #include "config.h" to #include "platform.h".
	Additional minor fixups were required in some files.

2000-05-03  Mo DeJong  <mdejong@cygnus.com>

	* src/double.cpp:
	* src/double.h:
	* src/long.cpp:
	* src/long.h: Fixed endian dependence
	when HAVE_UNSIGNED_LONG_LONG is defined.
	If not defined, we still used the old
	way which depends on WORDS_BIGENDIAN.
	This patch is not optimal, you are
	invited to suggest better ways to
	deal with 64 bit datatypes.
	* src/stream.cpp: Fixed endian dependence.
	This patch is not optimal, you are invited to
	examine the code and suggest a better approach.

2000-05-03  Mo DeJong  <mdejong@cygnus.com>

	* src/ast.h:
	* src/symbol.h: Use "friend class Foo"
	instead of "friend Foo" in class declarations
	to make some compilers (xlC) happy.
	* src/diagnose.cpp(getErrorReport): Added
	missing return statement on non-void method.
	Patches care of Chris Abbey <cabbey@home.net>.

2000-05-03  Mo DeJong  <mdejong@cygnus.com>

	* src/incrmnt.cpp: Fixed use of dynamically
	sized buffer on stack. It was not legal code
	even though g++ accepted it. Also fixed up
	some small style issues (if () instead of if()).

2000-05-03  Mo DeJong  <mdejong@cygnus.com>

	* src/stream.cpp: Use memcpy instead of
	wmemcpy which is not supported on all systems.

2000-05-03  Mo DeJong  <mdejong@cygnus.com>

	* src/bytecode.cpp: Commented out else
	block that was added as part of the
	fix for bug #198 because it was core dumping.

2000-05-03  Mo DeJong  <mdejong@cygnus.com>

	* src/jikesapi.h: Moved inner classes
	into the public scope. This was causing
	compiler errors with non g++ compilers.

2000-05-02  Mo DeJong  <mdejong@cygnus.com>

	* src/config.h:
	* src/control.cpp:
	* src/jikesapi.cpp: Removed all uses
	of #ifdef NO_LEAKS.

2000-04-09  Mo DeJong  <mdejong@cygnus.com>

	* src/decl.cpp:
	* src/modifier.cpp:
	* src/semantic.h: Renamed Semantic::ProcessAbstractMethodModifiers
	to Semantic::ProcessInterfaceMethodModifiers.

2000-04-09  Mo DeJong  <mdejong@cygnus.com>

	* src/Makefile.in: Added install-unstripped, install-stripped,
	and install-docs rules. Made install-unstripped the default.
	Fixed the install rules to use exec_prefix instead of the prefix.
	Fixed problem installing the docs when build dir != src dir.

2000-04-09  Vadim Zaliva  <lord@crocodile.org>

	* ChangeLog moved from doc/ to project root per
	Mo DeJong <mdejong@cygnus.com> suggestion.

	* error.cpp (PrintMISMATCHED_INHERITED_METHODS_IN_BASE):
	* error.h (class SemanticError):
	* decl.cpp (CompleteSymbolTable): corrected bug #102 related to
	not reporting return type conflicts for same signature methods
	inherited from 2 super-interfaces.
	Added new error message MISMATCHED_INHERITED_METHODS_IN_BASE to
	report this situation.

2000-04-07  Vadim Zaliva  <lord@crocodile.org>

	* error.cpp (StaticInitializer): type mismatch corrected. Fix
	suggested by foad@tao-group.com. Bug #156.

	* bytecode.cpp (EmitMethodInvocation): Corrected bug #198.

2000-04-05  Vadim Zaliva  <lord@crocodile.org>

	* expr.cpp (ConstructorAccessCheck): corrected problem with not
	reporting illegal access to protected constructor from other
	pckage. problem reportred by:  Garrick Olson
	<garrick_olson@hotmail.com>

2000-03-31  Chris Abbey <cabbey@home.net>

	* configure.in: enable --with-icc=PROG, also prevent gcc-isms in
	the tests when using icc/xlC by setting GXX accordingly.

2000-04-03  Vadim Zaliva  <lord@crocodile.org>

	* jikes.html: corrected +DR option description (was confused with +M).
	reported by "Hessler, Matthias" <matthias.hessler@factore.net>

2000-04-02  Chris Abbey <cabbey@home.net>

	* config.cpp:
	* configure.in (EXEEXT): Correcting problem copiling jikes on non x86
	architecture using --with-icc option.

2000-03-30  Gregory Steuck <greg@nest.cx>

	* configure.in (EXEEXT): Check for OpenBSD

2000-03-26  Mo DeJong <mdejong@cygnus.com>

	* Makefile.in: This patch fixes a compile error.

2000-03-15  Vadim Zaliva  <lord@crocodile.org>

	* stream.cpp (ProcessInputUnicode): corrected problem with losing
	last source file character when using 'iconv' function for charset
	conversion.

2000-03-14  Vadim Zaliva  <lord@crocodile.org>

	* modifier.cpp (ProcessStaticNestedInterfaceModifiers): simplification.
	(ProcessNestedInterfaceModifiers): possibility of specifying
	duplicate 'static' declarations removed.

2000-03-08 Ziqiang Tang   <ztang@lcs.mit.edu>

	* decl.cpp:
	* semantic.h:
	* modifier.cpp: added correct support for interface-contained
	interfaces (public, static) using
	Semantic::ProcessStaticNestedInterfaceModifiers.

2000-03-13  Vadim Zaliva  <lord@crocodile.org>

	* double.h: Commited slightly optimized version of
	Peter Naulls <peter@erble.freeserve.co.uk> patch which corrects problem
	with casting float/double to int.

	* config.cpp: updated brief command line options description
	(inconsistency reported by Chris Abbey <cabbey@home.net>)

2000-03-09  Joe Berkovitz  <joeb@atg.com>
	* option.h:
	* option.cpp:
	* jikes.cpp:
	* system.cpp: rename +CSO option and classpath_search_order
	variable to +OLDCSO and old_classpath_search_order, and invert
	sense of option correspondingly.
	
2000-02-29  Vadim Zaliva  <lord@crocodile.org>

	* Switched to ICU-1.4.0

	* option.cpp (Option): small problem with compilation while both
	ICU and ICONV are present.

	* stream.cpp:
	* option.h: new ICU header names.

	* configure.in (LDFLAGS): checking for u_getVersion to check is
	ICU is installed.

2000-02-21  Vadim Zaliva  <lord@crocodile.org>

	* jikesapi.h (class JikesAPI): reader and writer factories removed
	- they are duplicating read/write methods
	functionality. read/write made virtual.

	* jikesapi.cpp:
	* jikesapi.h: method of readers and writers renamed to follow
	project naming conventions.

	* jikes.cpp (main): removed conditional creation of JikesAPI.
	* jikesapi.cpp: indentation, comsetics.
	* jikesapi.h: indentation, comsetics.

2000-02-21  Martin York <myork202@mail.mwfree.net>

	Some Vadim remarks taken in account:

	1) The  default read object now always opens files with the mode "rb".
	2) The classes to manipulate files have been renamed:

	FileReader    (Reader was causing problems)
	DefaultFileReader

	FileWriter    (Writer was causing problems)
	DefaultFileWriter

	3) Small fixes that I had overlooked in the UNIX code
	since I was working on an NT box.

	* jikes.cpp: If no object of type jikesAPI is defined then main
	will create an object of JikesAPI and use this as the default.

	* jikesapi.h
	* jikesapi.cpp: Made the methods JikesAPI::read() and
	JikesAPI::write() non virtual. These methods now do error
	checking.

	The methods
	
	JikesAPI::readerFactory() and
	JikesAPI::writerFactory()

	are now the virtual methods that can be overridden.

2000-02-20  Martin York <myork202@mail.mwfree.net>

	* control.h
	* getclass.cpp
	* getclass.h
	* lookup.cpp
	* lookup.h
	* semantic.h
	* stream.cpp
	* stream.h
	* symbol.h
	* system.cpp: As the content of a file is represented by
	"const char *" I have modified a few functions
	in the following files so that they are "const
	char *" rather than "char *".

	* error.cpp
	* jikesapi.h
	* stream.cpp: As Windows already defines a macro "ERROR" I have
	renamed ERROR to JIKES_ERROR.
	
	* getclass.cpp
	* jikesapi.cpp
	* jikesapi.h
	* stream.cpp
	* tuple.h: moved all actual file reading/writing to JikesAPI.
	
2000-02-18  Vadim Zaliva  <lord@crocodile.org>

	* stream.cpp (ProcessInputUnicode): igniring BOM at the
	beginning of the file.

	* config.h (U_chars): added U_BOM and U_REVERSE_BOM

2000-02-17  Vadim Zaliva  <lord@crocodile.org>

	* parser.h (ParseErrorCode): DiagnoseParser error codes definitions
	moved to here from javadefs.h and grouped as new Enum.

	* diagnose.h:
	* diagnose.cpp: DiagnoseParser uses JikesAPI for error reporting.

2000-02-14  Vadim Zaliva  <lord@crocodile.org>

	* config.h:
	* config.cpp:
	* stream.h:
	* stream.cpp: funneling Lexical errors thrue JikesAPI.

2000-02-13  Vadim Zaliva  <lord@crocodile.org>

	* error.h:
	* error.cpp:
	* jikes.cpp:
	* jikesapi.cpp:
	* jikesapi.h: initial version of API for integration
	of jikes into various IDEs.

2000-02-03  Vadim Zaliva  <lord@crocodile.org>

	* stream.cpp (ProcessInputUnicode):
	* option.cpp (Option):
	Using 'iconv' (if found) for encoding conversions.

	* error.cpp (StaticInitializer): unsupported encoding is now treated
	as an error, not warning.

	* configure.in: added check for 'iconv.h' header.

2000-02-02  Vadim Zaliva  <lord@crocodile.org>

	* stream.cpp (ProcessInputUnicode): better conversion error reporting.
	corrected problem with buffer underflow on last character.
	Better handling of end of input data while converting to Unicode.

	* option.cpp (nowrite): better handling of -encoding option when
	compiled w/o ICU.

2000-02-01  C. Scott Ananian <cananian@lesser-magoo.lcs.mit.edu>

	* java.g:  corrected "converting to Token" twice problem.
	which was causing crash compiling empty case statement with
	empty default clause.

2000-01-18  Vadim Zaliva  <lord@crocodile.org>

	* stream.cpp (ProcessInputUnicode): buffer resize on surrogate
	characters use more accurate memory allocation.

	* configure.in: check for wmemcpy added.

2000-01-18  C. Scott Ananian <cananian@lesser-magoo.lcs.mit.edu>

	* bytecode.cpp:
	* control.cpp:
	* lookup.cpp:
	* symbol.cpp:
	* symbol.h:
	* system.cpp: Debugging malloc libraries are marvelous things.
	The attached patch fixes five small memory leaks and one instance
	of delete given a null pointer (not actually incorrect, but bad
	practice and something memory profiling tools complain heartily
	about).

2000-01-18  C. Scott Ananian <cananian@lesser-magoo.lcs.mit.edu>

	* ast.cpp: Printing out ASTs involving for-statements may segfault
	do to a swapped loop bound test.  You only see this if you have
	more for-initialization expressions than for-update
	expressions. Patch fixes this problem.

2000-01-18  C. Scott Ananian <cananian@lesser-magoo.lcs.mit.edu>

	* java.g (SwitchBlock): Fixed segfault when compiling certain
	switch-statement constructs.

2000-01-13 C. Scott Ananian <cananian@alumni.princeton.edu>

	* configure.in: Fix compilation on libc5 based systems.
	
2000-01-14 C. Scott Ananian <cananian@alumni.princeton.edu>

	* option.cpp: Fixed an off-by-one error in a string
	allocation.  Debugging-malloc libraries are a
	Good Thing.
	
2000-01-13  Vadim Zaliva  <lord@crocodile.org>

	* jikes.spec: ChangeLog included in RPM package.

	* Big structure reorganisation. Following files are moved to 'doc'
	directory: contrib.html jikes.1 jikes.gif jikes.html
	license.htm news.html news_v1.html

	* src/ChangeLog and ChangeLog merged and result placed in 'doc'
	as well.

2000-01-07 Vadim Zaliva  <lord@crocodile.org>

	* long.cpp: Changed "(BaseLong)*this" into "+(*this)"
	This compiles fine under CodeWarrior.
	It also makes it look logical as a bonus :-)
	(suggested by Martin York <myork@oxmol.co.uk>).

	* option.h:  CodeWarrior does not cope well with the definition
	as it stands. I have commented out the bit it does not
	like. This should not effect the meaning of the code.
	(suggested by Martin York <myork@oxmol.co.uk>).

2000-01-06  Vadim Zaliva  <lord@crocodile.org>

	* +1.0 command line option and all related code and
	documentation removed (approved by David Shields).

2000-01-06  Vadim Zaliva  <lord@crocodile.org>

	* long.cpp (operator+): implemented already declared operator.
	(suggested by Martin York <myork@oxmol.co.uk>).

	* depend.h (class CycleChecker): the macro INFINITY is defined in
	the standard headers of Standard Libraries used on the MAC. Thus
	it causes chaos when it hits the enum INFINITY values used in
	Jikes. Jikes macro renamed to CYCLE_INFINITY.
	(suggested by Martin York <myork@oxmol.co.uk>).

	* stream.h (class LexStream): The macro INFINITY is defined in the
	standard headers of Standard Libraries used on the MAC. Thus it
	causes chaos when it hits the enum INFINITY values used in Jikes.
	Jikes macro renamed to LEX_INFINITY.
	(suggested by Martin York <myork@oxmol.co.uk>).

	* config.h:
	* configure.in:
	More accurate check for broken USHRT_MAX as proposed
	by Moses DeJong <mdejong@cygnus.com>.

	* +1.0 command line option and all related code and
	documentation removed (approved by David Shields).

2000-01-06  Vadim Zaliva  <lord@freefall.freebsd.org>

	* semantic.h: check for wchar.h header presense.

	* double.cpp (operator/): Added extra () to avoid error
	message under FreeBSD.
	(Divide): Added type casts suggested by
	Archie Cobbs <archie@whistle.com> to compile under FreeBSD.

2000-01-05  Vadim Zaliva  <lord@crocodile.org>

	* configure.in:
	* Makefile.in:
	autoconf modified to use CXX, not CC macro
	everywhere. Using standard macros to check headers presence and
	endianess. Autoconf detected macros naming convention unified to
	be HAVE_something instead of NEED_something. Check for wint_t and
	w* functions now aware of possible absence of wchar.h (for FreeBSD
	compatibility).
	* libc5-fix: removed as obsoleted by last patch from Mo DeJong

1999-12-27    <mdejong@cygnus.com>
	* option.cpp:
	* option.h:
	Fix handling of CLASSPATH under cygwin. This required using
	a dynamically allocated array for the classpath and getting
	rid of the instance variable default_path. I added this
	cygwin specific code in #ifdef CYGWIN blocks.

1999-12-27    <mdejong@cygnus.com>
	* configure.in:
	* Makefile.in:
	Moved building of code.cpp and code.h into configure. The
	current method of building code.h and code.cpp is broken under
	unix and windows. I changed it so that these files would be
	regenerated when ./configure is run if both java and javac
	can be found. It now works under both unix and windows.

1999-12-27    <mdejong@cygnus.com>
	* configure.in:
	* config.h:
	* config.cpp:
	* libc5-fix.h:
	Added cygnus mingwin32 build support. Mingwin uses the native
	win32 API with the gcc compiler. When built with mingwin, the
	executable will not require a cygwin dll to run. The new flag
	to configure is --with-mingwin. A number of automatic tests
	for wide string functions like wcslen() were also added to the
	configure script. The configure.in script was also changed so
	that is uses C++ as the default language when doing tests, this
	gets rid of the need to check for both gcc and g++. The fix for
	problems with the wint_t type has been moved from libc5-fix.h
	into config.h, so the libc5-fix.h file is no longer needed.
	There were also a number of places where I reformatted the
	configure script so that it had the correct number of spaces.

2000-01-04  Vadim Zaliva  <lord@crocodile.org>

	* configure.in (EXECUTABLE): patch provided by
	Igor Khavkine <i_khavki@alcor.concordia.ca> will enable
	Jikes to build successfully on Debian GNU/Hurd.

	* jikes.cpp (main): version changed to 1.11

	* bytecode.cpp, decl.cpp: some bug fixes from Phillippe.

1999-12-08    <shields@jikes.watson.ibm.com>
	This is a test (just a year and a day since Jikes went open-source)

1999-11-24    <shields@jikes.watson.ibm.com>

	* jikes.cpp:
	Install patch from Mike Ernst to provide more up to date listing
	of program options.

	* option.cpp:
	* option.h:
	Drop 'ascii' option fields. This option is no longer supported.
	Drop 'applet_author' option fields. Also no longer supported.

1999-11-17    <shields@jikes.watson.ibm.com>
	* ast.cpp:
	* config.h:
	* control.cpp:
	* expr.cpp:
	* lookup.cpp:
	* option.cpp:
	* symbol.h:
	* system.cpp:
	Patches from Mike Ernst that correct a few minor problems with
	Jikes 1.10:
	 * some formatting
	 * repeated declarations
	 * parenthesize assignments used as conditionals, to flag that use
	   and to suppress gcc -Wall warnings
	 * reorder constructor initializers, to put them in the same order
	   as the declarations.  This makes them easier to read and
	   suppresses gcc -Wall warnings.
	 * a couple of comments
	 * add #ifdef around a declaration used only under Win32

1999-11-15    <shields@jikes.watson.ibm.com>

	* config.cpp:
	Add fix in conditional definition so can compile with Microsoft
	VC++. This based on Jitterbug #27 filed by John Bley, jbley@cs.cmu.edu.

	* depend.cpp:
	Add code from Brian Jones (cbj@gnu.org) so that use of +M and -d
	causes generated Makefiles to be written to the -d directory.

	* Makefile.in:
	* configure:
	* configure.in:
	* code.cpp:
	* gencode.java:
	Add changes from Vadim Zaliva to provide interpretation of whitespace
	based on Java Language Specification (Jul 96) and not the use
	of isWhiteSpace library procedure.
	

1999-11-08    <shields@jikes.watson.ibm.com>

	* double.cpp:
	Add patch from Gregory Steuck (greg@nest.cx) to allow Jikes to
	compile under the old version of egcs used by OpenBSD.

1999-11-03    <shields@jikes.watson.ibm.com>

	* jikes.spec:
	* news_v1.html (new):
	Save old news from Research as news_v1.html.

1999-11-03    <shields@jikes.watson.ibm.com>

	* jikes.1:
	* jikes.html:
	* jikes.spec:
	Revise for version 1.10. Update option description to include CSO
	and DR (former +M=). Also include in the "What is Jikes" part of
	jikes.html, some introductory material from an article written
	for developerWorks by Lou Grinzo (lgrinzo@stny.lrun.com). Thanks
	for Lou for permitting us to use this material.
	

1999-11-03    <shields@jikes.watson.ibm.com>

	--- Release v1.10 ---

	* control.cpp:
	* option.cpp:
	* option.h:
	* jikes.cpp:
	Rename +M= option to +DR= to avoid confusion of the experimental
	dependence report with the +M option. Set version number and release
	date.

	* unparse.cpp:
	Minor edit to replace tabs with blanks and to follow our usual
	indenting rules.

1999-11-02    <shields@jikes.watson.ibm.com>

	* ast.cpp:
	* bytecode.cpp:
	* class.h:
	* config.cpp:
	* config.h:
	* control.cpp:
	* decl.cpp:
	* diagnose.h:
	* error.cpp:
	* expr.cpp:
	* getclass.cpp:
	* long.cpp:
	* option.h:
	* stream.h:
	Code from Philippe to remove detritus from prior updates,
	mostly by replacing tab characters with appropriate number of blanks.

1999-11-03    <shields@jikes.watson.ibm.com>

	* control.cpp:
	Exit with error return code if semantic errors, including absence
	of base classes (java.util, java.lang, etc.) detected. This fixes
	a problem of special concern to the Debian folks.

1999-11-01    <shields@jikes.watson.ibm.com>

	* unparse.cpp: minor change needed to compile with xlC for AIX.

1999-10-31    <shields@jikes.watson.ibm.com>

	* error.cpp:
	* error.h:
	* option.cpp:
	* stream.cpp:
	* stream.h:
	Fix some problems with Unicode extensions caused by recent cvs update
	errors on my part, and also make a few changes. The former ProcessInput
	in stream.cpp is now ProcessInputAscii. ProcessInput now just selects
	ProcessInputAscii or ProcessInputUnicode, the encoding version under
	development. Eventually ProcessInput should be represented as an array
	of function pointers, with the default being ProcessInputAscii.
that

1999-10-28    <shields@jikes.watson.ibm.com>

	* code.h:
	* gencode.java:
	Drop conditional code related to EBCDIC from gencode.java, and
	rebuild code.h (code.cpp was unchanged). The EBCDIC support will
	be provided by Unicode extensions.

1999-10-27    <shields@jikes.watson.ibm.com>

	* config.cpp:
	* config.h:
	* double.cpp:
	* double.h:
	* long.cpp:
	* long.h:
	* lookup.cpp:
	* symbol.h:
	Changes from Philippe to revise floating point conversions to more
	closely follow Sun's specification.

1999-10-24    <shields@jikes.watson.ibm.com>

	* unparse.cpp: fix from Mike Ernst

1999-10-22    <shields@jikes.watson.ibm.com>

	* system.cpp: More re Ernst

	* symbol.h:
	* symbol.cpp:
	Add code from Mike Ernst to help resolve compilation problems on
	Win/NT.

1999-10-20    <shields@jikes.watson.ibm.com>

	* expr.cpp:
	Add another fix from Mike Ernst, part of -Wall cleanup.

1999-10-19    <shields@jikes.watson.ibm.com>

	-- Release 1.09 --

	* jikes.1: Update change date.
	* jikes.spec: update version number.

1999-10-19    <shields@jikes.watson.ibm.com>

	Makefile.in:
	ast.cpp:
	ast.h:
	body.cpp:
	bytecode.cpp:
	config.h:
	configure:
	control.cpp:
	control.h:
	decl.cpp:
	error.cpp:
	expr.cpp:
	java.g:
	javaact.cpp:
	lookup.cpp:
	lookup.h:
	option.cpp:
	semantic.h:
	stream.cpp:
	symbol.cpp:
	symbol.h:
	system.cpp:
	Install patches from Mike Ernst. Patch complained about
	the patch to option.cpp. I tried to fix it manually. Result
	doesn't compile -- will sort out later.

	--- Release v1.09 ---

	* control.h:
	* jikes.cpp:
	* option.cpp:
	* system.cpp:
	Re-install code to support CSO option that was wrongly deleted.

1999-10-18    <shields@jikes.watson.ibm.com>

	--- Release v1.08 ---

	* jikes.cpp: Set version to 1.08 and release date
	* lookup.cpp: Plug a memory leak.

	* decl.cpp:
	Use conditional ifdef ERNST to disable assertions that
	Mike Ernst inserted to stay on the safe side, but which are
	probably not needed. Mike and I discussed this a while ago;
	we just haven't yet had the time to sort it out.
	

	* Makefile.hand: Add clause for unparse.cpp
	* option.h: add declaration for 'ascii' option
	* stream.cpp: delete code from Ernst that caused compilation
	problems, using ifdef ERNST, etc.

	* error.cpp:
	* error.h:
	* incrmnt.cpp:
	* jikes.cpp:
	* option.cpp:
	Add code from Philippe. Fix bug in incremental, and re-enable
	++ option. Implement Neil Martin's suggestion for divide by
	zero, namely to treat as caution and not error. Update version date.

1999-10-18    <shields@jikes.watson.ibm.com>

	* jikes.spec (Summary):
	Add news_v1.html to list of documentation files.

	-- Release 1.08 --
	* jikes.1: Drop BUGS section since incremental again supported.
	* Save old "Research News" as news_v1.html (new file).
	* Start news.html with news from developerWorks.
	* Rename contrib.htm to contrib.html
	* Rename jikes.htm to jikes.html
	* Update README to reflect above changes
	* Update jikes.spec to 1.08.

1999-09-17    <shields@jikes.watson.ibm.com>
	
	-- Release 1.06 --

	* jikes.1:
	Add 'BUGS' section for 1.06 since '++' disabled.

	* contrib.htm: minor html cleanup

	* jikes.spec (Summary):
	Update version number to 1.06, add proper URL for source at
	New Project URL (www10...)

	* jikes.1: document -Xdepend (synomym for -depend)
	Revise 'Source:' clause to use new project home 'pub' directory.

	* contrib.htm:
	Add Ken Coar to Core Team, revise format to
	reflect new project organization.

1999-10-16    <shields@jikes.watson.ibm.com>
	* ast.cpp:
	* body.cpp:
	* bytecode.cpp:
	* bytecode.h:
	* control.cpp:
	* control.h:
	* definite.cpp:
	* error.cpp:
	* error.h:
	* expr.cpp:
	* java.g (and related files):
	* jikes.cpp:
	* lookup.cpp:
	* lookup.h:
	* semantic.h:
	* symbol.cpp:
	* symbol.h:
	* system.cpp:
	more changes from Philippe re access methods for protected.

1999-10-16    <shields@jikes.watson.ibm.com>
	* configure.in:
	Add fix from Moses DeJong for patch submitted yesterday.
	
1999-10-16    <shields@jikes.watson.ibm.com>
	* configure.in:
	Add check from Moses DeJong for sufficiently recent version of
	autoconf.

1999-10-16    <shields@jikes.watson.ibm.com>
	* lookup.cpp:
	Make some changes to Mike Ernst's recent changes will compile using the
	more restrictive IBM xlC compiler.

1999-10-15    <shields@jikes.watson.ibm.com>
	* error.cpp:
	* error.cpp:
	Incorporate changes from Vadim sent in yesterday re ICU.

1999-10-15    <shields@jikes.watson.ibm.com>
	* unparse.cpp:
	Add to source base.

1999-10-15    <shields@jikes.watson.ibm.com>

	* ast.h:
	* decl.cpp:
	* expr.cpp:
	* java.g:
	* symbol.cpp: (look for TODO-ERNST)
	* system.cpp:
	Make changes, in some case commenting out code, or making it
	conditional, so can compile cleanly on Win/NT.

1999-10-15    <shields@jikes.watson.ibm.com>

	* configure.in:
	* configure:
	I have applied Mo's patch to add Cygwin support.

1999-09-15    <shields@jikes.watson.ibm.com>

	* news.htm: revise the 1.05 announce.

1999-09-14    <shields@jikes.watson.ibm.com>

	* news.htm: 1.04 news

1999-10-14    <shields@jikes.watson.ibm.com>

	* Makefile.in:
	* ast.cpp:
	* ast.h:
	* body.cpp:
	* bytecode.cpp:
	* class.h:
	* config.cpp:
	* config.h:
	* control.cpp:
	* control.h:
	* decl.cpp:
	* depend.h:
	* diagnose.cpp:
	* diagnose.h:
	* error.cpp:
	* expr.cpp:
	* java.g:
	* javaact.cpp:
	* long.cpp:
	* lookup.cpp:
	* lookup.h:
	* option.cpp:
	* option.h:
	* parser.h:
	* segment.cpp:
	* semantic.h:
	* stream.cpp:
	* stream.h:
	* symbol.cpp:
	* symbol.h:
	* system.cpp:
	* tuple.h:
	* unparse.cpp: (new)
	* error.h:
	* error.cpp:
	Add substantial patch from Mike Ernst:
	(1) add "unparse" function
	(2) produce many fewer messages when compiling with -Wall option.

1999-09-13    <shields@jikes.watson.ibm.com>

	* jikes.1:
	* jikes.spec:
	Moved here from ./src subdirectory

	* contrib.htm: Fix Peter B' e-mail address.

1999-10-13     <dejong@cs.umn.edu>

	* configure.in:
	Added cygwin build support.

	* config.h, config.cpp:
	Added #if defined(CYGWIN) blocks for wchar functions
	    that are not implemented in cygwin.

1999-10-13    <shields@jikes.watson.ibm.com>

	vz1014: more unicode patches from Vadim, this one should have been
	in 1.07 (it's my fault it wasn't), and is needed to get clean
	compile with ICU enabled.

1999-10-13    <shields@jikes.watson.ibm.com>

	* stream.h: Delete extraneous ",' that causes AIX xlC to complain

	* jikes.cpp:
	Update version to 1.07, and revise descriptive text printed when
	Jikes is invoked with no arguments.

	* expr.cpp:
	* symbol.cpp:
	* symbol.h:
	pc1013b: add infrastructure needed for upcoming revison of access
	functions for protected (Philippe Charles).

	* stream.cpp:
	vz1013a: code from Vadim, who writes:
	Attached is modified version of stream.cpp. It handles very rare
	situation when one code page character could be repesented by more
	that one unicode chars.

	One of situations, when this could happen is when character is
	represented by UNICODE "surrogates"*

	Anyway, even though not tested, I suggest to include this code. It
	will not make current implementation worse (currently it dumps
	core if such character will be used in source).

	* class.h:
	* pc1013b: add code that should have been in pc1013a.

	* ast.cpp:
	* ast.h:
	* body.cpp:
	* bytecode.cpp:
	* bytecode.h:
	* definite.cpp:
	* error.cpp:
	* error.h:
	* expr.cpp:
	* jikes.cpp: (version number, date)
	* symbol.cpp:
	* symbol.h:
	pc1013a: more code from Philippe for unified block stack, and
	also a number of bug fixes (though Philippe forgot to record just
	what was fixed).
	

1999-10-12    <shields@jikes.watson.ibm.com>

	* control.h:
	* jikes.cpp:
	* option.cpp:
	* option.h:
	* system.cpp:
	Add Joe Berkovitz's (joeb@atg.com) classpath search order code, as
	method FindFileBoth in system.cpp. Dave added option +CSO with default
	to maintain current behavior, while selecting the option enables Joes's
	code.

1999-10-11    <shields@jikes.watson.ibm.com>
	* bytecode.cpp:
	* bytecode.h
	* pc1011a, more mods from Philippe for unified block stack.

1999-10-11    <shields@jikes.watson.ibm.com>
	* code.h:
	* stream.cpp:
	* vz1011a: more unicode code from Vadim.

1999-09-10    <shields@jikes.watson.ibm.com>

	* README:
	* contrib.htm:
	* jikes.htm:
	Drop 'Research' from name of project, just 'IBM Jikes' will do.

	* jikes.htm:
	Delete the part about VA Java and other IBM products. That may have
	relevant back in Dec 98 when source first came out, but is no longer
	needed.

	* ChangeLog:
	Start change log for main directory.

1999-10-10    <shields@jikes.watson.ibm.com>

	* option.cpp: Fix compilation error by adding conditional defines
	for ICU

	* stream.cpp:
	Fix typos: TRUE->true, FALSE->false
	
1999-10-10  Dave Shields <shields@watson.ibm.com>
	Incorporate recent changes from Vadim, including some that I forgot
	to include in vz1009a changes. Mark this set vz1010a.

1999-10-08  Vadim Zaliva  <lord@crocodile.org>

	All EBCDIC code removed.
	* stream.cpp (ProcessInput): Tested and now in conformance with JLS.
	* code.h (class Code): aIsAlpha, IsDigit etc, checks now using ICU.

1999-10-07  Vadim Zaliva  <lord@crocodile.org>

	* stream.cpp (ProcessInput): reimplemented to facilitate ICU for
	code page conversion.
	* option.cpp (Option): added test for unsupported encoding end
	error reporting.

1999-10-06  Vadim Zaliva  <lord@crocodile.org>

	* option.h (class Option):
	* option.cpp (Option):
	* config.cpp:
	* jikes.cpp (main): Added -encoding option
	* Makefile.in (LIBS): added LIBS variable to link with extra
	libraries (detected by autoconf).
	* configure.in (LDFLAGS): Added checks for "IBM Classes for
	Unicode" library.

1999-10-09  Dave Shields  <shields@watson.ibm.com>
	* Makefile.in:
	* code.cpp
	* code.h
	* configure.in:
	* depend.cpp:
	* diagnose.cpp:
	* dump.cpp:
	* error.cpp:
	* error.h:
	* option.cpp:
	* option.h:
	* scanner.cpp:
	* stream.cpp:
	* stream.h:
	Merge in some, but not all, of Vadim's recent Unicode work.
	All this code is Vadim's. The working tag is vz1009a.

1999-10-08  Vadim Zaliva  <lord@crocodile.org>

	All EBCEDIC code removed.
	* stream.cpp (ProcessInput): Tested and now in conformance with JLS.
	* code.h (class Code): aIsAlpha, IsDigit etc, checks now using ICU.

1999-10-07  Vadim Zaliva  <lord@crocodile.org>

	* stream.cpp (ProcessInput): reimplemented to facilitate ICU for
	code page conversion.
	* option.cpp (Option): added test for unsupported encoding end
	error reporting.

1999-10-06  Vadim Zaliva  <lord@crocodile.org>

	* option.h (class Option):
	* option.cpp (Option):
	* config.cpp:
	* jikes.cpp (main): Added -encoding option
	* Makefile.in (LIBS): added LIBS variable to link with extra
	libraries (detected by autoconf).
	* configure.in (LDFLAGS): Added checks for "IBM Classes for
	Unicode" library.

1999-10-09    <shields@jikes.watson.ibm.com>

	* ast.cpp:
	* ast.h:
	* bytecode.cpp:
	* bytecode.h:
	* class.h:
	* config.cpp:
	* control.cpp:
	* decl.cpp:
	* definite.cpp:
	* expr.cpp:
	* java.g:
	* javaact.cpp:
	* jikes.cpp:
	* semantic.h:
	* set.h:
	* symbol.h:
	Install Phillipe's current updates as 'pc1009a'. This code fixes a
	known problem in generating the LocalVariableTable, needed for -g, and
	also contains part, but not all, of the changes needed to install a
	unified block stack. This version is known to fail some tests; we are
	working on this.

1999-09-17    <shields@jikes.watson.ibm.com>

	* jikes.cpp:
	Release as version 1.06

	* error.cpp:
	* error.h:
	* option.cpp:
	Disable '++' option due to observed erratic behavior -- will try
	to fix soon.

	* config.cpp:
	* control.cpp:
	* decl.cpp:
	* expr.cpp:
	* getclass.cpp:
	* incrmnt.cpp:
	* jikes.cpp:
	* lookup.cpp:
	* lookup.h:
	* option.cpp:
	* semantic.h:
	* symbol.cpp:
	Fixes for 489, 490, 491.
	Add new option -Xdepend, synomym for -depend.

1999-09-15    <shields@jikes.watson.ibm.com>

	* expr.cpp:
	Fix for Problem Report 483.

	* jikes.cpp:
	Update version number to 1.05, change URLs to devloperworks.

1999-09-14    <shields@jikes.watson.ibm.com>

	* Makefile.in:
	Update install section to use new home for jikes.1

	* bytecode.cpp:
	Fix for Problem Reports 434 and 460 related to
	line-numbers with -g option.

	* jikes.1:
	* jikes.spec:
	Move to parent directory.

	* jikes.1: revise man page.

	* expr.cpp: Fix for Problem Report 465
	* jikes.cpp: Update release date

1999-09-13    <shields@jikes.watson.ibm.com>

	* Makefile.hand:
	Update clause for use with Microsoft Visual C++ (cl) compiler

	* body.cpp:
	* config.cpp:
	* config.h:
	* config.cpp:
	* control.cpp:
	* control.h:
	* error.cpp:
	* error.h:
	* expr.cpp:
	* init.cpp:
	Clean up code for try/catch related to Query #34 to Sun.
	Fixes for problem reports 474, 480.

1999-09-12    <shields@jikes.watson.ibm.com>

	* body.cpp:
	* bytecode.cpp:
	* config.cpp:
	* config.h:
	* control.cpp:
	* control.h:
	* decl.cpp:
	* expr.cpp:
	* jikes.cpp:
	* semantic.h:
	* symbol.cpp:
	* system.cpp:
	Additional code related to PR 484 (array clone() problem), and
	fixes for Problem Reports 459, 469 and 476. Set version to 1.04.

	* diagnose.cpp:
	Add patch from Michael Sinz (Michael.Sinz@sinz.org) to fix error
	in reporting syntax errors when +E in effect.

1999-09-10    <shields@jikes.watson.ibm.com>

	* jikes.cpp:
	* jikes.spec
	Drop 'Research' from project name.

	* news.htm:
	Update for v1.03

1999-09-10    <shields@jikes.watson.ibm.com>

	* bytecode.cpp:
	* config.cpp:
	* config.h:
	* control.cpp:
	* control.h:
	* decl.cpp:
	* error.cpp:
	* expr.cpp:
	* jikes.cpp:
	* system.cpp:
	Misc. bug fixes, including the nasty 484 array clone bug.

1999-09-08    <shields@jikes.watson.ibm.com>

	* expr.cpp: Fix for Problem Report 481.

1999-09-01    <shields@jikes.watson.ibm.com>

	* bytecode.cpp:
	* control.cpp:
	* decl.cpp:
	* getclass.cpp:
	* lookup.cpp:
	* lookup.h:
	* semantic.h:
	* set.cpp:
	* symbol.cpp:
	* symbol.h:
	* system.cpp:
	Fixes for Problem Reports 478, 479, and some misc. changes.

1999-08-26    <shields@jikes.watson.ibm.com>

	* --many --: eliminate trailing blanks.

1999-08-25    <shields@jikes.watson.ibm.com>

	* config.h:
	Add include for <sys/types.h>, as is needed when use stat fields.

	* control.cpp:
	* control.h:
	* expr.cpp:
	* lookup.cpp:
	* lookup.h:
	* symbol.cpp:
	* symbol.h:
	* system.cpp:
	Add changes needed to fix Problem 466, related to handling
	of classpath. This may also clear up some previously reported
	problems in use of -d.

	* configure.in:
	* configure:
	Add patch from Roman Hodek (rnhodek@faui22c.informatik.uni-erlangen.de)
	to support m68k -- all that is needed is to specify -DBIG_ENDIAN.
	This patch picked up via deja.com from a debian mailing list.

1999-08-23    <shields@jikes.watson.ibm.com>

	* README: reflect renaming of (old) Makefile to Makefile.hand.

	* configure.in:
	* Makefile.in:
	Apply patches from Niels Kristian Bech Jensen (nkbj@image.dk)
	to remove version number from Makefile.in and configure.in, and
	to avoid duplicate setting of "-ansi" flag.
	* Makefile.hand:
	Rename Makefile to Makefile.hand so by default there is no
	file named Makefile, as it is generated by running ./configure.
	
	

	* contrib.htm: Fix spelling error in PB's name, add Ernst.
	* news.htm: Include this file in distribution:
	* README: update and rename (was README.TXT)
	* Makefile.in: strip executable when install; also install man page.
	* jikes.1: update version number.
	* jikes.spec: update to include new documentation files.
	* jikes.cpp: Set version number to 1.01, update copyright date.

1999-08-20    <shields@jikes.watson.ibm.com>

	* bytecode.cpp:
	* jikes.cpp:
	* Makefile.in:
	FIx problem that caused javap to list 'null' method.
	Update major version number to 1.
	Add code to install man page.

	* config.cpp:
	* config.h:
	* double.cpp:
	* expr.cpp:
	* long.cpp:
	* long.h:
	More cleanups for 64-bit arithmetic.

1999-08-19    <shields@jikes.watson.ibm.com>

	* ast.cpp:
	* ast.h
	* body.cpp:
	* bytecode.cpp:
	* bytecode.h:
	* config.cpp:
	* config.h:
	* control.cpp:
	* control.h:
	* decl.cpp:
	* definite.cpp:
	* error.cpp:
	* error.h:
	* expr.cpp:
	* java.g:
	* javaact.cpp:
	* jikes.cpp:
	* lookup.cpp:
	* lookup.h:
	* semantic.h:
	* symbol.cpp:
	* symbol.h:
	* system.cpp:
	Change handling of "builtin" procedures so bytecode.cpp no longer
	maintains their signatures, but have the front-end look up any
	needed signatures from the library files. This simplifies code
	generation for string concatenation, etc.

	Add code to special case ++ to use IINC where possible.

	Fix a few bugs.

	* Makefile.in: Fix problem in compiling segment

1999-07-28    <shields@jikes.watson.ibm.com>

	* body.cpp:
	* bytecode.cpp:
	* bytecode.h:
	* definite.cpp:
	* expr.cpp:
	* jikes.cpp:
	Fixes for problems 437, 443, 446, 449, 453, 454, 455, 456.
	Add segment.h and segment.cpp to implement functions to
	avoid duplicate entries in ConstantPool. This for v0.55.

1999-07-27    <shields@jikes.watson.ibm.com>

	* configure.in:
	* configure:
	Applied patch from Moses DeJong:

	Moses DeJong <dejong@cs.umn.edu> on 07/27/99 03:57:26 PM
	To:   jikes-bugs@Watson.IBM.Com
	Subject:  [jikes-bugs] Bug in Jikes configure.in script
	
	It looks like the --with-gas option defined in the configure.in script
	should not be included. It would only work on a MIPS system and there
	is no working gnu assembler on mips right now so there is no reason
	to keep the --with-gas option in the configure.in file. This patch
	removes the unneeded option. The g++ compiler does not even accept
	-mgas as a valid option so if someone gave the --with-gas option
	then jikes would not compile (only the gcc compiler accepts it).
	
	Mo DeJong
	dejong@cs.umn.edu

1999-07-26    <shields@jikes.watson.ibm.com>

	* ast.cpp:
	* bytecode.cpp:
	* bytecode.h:
	* class.h:
	* control.cpp:
	* control.h:
	* definite.cpp:
	* error.cpp:
	* error.h:
	* expr.cpp:
	* getclass.cpp:
	* jikes.cpp:
	* lookup.cpp:
	* semantic.h:
	* set.cpp:
	* symbol.h:
	* table.h:
	More changes for v0.54.

1999-07-14    <shields@jikes.watson.ibm.com>

	* jikes.spec:
	Include jikes.spec provided by
	  Henner Zeller <zeller@stud.fh-heilbronn.de> on 07/06/99
	and used by him to build a RPM file for Jikes Relocatable.
	Also available at http://linux.fh-heilbronn.de/~zeller/download/jikes/

	* configure.in:
	Add patch from Larry Gensch (larry.gensch@digital.com) who wrote:
	Date: Tue, 6 Jul 1999 14:09:30 -0400 (EDT)
	From: larry.gensch@digital.com
	Reply-To: larry.gensch@digital.com
	Subject: Patch for jikes to auto-determine -DTYPE_bool
	To: jikes-bugs@watson.ibm.com

	I've added a test in your configure.in script in jikes-052 to
	auto-detect the presense of the "bool" keyword (ANSI C++).  This was
	necessary for me to get Jikes to compile on Compaq Tru64 Unix
	(prerelease 5.0) with Digital C++ (prerelease 6.2).  What I have done
	here is simply create a one-line test program:

	     bool some_boolean_value = true;

	     And see if the compile is successful or unsuccessful, setting the
	     CCREQUIREDFLAGS variable appropriately.

	     Thus, I can use:

	     CXX=cxx ./configure

	This should work with other platforms supporting the "bool"
	keyword as well, as there is nothing really Compaq-specific in the
	test that I have added.

	Feel free to incorporate this into a future release of Jikes.

1999-07-13    <shields@jikes.watson.ibm.com>

	* bytecode.cpp:
	Revise EmitTryStatement to more closely follow the spec and
	examples in the JVM discussion of code generation. This fixes
	some problems reported with Jikes on Solaris.

1999-07-12    <shields@jikes.watson.ibm.com>

	* body.cpp:
	* bytecode.cpp
	* bytecode.h:
	* class.h:
	* config.cpp:
	* config.h:
	* control.cpp:
	* control.h:
	* decl.cpp:
	* error.cpp:
	* error.h:
	* jikes.cpp:
	* lookup.cpp:
	* lookup.h:
	* symbol.cpp:
	* symbol.h:
	* system.cpp
	Many changes for v0.54, including some bug fixes that required
	substantial changes.

1999-07-06    <shields@jikes.watson.ibm.com>

	* --amost-all-files
	Miscellaneous, and extensive, changes from Philippe, including
	revised grammar. Due to removal of files bool.h and unicode.h, almost
	all files are affected. This revision also includes some fixes and
	clarifications for comments from Michael Ernst
	(mernst@cs.washington.edu)

	* configure.in:
	* Makefile.in:
	* Makefile:
	Add -DBIGENDIAN for HP-UX (change from Kero van Gelder,
	gelderk@natlab.research.philips.com).
	Remove files bool.h and unicode.h.

1999-06-23    <shields@jikes.watson.ibm.com>

	* body.cpp:
	* jikes.cpp:
	* unicode.h:
	Fixes for Problem Report 427. Update build date for v0.53.

1999-06-22    <shields@jikes.watson.ibm.com>

	* bytecode.cpp:
	* class.h:
	* config.cpp:
	* config.h:
	* decl.cpp:
	* dump.cpp:
	* error.cpp:
	* error.h:
	* expr.cpp:
	* getclass.cpp:
	* option.cpp:
	* scanner.cpp:
	* scanner.h:
	* stream.cpp:
	* stream.h:
	* symbol.h:
	Add support for -deprecation option.
	Fix problem that raised assertion if reference to undefined interface.
	Adjust version to 0.53.

1999-06-21    <shields@jikes.watson.ibm.com>

	* configure.in:
	Add code for mips from Henner Zeller (zeller@stud.fh-heilbronn.de).

1999-06-17    <shields@jikes.watson.ibm.com>

	* ast.h:
	* body.cpp
	* decl.cpp:
	* expr.cpp:
	* jikes.cpp:
	* semantic.h:
	More cleanups, complete v0.52 updates

1999-06-16    <shields@jikes.watson.ibm.com>

	* decl.cpp:
	* jikes.cpp:
	* semantic.h:
	More for v0.52, slight cleanup, new build date.

1999-06-15    <shields@jikes.watson.ibm.com>

	* ast.h:
	* body.cpp:
	* bytecode.cpp:
	* control.h:
	* control.cpp:
	* decl.cpp:
	* error.cpp:
	* expr.cpp:
	* getclass.cpp:
	* jikes.cpp:
	* lookup.cpp:
	* semantic.h:
	* set.cpp:
	* set.h:
	* symbol.cpp:
	* symbol.h:
	* system.cpp:
	* table.h:
	* zip.cpp:
	* zip.h:
	Miscellaneous changes from Philippe for v0.52 with several bug fixes.
	
	* config.cpp:
	Add patch from Paul Michael Reilly (pmr@pajato.com) to properly
	set directory permissions when creating a directory.
	
1999-06-03    <shields@jikes.watson.ibm.com>

	* configure.in:
	Add patch from Niels Kristian Bech Jensen (nkbj@image.dk) to use
	the canonical way of looking for the GNU C++ compiler.

1999-05-28    <shields@jikes.watson.ibm.com>

	* symbol.cpp:
	Add version with initialization of 'unit_index'. This should have
	been part of v0.51, but probably no harm since this field only set,
	not yet used.

1999-05-27    <shields@jikes.watson.ibm.com>

	* jikes.cpp:
	Change version info to 0.51, 27 May 99.

	* configure.in:
	* libc5-fix.h (new):
	Include patch from C. Scott Ananian (cananian@lesser-magoo.lcs.mit.edu)
	submitted to jikes-patches on 3 April 1999, who wrote:
	  The following short patch using autoconf lets jikes build properly on
	  libc5 systems -- or others where wchar.h is broken.  This has
	  allowed me to release RPMs of jikes for RedHat 4.2 and earlier
	  linux systems.

	* jikes.1:
	Start man page, first draft generously provided by Pierpaolo
	Fumagili (p_fumagili@fumagili.com).

	* ast.cpp:
	* ast.h:
	* body.cpp:
	* bytecode.cpp:
	* config.cpp:
	* config.h:
	* control.cpp:
	* decl.cpp:
	* depend.cpp:
	* error.cpp:
	* error.h:
	* incrmnt.cpp:
	* option.cpp:
	* semantic.h:
	* symbol.h:
	Miscellaneous edits, including:
	more source cleanup related to switch statements,
	new error message if can't find zip/jar file,
	fix for problems handling/parsing options,
	fix for problem in booleans in constant-folding code added in 0.50,
	move template definitions to avoid complains from some compilers.
	

1999-05-07    <shields@jikes.watson.ibm.com>

	* ast.cpp:
	* ast.h:
	* Fix problem due to ill-formed assert
	* body.cpp:
	* bytecode.cpp:
	* bytecode.h:
	* Clean up for code generation for switch statements
	* jikes.cpp:
	* Update version and date

1999-05-05    <shields@jikes.watson.ibm.com>

	* ast.cpp:
	* ast.h:
	* body.cpp:
	* bytecode.cpp:
	* bytecode.h:
	* class.h:
	* code.h:
	* config.cpp:
	* config.h:
	* control.cpp:
	* decl.cpp:
	* definite.cpp:
	* depend.cpp:
	* diagnose.cpp:
	* error.cpp:
	* error.h:
	* expr.cpp:
	* getclass.cpp:
	* java.g:
	* javaact.cpp:
	* jikes.cpp:
	* lookup.cpp:
	* op.cpp:
	* op.h:
	* option.cpp:
	* option.h:
	* parser.cpp:
	* semantic.h:
	* set.h:
	* stream.cpp:
	* stream.h:
	* symbol.cpp:
	* symbol.h:
	* system.cpp:
	* tuple.h:
	* unicode.h:
	* zip.cpp:
	Carry out major "spring cleaning", mainly to provide a cleaner
	interface between front-end and code generator, as the code
	generator was recomputing some information known to the front-end.

1999-04-20    <shields@jikes.watson.ibm.com>

	* bytecode.h:
	* bytecode.cpp
	* miscellaneous source cleanup

1999-04-16    <shields@jikes.watson.ibm.com>

	* jikes.cpp:
	* bytecode.cpp
	* fix problem calling private method from inner class
	* update version number to v0.49

1999-04-12    <shields@jikes.watson.ibm.com>

	* stream.cpp:
	* Mask on input to avoid problems on systems where whcar_t is
	* not unsigned 16 bit type.

	* bytecode.cpp:
	* bytecode.h:
	* Revise to use static methods to update private fields of
	* enclosing parent class.

	* jikes.cpp:
	* Update version number and date.

	* ast.cpp:
	* body.cpp:
	* decl.cpp
	* depend.cpp
	* diagnose.cpp
	* dump.cpp
	* error.cpp
	* error.h
	* modifier.cpp
	* stream.h
	* Rename Name to NameString

1999-04-05    <shields@jikes.watson.ibm.com>

	* gencode.java:
	* code.cpp
	* code.h
	* Add gencode.java and use it to generate code.h and code.cpp, so
	* that Jikes uses the same classification of Unicode characters
	* as the reference JVM (Sun's 1.2 JVM).

1999-03-24    <shields@jikes.watson.ibm.com>

	* access.h
	* ast.cpp
	* ast.h
	* body.cpp
	* bool.h
	* bytecode.cpp
	* config.cpp
	* config.h
	* control.cpp
	* control.h
	* decl.cpp
	* depend.cpp
	* depend.h
	* error.cpp
	* error.h
	* expr.cpp
	* incrmnt.cpp
	* jikes.cpp:
	* scanner.cpp
	* semantic.h
	* stream.cpp
	* symbol.cpp
	* symbol.h
	* table.h
	Bug fixes.
	Generate static access methods for accessing private enclosed members.
	Process private constructors in inner classes.
	Implement +M=file to report raw dependence information.
	Add full checking to make sure that Synthetic members are never
	illegally accessed.

1999-03-22    <shields@jikes.watson.ibm.com>

	* yet more change for the sake of change...
	This text added just to test cvs_jikes feature

1999-03-12    <shields@jikes.watson.ibm.com>

	* Add minor change here to provide sample commit for
	Ken Coar to use at test for cvs mailer facility.

1999-03-10    <shields@jikes.watson.ibm.com>

	* configure.in:
	* configure
	Add change for FreeBSD to add -DIEEE_DIV_0,
	provided by Archie Cobbs (archie@whistle.com)

	* bytecode.cpp:
	* bytecode.h:
	* control.cpp:
	* definite.cpp
	* depend.cpp
	* depend.h
	* error.cpp
	* incrmnt.cpp
	* jikes.cpp: now version v0.47
	* option.cpp
	* option.h
	* semantic.h
	Code from Philippe to: fix some bugs in v0.46, and
	add option +M=filename to write dependence info
	(this is really early stuff, and format may change soon).

1999-03-09    <shields@jikes.watson.ibm.com>

	* jikes.cpp: Update release date

	* Makefile.in:
	* configure
	* configure.in
	Add first cut at autoconf support,
	courtesy of Moses DeJong (dejong@cs.umn.edu)

	* Makefile: Comment out all clauses as suggested by many users

	* README.TXT: Add short description of build process

1999-03-08    <shields@jikes.watson.ibm.com>

	* java.g:
	* access.h
	* ast.h
	* body.cpp
	* bytecode.cpp
	* bytecode.h
	* config.cpp
	* config.h
	* decl.cpp
	* definite.cpp
	* error.cpp
	* error.h
	* expr.cpp
	* getclass.cpp
	* jikes.cpp
	* modifier.cpp
	* stream.cpp
	* symbol.cpp
	* symbol.h
	More changes for 1.2, including strictfp,
	various bug fixes from Philippe

1999-02-26    <shields@jikes.watson.ibm.com>

	* jikes.cpp: Update release date

	* decl.cpp: Fix for Problem Report 363
	* error.cpp:
	* expr.cpp:
	Misc. changes, some based on recent notes from Roly

1999-02-25    <shields@jikes.watson.ibm.com>

	* spell.h: Fix problems that caused g++ to complain

	* javadcl.h:
	* javadef.h
	* javaprs.h
	* javasym.h
	* javaact.cpp
	* javaact.h
	Make spurious edit (add a blank near top) just to update date
	of these files so jikespg won't be run on normal build.
	
	* Makefile: Add IRIX/gcc clause from Moses DeJong (dejong@cs.umn.edu)

1999-02-24    <shields@jikes.watson.ibm.com>

	* jikes.cpp (main): update version number to v0.45

	* Makefile: Add info for new file misspell.h
	
	* decl.cpp:
	* diagnose.cpp
	* error.h
	* error.cpp
	* expr.cpp
	* modifier.cpp
	* semantic.h
	* symbol.h
	* symbol.cpp:
	Misc. bug fixes, better error messages re possible misspellings
	
1999-02-19    <shields@jikes.watson.ibm.com>

	* body.cpp:
	* config.cpp:
	* config.h
	* decl.cpp:
	* error.cpp
	* error.h
	* expr.cpp:
	* jikes.cpp:
	* option.cpp:
	Fix "swing" problem related to Section 14 of JDK 1.2 Compatibility
	document, some other bug fixes, revise layout of option descriptions.

	

1999-02-17    <shields@jikes.watson.ibm.com>

	* Makefile:
	Add clause for HP-UX/gcc contributed by Kero van Gelder
	(gelderk@natlab.research.philips.com).

	* double.cpp (IEEEfloat):
	Merge in code from BSD group to emulate division by zero,
	(using conditional symbol IEEE_DIV_0) contributed by
	Amancio Hasty (hasty@rah.star-gate.com).

	* bytecode.cpp:
	fix pr 350 (cute bug!)

1999-02-16    <shields@jikes.watson.ibm.com>

	* Makefile:
	Add support for tab.cpp added in v0.43

	* semantic.h: fix problem in abstract
	* decl.cpp:

	* expr.cpp:
	fix problem with shift if right operand long

	* option.h:
	* option.cpp:
	* jikes.cpp:
	* getclass.cpp
	drop +$ option, change +V to +P

	* bytecode.cpp:
	delete code causing problems with abstract

1999-02-12    <shields@jikes.watson.ibm.com>

	* jikes.cpp: Update release date

	* bytecode.cpp:
	* expr.cpp:
	* control.h: add support for null literal
	
	* Makefile:
	* Files lcase.h and lcase.cpp no longer needed

1999-02-11    <shields@jikes.watson.ibm.com>

	* Makefile:
	Add clause for egcs, RH 5.*, courtesy of Vadim Zaliva
	Also add CVS Id

1999-02-10    <shields@jikes.watson.ibm.com>

	* Makefile:
	Add clause for gcc and Solaris based on e-mail from Phil Brown
	(phil@bolthole.com).
	
	* decl.cpp:
	* error.cpp:
	* error.h:
	Revise to reflect clarification of term "package-private", raised
	as Query #20 to Sun.
	
	* jikes.cpp:
	Update release date

	* long.cpp (LongInt):
	Add patch from Stepan Sokolov (sts@crocodile.org) to avoid
	"internal compiler errors" while compiling jikes with gcc-2.8.1
	under solaris 2.6. The patch replace three return
	statements with ternary expressions with ifs statements
	containg the expansion of the ternary expression into a form
	more acceptable to the compiler.

1999-02-09    <shields@jikes.watson.ibm.com>

	* ast.h:
	* body.cpp:
	* bytecode.cpp:
	* decl.cpp:
	* error.cpp:
	* error.h:
	* expr.cpp:
	* java.g:
	* javaact.cpp:
	* javaact.h:
	* javadcl.h:
	* javadef.h:
	* javasym.h:
	* lookup.cpp:
	* lookup.h:
	* scanner.cpp:
	* semantic.h:
	* symbol.cpp:
	Much new code from Philippe to support more of the new
	features added in 1.2,  fix regression bugs from v0.42
	for clone() and problem with 'protected' caused by too
	literal reading of 6.6.2 (fourth bullet that says
	'or subclass of S' should be 'or superclass of S').

1999-02-08    <shields@jikes.watson.ibm.com>

	* config.cpp: changes for OS/2 from John Price, jgprice@ozemail.com.au

1999-02-03    <shields@jikes.watson.ibm.com>

	* bytecode.cpp:
	Include fix by C. Scott Ananian (cananian@mit.edu), 8 Dec 98, for
	array clone() problem (PR 294). Note this patch was submitted just
	over a day after the source was first posted. Well done Scott!

	* Makefile:
	Add clause for Sun Solaris CC (SunOS), provided by
	mo dejong (dejong at cs.umn.edu), 2 Feb 1999

1999-02-02    <shields@jikes.watson.ibm.com>

	* symbol.h (class MethodSymbol):
	Delete \" construct that causes MS C++ compiler to burp
	Delete extraneous "Open" in license header text.

1999-02-01    <shields@jikes.watson.ibm.com>

	* decl.cpp: fix for pr335 - don't propagate FINAL to method
	* symbol.cpp: "
	* symbol.h: "
	* have also included misc. bug fixes from PC today

1999-01-25    <shields@jikes.watson.ibm.com>

	* Change header text to reflect license revision

1999-01-13    <shields@jikes.watson.ibm.com>

	* Add Id keyword at start of source files
