Sun Apr  9 01:02:47 1995  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* gpc-convert.c: Include gpc-defs.h.
	convert_sets: Added a hack to fix inlined function set arguments.
	convert: call the above hack. Enabled code to convert REFERENCE_TYPE
		 to POINTER_TYPE.

	* PROBLEMS: Document -O6 problems in the Alpha.

	* DOCONF.kampi: Use GCCSRC and GCCBIN environment vars if defined.

	* gpc-decl.c:
	handle_forward_pointers: When a non-pointer is in tags list, just
	handle it's components and continue.

	* gpc-defs.h: Added prototype to new routine no_parameters().

	* gpc-parse.y:
	variable_or_function_access_no_id: report if output or input are
	uninitialized.
	module initializers: Don't give NULL_TREE parameter -> crash.
	optional_init_and_final_part : Allow contructor without a destructor.

	* gpc-util.c:
	construct_set: Don't crash when an integer constant is given to a
		       non-integer set constructor -> errmsg.
	build_array_ref: report error when indexing a non-array.
	output_real_main_program: call assemble_external (from Phil Nelson).
	no_parameters: new routine.

	* NEW-PVS-LIST:
	alpha (osf3.0), i486 (mach3/ux), sparc (solaris 2.3), snake (hpux903),
	rs6000 (aix325) updated.

Sat Apr  8 13:07:06 1995  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* DOCONF.kampi: Fixed comment about hppa1

Sat Apr  8 02:20:15 1995  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* GPC.GUIDE: Refer to borland2ep.doc.
	Document function string return bug.
	Clarify EXTERN and C directives.
	Document module visibility bugs.

	* gpc-module.c: find_module: Initialize fields after bzero()

	* gpc-decl.c: Rewrote forward pointer handling code.

	* gpc-lex.c:
	Modified code that informs of keywords handled as new_identifier.
	Removed obsolete NEW_IDENTIFER code.

	* gpc-parse.y: Reordered new_identifier.
	Attach DECL_INITIAL to type node after finish_decl() has been called.
	Added error rule to value_specification.
	Give error on invalid function value assignment, don't call abort().
	Modified restricted type qualifier code; it still does not work.
	Convert integer exponent in ** to real.

	* gpc-util.c:
	declare_vars: Declare vars extern if in interface module.
	build_pascal_pointer_type: Fix pointers to schemas and functions.
				   Give errors.
	init_simple: Some code to support integer subrange files according
	to the size of the subrange. Still treated as ints.

	* PROBLEMS: Document the "file of 0..255" bug as a feature not
	  yet fixed.

Mon Mar 27 00:30:41 1995  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* INSTALL: Request for gnu make usage.

	* INSTALL: Documented the ALPHA_BUG stuff.

	* Version.c: Alpha specific fix to something I don't know about.
	This bug occurred in OSF/1 V3.2 with gnu compilers.

Sat Mar 25 23:07:23 1995  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* Pascal-standards.FAQ: Initial revision

	* INSTALL: Added list item 0.

	* README.FIRST: Updated version number.

	* README: Removed obsolete comments.

	* PROBLEMS: Deleted references to fixed bugs.

