
2002-11-23  Rhys Weatherley  <rweather@southern-storm.com.au>

	* engine/verify_call.c: fix the verification of tail calls to
	use the correct length of the "call" instruction.

	* libffi/src/types.c: add type size and alignment information
	for the IA64 architecture.

	* engine/lib_socket.c: add the "volatile" keyword to chosen places
	in the "HostToNetworkOrder" functions to prevent gcc optimizing away
	important code that is needed for the conversion.

	* NEWS, configure.in: update version for the "0.4.8" release.

2002-11-22  Gopal.V  <gopalv82@symonds.net>

	* engine/lib_regexp.c, support/regexp.c, support/Makefile.am,
	engine/Makefile.am, configure.in, engine/int_proto.h,
	engine/int_table.c: Added basic regexp support to the engine.

	* engine/lib_dir.c, engine/int_table.c: Rename Platform.FileInfo to 
	Platform.InternalFileInfo.

	* engine/lib_dir.c: Fix an entry I missed the last time.

2002-11-22  Rhys Weatherley  <rweather@southern-storm.com.au>

	* engine/Makefile.am, ildb/Makefile.am, ilnative/Makefile.am,
	tests/Makefile.am: add $REGEXLIBS to makefiles that require it.

	* include/il_config.h.in: update "il_config.h.in" using the
	latest "configure.in".

	* samples/I18N.CJK.dll, samples/I18N.MidEast.dll,
	samples/I18N.Other.dll, samples/I18N.Rare.dll,
	samples/I18N.West.dll, samples/I18N.dll,
	samples/System.Xml.dll, samples/System.dll,
	samples/mscorlib.dll: update all assemblies from pnetlib.

	* doc/pnet_faq.html: update the FAQ.

	* samples/README.mscorlib: remove the reference to Microsoft's C#
	compiler, because we don't need it any more.

	* support/regexp.c: make sure that <sys/types.h> is included
	before <regex.h>, as BSD systems require it to be present.

	* csunit/Makefile.in: remove a file that shouldn't be in CVS.

	* ildb/ildb_context.c, ildb/ildb_context.h, ildb/ildb_list.c,
	ildb/ildb_search.c, ildb/ildb_source.c, ildb/ildb_source.h:
	load source files correctly into the debugger; use EXINIT for
	the tab stop specification in "list" commands.

2002-11-21  Gopal.V  <gopalv82@symonds.net>
	
	* codegen/cg_arith.tc, cscc/csharp/cs_oper.tc: Move the reduction in
	strength operations from semanalysis to codegen .

2002-11-21  Rhys Weatherley  <rweather@southern-storm.com.au>

	* codegen/cg_misc.tc, codegen/cg_nodes.tc, codegen/jv_misc.tc,
	cscc/c/c_stubs.tc, cscc/csharp/cs_lvalue.tc, cscc/csharp/cs_oper.tc:
	replace calls to "Array.get_Length" with "ldlen" on simple arrays.

	* support/spawn.c (ILSpawnProcess): use "execvp" instead of "execv"
	to ensure that PATH is searched when launching programs from csant.

	* cscc/csharp/cs_grammar.y: prevent an infinite error recovery
	loop if the programmer writes "namespace XXX }" instead of
	"namespace { XXX }".

	* engine/int_proto.h, engine/int_table.c: update the internalcall
	tables from pnetlib.

	* cscc/c/c_library.c, cscc/c/c_types.c, cscc/csharp/cs_grammar.y:
	remove the obsolete "IL_META_TYPEDEF_VALUE_TYPE" flag from struct
	types in the compiler.

	* cscc/csharp/cs_gather.c: interface overrides must be "final"
	if they aren't "virtual".

	* cscc/csharp/cs_gather.c: fully qualify explicit interface
	override names.

	* csdoc/doc_valil.c: recognise the name forms of "AttributeTargets"
	enum values to reduce the number of erroneous "AttributeUsage" reports.

	* csdoc/doc_valil.c: handle references to attributes in foreign
	assemblies.

	* image/lib_attrs.c: recognise the "Serializable" and "NonSerialized"
	attributes as builtin library attributes.

	* image/lib_attrs.c: remove "IndexerName" from the underlying
	assembly because it isn't supposed to exist outside the compiler.

	* codegen/cg_library.c, codegen/cg_nodes.tc, cscc/csharp/cs_attrs.c,
	cscc/csharp/cs_decls.tc, cscc/csharp/cs_gather.c,
	cscc/csharp/cs_internal.h: add the "DefaultMember" attribute to
	classes that have indexers.

	* samples/I18N.CJK.dll, samples/I18N.MidEast.dll,
	samples/I18N.Other.dll, samples/I18N.Rare.dll,
	samples/I18N.West.dll, samples/I18N.dll,
	samples/System.Xml.dll, samples/System.dll,
	samples/mscorlib.dll: check in the cscc-compiled version of pnetlib.

2002-11-20  Gopal.V  <gopalv82@symonds.net>

	* codegen/cg_gen.h, cscc/common/cc_options.c, cscc/common/cc_main.c,
	cscc/csharp/cs_oper.tc: Implement a simple optimization for reducing
	multiply and divide operations with shift operations.