Sat Mar 25 18:42:58 1995  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* gpc-util.c: Removed unused module globals -> moved to struct module.
	Also main program is now a module, changed all references to the
	previously global vars to access the per module struct
	current_module.

	New parameter: declare_vars() now knows if the var decl
	is in an interface module. Don't declare variables in
	an interface module, only generate external refs.
	Make unexported variables static.

	New file: Moved module code to gpc-module.c

	Added static directive.

	* gpc-defs.h: Added per module struct module.
	Export gpc-module.c global variables.
	Export d_<directives>.
	Deleted some unused external defs.
	Removed extern in front of function prototypes.

	* gpc-decl.c: Added static directive.
	Use d_forward instead of get_identifier("Forward");

	* gpc-module.c: Initial revision

	* Makefile.in: Added gpc-module.c and borland2ep.doc.

	* borland2ep.doc: Initial revision

	* gpc-parse.y: Added directive `static'.

	Adapted the new module state struct to the parser.

	Main program also has a module info record so it can be treated
	internally like a module.

	Removed now obsolete code for forward pointers.
	declare_vars() has one more parameter; changed callers. Now the
	interface only generates external refs for exported names if they are
	vars or functions. The actual declaration is done when the
	implementation module is seen.

Fri Mar 24 10:45:13 1995  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* Makefile.in: Run GNU Tar with z option.
	Include gpc-cccp.c in distribution.
	Renamed rts-readsub.c and rts-headers.h
	rule gpcdist rewritten (dist path includes version directory).

	* gnuvers.sh: Run whoami is $USER is not set.

	* NEW-PVS-LIST: Updated to 2.6.3.

Fri Mar 24 10:25:13 1995  Mr A. B. Force  <root@lerppu.hut.fi>

	* gpc-convert.c: Conversion of REFERENCE_TYPE required when compiling
	with -O6 in alpha (zap.pas). The problem is not fixed
	only documnted...

Thu Mar 23 21:03:06 1995  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* gpc-decl.c, gpc-util.c:
	Use IDENTIFIER_POINTER in pointer domain warning.

	* GPC.GUIDE: Added preprosessor initial doc.

	* toplev.c: added gpc options.

	* gpc-util.c, gpc-parse.y: Forward pointers reimplemented.

	* gpc-lex.c: Better error messages from directives.
	Added input_file_stack.
	Use routines in ctype.h.

	* gpc-defs.h: resolve_forward_pointer returns an int.

	* gpc-decl.c: Reimplemented forward pointer handling.

	* gcc.c: Support -fnested-comments option.

	* dbxout.c:
	  Related to forward pointers:
	  Removed overloading of TYPE_VFIELD.
	  Added new routine dbxout_set_type_status() to
	  set the TYPE_UNSEEN or TYPE_DEFINED to the typevec array
	  element TYPE_SYMTAB_ADDRESS.

	  This is done to prevent dbxout_type() from outputting
	  LANG_TYPE stuff, and also to be able to output a stab
	  to a forward referenced pointer twice (firt time it is
	  not complete, the second one is).

	  A better solution would be to make gdb understand
	  	  .stabs ":t<anumber>=<bnumber>",<whatever>


	* gpc-cccp.c: Added support for nested/no_nested pascal comments.

	* PROBLEMS: Updated, documented fwd pointer .stabs.

	* DOCONF.kampi: The machine architecture can be given as an argument.

Wed Mar 22 23:10:16 1995  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* Makefile.in: Fixed toplev.c.
	Modified preprosessor rules.

	* gpc-cccp.c: The language is not always reported to be ANSI C,
	but rather set in a variable.

Tue Mar 21 12:40:31 1995  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* gpc-parse.y: Report undefined function types.

Mon Mar 20 15:33:49 1995  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* toplev.c: Initial revision

	* stor-layout.c: Upgraded to version 2.6.3.
	Rewrote SET_TYPE handling.

	* optabs.c, gpc-typeck.c, gpc-lang.c, gpc-decl.c, gpc-common.c,
	function.c, fold-const.c, expr.c, dbxout.c:
	Upgraded to version 2.6.3.

	* gpc-cccp.c: Added option -nocharescape and support for it.
	Initialized -lang-asm.
	Added a missing break to skip_paren_group() line 7853.

	* gcc.c: Upgraded to version 2.6.3.

	Made gpc command run gpc-cpp preprosessor by default. (a test version
	of cccp.c). Added option -lang-pascal and (conditional option)
	-nocharescape to the cpp call sequence.

	* Makefile.in:
	Added rules to compile and install gpc version of cpp (gpc-cccp.c).
	The preprosessor is currently installed as: "gpc-cpp" although it
	should function as before if options -nocharescapes and/or
	-lang-pascal are not given.

	* gpc-cccp.c: First implemantation of { comments }.
	Don't complain of '\n'.

	* gpc-cccp.c: Added command line option '-lang-pascal'.
	If used:
		Does not recognize C comments.
		Does recognize (* comments *).

	This version does not recognize { comments }.

	* gpc-cccp.c: Initial revision

Sun Mar 19 17:34:07 1995  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* Makefile.in: Use unidiff (gdiff -u).

Fri Sep 30 00:59:40 1994  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* README.FIRST: 2.6.0 version

	* MOVE: Initial revision

	* stor-layout.c, optabs.c, gpc-typeck.c, gpc-decl.c, gpc-convert.c, gpc-common.c, gcc.c, function.c, fold-const.c:
	Upgraded to 2.6.0


	* expr.c(expand_expr)
	  ABS_EXPR now checks if the type of the argument is a complex
	  type to see if it needs to call expand_complex_abs instead
	  of the result type of the ABS_EXPR. The mode of the operand is
	  passed to expand_complex_abs() instead of the mode of the
	  result.

	* gpc-typeck.c(build_unary_op)
	  the ABS_EXPR does not return a complex value when
	  the argument is of complex type.
	  Now ABS_EXPR is of the type of the component type.
	  (@@ Or should it always be DFmode ???)

	* expr.c(expand_expr)
	  CONJ_EXPR used the complex mode to extract the real
	  and imaginary parts of the complex number instead
	  of the component mode.

	* expr.c: Upgraded to 2.6.0.

	* dbxout.c, convert.c: Upgraded to 2.6.0

	* Makefile.in: gcc.o needs $(version). Initialize it.

	* ChangeLog: *** empty log message ***

	* PROBLEMS: Removed sparc.h patch requests; the change is merged.

	* GPC.GUIDE: Documented more bugs...

Wed Sep 28 23:22:19 1994  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* PROBLEMS: Updated to 2.6.0.
	Documented the ^node problem that is now caught (never worked).

	* INSTALL, ChangeLog: Updated to 2.6.0

Fri Jan 28 11:48:46 1994  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* Makefile.in: Added MY_LIBFLAGS

	* gpc-util.c:
	r_EXPON and r_POW did not check left operand type. r_EXPON now
	converts left int operand to double.

Wed Jan 26 18:41:21 1994  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* gpc-decl.c: Added empty routine resolve_forward_pointers(). @@ FIXME.

	* GPC.GUIDE: *** empty log message ***

	* gpc-parse.y:
	HMM: type node = integer; procedure z; type p = ^node; node = boolean;
	     does not work!!!
	     Some minor changes for this, not completed.

	* INSTALL: *** empty log message ***

	* Makefile.in: Version 1.04.

	* gpc-typeck.c:
	default_conversion: convert CHAR_TYPE and BOOLEAN_TYPE to integer.

	compatible_types_p(), compatible_relop_p() and
	compatible_assignment_p(): new routines.

	convert_arguments: Don't promote prototypes before parameter type
	and value are checked with convert_for_assignment().

	build_binary_op: Use typecodes of the base_types, not types.
			 Use compatible_*_p() routines to check operand
			 compatibility.
			 For short_compare, convert values to boolean if the
			 operator so requires.

	build_unary_op:  Convert subrange array index to integer when arr[i]
			 is converted to &a+i.

	convert_for_assignment: Use base_types, not types.
				Use compatible_assignment_p().

	* gpc-util.c: Removed fold from fold(build_binary_op())

	* gpc-common.c: Cosmetic :-)

	* gpc-defs.h:
	IS_BOOLEAN now accepts only boolean_type code. (@@ get rid of this)

	* Makefile.in: Added function.c to ind-diff rule.

	* expr.c: emit_string_pad: Fixed the fence post error in padding.

Sun Jan 23 05:01:57 1994  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* GPC.GUIDE: *** empty log message ***

	* gpc-parse.y: index_expression_list: support array slice access.

	* gpc-util.c: New (static) routine: build_array_slice_ref
	Support for substring variables (implementation should support
	slice accesses for any arrays...)

	build_pascal_array_ref calls build_array_slice_ref.

Fri Jan 21 23:57:37 1994  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* gpc-util.c:
	init_any: properly initialize string schemas that are part of a
	structured object created dynamically.

Thu Jan 20 18:25:11 1994  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* NEW-PVS-LIST: *** empty log message ***

	* Makefile.in: Version number to 1.03

	* JUKI, GPC.GUIDE: *** empty log message ***

	* gpc-common.c:
	build_binary_op: Accept CHAR_TYPE objects in string operations.
	implemented string catenations.

	* GPC.GUIDE: *** empty log message ***

	* gpc-common.c: byuuild_pascal_op() and build_pascal_unary_op() call
	probably_call_function() in expressions.

	* gpc-decl.c:
	start_pascal_function: don't inform user of possible external &
	forward directive mixing; the warning was also given when a nested
	routine had an "external" definition.

	* expr.c: emit_string_pad: new argument PAD specifies the char value to
	pad with.

	* gpc-typeck.c:
	convert_arguments: string type argument handling rewritten, allows
	different length fixed string matching.

	Use base_type() instead of set_base_type().

	* gpc-defs.h:
	PASCAL_STRING_LENGTH now returns the length of any string object.

	* gpc-util.c:
	Added prototypes for emit_string_{move,pad} in expr.c (-> tree.h?)

	Deleted set_base_type(), modified base_type ()

	assign_string(): allow char_type target.

	Now PASCAL_STRING_LENGTH returns length of any pascal string type
	object -> use it.

	emit_string_pad: new argument, char to pad with.

	string_by_model: call init_any() only for variable string types.

	handle_formal_param_list: Don't crash when type is error mark node
	and this is a var parameter.

	build_rts_call: Direct access file index must be of same base type
	than seek index.

	Added probably_call_function(): when a function id is used in an
	expression in an actual parameter list it should be always evaluated.

Tue Jan 11 09:53:54 1994  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* configure, Makefile.in: Conditionalize making of rts subdir.

	* gpc-typeck.c: Allow IN_EXPR for sets of non-integer subranges.

	* gpc-parse.y: Prevent crash when subrange type defined erroneously.

	Don't give spurious error messages when undefined
	variables are used.

	Export identifier must be followed by an equal sign.
	Give warning if not.

	If import_specification has reported an error, don't call
	import_interface() with a NULL identifier.

Mon Jan 10 22:16:10 1994  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* DOCONF.kampi, DOCONF.example: Use DOCONF\..* in SRC generation.

Sat Jan  1 21:05:06 1994  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* JUKI: *** empty log message ***

	* Makefile.in: Version changed to 1.02.

	* Makefile.in: Deleted rts-util.c, added contrib

	* convert.c:
	Convert the REFERENCE_TYPE to POINTER_TYPE in gpc-convert.c,
	not here.

	* gpc-convert.c:
	Convert the REFERENCE_TYPE to POINTER_TYPE here, not in convert.c.

	* gpc-lex.c:
	Don't complain about underscores starting a predefined word.

	* gpc-typeck.c:
	Removed the 'anything to implicit-void-pointer conversion'-kludge.

	Instead, any pointer value passed to a void pointer is ok.

	A __cstring__ parameter should now work as specified.

	* gpc-defs.h: New prototypes.

	* gpc-parse.y:
	Use maybe_make_static() for non-exported routines in a module.

	Use a proto empty_arglist for function pointer calls without args.

	* gpc-util.c: Added __cstring__.

	Added empty_arglist and PASCAL_PROCEDURE_PARAMETER for procedure
	params && function_pointers and make them work together. Modified
	handle_formal_param* and maybe_call_function to use these.

	Added free_interface list. Check is an implementation already exists.
	Added maybe_make_static().

	* NEW-PVS-LIST: Snapshot closing.

	* GPC.GUIDE: snapshot closing.

Thu Dec 30 23:32:29 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* gpc-typeck.c:
	Allow IN operation for sets of non-integer subrange types.

	Kludge `void *' causes implicit pointer conversions. This will
	be removed.

	* GPC.GUIDE: *** empty log message ***

	* convert.c: Allow more conversions from CHAR_TYPE and BOOLEAN_TYPE.
	This is because real type conversions of ord(char_type_variable)
	strip the conversion to int and try direct conversion to double ->
	char_type must convert to real_type. Similarly the boolean_type
	must work.

	* gpc-common.c: Added pascal_type_extension().

	Changed pascal_type_variant() to use TYPE_QUALIFIER_*.

	* gpc-defs.h: Changed VARIANT_* to TYPE_QUALIFIER_*. Added some more.

	* gpc-util.c: Renamed VARIANT_= to TYPE_QUALIFIER_*

	Predefined structure definitions made simpler by macro DO_FIELD.
	Added filed 'Size' to BindingType.

	File PARAM_DECLs to binding routines allowed always.
	Should check if the actual parameter type is bindable.

	Added type qualifiers to KItable.

	Added name_exported_by_current_module_p ().

	* gpc-parse.y: Added type qualifiers: __unsigned__,__long__ etc.

	Routines that re not exported from a module get the storage class
	static, i.e. they won't be visible outside the file.
	This is still not good enough: the visibility should be limited
	inside the module, and many modules could be in one file.

Tue Dec 28 18:45:59 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* gpc-parse.y: Handling of type qualifiers changed.
	build_unary_op() -> build_pascal_unary_op().
	build_binary_op() -> build_pascal_op().
	Resticted types implemented.

	* GPC.GUIDE: *** empty log message ***

	* gpc-common.c: build_pascal_op(): know restricted types.
	Added build_pascal_unary_op().
	Rewrote pascal_type_variant().

	* gpc-defs.h: Added PASCAL_TYPE_RESTRICTED.
	Added build_pascal_unary_op() proto.

	* gpc-util.c:
	The name of file can't be passed if it has none; e.g. the file
	is allocated with NEW from heap. In this case pass the name
	"<Allocated from heap>". In other cases (?) pass the name
	"<Name unknown>". The name of an internal file is not used
	by the runtime system; it is only passed for debugging purposes.

Mon Dec 27 13:32:25 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* gpc-util.c: build_file_type supports direct access files.

	position and lastposition implemented. Seek* implemented.

	Binding,bind and unbind implemented.
	BindingType implemented.

	Always pass the internal file name for the run time system, not only for
	external files.

	maybe_call_function accepts also arguments. Function always called if
	arguments are present.

	BindingType contains field Error. (Not yet updated)

	Accept __void__ as well as Void.

	* gpc-defs.h:
	maybe_call_function and build_file_type interface changed.

	* GPC.GUIDE: *** empty log message ***

	* gpc-parse.y:
	Implemented function pointers. To get the syntax I wanted required
	combining assignment and procedure calls. (Lots of changes!)

	Added direct access files.

	WITH element may be a function_access.

Sun Dec 19 07:26:11 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* GPC.GUIDE: Documented binding(s).

	* gpc-util.c:
	Use pascal_type_variant(): grok_packed, pascal_conformant_type(tilt)
	Added binding runtime calls.
	Added is_of_string_type(). is_string_type() uses this.
	defined gpc_type_BINDINGTYPE.
	Fixed associate_external_objects().

	* gpc-common.c: Added pascal_type_variant().

	* gpc-parse.y: Added BINDABLE to type_denoter. (@@ Does not work yet)
	Added p_BINDING, p_UNBIND, p_BIND.

	* gpc-defs.h: Define PASCAL_TYPE_BINDABLE. Uses LANG_TYPE_3.
	Define BINDING_NAME_LENGTH.
	Define VARIANT_* values for pascal_type_variant().
	Deleted unused headers.
	Added some protos.

	* Makefile.in: Added rts-bind.c

	* gpc-decl.c: added top_level_p()

Wed Dec 15 21:45:45 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* dbxout.c: Disabled warning in GPC specific code.

	* dbxout.c, function.c, fold-const.c, expr.c: 2.5.7

	* gpc-util.c: Rewrote stdio (many changes).

	Constructor collect (many changes).

	Added storage qualifiers.

	* gpc-parse.y: Rewrote stdio.

	primary used primary, should have been factor.

	storage qualifiers.

	Allow any declaration order also in the main program.
	deleted rules that were thus left over.

	Allow module parameters.

	runid in module initialized (gpc extension).

	* gpc-defs.h: Added some protos for routines for new stdio.

	* gpc-decl.c: Added static_id and extern_id.
	Allowed static and extern variable declarations.
	Added de_capitalize().

	* gpc-lex.c:
	Underscore warnings changed (don't warn is the underscore is
	in a "reserved" word.

Sun Dec 12 02:38:56 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* ChangeLog, GPC.GUIDE: *** empty log message ***

	* gpc-parse.y: Added D_C_LANGUAGE

	* gpc-util.c:
	Run time system calls should now support value parameters that
	are functions returning variable length strings.

	Added D_C_LANGUAGE.

	* gpc-lex.c: Warn of empty string literals only if pedantic.

Sun Dec 12 02:17:19 1993  Jukka Virtanen  (jtv@kampi.hut.fi)

	* Support run time system flag -i ARG so that when ARGs run out
	  rts continues from the original standard input.

	* Implemented pascal module paramstr.p that returns command
	  line arguments to user program.

	* gpc-util.c
	  Convert value parameter string parameters to pointers
	  with build1() not built_unary_op(); this makes it possible
	  to pass arrays or strings that are returned by functions.

	* rts/rts-rt0.c(_p_initialize)
	  Hack run time arg support.

	* rts/rts-misc.c
	  Added _p_paramstr and _p_paramcount functions
	  for command line access.

Sat Dec 11 19:24:05 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* gpc-decl.c: added is_knonw_directive().

	* gpc-defs.h: Added is_known_directive().

	* gpc-parse.y:
	Removed don't call error("improperly formatted..."); the problem
	should be reported anyway. The verbose (repeated) output of these was
	confusing.

	Allow directive names be recognized even if they are redefined.

	* GPC.GUIDE: *** empty log message ***

	* GPC.GUIDE: p660 fixed; evaluation order AB instead of UNKNOWN.

	* gpc-util.c: Indentation changed when I cancelled the change
	I made to reorder string schema fields.

	* Makefile.in:
	The run time system is compiled with the xgcc that matches GPC.
	(Value parameter complex types in the runtime system require this)

	* setop.c:
	Call save_expr() for set elements/ranges to avoid computing their
	values multiple times.

Sat Dec 11 05:30:36 1993  Jukka Virtanen  (jtv@kampi.hut.fi)

	* Makefile.in
	  Always compile the run time system with the $(gccdir)/xgcc

	* setop.c(store_set_constructor)
	  Call save_expr() for the elements/ranges.	

	* rs-6000.c
	  Kenner fixed the constant double loading bug I reported
	  for RS-6000.

	* gpc-parse.y
	  Fixed a bug that crashed gpc1 when using an undefined
	  name as type.

	  Parse directives correctly even if the name has been redeclared
	  by the user.

	  Allow directives in routine definition in module interface.

	* rts complex value parameter passing
	  Use __complex__ double for input values instead of
	  a struct. E.g. sparc uses different techiques to pass
	  record_type and complex_type causing a crash if they are
	  not the same.

Fri Dec 10 23:53:56 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* dbxout.c: SET_TYPE domain is output with stabs, not the type
	(bothner@cygnus.com)

	* gpc-parse.y:
	typename error handling caused an segfault when error_mark_node
	was accessed with DECL_INITIAL.

Thu Dec  8 05:20:45 1993  Jukka Virtanen  (jtv@kampi.hut.fi)

	* Snapshot 2.5.6 made available at kampi.hut.fi

Wed Dec  8 15:56:14 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* GPC.GUIDE: *** empty log message ***

	* gpc-parse.y:
	Allow directives in routine headers in module interfaces.

	* Makefile.in: Argh, added missing rts-zmath.c to RTSFILES.

	* Makefile.in, GPC.GUIDE: *** empty log message ***

	* gpc-gperf.c: Regenerated with object c word symbols.

	* gpc-util.c:
	grok_packed() now packs array_types in sequence of the argument type.
	assign_string() did not check what the other argument was.
	added number_of_schema_discriminants(). @@ Only for strings.
	Made NEW() work for ^string.
	Mark knownid_decls with TREE_USED to avoid -Wall unused info.
	Added object pascal words to known id table.

	* gpc-typeck.c: Changed some message texts in record type warnings.
	(+some code movements)

	* gpc-parse.y: Added object pascal reserved words and defined symbols.
	Handle ^string.
	POW and ** now parsed as standard requires. (a factor)

	* gpc-defs.h: Define PASCAL_OBJECT.
	Altered language id numbers.

	* gpc-lex.c: added last_id_value to handle ^string.
	added routine which_language()
	If -pedantic, warn about identifiers that are reserved words
	on some more advanced pascal gpc knows about.

	* gpc-decl.c: signed vs unsigned char cmdline flag changes.

	don't warn for control reaching end of function.

	* Makefile.in:
	make gpc-parse.{c,h} to $(srcdir) so that bison is not needeed
	everywhere when gpc is built.

Tue Dec  7 15:28:44 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* gpc.gperf:
	Added OBJECT PASCAL reserved words with PASCAL_OBJECT level.

	* Makefile.in: Generate gpc-gperf.c to $(srcdir)

Mon Dec  6 23:55:47 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* NEW-PVS-LIST: *** empty log message ***

	* NEW-PVS-LIST: 2.5.6 version

	* Makefile.in, GPC.GUIDE, NOTES, README.FIRST, PROBLEMS:
	*** empty log message ***

	* INSTALL: 2.5.6

	* README, GPC.GUIDE: *** empty log message ***

	* gpc-parse.y: Allow string (. expression .) for string ( expression )

	Allow case defaults in variant records.

	* expr.c: Added new routine emit_string_pad().

	Added new routine emit_string_move ().
	(BUILT_IN_MEMCPY should perhaps call this).

	* gpc-util.c:
	call emit_string_pad() toblank pad fixed strings in assignment.

	call emit_string_move() to move strings, because they might have
	different machine mode depending on size. Standard requires that
	all strings are compatible.

	* GPC.GUIDE: *** empty log message ***

Sun Dec  5 23:48:34 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* expr.c, function.c, gcc.c, gpc-common.c: 2.5.5

	* optabs.c: 2.5.5.

	* gpc-decl.c: Upgraded to 2.5.5

	* gpc-util.c: Fixed a comment.

	* gpc-typeck.c: upgraded to 2.5.6 (via 2.5.5 first).

Wed Dec  1 19:27:33 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* GPC.GUIDE: *** empty log message ***

Tue Nov 30 15:36:00 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* gpc-decl.c: Allow functions returning array_type.

	In grokdeclarator() don't build new array_type
	for type qualifiers. This breaks assignment
	to array_type function return values.
	(@@@@ maybe this fix is not correct)

	* gpc-parse.y:
	Added variable_or_function_access to support function-access.

	* gpc-util.c:
	Fixed component access of string schema (build_pascal_array_ref).

	* GPC.GUIDE: *** empty log message ***

Sat Nov 27 02:49:20 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* GPC.GUIDE: *** empty log message ***

	* gpc-parse.y:
	Partial implementation of module constructors and destructors.

	* gpc-parse.y: expect 11 shift/reduce conflicts. 8 From error handling
	and 3 from being able to redefine PROTECTED.

	Changed PRIVATE to RESTRICTED.

	Defined tokens for directives.

	Deleted UNIMPLEMENTED.

	Rewrote rules for extended pascal modules.
	Added actions to module support.

	* gpc-util.c: Initialize_world() calls declare_known_ids().

	KItable lists all known directives.
	Removed extra "Sqr" from KItable.

	Added first implementation of extended pascal modules.

	* gpc-gperf.c: *** empty log message ***

	* gpc.gperf: PRIVATE is not a keyword; RESTRICTED is.

	* GPC.GUIDE: *** empty log message ***

Fri Nov 26 21:41:34 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* gpc-defs.h:
	added prototypes for module_export_clause, module_export_range,
	import_interface and export_interface.

	* gpc-decl.c:
	declare_known_ids() is now called from initialize_world().

Wed Nov 24 23:29:00 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* GPC.GUIDE: *** empty log message ***

	* gpc-lang.c: Call initialize_world() from lang_init().

	* gpc-parse.y: Removed variable initialized.

	* gpc-common.c:
	build_pascal_op() now handles comparisons of any string or char type.

	* gpc-util.c: Call runtime system for blank padded string comparisons.

	* gpc-util.c: initialize_world() is now called from lang_init().

	Allow variable length strings as file name
	in reset,rewrite and extend runtime system calls.

Tue Nov 23 02:49:24 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* GPC.GUIDE: *** empty log message ***

Mon Nov 22 19:09:54 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* GPC.GUIDE: *** empty log message ***

	* expr.c, fold-const.c, dbxout.c, function.c, gpc-typeck.c: 2.5.4

Sun Nov 21 22:35:42 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* gpc-parse.y:
	Allow string capacity expression also in brackets. Many compilers
	seem to have it like this.

	* GPC.GUIDE: *** empty log message ***

	* GPC.GUIDE: Inserted the comments by Yucca.

	* optabs.c: Corrected comment.

	* gpc-util.c: Trim and substring passed incorrect argument to the rts.

	* GPC.GUIDE: *** empty log message ***

Sat Nov 20 02:35:15 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* gpc-util.c:
	Added a parameter to new_string_by_model(): copy is 1 if data is
	copied.

	Try to use variable string LENGTH instead of capacity.
	No idea yet if this works.

	handle_formal_conf_array_param_list: new parameter.
	handle_formal_param_list: new parameter.
	Added protected parameter handling.

	Modified p_TRIM, p_SUBSTR: not working yet.

	Added calls to complex funs in rts.
	Added p_ARG, p_POLAR, r_POW, r_EXPON, z_*.
	p_SQRT,p_SQR/p_ABS and trig funs accept complex.

	* gpc-parse.y:
	Added tokens r_POW and r_EXPON z_ARCTAN z_COS z_EXP z_LN z_SIN z_SQRT
	z_POW z_EXPON

	Added optional_protected, optional_sign,
	parameter_form (old typename_or_string).

	Modified parameter parsing to make protected work.

	Added type_inquiry to parameter_form.

	POW and EXPON may be incorrectly parsed: standard requires
	both sides be FACTOR, gpc is more generic (and possibly
	incorrect).

	PROTECTED returns ttype.
	@@@ Note that the redefinition of PROTECTED does not work.

	* gpc-defs.h:
	Added one int parameter (protected) to handle_formal_param_list()
	and handle_formal_conf_array_param_list().

	Added one int parameter (copy) to new_string_by_model().

	* gpc-common.c: Support EXPON_EXPR in build_pascal_op.

	* GPC.GUIDE: *** empty log message ***

	* optabs.c:
	Fixed the 'mode' bug when calculating abs value of complex type
	when we have a handler for SQRT.

	* gpc-typeck.c: Added the new parameter to new_string_by_model().

Fri Nov 19 15:13:44 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* GPC.GUIDE: *** empty log message ***

Thu Nov 18 23:55:29 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* GPC.GUIDE: *** empty log message ***

Wed Nov 17 13:03:23 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* gpc-decl.c: Minor mods in variant tag info lang_decl allocation.

	Changed type_denoter to return a tree list of
	(init, type) instead of type.

	Stored type initializers in TYPE_DECL DECL_INIT field;
	I think that is not otherwise used for these nodes.

	@@@ Some initializers are not perhaps accepted, like
	function foo: type; but I do not know if it should be
	(initializing the return value of function?)

	* gpc-lex.c: Check for EOF while parsing a string.

Tue Nov 16 00:53:56 1993  Jukka Virtanen  <jtv@lerppu.hut.fi>

	* gpc.gperf: Added otherwise. Clarified comments.

	* gpc-defs.h: Deleted EXTERNAL_NAME_PREFIX_FLAG.
	Added some extern definitions.

Wed Nov  3 03:31:56 1993  Jukka Virtanen  (jtv@kampi.hut.fi)

	* Test release gpc-2.5.0a-3nov93.tar.gz in kampi.hut.fi

Thu Sep 30 20:19:57 1993  Jukka Virtanen  (jtv@kampi.hut.fi)

	* Test release gpc-2.4.5-30sep93.tar.gz in kampi.hut.fi

Tue Sep 28 23:27:20 1993  Jukka Virtanen  (jtv@gamma.hut.fi)

	* stor_layout.c(layout_type)

	  SET_TYPE aligned TImode sets in Alpha. I do not
	  support that, at least not yet. Now TYPE_MODE
	  can be either word_mode or BLKmode.
	  (fixes 143 in alpha)

	* setop.c(setop_empty)

	  Used TREE_INT_CST_HI instead of TREE_INT_CST_LO
	  (151 now passes in test hosts)

Mon Sep 27 03:06:45 1993  Jukka Virtanen  (jtv@vipunen.hut.fi)

	* GPC Version changed to 0.95

	* Updated: INSTALL, PROBLEMS, NEW-PVS-LIST

	* Initial port of gpc for hp-pa,alpha,rs-6000 and mips.
	  
	  Run pvs tests, not so bad for a first run on each host :-)
	  HP-PA is compiled with gcc-2.4.5.u5 (Utah version 5,
	  using --with-gnu-gas option for the configure)

	* gpc-util.c(init_util)

	  language_string must be "GNU PASCAL" instead of
	  "GNU Pascal" or rs-6000 backed will abort(). Sigh.