2002-11-19  Rhys Weatherley  <rweather@southern-storm.com.au>

	* cscc/csharp/cs_invoke.tc: improve the error message that results
	when a base/this constructor call cannot be resolved.

	* samples/I18N.CJK.dll, samples/I18N.MidEast.dll,
	samples/I18N.Other.dll, samples/I18N.Rare.dll,
	samples/I18N.West.dll, samples/I18N.dll, samples/System.Xml.dll,
	samples/System.dll, samples/mscorlib.dll: update all assemblies
	from pnetlib.

	* codegen/cg_arith.tc: use "rem.un" to modulus unsigned integer types.

	* csunit/Makefile.am, csunit/Makefile.in, csunit/NUnitEmulation.cs,
	csunit/TestCase.cs: emulate some of the NUnit test API within csunit
	so that is is easier to integrate foreign NUnit tests into pnetlib.

2002-11-19  Gopal.V  <gopalv82@symonds.net>

	* cscc/csharp/cs_oper.tc: Add a number of linenum & filename copies
	for node replacements to restore sanity to error messages.

	* cscc/csharp/cs_semantics.tc: Use ILNode_SemAnalysisType for the
	CSSemType operation.

	* codegen/cg_coerce.c: Implement explicit multiple conversions using
	GetIndirectConvertRules and remove explicit flag from sub-conversions.

	* codegen/cg_coerce.c: Add extra cases of compatible conversions, with
	explicit conversions .

	* cscc/csharp/cs_lvalue.tc: disable error reporting if 
	ILNode_SemAnalysisType fails.

2002-11-18  Robert Hwang <hwang_rob@yahoo.ca>

	* image/member.c, image/class.c, include/il_program.h: a patch to allow
	nested class to access protected members in base class of containing 
	class.(Gopal)