Fri Sep 24 01:52:54 1993  Jukka Virtanen  (jtv@gamma.hut.fi)

	* configure

	  Find out the library directory by running "xgcc -v"
	  @@@ Do it with xgcc --print-library-file-name or something.

	* setop.c (store_set_constructor):

	  When shifting left bit masks on the alpha, do not use
	  integer_type_nodes, use sizetype nodes instead or
	  the upper 32 bits values will be zeroed.

	* gpc-typeck.c (build_component_ref): 

	  Use routine find_field() to locate fields of the referenced
	  record, rather than the binary search algorithm. Necessary
	  for implementing WITH statement.

	* setop.c

	  Added macro GET_MODE_2(a,b) to select the mode that
	  is not VOIDmode of two rtx values. (e.g. if calling
	  emit_cmp_insn() with low and high bound one of which
	  may be a CONST_INT.

Thu Sep 23 21:21:57 1993  Jukka Virtanen  (jtv@gamma.hut.fi)

	* setop.c

	  Used word_mode in places where I should have taken the mode
	  with GET_MODE.

	* setop.c (expand_set_comparison): 
	
	  EQ_EXPR compared BLKmode and DImode incorrectly causing abort.

	* stor-layout.c (layout_type):

	  SET_TYPE is always aligned to GET_MODE_ALIGNMENT(word_mode) 

	  If TYPE_MODE does not require BLKmode it is always
	  set to word_mode.

	* setop.c (setop_copy):
	
	  Passed int value to setop_vector_adjust.

Thu Sep 23 02:25:15 1993  Jukka Virtanen  (jtv@kampi.hut.fi)

	* Upgraded to GCC-2.4.5

Tue Sep 21 20:48:15 1993  Jukka Virtanen  (jtv@kampi.hut.fi)

	* Fixed problems in inline setop operations (setop.c).

	  Now gpc-2.4.3.1 compiles the Pax compiler (25000 lines
	  of Pascal code) so that the produced Pax compiler
	  was able to compile a simple "hello.pas" program.

	  All set operations are now generating inline code.
	  the run time system file rts-set.* is now present only
	  for debugging. See code.

	* Time has passed again...

Sun Dec 13 05:38:36 1992  Jukka Virtanen  (jtv@kampi.hut.fi)

	* Massive hack attack.
	  
	  - Started rewriting set code
	  - added Bill's syntax error handling to parser
	    (with some enhancements)
	  - fixed in_expr
	  - implemented store_constructor() for sets.
	  - added a complex divide optimization (as suggested by rms)
	  - fixed run time system bugs
	    (sets, integer default width)

Sun Mar 15 03:42:28 1992  Jukka Virtanen  (jtv at kampi.hut.fi)

	* expr.c(expand_expr)

	  When copying sets convert source set mode to GET_MODE(target)
	  (Maybe sets should be laid out as the basetype specifies,
	  rather than number of elements. This would simplify inline
	  code when it's implemeted)

	* gpc-util.c
	  Fixed -fsetlimit:NN

	* gpc-lex.c
	  Fixed '(.' symbol to return LBRACKET.
	  Fixed '.)' symbol to return RBRACKET (also after digit).

Fri Mar 13 08:02:28 1992  Jukka Virtanen  (jtv at kampi.hut.fi)

	* dbxout.c(dbx_type_fields)

	  Support variant records.

	* gpc-parse.y,gpc-util.c,gpc-typeck.c

	  Implemented conformant arrays. Still some bugs exist
	  for multi-dimensional arrays.
	  (gcc-2.0 bug: nested routines can not take variable
	   length array parameters. Notified rms)

	* gpc-lex.c, rts/gpc_read.c

	  Fixed reading of floating point numbers like:
	  0.00000000000000000000000000000000000000123456789
	  since atof() does not read these right.

	* gpc-decl.c(resolve_forward_pointer),dbxout.c

	  Hacked forward pointer stab generation. -g option
	  is no longer known to crash the compiler.

Sat Mar  7 06:04:16 1992  Jukka Virtanen  (jtv at kampi.hut.fi)

	* Nested routine doing non-local goto's crashed
	  gcc-2. Notified rms. (fixed with patch to stmt.c)

	* Changed version to 0.08

	  State: 4 Pascal validation suite conformance tests fail.
	  (In i386 Mach 3.0 (mk70/ux28))

	* Fixed more bugs :-)

	  Boolean layout, array index type, etc.

	* Upgraded to gcc-2.0 public release

Sat Feb  1 21:54:01 1992  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc-parse.y
	  Does not contain any calls to momentary_obstack routines
	  (push, pop or clear) since I did not manage to
	  get them right. This is stupid, but works better
	  than previously. (Yes, it will consume some more memory)

Mon Jan 20 07:50:29 1992  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc-common.c (combine_strings)

	  Fixed typo in counting string lengths.

Sun Jan 19 18:15:27 1992  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc-util.c (construct_set)

	  call runtime routines with varargs arguments.

	* rts/gpc_set.[hc]

	  Made _p_set_single and _p_set_range to accept variable number
	  of elements/ranges.
		
	  All set args are passed as struct pointers. See rts/gpc_set.h

	  Deleted set_headers.

Sat Jan 18 14:40:55 1992  Jukka Virtanen  (jtv at kampi.hut.fi)

	* expr.c

	  Parameter count to emit_cmp_insn() inreased by 2.

	* expr.c (expand_expr)

	  FIX_ROUND_EXPR call to emit_cmp_insn missed GE !!!

	* many *.c files

	  Set library calls parameters are now out of date. FIX!!!
	  (e.g. add the lower & size params for each set type object)

Fri Jan 17 00:54:21 1992  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc-decl.c (grok_directive)

	  Fixed forward directives.

	  Extern directives STILL mess around with the
	  external symbol name. (It wants to output the
	  name without uppercasifying the first char.
	  @@@ This needs to be done properly)

	* gpc-decl.c, gpc-parse.y
	  Now parser call pop_label_level() and push_label_level()
	  Fixed clearing of named_labels.
	  (This fixed spurious error messages in some PVS tests)

	* gpc-decl.c (init_decl_processing)

	  Fixed initializing of wchar_type_node
	  (Caused NULL dereferencing).

	  Added routine get_identifier_with_blank() that
	  creates identifiers with leading blank (i.e. they
	  can not appear as tokens) for adapting for different
	  types of WCHAR_TYPE definitions.

	* Upgraded to gcc-1.96 snapshot 354

Mon May  6 01:13:34 1991  Jukka Virtanen  (jtv at kampi.hut.fi)

	* tree.c is language independent again.

Mon May  3 17:18:55 1991  Jukka Virtanen  (jtv at kampi.hut.fi)

        * gpc-lex.c, gpc-typeck.c, expr.c
	  Implemented complex conjugate as an extension.

	* optabs.c(expand_unop)
	  Implemented complex negation.

Thu May  2 02:13:42 1991  Jukka Virtanen  (jtv at kampi.hut.fi)

	* expr.c(emit_move_insn)
	  The #if 0'd code that moves things in parts is quite ok
	  for moving complex numbers, so I have enabled it for GPC.
	   It has a bug in it, that erroneously uses `x' when
	  it should use `y' when computing `y1' with change_address().
	  @@@ Not reported yet, check that this interpretation is correct.

Wed May  1 17:23:44 1991  Jukka Virtanen  (jtv at kampi.hut.fi)

	* expr.c(expand_expr)
	  Checked COMPLEX_EXPR, REALPART_EXPR, IMAGPART_EXPR and CONJ_EXPR.

	* optabs.c(expand_binop)
	  Fixed the complex type binops. Divide was incorrect.

Tue Apr 16 00:18:45 1991  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc-util.c(construct_set)

	  Implemented set bounds of integer set constructors
	  to adjust with the min and max values of the constants
	  in the constructor. (It does not yet handle checking
	  of subrange variable element bounds)

        * Cleaned up language depended files

	* Updated LANG_IND_CHANGES file. It contains information of
	  what has changed in language independent files and why.

Mon Apr 15 01:43:31 1991  Jukka Virtanen  (jtv at kampi.hut.fi)

	* expr.c(expand_expr)
	  Implemented a test version of inline IN_EXPR.
	  If variable in_line is nonzero, use this code,
	  else use the libcall (default).

	  The inline code seems to work if -O is not used. Sigh.
	  Note: It crashed because try_combine used an
	  	uninitialized variable. The bug is propably
		fixed, since newest combine.c(try_combine) looks
		very different from this one.

Sun Apr 14 17:25:02 1991  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc-lex.c(yylex) gpc-typeck.c(build_binary_op_nodefault)
	  Changed lex to return RDIV_EXPR when "/" seen.
	  Fixed handling of "/" operator when at least one argument is
	  integer. Standard requires that the result is of real type.

Sat Apr 13 18:05:52 1991  Jukka Virtanen  (jtv at kampi.hut.fi)

	* rts/gpc_set.c rts/gpc_set.h
	  Re-implemented the runtime set library to use
	  word aligned bit vectors.

	* gpc-typeck.c (convert_arguments)
	  Implemented passing of set constructors.

	* gpc-parse.y, gpc-decl.c (build_enumerator)
	  In Pascal we need to know the original type of the
	  enumerated type elements. (For set constructors to
	  build the correct type of set of enumerated elements)

Fri Apr  5 02:49:41 1991  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc-util.c (init_simple)
	  Converted the file buffer size to bits when the file
	  is packed. I forgot to do this when I started to
	  flag packed types.

Tue Apr  2 02:17:17 1991  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc-util.c (pascal_unpack_and_pack)
	  expr.c (emit_block_move)
	  Implemented pascal PACK/UNPACK routines.

	* tree.c (array_type_nelts)
	  Note: Nobody uses this routine in gcc.
	  However, it assumes that the arrays are of length
	  max-min, although for me they are max-min+1 long.
	  Thus I can't use it either, so created
	  gpc-util.c (pascal_array_type_nelts)

	* gpc-util.c (check_identifier)
	  Fixed the problem with WITH statement that caused
	  core dumps. (check if the identifier is overloaded
	  in the WITH statement)

	* function.c (expand_start_function)
	  Rms responded with a fix for the bug I reported.
	  Now all nested function dependent conformance tests
	  pass.

Sat Mar 30 12:28:19 1991  Jukka Virtanen  (jtv at kampi.hut.fi)

	* Reported a bug to rms: GCC fails to assign values to
	  upper level variables from nested functions.
	  (This causes GPC to fail now on pvs conformance test p029.pas)

	* gpc-parse.y, function.c (containin_function_p)
	  Implemented function return value assignements to upper level
	  functions.

Thu Mar 28 06:20:20 1991  Jukka Virtanen  (jtv at kampi.hut.fi)

	* After some hack attacks:
	  - configure in gpc directory can now compile gpc in a separate
	    object directory.
	  - rewrote string assignments. (The code was missing, so I quess
	    I had screwed up some previous upgrades)
	  - fixed things (except the WITH statement, see below)
	    to the state it was a year(2?) ago. Now the PVS tests
	    pass quite nicely (except the WITH statement :-( )
	  - set operations are starting to do something. However, this is
	    the first version that uses library calls for everything.
	    (One set implementation a day keeps you up at nights)
	  - Converted all suitable build calls to build1.
	  - Fixed most of Jyrki's hack fixes. The worst one
	    still remaining is the only change in tree.c
	    permanent_allocation() that disables one
	    obstack_free(). (Fixed Mon May  6 01:21:40 1991/jtv)

	  Problems: WITH statement does not work anymore!

Mon Mar 11 12:44:08 1991  Jyrki Kuoppala - Hut  (jkp at nic)

	* modified version.c to make it work better with gcc2 dir setup

	* gpc-convert.c (convert_to_char): use build1 instead of build

	* gpc-typeck.c (convert_array_to_pointer): use build1 instead of
	build

	* gpc-convert.c (convert_to_pointer): use build1 instead of build

	* converted also gpc-convert.c to new gcc version, had neglected that

	* gpc-parse.y FOR statement: added 0 as first parameter of
	expand_exit_loop_if_false(), same for REPEAT and WHILE

	* gcc/tree.c: (permanent_allocation): don't free
	maybepermanent_obstack - this is for debugging gpc now, see later
	where the problem is

	* gpc-common.c: (combine_strings) pascal support moved here from
	gpc-util.c

	* gpc-lex.c: (init_lex) call set_identifier_size

	* now it compiles and links

	* stor-layout.c (for COMPLEX_TYPE): don't use TYPE_SIZE_UNIT, use
	TYPE_PRECISION

	* gpc-util.c: make bogus macro TREE_PACKED

	* gpc-util.c: #if 0 function combine_strings, this is in
	gpc-common.c.  Should checker whether it does the same thing.

	* gpc-util.c: TREE_LITERAL -> TREE_CONSTANT

	* gpc-typeck.c: TREE_VOLATILE -> TYPE_VOLATILE

	* gpc-util.c: #if 0 for function build_complex_type, it's already
	in tree.c.  Should check where it's called and change, because
	the parametres are different.

	* gpc-parse.y: expand_end_else -> expand_end_cond (won't work)

	* added some new gcc2 files to Makefile as language-independent
	files

	* now it compiles, but doesn't link because a lot of old macros /
	functions are used.

	* gpc-typeck.c (default_conversion): form -> code, dt -> type,
	TREE_LITERAL -> TREE_CONSTANT, TREE_VOLATILE->TYPE_VOLATILE,
	dt0 -> type0, (build_component_ref): basename -> datum

	* converted gpc-typeck.c

	* created gpc-common.c

	* converted gpc-decl.c to work with gcc2

	* gpc-util.c: TREE_LITERAL -> TREE_CONSTANT, TREE_VOLATILE ->
	TYPE_VOLATILE, TYPE_SIZE_UNIT -> TYPE_PRECISION

	* gpc-parse.y: TREE_LITERAL -> TREE_CONSTANT

	* gpc-lex.c: include <stdio.h> etc. before "input.h" etc.

	* stor-lay.out.c (layout_type): change to use size_binop instead
	of genop

	* stor-layout.c (layout_type): if 0 for gpc COMPLEX_TYPE, it's in
	base gcc now

	* stor-layout.c (layout_type): use new macros for setting sizes
	etc. of types

	* gpc-parse.y: #include <stdio.h> etc. before "input.h"

	* started updating gpc to gcc 1.91 as of March 4 version:
	first I just hunt for the string GPC in the gpc sources and copy
	the code mostly as is, changing only the most obvious things.
	Done dbxout.c, expr.c, fold-const.c (no changes needed),
	function.c, gcc.c, optabs.c, print-tree.c, stor-layout.c.  Now
	only the gpc-specific files need to be done.

vMon Oct 16 20:43:34 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* Currently changing the gpc-parse.y to grok non local
	  gotos to the main program. No much luck yet :-)
	  Check gpc-parse.y.ok for a stabile one. function.c
	  has one new routine (to set up context_display).

	* Non-local gotos to routines are ok. (Currently one
	  may NOT jump to the main program level).

Sat Oct 14 15:25:52 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* various places.
	  Changes to make gpc use the nested routine support.
	  It appears to almost *work*!

	  Implemented trampoline macros in tm-vax.h should now be ok.

Wed Oct 11 16:08:15 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* Upgraded to intermediate level of gcc-1.36 with
	  nested routine and non-local goto support.

	  A couple of nesting bugs found, rms fixed them.

	  Forward directive ceased working?

Wed Oct 8 18:07:47 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* Upgraded to 1.36

Fri Aug 25 14:23:19 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* Upgraded to 1.35.97

	  Started to implement sets & set operations &
	  set constructors.

Mon Aug 21 01:13:23 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc-parse.y

	  GPC can now handle ranges in CASE statements.

Wed Aug 16 00:48:22 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* expmed.c
	  fold-const.c

	  Changed Pascal MOD to use FLOOR_MOD_EXPR. It was
	  there all the time, I just did not know what it
	  was. Both the files fold-const.c and expmed.c are now
	  unchanged from the gcc versions, so I removed them
	  from here.

Sat Aug 12 17:05:10 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* FRIEND_DECL tree code is flushed. Using an attribute
	  REDEFINABLE_DECL(NODE) ((NODE)->common.lang_flag_2)
	  instead.

	* upgraded to gcc-1.35.96

Sat Aug  5 01:11:11 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* rts

	  Run time system should now support lazy i/o. Compiler does not
	  yet do it. Fixed some bugs in terminal i/o.

	* gpc-typeck (build_unary_op, build_array_ref)
	  expr.c (various places)

	  Took my previous changes for non-zero low bound array handling
	  code away from expr.c, and changed the appropriate places in
	  gpc-typeck.c. Now the code is simpler and cleaner, and expr.c
	  does not have so many changes :-)

	* optabs.c
	  emit-rtl.c (gen_lowpart)

	  implemented simple complex type operations for GCC.

	  gen_lowpart() check for validity should use GET_MODE_UNIT_SIZE
	  not GET_MODE_SIZE so that complex types can use it.
	  (Fixed in 1.35.97)

Sun Jul 30 16:38:07 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* rts/gpc_rt0.c (_p_fflush)

	  Removed the stupid bug that fflushed stdin.
	  It has no effect in VAX, but Sun-4 and Sun-3 terminal
	  input behaved really strangely.

Sat Jul 29 06:02:02 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* stor-layout.c (layout_type)
	  gpc-util.c (init_util)

	  Size of FILE_TYPE object is now included from the run time
	  system header file rts/rts_types.h. layout_type() references to
	  external tree type variable size_of_file_type.

	* gpc-util.c (init_any)

	  Implemeted initialization of FILE_TYPE fields inside
	  Pascal records. Although the initialization of fields
	  inside record variants is likely to be wasted if the
	  overlaying field is written to. Detection of such
	  things is, once again, left open. Don't write bad
	  programs! Or compilers...

	* gpc-typeck.c (build_binary_op_nodefault)

	  Fixed (?) the bug causing *truly* verbose boolean comparisons
	  in the assembler code due to many unnecessary conversions.

	* gpc-util.c (routines that output RTS calls)
	  Run time system gpc_read.c & gpc_write.c

	  Re-implemented the handling of text file read & write routines.
	  Instead of the about 15 different write & read routines for TEXT
	  files there are now only 2 (_p_write & _p_read) that take
	  variable number of varying arguments, making the compiled
	  programs faster and assembly code easier to read.

	* gpc-decl.c (grok_directive)

	  Implemented directive `C' that does not convert
	  the possible first letter of the identifier to upper
	  case. Otherwise equal to `External'.

	  This requires knowledge of the label prefix written
	  to the assembler files. The tm.h macro ASM_OUTPUT_LABEL
	  contains the prefix as part of the string, but it does
	  not help much. There should also be a defined string
	  ASM_OUTPUT_LABEL_PREFIX if such label prefix is needeed
	  for the machine. Currently the symbol is defined in
	  gpc-decl.c, but it should be moved to tm.h (of all machines :-)

Thu Jul 27 17:00:48 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* Run time system

	  The run time system can now be compiled without modification
	  for most systems. Ftruncate is still missing for USG systems.

	* gpc-util.c (build_rts_call is_string_type)
	  rts/gpc_file.c

	  Fixed the handling of optional file name parameter to file
	  opening run time calls. Added the length of the optional second
	  parameter as the third parameter to _p_reset, _p_rewrite and
	  _p_extend.

	  Added routine is_string_type to check if the argument is a
	  string in Pascal sense.

Wed Jul 26 00:57:29 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* sparc.md

	  The define_expands matching what sbe && sne generate
	  do not clear the bit CC_IN_FCCR, since they do not
	  call macro NOTICE_UPDATE_CC. Fixed by clearing
	  the bits in sparc.md. Notified RMS.

	  Some more changes (by jkp@kampi.hut.fi) to the
	  sparc output routines; made to the gcc-1.35.95
	  and I am not certain what they were, but who cares,
	  we'll see them in gcc-1.36. Sent to gnu.gcc.bugs.

	* fold-constant.c (fold_convert)

	  The following C program produces incorrect results in Gcc-1.35:
	  main() {int j = ((int) -3.7) == -3; }

	  Also affects Pascal TRUNC function. Fixed by calling
	  force_fit_type in fold_convert. Notified RMS.

	* stor-layout.c (layout_type)

	  Tightened the rules of changing ARRAY_TYPE objects
	  from BLKmode to some other if STRICT_ALIGNMENT is
	  in effect. (Sparc dumped core before). Notified RMS.

Sat Jul 22 21:54:44 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* Changed version number to 0.05 and placed 0.04 to
	  MIT Suns.

Wed Jul 19 03:57:24 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc-parse.y

	  Allowed variable declarations whenever a statement is legal.

	* gpc-parse.y (subrange_type)
	  gpc_util.c (build_range_type, make_signed_range)

	  Allowed the upper subrange bound to be an arbitrary
	  expression. (It's more difficult to allow both bounds
	  to be expressions; it causes a lot of shift/reduce conflicts.
	  This requires some thinking!)
	  (afterthought: It requires MORE thinking than I thought it would!)

	  In any case, this makes it possible to use the variable-sized
	  arrays whose size is determined on entry to the block.

	* gpc-parse.y

	  Changed the parser to give error messages on missing
	  semicolons instead of terminating on the first such event.
	  (Note: I disabled this later to catch other error)

	* expr.c (expand_expr)

	  Implemented Pascal ROUND function in FIX_ROUND_EXPR.
	  Round(x) =
	   if (x >= 0.0) then trunc(x+0.5) else trunc(x-0.5)
	  It is done just like the code above.

	  While implementing it, I found out that the C-code
	  assignment: i = ((int) -3.7 == -3);
	  does not work as the routine fold_convert() in fold-const.c
	  leaves an unsigned value to the datum it returns
	  instead of converting it to the signed value as
	  expected. Notified RMS.	  

Tue Jul 18 20:42:41 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc-util.c (build_buffer_ref)

	  Build an
	    indirect_ref (of type file component) through
	    an indirect_ref (of type pointer to file component)
	    through address of file type object
	  instead of
	    indirect_ref (of type file component) through
	    an indirect_ref (of type pointer to file)
	    through address of file type object.

Wed Jul 12 01:10:09 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc_parse.y

	  expand_end_case() has a parameter. (It's changed
	  since epoch)

	  It's nice that the Vax unix allows *NULL.
	  (This is a joke, hahahaha)

	* gpc_parse.y

	  Fixed a bug caused by dereferencing a null pointer
	  when parsing something that looks like a function call
	  but the function is undefined. First GPC bug report
	  outside HUT by Doug Schmidt (thanks) :-)

Tue Jul 11 15:30:24 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc_defs.h (ASSERT macro)

	  Changed the ASSERT(x, s) to ASSERT(x, str) because cpp
	  expands macro parameters inside strings and I forgot it.

Sun Jul  9 20:19:41 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* optabs.c (emit_cmp_insn)
	  gpclib  (rts/gpc_misc.c routine _p_bcmp)

	  Implemented routine _p_bcmp (in the run time system) that
	  compares character strings. bcmp(3) handles only equality,
	  but Pascal needs also LESS and GREATER relations. The
	  routine _p_bcmp is a simple byte-by-byte comparison loop,
	  that can be optimized heavily with machine dependend code
	  (i.e. in vax it could use the bcmp3 machine instruction)

	  Changed optabs.c routine emit_cmp_insn to call _p_bcmp
	  instead of bmcp(3) or memcmp(3)

Sun Jul  2 23:21:45 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc-parse.y
	  gpc-decl.c (grokdeclarator)

	  Fixed the bug that caused different result with -O switch.
	  GPC optimized the function return value assignments away
	  since the result was never used in the function. Fixed it by
	  declaring the function retval id volatile.

Sat Jul  1 01:15:04 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* Started implementing set type. Sets are represented as
	  arrays of booleans, but the type of the set is still the
	  type of the set elements. Implemented IN_EXPR to see if
	  this method works...

	  It is yet unclear to me if sets starting from nonzero
	  element cause problems.  Normally they don't, but passing
	  sets as parameters can be a problem. So maybe I need to
	  store the low bound and length to the beginning of the
	  set. When this thing is ok, maybe it would be nice to
	  implement some sparse set model (with linked lists) and
	  run time routines that can mix both of them. This might
	  make Pascal sets more useful.

	* gpc-util.c (rts_read) (rts_write)

	  Oops, fixed a bug when reading and writing with
	  Read & Write from non-textfiles.