2002-11-16  Jonathan Springer  <jonathan.springer@verizon.net>

	* codegen/cg_nodes.tc, cscc/csharp/cs_decls.tc: Break out static
	constructor processing to ensure processing in textual order is
	maintained.  (Cause of bug #1665 -- Closed.)

2002-11-17  Gopal.V  <gopalv82@symonds.net>
	
	* engine/engine.h, engine/internal.c, engine/process.c, include/il_engine.h
	,engine/convert.c: Enable addition of external internal calls as process
	locals.

	* codegen/cg_optable.c: Override numeric type promotion for boolean data
	types.

	* codegen/cg_scope.c: A split in the scope tree for aliases are added .

2002-11-16  Gopal.V  <gopalv82@symonds.net>

	* cscc/csharp/cs_oper.tc: Correct a minor fix in coercion of the 
	argument parameters.

	* codegen/cg_coerce.c, codegen/cg_coerce.h, codegen/cg_resolve.c, 
	cscc/csharp/cs_gather.c, cscc/csharp/cs_oper.tc, cscc/csharp/cs_stmt.tc:
	Allow for multiple step coercions with user defined operators.

	* cscc/csharp/cs_gather.c, codegen/cg_scope.c, codegen/cg_scope.h:
	Fix the scope of aliases so that cscctest gives the correct error
	messages.

	* codegen/cg_coerce.c, codegen/cg_coerce.h, cscc/c/c_invoke.tc,
	cscc/csharp/cs_attrs.c,cscc/csharp/cs_cast.tc, cscc/csharp/cs_invoke.tc,
	cscc/csharp/cs_lvalue.tc, cscc/csharp/cs_misc.tc, cscc/csharp/cs_stmt.tc:
	Protect ILCoerce indirect mode from going into an infinite loop.

	* codegen/cg_resolve.c, cscc/csharp/cs_oper.tc, cscc/csharp/cs_decls.tc:
	Correct the remaining ILCoerce declarations as well.
	
	* codegen/cg_coerce.c: Allow indirect coercions only when we are checking
	for user defined operators.

	* cscc/csharp/cs_grammar.y: Inherit the local scope to namespaces declared
	inside a compilation unit.
	
	* codegen/cg_scope.c: Fix circularity bug in resolving namespaces by
	merging the using namespace and using alias scopes into a single scope.
	
	* codegen/cg_scope.c: Correct the last checkin , the circularity bug
	was not actually fixed for all cases.
	
2002-11-15  Gopal.V  <gopalv82@symonds.net>

	* cscc/csharp/cs_lvalue.tc, codegen/cg_scope.c, codegen/cg_scope.h,
	cscc/csharp/cs_grammar.y, cscc/csharp/cs_lookup.c, 
	cscc/csharp/cs_internal.h, cscc/csharp/cs_defs.tc:	Rework the 
	UsingAlias code to simplify alias lookups and straighten out the
	alias substitutions to operate at lowest priority.
	
	* cscc/csharp/cs_lvalue.tc, codegen/cg_scope.c, cscc/csharp/cs_grammar.y, 
	cscc/csharp/cs_lookup.c, codegen/cg_scope.h, cscc/csharp/cs_internal.h, 
	cscc/csharp/cs_defs.tc: Create a seperate localScope for looking up 
	aliases so that they do not spillover to other files.


2002-11-15  Rhys Weatherley  <rweather@southern-storm.com.au>

	* codegen/cg_misc.tc, cscc/csharp/cs_invoke.tc, engine/cvmc.c,
	engine/cvmc_call.c, engine/null_coder.c, engine/verify_call.c,
	include/il_coder.h: use "callvirt" instead of "call" to call
	non-virtual instance methods, so that runtime null pointer
	checks happen automatically.

	* samples/I18N.CJK.dll, samples/I18N.MidEast.dll,
	samples/I18N.Other.dll, samples/I18N.Rare.dll,
	samples/I18N.West.dll, samples/I18N.dll,
	samples/System.Xml.dll, samples/System.dll,
	samples/mscorlib.dll: update the compiled version of all assemblies.

2002-11-14  Gopal.V  <gopalv82@symonds.net>
	
	* cscc/csharp/cs_oper.tc: Do parameter coercion for UserBinary
	operators.

	* engine/verify_ptr.c: Fix verification of stobj instruction so
	that MS compiled System.dll verifies.

2002-11-14  Rhys Weatherley  <rweather@southern-storm.com.au>

	* engine/int_proto.h, engine/int_table.c, engine/lib_encoding.c,
	include/il_utils.h, samples/mscorlib.dll, support/locale.c:
	integrate the culture-determination code.

	* samples/mscorlib.dll, samples/I18N.dll: updated version with
	the latest culture support.

	* samples/mscorlib.dll: fix for "String.Equals(String)".

2002-11-13  Gopal.V  <gopalv82@symonds.net>

	* cscc/csharp/cs_grammar.y: generate a warning when a no-body
	non-extern constructor is encountered.

	* csdoc/doc_stub.c: fix a long outstanding bug concerning default
	output paths.

	* cscc/csharp/cs_gather.c: Rename attribute definitions to force the
	"Attribute" suffix .

	* codegen/cg_cast.tc: Add a do-nothing case to handle ManagedValues
	to Objects (Structs -> Objects).

	* codegen/cg_nodes.tc, cscc/csharp/cs_stmt.tc, codegen/cg_stmt.tc,
	codegen/cg_misc.tc: Replace ILGenCast with ILGenPrepareForThisAccess
	for GetEnumerator calls.

2002-11-11  Jonathan Springer <jonathan.springer@verizon.net>

	* engine/lib_string.c: Corrected some exception handling to follow ECMA
	spec more closely.
	
2002-11-12  Gopal.V  <gopalv82@symonds.net>
	
	* cscc/csharp/cs_grammar.y, cscc/csharp/cs_invoke.tc: add support for
	indexers supporting variable number of parameters (params).

	* cscc/csharp/cs_invoke.tc: handle null args for params methods by
	passing null directly instead of wrapping in an array.

2002-11-10  Jonathan Springer <jonathan.springer@verizon.net>

	* engine/lib_string.c:  Fix small bug affecting StringBuilder.Insert().

2002-11-09  Jonathan Springer <jonathan.springer@verizon.net>

	* codegen/cg_lvalue.c, cscc/csharp/cs_internal.h, cscc/csharp/cs_lookup.c,
	cscc/csharp/cs_lvalue.tc: now accepts types such as 
	'System.Net.Dns' even if 'System.Net' isn't a "using" namespace.  Keep an
	eye on this one -- cscctest works but there may be subtle consequences.

	* cscc/csharp/cs_cast.tc, cscc/csharp/cs_const.tc,
	cscc/csharp/cs_decls.tc, cscc/csharp/cs_invoke.tc,
	cscc/csharp/cs_lvalue.tc, cscc/csharp/cs_misc.tc, cscc/csharp/cs_oper.tc,
	cscc/csharp/cs_semantics.tc, cscc/csharp/cs_stmt.tc,
	cscc/cshart/cs_types.tc:  On Rhys advice, define ILSemAnalysisType(ILNode)
	and remove the plethora of stub definitions that had been in place.
	
2002-11-09  Gopal.V  <gopalv82@symonds.net>

	* support/dir.c: commit fix to prevent readdir_r from choking at
	the end of directory.

2002-11-09  Rhys Weatherley  <rweather@southern-storm.com.au>

	* cscc/csharp/cs_internal.h, cscc/csharp/cs_invoke.tc,
	cscc/csharp/cs_lookup.c: when a candidate method is found in a child
	class, ignore all candidates in the parent, even if the parent
	candidates are "better".

2002-11-08  Gopal.V  <gopalv82@symonds.net>

	* cscc/csharp/cs_stmt.tc: Allow 'foreach' even if they do not implement
	IEnumerable.

	* cscc/csharp/cs_oper.tc: Perform constant coercion before operator 
	lookup for arithmetic operations. 
	
	* cscc/csharp/cs_oper.tc: Remove constant coercion for ">>" and
	"<<" operators.

2002-11-07  Rhys Weatherley  <rweather@southern-storm.com.au>

	* engine/lib_gc.c: remove all class checks from GC.SuppressFinalize
	and GC.ReRegisterForFinalize, to be consistent with other CLR
	implementations.

	* samples/System.dll: add extra collection classes.

	* samples/mscorlib.dll: add a number of non-ECMA reflection attributes.

	* support/dir.c: remove an outstanding reference to "d_type".

2002-11-06  Gopal.V  <gopalv82@symonds.net>
	
	* engine/lib_gc.c: Allow inherited methods to invoke GC.SuppressFinalize
	on instances . (Replace '==' with ILClassInheritsFrom)

	* codegen/cg_misc.tc: a patch for ObjectCreationExpression to generate 
	the original ILMachineTypes instead of _MV or _O .

2002-11-06  Rhys Weatherley  <rweather@southern-storm.com.au>

	* codegen/cg_stmt.tc (ILNode_Try): make sure that the finally
	block's try range covers the catch clauses.

	* cscc/csharp/cs_modifiers.c (ValidateCalling): report an error
	if a virtual or abstract method is declared private.

	* cscc/c/c_defs.tc, cscc/c/c_lvalue.tc, cscc/c/c_oper.tc:
	fix the use of "&" on arrays.

	* engine/ilrun.c: report a better message than "virtual memory
	exhausted" when an exception occurs that cannot be converted
	into a string for some reason.

	* image/class.c, image/image.h, image/synthetic.c: convert
	non-array types such as pointer and byref types into synthetic
	classes, so that they can be encapsulated during reflection.

	* engine/lib_type.c (GetTypeName): build the correct name
	for pointer, reference, and custom-modified types.

	* include/il_system.h, engine/time.c: change the prototypes for
	"ILCLIToUnixTime" and "ILUnixToCLITime" so that they don't
	rely upon "time_t" for their definition.

	* engine/lib_dir.c, include/il_sysio.h, support/dir.c:
	make the directory scanning routines more opaque and handle
	platforms that don't have "d_type".

	* samples/I18N.CJK.dll, samples/I18N.MidEast.dll,
	samples/I18N.Other.dll, samples/I18N.Rare.dll,
	samples/I18N.West.dll, samples/I18N.dll,
	samples/System.Xml.dll, samples/System.dll,
	samples/mscorlib.dll: update all assemblies from pnetlib, with
	the reflection ToString and I18N patches.

	* engine/lib_type.c (ResolveAssembly): resolve explicit assembly
	names that are used with "Type.GetType".

	* samples/mscorlib.dll: fix to "Activator.CreateInstance".

2002-11-05  Gopal.V  <gopalv82@symonds.net>

	* cscc/csharp/cs_grammar.y: Fix the indexername returned , using
	an ILInternString of the variable name value.

2002-11-05  Robert Hwang <hwang_rob@yahoo.ca>

	* cscc/csharp/cs_oper.tc: fix the CoerceArrayInit to conduct
	coercion on the *parent obtained from SemAnalysis . (Gopal).

2002-11-05  Rhys Weatherley  <rweather@southern-storm.com.au>

	* codegen/cg_gen.c, cscc/csharp/cs_gather.c: fix an order of
	compilation problem in "mscorlib.dll" with "params" parameters.

	* codegen/jv_assign.tc: remove obsolete function.

	* cscc/csharp/cs_semvalue.h: clean up the list of semantic kinds.

	* samples/I18N.CJK.dll, samples/I18N.MidEast.dll,
	samples/I18N.Other.dll, samples/I18N.Rare.dll,
	samples/I18N.West.dll, samples/I18N.dll,
	samples/System.Xml.dll, samples/System.dll, samples/mscorlib.dll:
	update all assemblies from pnetlib.

	* engine/int_proto.h, engine/int_table.c: update the internalcall
	tables from the latest mscorlib.dll.

	* support/numformat.c: make sure that "il_config.h" is included
	to define HAVE_SNPRINTF.

	* NEWS, configure.in: update version for the "0.4.6" release.

	* configure.in: update working version to "0.4.7".

2002-11-03  Richard Baumann <biochem333@nyc.rr.com>
	
	* support/numformat.c, support/Makefile.am, include/il_utils.h: Add an
	ILFormatReal for number formatting.

	* configure.in, include/il_config.h.in: Checks for `sprintf' used in
	number formatting.
	
	* engine/lib_numformat.c, engine/Makefile.am: Add icalls needed for
	System.Private.NumberFormatter.

	* engine/internal.c, engine/int_table.c, engine/int_proto.h: Entries
	into the correct tables for internal calls.

2002-11-03  Robert Hwang <hwang_rob@yahoo.ca>
	
	* codegen/cg_cast.tc: fix typo in ILGenCastConst for casts tp
	Float64

2002-11-03  Gopal.V  <gopalv82@symonds.net>

	* codegen/cg_nodes.tc, codegen/cg_lvalue.tc, cscc/csharp/cs_lvalue.tc:
	Enable base access for properties by adding a baseCall variable to
	ILNode_MemberProperty

	* cscc/csharp/cs_grammar.y: process IndexerName attribute for indexers
	before starting the TypeGather phase. (hack)

	* cscc/csharp/cs_grammar.y: Fix error in previous commit for and 
	support a prefix for an indexer for implementing an	interface 
	indexer.

2002-11-03  Rhys Weatherley  <rweather@southern-storm.com.au>

	* support/Makefile.am: add missing "queue.c" to Makefile.am.

2002-11-02  Charles Schuller  <kyeran@hermes-solutions.biz>

	* support/queue.c, include/il_utils.h, support/Makefile.am: add a 
	queue implementation using linked lists (commit by Gopal)

	* engine/lib_dir.c, support/dir.c: make the readdir_r syscall
	work by removing repeated calls by using a queue 

	* include/il_sysio.h: remove the void* catch all typedef to make
	the errors in porting more visible.

2002-11-01  Gopal.V  <gopalv82@symonds.net>

	* codegen/cg_arith.tc: prevent ILNativeFloat from generating
	add.ovf,mul.ovf or sub.ovf instructions in checked mode.

	* codegen/cg_optable.c, codegen/cg_coerce.c, codegen/cg_coerce.h: 
	add an unsafe mode to conversions and implement conversions from
	`void*' to int and long types.

2002-10-31  Sylvain Pasche <sylvain_pasche@yahoo.fr>
	
	* codegen/jv_output.c,ilasm/ilasm_grammar.y, ilasm/ilasm_output.c, 
	ilasm/ilasm_output.h, ilasm/ilasm_scanner.l, image/java_writer.c,
	include/il_writer.h: Support for Exceptions , some todos, typos
	and documentation for the JVM assembler. (commited by Gopal) 
	
2002-10-31  Rhys Weatherley  <rweather@southern-storm.com.au>

	* cscc/csharp/cs_scanner.l (ParseEncodedChar): advance the "text"
	pointer when reading UTF-8 characters from the source.

2002-10-31  Gopal.V  <gopalv82@symonds.net>

	* codegen/cg_misc.tc: Generate addresses instead of values while
	unboxing basic valuetypes. (stloc.0,ldloca.s 0)

	* codegen/cg_misc.tc: Rearrange code in previous commit from 
	ILNode_Unbox to ILGenPrepareThisForAccess.

2002-10-30  Robert Hwang <hwang_rob@yahoo.ca>

	* cscc/cshar/cs_decls.tc: Fix enum bug by saving and restoring 
	the info->currentMethod	for each ClassDefn .

2002-10-28  Gopal.V  <gopalv82@symonds.net>

	* cscc/csharp/cs_cast.tc: Use ILNode_SemAnalysisType for the
	UserCast expression as well.
	
2002-10-27  Jonathan Springer  <jonathan.springer@verizon.net>
	* cscc/csharp/cs_oper.tc, cscc/csharp/cs_types.tc:  Add coercion of
	constants to unsigned for assignment operators (e.g. '+=').  Extend
	Type Semantics to array creation NewExpressions.

2002-10-27  Jonathan Springer  <jonathan.springer@verizon.net>
	* codegen/cg_gen.c, codegen/cg_gen.h, cscc/csharp/cs_cast.tc,
	cscc/csharp/cs_const.tc, cscc/csharp/cs_decls.tc, 
	cscc/csharp/cs_internal.h, cscc/csharp/cs_invoke.tc
	cscc/csharp/cs_lookup.c, cscc/csharp/cs_lvalue.tc, cscc/csharp/cs_misc.tc,
	cscc/csharp/cs_oper.tc, cscc/csharp/cs_semantics.tc,
	cscc/csharp/cs_stmt.tc, cscc/csharp/cs_types.tc:
	Fixed Gopal's infamous 'class Foo {...} ... int Foo; Foo.Bar()' bug.
	Also removed the state introduced a few corrections back in favor of
	a new method 'ILNode_SemAnalysisType'.  Most of the files modified are
	to add default implementations of 'ILNode_SemAnalysisType'.

2002-10-27  Gopal.V  <gopalv82@symonds.net>

	* cscc/csharp/cs_lookup.c: Add members of 'Object' to all
	lookups in interface instances.

2002-10-27  Richard Baumann <biochem333@nyc.rr.com>

	* support/time.c: fixed a bug in ILGetTimeZoneAdjust. An
	hour was being added to the west-of-gmt offset instead of
	subtracted, when dst is in effect.

2002-10-26  Jonathan Springer <jonathan.springer@verizon.net>

	* codegen/cg_gen.c, codegen/cg_gen.h, cscc/csharp/cs_internal.h,
	cscc/csharp/cs_invoke.tc, cscc/csharp/cs_lookup.c,
	cscc/csharp/cs_lvalue.tc, cscc/csharp/cs_semantics.tc,
	cscc/csharp/cs_stmt.tc:  Add a state to the compiler so it knows
	when the identifiers being parsed should resolve to a type and
	acts appropriately.

2002-10-27  Gopal.V  <gopalv82@symonds.net>

	* cscc/csharp/cs_oper.tc: Coercion of constants in arithmetic
	expressions. (ie 0 will match ulong in arithmetic operations).

	* cscc/csharp/cs_oper.tc: Coercion of constants for equality
	and inequality expressions.

	* cscc/csharp/cs_oper.tc: Fix last commit as they broke cscctest.

2002-10-26  Richard Baumann <biochem333@nyc.rr.com>

	* support/file.c, support/time.c, engine/lib_dir.c, include/il_sysio.h,
	include/il_system.h: implemented the file/dir get*time icalls.

2002-10-26  Jonathan Springer <jonathan.springer@verizon.net>

	* codegen/cg_misc.tc, cscc/csharp/cs_invoke.tc: Use argument expression
	node to allow coercion of constants in functions.  (e.g. 0 will match
	ulong when determining candidate functions.)

2002-10-25  Jonathan Springer <jonathan.springer@verizon.net>

	* cscc/common/cc_main.c:  Change error parsing to accomodate bison 1.75.

2002-10-24  Rhys Weatherley  <rweather@southern-storm.com.au>

	* engine/int_proto.h, engine/int_table.c, samples/I18N.CJK.dll,
	samples/I18N.MidEast.dll, samples/I18N.Other.dll,
	samples/I18N.Rare.dll, samples/I18N.West.dll, samples/I18N.dll,
	samples/System.Xml.dll, samples/System.dll, samples/mscorlib.dll:
	update the assemblies and re-generate the internalcall tables.

	* ilasm/ilasm_output.c (ILAsmOutAddTryBlock): set "lastException"
	to the correct value when there are multiple handlers for a block.

2002-10-23  Gopal.V  <gopalv82@symonds.net>

	* support/dir.c,include/il_sysio.h,engine/lib_dir.c,
	support/Makefile.am: Fix the GetFilesInDirectory, so that
	CVS build works

2002-10-23  Rhys Weatherley  <rweather@southern-storm.com.au>

	* engine/lib_dir.c: temporarily disable GetFilesInDirectory
	because it won't build until pnetlib has been updated.

	* engine/lib_reflect.c: eliminate a warning.

2002-10-22  Gopal.V  <gopalv82@symonds.net>

	* configure.in,include/il_config.h.in,support/dir.c,
	include/il_sysio.h,engine/lib_dir.c,support/Makefile.am:
	Commit Charles Schuller's patches for 
	DirMethods.GetFilesInDirectory()

2002-10-22  Rhys Weatherley  <rweather@southern-storm.com.au>

	* codegen/Makefile.am, codegen/cg_all.tc, codegen/pm_arith.tc,
	codegen/pm_nodes.tc, codegen/pm_output.c, codegen/pm_output.h:
	begin to fill out the treecc nodes for Parrot code generation.

	* codegen/pm_output.c: use Parrot's "cmod" instruction for remainder,
	instead of "mod", to get the correct C-like semantics.

2002-10-21  Rhys Weatherley  <rweather@southern-storm.com.au>

	* codegen/pm_output.c, codegen/pm_output.h: check in the
	support code for Parrot code generation (incomplete and
	doesn't compile yet).

	* codegen/pm_output.c: change the xor operator from "^" to "~",
	to be compatible with the Perl-ish conventions of imcc.

2002-10-21  Gopal.V  <gopalv82@symonds.net>

	* codegen/cg_gen.h, codegen/cg_nodes.tc, codegen/cg_stmt.tc, 
	codegen/jv_stmt.tc, cscc/csharp/cs_stmt.tc: Implement ILNode_GotoCase
	and ILNode_GotoDefault

2002-10-21  Rhys Weatherley  <rweather@southern-storm.com.au>

	* codegen/cg_assign.tc, codegen/jv_assign.tc, cscc/csharp/cs_oper.tc:
	prevent double-evaluation of l-values in operator assignment,
	and update Java assignment.

	* cscc/c/c_oper.tc: update assignment operator semantic analysis
	for the C front-end.

2002-10-20  Jonathan Springer <jonathan.springer@verizon.net>

	* codegen/cg_assign.tc, codegen/jv_assign.tc, cscc/csharp/cs_oper.tc:  
	Restore function of += and -= operators for Events.

2002-10-20  Gopal.V  <gopalv82@symonds.net>

	* codegen/cg_optable.c: Add builtin operator << and >> to
	enums .

2002-10-19  Jonathan Springer <jonathan.springer@verizon.net>

	* cscc/c/c_grammar.y, cscc/csharp/cs_grammar.y: remove duplicate
	declarations to satisfy the newly pedantic Bison.

	* cscc/csharp/cs_semvalue.h: remove a second #define of
	CS_SEMKIND_TYPE_NODE.

	* codegen/cg_assign.tc, codegen/cg_nodes.tc, cscc/csharp/cs_oper.tc:
	re-engineer portions of assignment expressions (e.g. +=) to work on
	integers smaller than 32 bits w/o crashing the code generator.

2002-10-18  Rhys Weatherley  <rweather@southern-storm.com.au>

	* engine/method_cache.c (_ILCacheSetCookie): check "method"
	for NULL before trying to set the cookie, just in case the
	system is out of memory.

2002-10-18  Gopal.V  <gopalv82@symonds.net>

	* ilasm/ilasm_grammar.y: approve & commit Sasa Jovanic's (sasa_j@mail.ru)
	patch for Bison 1.5 errors.

	* cscc/csharp/cs_gather.c: convert the Errors in ReportDuplicates into
	Warnings. Similarly for the 'override' warnings.

	* cscc/csharp/cs_stmt.tc: Fix typo in CompareCaseLabels() for 
	ILMachineType_String.

2002-10-17  Rhys Weatherley  <rweather@southern-storm.com.au>

	* engine/verify.c: turn off verify debug mode, accidentally
	checked in by Gopal.

2002-10-16  Gopal.V  <gopalv82@symonds.net>

	* cscc/csharp/cs_grammar.y: implement the general catch
	statement to use Exception when type is unspecified.

2002-10-14  Jonathan Springer <jonathan.springer@verizon.net>

	* codegen/cg_coerce.c, codegen/cg_optable.c: Fixed segmentation
	fault in prior patch. Added equality and inequality operators 
	for unmanaged pointers.

2002-10-15  Gopal.V  <gopalv82@symonds.net>

	* engine/lib_reflect.c : Implement DeserialzeAttribute to
	read CustomAttribute.

2002-10-12  Jonathan Springer <jonathan.springer@verizon.net>

	* codegen/cg_coerce.c: Allow casting among unmanaged pointers
	and basic integer types when in unsafe code blocks.

2002-10-08  Gopal.V  <gopalv82@symonds.net>

	* engine/lib_string.c (String.Replace): Fix truncation bug in
	String.Replace(String,String)

2002-10-06  Rhys Weatherley  <rweather@southern-storm.com.au>

	* codegen/jv_output.c, codegen/jv_output.h, codegen/jv_stmt.tc:
	apply Sylvain's patches to generate the correct form of Java
	"tableswitch" instructions.

2002-10-05  Rhys Weatherley  <rweather@southern-storm.com.au>

	* cscc/csharp/cs_stmt.tc (ILNode_Foreach): use the correct types
	when creating the "doCast" node.

	* ilasm/ilasm_grammar.y, ilasm/ilasm_main.c, ilasm/ilasm_output.c,
	ilasm/ilasm_output.h, image/Makefile.am, image/class.c,
	image/image.h, image/java_loader.c, image/program.h, image/writer.c,
	include/il_writer.h: apply the Java assembler patches from Sylvain.

	* samples/I18N.CJK.dll, samples/I18N.MidEast.dll,
	samples/I18N.Other.dll, samples/I18N.Rare.dll,
	samples/I18N.West.dll, samples/I18N.dll,
	samples/System.Xml.dll, samples/System.dll,
	samples/mscorlib.dll: new assemblies with latest pnetlib changes.

2002-09-28  Rhys Weatherley  <rweather@southern-storm.com.au>

	* codegen/cg_arith.tc, codegen/cg_library.c, codegen/cg_relop.tc,
	codegen/jv_arith.tc, cscc/csharp/cs_oper.tc: fix string and object
	comparisons.

	* configure.in, include/il_config.h.in, csant/csant_dir.c:
	convert Win32 paths using Cygwin functions, to ensure that the
	correct filenames are passed to "csc".

	* codegen/cg_resolve.c, cscc/csharp/cs_stmt.tc: scan the parents
	of interface classes in "foreach"; make "foreach" robust against
	failure of property/method resolution.

	* cscc/csharp/cs_stmt.tc (ILNode_Foreach): fix a crash bug related
	to "foreach" over multi-dimensional arrays.

	* cscc/csharp/cs_lvalue.tc: use the array form of a "params"
	parameter inside a method; not the element form.

2002-09-27  Rhys Weatherley  <rweather@southern-storm.com.au>

	* codegen/cg_stmt.tc (ILNode_EndsInReturnImpl): flow control issue
	with "if(x) ... else if(y) ..." statements.

	* acconfig.h, configure.in, include/il_config.h.in: add the
	"HAVE_CPP_PRECOMP" flag to "il_config.h", to detect if the
	C pre-processor needs the "-no-cpp-precomp" flag.

	* codegen/cg_misc.tc, codegen/cg_nodes.tc, codegen/jv_misc.tc,
	cscc/csharp/cs_invoke.tc, cscc/csharp/cs_lookup.c,
	cscc/csharp/cs_lvalue.tc, cscc/csharp/cs_semvalue.h: re-implement
	the handling for "ILNode_BaseAccess", because the previous strategy
	wasn't working for all "base.Identifier" cases.

	* cscc/csharp/cs_cast.tc (CSTypeToName): use the correct names
	for "native int" and "native unsigned int".

	* codegen/cg_coerce.c (GetConvertRules): convert the from and to
	types into their class forms using "ILTypeToClass" rather than
	"ILType_ToClass" and "ILType_ToValueType", to make sure that
	"IntPtr" and "UIntPtr" are handled correctly.

	* codegen/cg_misc.tc (ILGenPrepareForThisAcces): recognise "Decimal"
	as a valid managed value type.

	* cscc/csharp/cs_lookup.c: do not ignore virtual overrides when
	searching for "base" members.

2002-09-26  Jonathan Springer <jonathan.springer@verizon.net>

	* engine/ilverify.c: add full method signatures to ilverify
	output.

2002-09-20  Rhys Weatherley  <rweather@southern-storm.com.au>

	* cscc/csharp/cs_lvalue.tc: convert "out" parameters into
	l-values, not s-values, to be consistent with other C# compilers.

	* codegen/cg_decls.tc, codegen/cg_stmt.tc, codegen/jv_stmt.tc,
	cscc/c/c_builtin.tc, cscc/c/c_function.c, cscc/csharp/cs_decls.tc,
	cscc/csharp/cs_stmt.tc: rearrange the implementation of
	"ILNode_EndsInReturnImpl" to make it easier to detect break,
	continue, etc.

	* codegen/cg_stmt.tc (ILNode_EndsInReturnImpl): implement for
	"while", "do", and "for".

	* codegen/cg_stmt.tc (ILNode_EndsInReturnImpl): implement for "switch".

	* engine/lib_socket.c: include extra headers to define "AF_INET".

	* samples/I18N.CJK.dll, samples/I18N.MidEast.dll,
	samples/I18N.Other.dll, samples/I18N.Rare.dll,
	samples/I18N.West.dll, samples/I18N.dll,
	samples/System.Xml.dll, samples/System.dll,
	samples/mscorlib.dll: update all assemblies from pnetlib.

	* engine/layout.c (LayoutClass): use explicit layout for fields
	even if the class layout information was omitted.

	* image/member (ILFieldNewToken): move pre-referenced fields to
	the end of the class to ensure that they stay in the same order
	with respect to definition.

2002-09-19  Rhys Weatherley  <rweather@southern-storm.com.au>

	* cscc/csharp/cs_attrs.c: implement named attribute arguments.

	* codegen/cg_decls.tc, cscc/csharp/cs_decls.tc: process attributes
	for fields and events.

	* cscc/csharp/cs_attrs.c: coerce named arguments to their final types.

	* codegen/cg_decls.tc, cscc/csharp/cs_decls.tc: output the correct
	class flags when modified by library attributes.

	* codegen/cg_lvalue.tc (ILNode_MemberField): bug fix to GenRef,
	which caused it to drop "this" when accessing value type fields.

	* cscc/csharp/cs_gather.c: normalise all delegate declarations
	to "native int", not "native unsigned int".

	* engine/verify_obj.c (IL_OP_LDFLDA): verifier bug fix.

2002-09-18  Rhys Weatherley  <rweather@southern-storm.com.au>

	* image/Makefile.am, image/ser_writer.c, include/il_serialize.h:
	add library code to "image" to write serialized attribute values.

	* cscc/csharp/cs_attrs.c, cscc/csharp/cs_decls.tc, image/lib_attrs.c:
	turn on real compilation of attributes and implement the serialization
	functionality.

	* cscc/csharp/cs_attrs.c (ProcessAttr): minor bug fix for a core
	dump on zero-argument attributes.

2002-09-17  Rhys Weatherley  <rweather@southern-storm.com.au>

	* engine/convert.c, include/il_gc.h, support/def_gc.c, support/hb_gc.c:
	suppress finalization during "ConvertMethod" to prevent it from
	being recursively re-entered from "ILGCAllocPersistent".

	* cscc/c/c_oper.tc (ILNode_AddressOf): remove the "&" operator
	from an expression that involves a function reference, as it is
	redundant.

2002-09-16  Rhys Weatherley  <rweather@southern-storm.com.au>

	* samples/I18N.CJK.dll, samples/I18N.MidEast.dll,
	samples/I18N.Other.dll, samples/I18N.Rare.dll,
	samples/I18N.West.dll, samples/I18N.dll,
	samples/System.Xml.dll, samples/System.dll,
	samples/mscorlib.dll: update all of the assemblies from pnetlib.

	* cscc/c/c_invoke.tc: problem with the detection of function
	pointers during function invocation.

	* ildasm/ildasm_method.c (DumpToken): dump stand-alone signatures
	for methods correctly.

	* engine/verify_call.c (SameSignature): reversed tests when
	checking "calli" signatures.

	* engine/cvm_call.c (COP_CALLI): do not increment the pc
	after entering the new method.

2002-09-15  Gopal.V  <gopalv82@symonds.net>

	* cscc/csharp/cs_lvalue.tc (ILNode_MemberAccess): set the rvalues 
	for all the constant valuetypes before doing member lookup.
	
	* codegen/cg_gen.c (ILValueTypeToType): Add ILMachineType_Decimal
	to the switch statement

2002-09-14  Gopal.V  <gopalv82@symonds.net>
	
	* engine/int_proto.h, engine/int_table.c, engine/lib_socket.c,
	support/dns.c, support/Makefile.am, include/il_sysio.h : Implement 
	the internalcalls and support functions for dns lookup

	* configure.in, include/il_config.h.in : Checks for netdb.h ,
	gethostbyname() and gethostbyaddr() .
	
2002-09-14  Rhys Weatherley  <rweather@southern-storm.com.au>

	* cscc/c/c_coerce.c (GetCoerceRules): don't strip off the
	function pointer prefix when checking for pointer coercions.

	* cscc/c/c_grammar.y (ProcessDeclaration): allow function
	types to be defined with "typedef".

	* ilasm/ilasm_output.c (Squash): adjust the start of a
	switch reference if the reference is above another one
	that is being squashed.

	* cscc/c/c_lvalue.tc, cscc/c/c_typeout.c, ilalink/link_create.c,
	ilalink/link_field.c, ilalink/link_method.c, ilasm/ilasm_build.c:
	make sure that field modifiers are preserved throughout the toolchain.

2002-09-13  Rhys Weatherley  <rweather@southern-storm.com.au>

	* cscc/c/c_oper.tc: compare the element types in "==", not the
	whole types, to determine if we are comparing distinct types.

	* cscc/c/c_grammar.y: finalize the declaration specifier in a
	function definition prior to calling "CFunctionCreate", to prevent
	the return type defaulting to "int".

2002-09-12  Rhys Weatherley  <rweather@southern-storm.com.au>

	* support/file.c (ILSysIOOpen): bug in the conversion of
	file access modes from C#-style to POSIX-style.

2002-09-10  Rhys Weatherley  <rweather@southern-storm.com.au>

	* codegen/cg_coerce.h, codegen/cg_optable.c, cscc/csharp/cs_oper.tc:
	implicitly coerce zero to enumerated types in binary operators.

2002-09-09  Rhys Weatherley  <rweather@southern-storm.com.au>

	* codegen/cg_gen.c (ILGenGetParamInfo): resolve the method before
	looking for "ILParameter" blocks, because method references don't
	have such blocks associated with them.

2002-09-07  Rhys Weatherley  <rweather@southern-storm.com.au>

	* cscc/csharp/cs_const.tc, cscc/csharp/cs_lvalue.tc,
	cscc/csharp/cs_oper.tc, cscc/csharp/cs_semvalue.h: improve
	constant evaluation for operators.

	* cscc/csharp/cs_cast.tc: constant evaluation for cast operators.

2002-09-05  Rhys Weatherley  <rweather@southern-storm.com.au>

	* Makefile.am, configure.in, ilheader/.cvsignore, ilheader/Makefile.am,
	ilheader/ilheader.1, ilheader/ilheader.c: add the "ilheader" utility,
	which generates .h files from C# assemblies.

	* engine/layout.c: fix a reversed test in "ComputeInterfaceTable".

2002-09-03  Rhys Weatherley  <rweather@southern-storm.com.au>

	* ChangeLog, doc/ChangeLog-3: move the contents of "ChangeLog" to
	"doc/ChangeLog-3", because it was starting to get too big to manage.

	* cscc/csharp/Makefile.am, cscc/csharp/cs_attrs.c,
	cscc/csharp/cs_cast.tc, cscc/csharp/cs_const.tc,
	cscc/csharp/cs_decls.tc, cscc/csharp/cs_defs.tc,
	cscc/csharp/cs_invoke.tc, cscc/csharp/cs_lookup.c,
	cscc/csharp/cs_lvalue.tc, cscc/csharp/cs_misc.tc,
	cscc/csharp/cs_oper.tc, cscc/csharp/cs_semantics.tc,
	cscc/csharp/cs_semvalue.c, cscc/csharp/cs_semvalue.h,
	cscc/csharp/cs_stmt.tc, cscc/csharp/cs_types.tc: change the
	usage of the "CSSemValue" type so that it is accessed via macros
	instead of direct fields; this will make it easier to change the
	representation in the future.