Fri Jun 30 01:48:12 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc-decl.c (start_function) (start_pascal_function) (grok_directive)
	  gpc-lang.h
	  gpc-parse.y
				      
	  Implemented Pascal required `Forward' directive. Also
	  `External' should work (nothing prevents you from
	  declaring an external function in the same file, which
	  I consider somewhat misleading.) If -pedantic is
	  given gpc complains if you give the parameters and
	  function return value when actually defining the forward
	  declared function thus violating THE standard.

	  I started to use the *_LANG_SPECIFIC macros and
	  the struct lang_decl *lang_specifig field in the tree_node,
	  but did not alter make_node in tree.c. So the nodes MIGHT go
	  to different obstacks. And that is bad. Have to look at this.

	* expmed.c (expand_divmod)
	  fold-const.c (div_and_round_double) 

	  Implemented Pascal MOD with TRUNC_MOD_EXPR. It's
	  incorrect, but works until it's done better.
	  This way it's not language independent.

Thu Jun 29 04:13:32 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc-util.c, run time system

	  Reduced number of parameters of _p_initfdr to 4.

	* gpc-util.c (build_buffer_ref)

	  Changed file buffer referencing through the FILE_TYPE
	  BLKmode thing to happen like *(*(&file)) instead of
	  *file that used to abort 4 tests and fail on Suns.

Wed Jun 28 02:44:50 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* Ran PVS tests first time on Sun-3/60. 18 more tests passing
	  in Vax will not compile or run correctly on a Sun. It's amazing
	  that it does even this much...

	* gpc-util.c (init_any)
	  Avoid wraparound when stepping through indices of arrays
	  we are initializing. array [ maxint .. maxint ] of anything
	  caused virtual memory to exceed :-)

	* gpc-lex.c (yylex)
	  Implemented Extended Pascal numbers that are of the format:
	  radix#value where radix can be in the range 2..36

        * gpc-util.c gpc-parse.y
	  Implemented Extended Pascal file routines to the run time
	  system (SeekRead, SeekWrite, SeekUpdate, Update, Extend,
	  Empty, LastPosition, Position).
	  These are not tested, and likely to be buggy.

	* Implemented also a GPC extension (not in Extended Pascal)
	  DefineSize that can be used to move the file pointer past end of file.
	  File will be truncated to the specified size if you so specify.

	* Implemented Extended Pascal procedure Halt. (with minor
	  extensions :-) Also Date, Time and GetTimeStamp are
	  implemented, but require some work after Extended Pascal
	  string type is implemented and predefined record TimeStamp
	  is defined.

Tue Jun 27 01:42:09 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc-util.c (un_initialize_block) (init_any) (init_simple)
	Split the un_initialize_block() routine into three parts:
	init_any() which is a recursive routine that propagates through
	all structured types and calls init_simple () to do the actual
	un-initialization for all basic (simple) types. (Currently only
	FILE_TYPE is un_initialized by generating _p_initfdr() calls to do
	that.) un_initialize_block () now only finds all VAR_DECL nodes in
	the block and calls init_any () for each of them.

Sun Jun 25 02:15:09 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* obtabs.c (emit_cmp_insn)
	It seems that the emit_library_call () for "bcmp"
	&& "memcmp" has wrong parameters x & y.
	When changed to XEXP (x, 0) and XEXP (y, 0) the
	compiler does not abort, and seems to generate
	intelligent looking code.
	Now it seems to generate code for block compares.
	Notified RMS.

	* gpc-decl.c (grokdeclarator)
	  gpc-typeck.c (default_conversion) (build_array_ref)
		       (build_unary_op) (convert_array_to_pointer)
	Don't convert arrays to pointers by default anymore.
	Now it seems to be able to pass both VAR and value
	parameter arrays. Moved the array stuff from default_conversion
	to a new routine convert_array_to_pointer that gets called when
	such a thing is required (build_unary_op (ADDR_EXPR from
	ARRAY_REF) and build_array_ref ()) Indexing these arrays
	seems to work now also.

	* Started to implement Pascal arrays properly.

Fri Jun 23 15:15:48 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc-parse.y (FOR statement)
	The for statement control variable should not
	be assigned to until BOTH of the bounds expressions
	have been evaluated. Fixed by allocating temp variables
	for both of the expressions.

	* dbxout.c (dbxout_type)
	Implemented CHAR_TYPE, BOOLEAN_TYPE, FILE_TYPE and
	COMPLEX_TYPE .stabs for gdb debugging.

Wed Jun 21 08:21:15 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc-util.c (un_initialize_block)
	Altered a NULL_TREE parameter to integer_zero_node
	when constructing the file initialization run time system
	call.

	* gpc-lex.c (yylex)
	  Changed gpc to use tables generated by Doug Schmidt's
	  perfect hash function generator when recognizing reserved
	  words.

	* merged with gcc-1.35. Problems to find time to do GPC.

Mon Apr  3 16:08:12 1989  Jukka Virtanen  (jtv at kampi)

	* Implemented Extended Pascal MAXCHAR, MINREAL, MAXREAL
	and EPSREAL.

Sat Mar 25 12:27:12 1989  Jukka Virtanen  (jtv at kampi)

	* Changed version number to 0.04

	* Updated the COPYRIGHT notice on all files (also
	in the run time system) to FSF Copyright Version 1
	level.

	* gpc-parse.y
	  gpc-decl.c (shadow_record_fields)
	Changed WITH statement record field shadowing to happen
	when the corresponding WITH element is parsed. It was previously
	done after all WITH elements had been placed in a chain;
	but this is far too late, since lookup_name() was then
	called too early. Now the WITH statement should work as
	the standard requires.

	* gpc-parse.y
	Fixed bug in REPEAT UNTIL boolean_expression handling.

Fri Mar 24 18:08:37 1989  Jukka Virtanen  (jtv at kampi)

	* gpc-parse.y
	While parsing FOR loops the lineno variable was assigned
	to $<itype>9 inside the ninth element of the rule. It seems that
	this does not work as I imagined, since when $<itype>9
	was accessed it was always 0 causing an abort() in final()
	if -g was specified. Use $<itype>$ instead.

	* Split the gpc-parse.y to gpc-parse.y and gpc-lex.c
	(We had the *OLD* Bison here that did not output YYSTYPE
	and YYLTYPE to tab.h file before...)

	* Got rid of TREE_IMPLICT_REF. It was ugly...
	VAR parameters are now handled with REFERENCE_TYPE
	nodes. Until they are properly implemented, I convert
	them to POINTER_TYPE nodes as soon as possible to avoid
	too many changes in GCC files. (Let's hope I managed to
	catch all places where conversions are needeed:
	gpc-parse.y, actualparameterlist(), build_indirect_ref(),
	default_conversion().

	This caused also other changes, mainly to gpc-util.c (do_ptype)
	and the way run time system routines get their formal parameter 
	list.

Tue Mar 21 13:59:45 1989  Jukka Virtanen  (jtv at kampi)

	* empty record variables can not be declared.
	They generate an undefined external reference when
	linking the program. It's also a bug in GCC. Notified RMS.
	(RMS fixed it in gcc-1.34)

	* gpc-util.c (shadow_record_fields & handle_one_level)
	gpc-parse.y
	Handle WITH for variant records. Also, now it should calculate
	a pointer to the WITH element value and store it to
	a temporary variable and construct an indirect_ref through this
	when WITH elements are used. This is done only when WITH element
	is not a VAR_DECL node.

	* gpc-typeck.c (find_field)
	For variant records when proceeding to the variant part through
	the NULL_TREE named FIELD_DECL nodes don't generate
	COMPONENT_REFs for UNION_TYPE decls. I have to look at this
	again someday.

	* gpc-typeck.c (build_unary_op)
	ADDR_EXPR did not allow arrays with non-zero lower bound.

	* Gee. I have to DE-implement the function return values
	to the way I did it in the first place. This is because Pascal
	allows assignment to function return values long before
	the function returns. The function return values (when possible)
	go to the register r0, which is not marked as reserved when
	the DECL_RESULT is stored, and this register is used for other
	purposes thus destroying the assigned function return value.

Fri Mar 17 17:37:53 1989  Jukka Virtanen  (jtv at kampi)

	* gpc-parse.y
	FOR loop bound checking altered to avoid wraparound bug

	* gpc-parse.y
	  gpc-decl.c
	Re-implemented the function return value handling to
	use the GCC supplied standard features.

Thu Mar 16 17:26:24 1989  Jukka Virtanen  (jtv at kampi)

	* gpc-parse.y
	  gpc-decl.c (shadow_record_fields)
	Partially implemented WITH statement.
	Does not work with variant records, other bugs
	are also likely to pop up. But it passes 6 PVS
	conformance tests with WITH!!! WITH elements still
	need to be evaluated only once.

Tue Mar 14 15:06:44 1989  Jukka Virtanen  (jtv at kampi)

	* gpc-util.c (resolve_forward_pointer)
	  gpc-parse.y
	  gpc-decl.c (lookup_tag not static currently)
	Implemented pointers to currently undeclared
	types. A "forward pointer" is placed in the
	list of TAGS where the routine resolve_forward_pointer
	seeks it when a new type is declared. If it finds
	a forward pointer, it alters the type it points to,
	and lays it out (well, maybe the layout is unnecessary)

Wed Mar 8 16:07:23 1989  Jukka Virtanen  (jtv at kampi)

	* Changed the new edition number to 0.03

Tue Mar  7 12:46:59 1989  Jukka Virtanen  (jtv at kampi)

	* gpc-util.c (build_rts_call):
	Allow NEW and DISPOSE to take variable number of args
	but warn if the arg list is longer than 1 (it means
	the user is allocating memory for tag-fielded variant
	records with specified tags)

	* gpc-typeck.c (actualparameterlist)
	  gpc-parse.y
	  gpc-util.c
	Procedural parameters should work.
	(A problem: if formal parameter is a procedural
	parameter, and the actual parameter is a routine
	returning a procedure/function pointer, should
	we evaluate or not? Of course, this is not a problem
	in standard Pascal.

Sun Mar  5 01:57:59 1989  Jukka Virtanen  (jtv at kampi)

	* gpc-parse.y
	  gpc-util.c (convert_type_to_index):
	ordinal typenames used as index specifiers
	for arrays should work. (Should check that
	array [ integer ] of anything is not given;
	it might fill the computer... Well, it's only
	a question of resources :-)

	* gpc-typeck.c (convert_for_assignment)
	  gpc-util.c (build_range)
	subranges should work better now. Even some type
	checking should be implemented for them. Upper
	and lower bounds must be of same type. Enumerated
	type values are still treated as integers.  Needs
	fixing.

	* gpc-parse.y
	Argh. When we need a Pascal CONSTANT that is a
	predefined identifier (like MAXINT) we can not
	pass the node itself, we have to pass a
	copy_node() of it; I found this out when
	build_range() modified the min value of the
	integer_maxint_node and folding a NEGATE_EXPR of
	this node returned a mysterious number...

	* changed TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR
	to TRUTH_AND_EXPR and TRUTH_OR_EXPR; the short
	circuit boolean operators may still be called
	with AND THEN and OR ELSE or by giving the
	option -fshort_circuit

	* added -fshort_circuit

Sat Mar  4 19:44:10 1989  Jukka Virtanen  (jtv at kampi)

	* gpc-util.c (build_index_type_2):
	a routine similar to build_index_type (), but can
	also define the lower bound of the index (not always 0).
	Hashes to the same hashcode as build_index_type.

	* gpc-util.c (concatenate_strings):
	constant string arrays have a lower subscript 1
	as the standard requires, not 0 as before.
	The terminating NULL is no longer counted to array size.
	String assignment should work.

	* Made array assignment possible

	* Implemented CHAR_TYPE.

Thu Mar  2 06:02:14 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* Implemented array indexing to arrays with arbitrary
	lower bound. (Used to work only with zero lower bound;
	as C requires.)

	expr.c (expand_assignment): 
	expr.c (expand_expr): case ARRAY_REF: & case COMPONENT_REF:
	Modified the code to handle arrays with non-zero
	lower bounds.

Wed Mar  1 13:09:44 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* gpc-decl.c (start_decl): don't switch to temporary_allocation
	when defining a top level CONST_DECL node.

Tue Feb  28 16:35:56 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

	* upgraded to gcc-1.34
	changed gpc version to 0.02 (gcc-1.34)

Mon Feb  27 17:20:42 1989  Jukka Virtanen  (jtv at kampi.hut.fi)

        * gpc version 0.01 (gcc-1.33) transferred to
	  MIT-Suns (to directory ~jtv/gpc)

Wed Mar 30 12:39:13 1988  Jukka Virtanen  (jtv at santra.hut.fi)

	* Epoch. Started implementing gpc on gcc-1.21.
	  Got bored, and forgot the whole thing until
	  at Feb 1989 I ported the changes to gcc-1.33.
	  (I didn't think you would actually read this!)
