Thu Dec 12 00:07:10 1996 MET  Peter Gerwinski <peter.gerwinski@uni-essen.de>
             Jan-Jaap van der Heijden <j.j.vanderheijden@student.utwente.nl>
                                                 Jukka Virtanen <jtv@hut.fi>

	* Release of GNU Pascal version 2.0

Mon Nov 18 21:15:03 1996 Jan-Jaap van der Heijden <j.j.vanderheijden@student.utwente.nl>

	* config/msdos/gpc-version.c:
	  Deleted. (automatically built now, like in unix)

	* config/msdos/Makefile:
	  updated `clean' target to delete *.exe too

Mon 18 Nov 1996 19:47  Peter Gerwinski <peter.gerwinski@uni-essen.de>

	* gpc-parse.y: string_constant: new rule to convert CHAR_LITERALS
	  into STRING_LITERALS for `asmname' specifications.
	  storage_qualifier, directive: use string_constant instead of
	  STRING_LITERAL.
	  storage_qualifier: include D_EXTERNAL and D_ASMNAME.
	  @@@ This must be re-written in a cleaner way.

	* test/borland_pascal/asmnames.pas: Check for `asmname' variables, too.

Sun 17 Nov 1996 20:06  Peter Gerwinski <peter.gerwinski@uni-essen.de>

	* Promoted to version 2.0, updated NEWS, etc.

	* old_doc: removed.

	* test/misc/txtfile.pas, test/misc/binfile.pas: remove
	  " + chr ( 0 )" workaround in procedure assign.

Sun 17 Nov 1996 2:52  Peter Gerwinski <peter.gerwinski@uni-essen.de>

	* config/emx/*: use the DJGPP source distribution with 8.3 file
	  names, so we do not need separate makefiles for FAT and HPFS
	  partitions.  Scripts and documentation updated.

	* config/emx/rts-conf.h: #undef'ed HAVE_SETLINEBUF and
	  HAVE_STRCASECMP.

Tue Nov 12 22:15:03 1996 Jan-Jaap van der Heijden <j.j.vanderheijden@student.utwente.nl>

	* Makefile.in, doc/Makefile.in:
	  changes to info, info-clean, clean, distclean, info-distclean,
	  install, install-info and bindist targets. Now all of them work
	  when GPC isn't built in the source dir.

	* configure: rebuilt

	* configure.in, aclocal.m4: move BSD RTS selection to aclocal.m4,
	  select BSD_RTS only if BSD is detected and "--with-bsdrts" switch
	  is used.

	* config/cygwin32/README.beta16:
	  Updated information for gcc-2.7.2.1

	* config/cygwin32/gcc-2.7.2.i386-cygwin32-b16.diff:
	  replaced with gcc-2.7.2.1.i386-cygwin32-b16.diff

	* config/msdos/INSTALL.txt:
	  New file, installation instructions for a GPC/djgpp binary dist.

	* config/msdos/Makefile, Makefile.rts:
	  updated for djgpp v2.01. Less msdos fuss because djgpp now comes
	  with GNU fileutils and shellutils. Recursing into subdirectories
	  works without troubles now.

	* config/msdos/Makefile.doc:
	  New file

	* config/msdos/README.dj, djgpp.env, rts-config.h, specs.gpc:
	  updated for djgpp v2.01

	* configure.bat:
	  add doc/Makefile, delete config/msdos/Makefile.doc

	* gcc.c:
	  removed djgpp related mktemp() bugfix code; the problem is not
	  mktemp() but the "obstack_grow (&obstack, t->suffix, t->length);"
	  call (near line 3600) which was apparently EMX specific.

	* rts/rts-config.in, rts/rts.h:
	  HAVE_SIGSYS: renamed to BSD_RTS

Sun 3 Nov 1996 23:15  Peter Gerwinski <peter.gerwinski@uni-essen.de>

	* doc/bpqstart.texi: documented alignment of record fields.

Thu 31 Oct 1996 17:20  Peter Gerwinski <peter.gerwinski@uni-essen.de>

	* gpc-typeck.c: comp_object_pointer_types(): use IS_OBJECT_TYPE
	  instead of comparing TREE_CODE (...) == RECORD_TYPE (bug fix).

Tue 29 Oct 1996 16:15  Peter Gerwinski <peter.gerwinski@uni-essen.de>

	* gpc-defs.h: new flag PASCAL_TYPE_OPEN_ARRAY;
	  new variable warn_void_dereference.

	* gpc-parse.y: open_array: array is flagged;
	  variable_or_function_access_no_id: handle warn_void_dereference
	  when pointers are explicitely dereferenced.

	* gpc-typeck.c: new variable warn_void_dereference;
	  comptypes(): dont't check domain ranges of open arrays; 
	  build_indirect_ref(): warn about "untyped" rather than
	  "void *" pointers and only if warn_void_dereference is
	  nonzero.  This suppresses warnings when taking addresses
	  of untyped parameters, e.g. with "&", "@", or ABSOLUTE.

	* doc/extend.texi, doc/bpqstart.texi, doc/bugs.texi, and
          test/borland_pascal/voidparm.pas updated.

Mon 28 Oct 1996 11:15  Peter Gerwinski <peter.gerwinski@uni-essen.de>

	* doc/bpqstart.texi: documentation about CASE and untyped
	  parameters updated.

Sun 27 Oct 1996 22:13  Peter Gerwinski <peter.gerwinski@uni-essen.de>

	* gpc-parse.y: implemented untyped CONST and VAR parameters.
	  Additional shift/reduce conflicts arise from error recovery
	  rules.

Sun 27 Oct 1996 18:30  Peter Gerwinski <peter.gerwinski@uni-essen.de>

	* gpc-parse.y: flagged rules which cause shift/reduce conflicts:
	  typed constant and variable initializers with '=', structured 
	  initializers with '(' ... ')', and error recovery rules.

Sun 27 Oct 1996 14:30  Peter Gerwinski <peter.gerwinski@uni-essen.de>

	* gpc-parse.y: case_statement: implemented ELSE branch.
	  optional_semicolon_or_else_branch: new rule.

	* test/borland_pascal/caseelse.pas: new test program.
	  test/borland_pascal/Makefile updated.

Sat 26 Oct 1996 20:30  Peter Gerwinski <peter.gerwinski@uni-essen.de>

	* gpc-parse.y: assignment_or_call_statement: handle return value
	  assignments for method functions.
	  object_section: fixed bug in call to grok_directive().
	  variable_or_function_access_no_id: call also methods without
	  an actual parameter list.

Thu 24 Oct 1996 13:44  Peter Gerwinski <peter.gerwinski@uni-essen.de>

	* gpc-module.c: load_tree(): case FUNCTION_DECL: fixed bug:
	  load methods as "Objectname_Methodname" for the external
	  declaration, but as "Methodname" only for the object's field.

Sun 19 Oct 1996 13:33  Peter Gerwinski <peter.gerwinski@uni-essen.de>

	* config/emx/Make*.RTS: rename libgpc.a to gpc.a while installing
	  and add -DHAVE_TIME to RTSFLAGS.

	* config/emx/Make*: rename libgpc.a to gpc.a while uninstalling.

	* gpc-util.c: get_main_program_name(): map "Name" to "program_Name"
	  instead of "name" to avoid clashes with C library functions.

Sat 18 Oct 1996 16:25  Peter Gerwinski  <peter.gerwinski@uni-essen.de>

	* test/borland_pascal/Makefile changed to use the *installed* gpc

	* gpc-module.c: load_tree(): case FUNCTION_DECL: fixed bug
          when calling grok_directive()

	* config/emx/Make*.RTS: included gcc_bcmp.?

        * gcc.c: add_automake_files(): delete automake info file after use.
	  The "%d" in the spec should already do this--bug in GCC?

Tue 17 Oct 1996 24:05  Peter Gerwinski  <peter.gerwinski@uni-essen.de>

	* Documentation: bugs.texi and fpk_vs_gnu.texi updated.

Tue Oct 10 16:04:58 1996 Jan-Jaap van der Heijden <j.j.vanderheijden@student.utwente.nl>

	* Integrated patches from Juki <jtv@hut.fi>. His own comments:

        Makefile.in     : Change GCCVERSION (might cause problems)
                          make info a .phony target
        configure.in    : Create doc/Makefile
                          the doc/Makefile needs to be renamed to
                          doc/Makefile.in and modified
        expr.c          : GCC one-line fix
        gpc-typeck.c    : GCC adds an error_init()
        stor_layout.c   : GCC bitfield alignment fix
                          because it does not
        doc/Makefile.in : rename doc/Makefile -> doc/Makefile.in
                          The makefile did not work when objects and sources
                          are in different directories. unfortunately
                          it still might not work as I did not have
                          all the necessary programs it uses so
                          I did not test it very much :-)
 
Sun Oct  6 15:18:30 1996 Jan-Jaap van der Heijden <j.j.vanderheijden@student.utwente.nl>

	* aclocal.m4, configure.in, Makefile.in: added tests for
	  EXTRA_GCC_OBJS, USE_COLLECT2, MAYBE_USE_COLLECT2 and TARGET_DEFAULT

	* configure: rebuild.

Sun 29 Sep 1996 17:27  Peter Gerwinski  <peter.gerwinski@uni-essen.de>

	* gpc-parse.y: implemented multiple directives
	  directive: ATTRIBUTE got optional parentheses
	  directive_list: new rule
	  optional_directive: changed to optional_directive_list
	  function_declaration, function_interface_decl modified to
	  use directive_list

	* gpc-decl.c: is_known_directive(), grok_directive(), 
	  start_pascal_function(): modified to handle multiple directives
	  contains_forward_directive(): new function

Mon Sep 23 22:49:59 1996 Jan-Jaap van der Heijden <j.j.vanderheijden@student.utwente.nl>

        * gcc.c: main():  Changed to substitute the basename of the first
          input file for %b in link_command_spec not just for __EMX__
          It would crash the gpc driver in add_automake_files when only
          linking was requested.

        * Makefile.in: Disable -Dabort=fancy_abort per default.
          Possibly it is still enabled, but only if GCC defines it in
          config.h

        * tests/* : moved to tests/borland_pascal/
          tests/extended_pascal: new directory with Extended Pascal test(s).

        * rts/rts-times.c: enabled time related Extended Pascal functions
          per default. Use -DHAVE_NO_TIME to disable them again.

        * Makefile.in: 'make info' target changed to work, even when called
          from a different location.

        * README-bugs: new file (copied from GCC development tree)

        * configure : rebuilt

        * configure.in: misc. changes to allow building crosscompilers
          and crossbuilding the compiler without any additional switches
          to configure.

        * config/cygwin32/gcc-2.7.2.i386-cygwin32-b16.diff: new file.
          Apply to regular gcc-2.7.2 to add cygwin32-b16 support.

        * doc/how_to_contrib.texi: updated email address.

        * gcc.c, toplev.c, gpc-module.c: change all #define __WIN32__
          to __CYGWIN32__.  Now, cygwin32 defines _WIN32 and __CYGWIN32__
          while U-Washington nt-gcc defines _WIN32 and __WINNT__

        * gpc-common.c: add prefix_attributes stuff.

        * rts/rts-file.c: for MS-DOS, EMX, Win32: open all file types other
          than "text" in binary mode, to avoid corruption.

        * rts/rts-rt0.c: changes to RTS signal catcher. Signal catcher
          (temporarily ?) disabled.

Wed 11 Sep 1996 25:15  Peter Gerwinski  <peter.gerwinski@uni-essen.de>

	* gpc-parse.y, gpc-util.c, gpc-decl.c: implemented machine
	  attributes for functions:  Procedure foo; attribute stdcall;

Mon 9 Sep 1996 11:15  Peter Gerwinski  <peter.gerwinski@uni-essen.de>

	* ChangeLog: added changes from summer 1995

Sun 8 Sep 1996  Peter Gerwinski  <peter.gerwinski@uni-essen.de>

	* gpc-module.c: store_tree(), load_tree(): in a VAR_DECL
	  node, store DECL_ASSEMBLER_NAME as well

Sat 7 Sep 1996  Peter Gerwinski  <peter.gerwinski@uni-essen.de>

	* gpc-parse.y: new token ASMNAME, used in storage_qualifier
	  to pass a STRING_LITERAL to declare_vars() which is going
	  to be the assembler name of a declared variable

        * gpc-util.c: declare_vars(): appreciate an assembler name
	  for a variable in the TREE_PURPOSE of `qualifiers'

Wed Sep 04 21:56:26 1996 1996 Jan-Jaap van der Heijden <j.j.vanderheijden@student.utwente.nl>

        * gpc-util.c: get_unique_identifier():  Generate unique
          identifier_nodes of the form "_%s_%d_" instead of "<%s_%d>"
          because djgpp's GAS doesn't like "<%s_%d>"
          Suggested by Robert Hoehne <Robert.Hoehne@Mathematik.TU-Chemnitz.DE>

Wed 21 Aug 1996 3:07  Peter Gerwinski  <peter.gerwinski@uni-essen.de>

	* config/emx patched to work with dmake instead of nmake

	* gcc.c: link_spec updated according to gcc-2.7.2 from the
	  EMX distribution

	* Makefile.in: remove stamps in extraclean

Mon 19 Aug 1996 2:00  Peter Gerwinski  <peter.gerwinski@uni-essen.de>

	* configure.bat: detect DJGPP or EMX.

	* configure.cmd created.

Sun 18 Aug 1996 21:00  Peter Gerwinski  <peter.gerwinski@uni-essen.de>

	* README files in doc and old_doc created

Sat 17 Aug 1996 0:21  Peter Gerwinski  <peter.gerwinski@uni-essen.de>

	* ChangeLog: added changes from July 1996
	  (four hours of work)

Fri 16 Aug 1996 20:35  Peter Gerwinski  <peter.gerwinski@uni-essen.de>

	* Makefile.in: explicitly call $(CC) for "language independent"
	  object files

	* gpc-module.c: change `EMX' to `__EMX__' and add `#define vfork'
	  for USG

	* Makefile.in: added .gdbinit to TAR_FILES

Fri Aug 16 11:35:47 1996 Jan-Jaap van der Heijden <j.j.vanderheijden@student.utwene.nl>

	* aclocal.m4, configure.in: minor changes to support crossbuilding
	  the compiler.

	* gpc-defs.h: move GPC_MAKE_STRING outside REAL_IS_NOT_DOUBLE

	* config/cygwin32/: new files. cygwin32 configuration currently
	  broken: may hang when forking a child process, i.e. automake,
	  linking etc.

Mon 12 Aug 1996 19:25  Peter Gerwinski  <peter.gerwinski@uni-essen.de>

	* gpc-parse.y: updated my e-mail address

	* gpc-defs.h: PASCAL_CONSTRUCTOR_METHOD and PASCAL_VIRTUAL_METHOD
	  moved from DECL_LANG_FLAG_* to TREE_LANG_FLAG_* (they are used
	  in EXPR_* nodes, too)

	* gpc-parse.y: get_unique_identifier ("self", 0 -> 1) to fix
	  crash when compiling with -g

Mon 12 Aug 1996 16:45  Peter Gerwinski  <peter.gerwinski@uni-essen.de>

	* gpc-parse.y: fixed missing parameter to two calls to top_level_p ()

	* gpc-defs.h: added prototype for top_level_p ()

Sun 12 Aug 1996 1:45  Peter Gerwinski <peter.gerwinski@uni-essen.de>

        * gcc.c: main(): with DJGPP, read specs from "specs.gpc"

        * gcc.c: default_compilers[]: use %b.gpc instead of %g.gpc
          for AutoMake temporary files

        * gcc.c: choose_temp_base(): Work around DOS specific
          problem with mktemp()

Wed Aug  7 13:49:07 1996  Jan-Jaap van der Heijden <j.j.vanderheijden@student.utwene.nl>

	* version.in : renamed to gpc-version.in

	* target version.c is now gpc-version.c to avoid VPATH problems.

Mon Aug  5 00:14:33 1996  Jan-Jaap van der Heijden <j.j.vanderheijden@student.utwene.nl>

	* configure.in, aclocal.m4, config.guess, config.sub, install-sh:
		new files.

	* Makefile.in: rewritten for GNU autoconf.

	* Version.c : renamed to version.in to avoid problems with version.c
		on case-remembering but case-insensitive environments like
		Windows NT.

	* rts/Version.c: renamed to rts-version.in, same reason.

	* rts/rts-config.in: new file.

	* rts/rts.h: includes rts-config.h, #define HAVE_* moved to
		rts-config.h.

	* rts/Makefile.in: adapted for autoconf.

	* Makefile.in: do not always recreate version.c to avoid unnecessary
		relinking of the compiler.

	* gnuvers.sh: moved to rts/gnuvers.sh

July 1996  Peter Gerwinski  <peter.gerwinski@uni-essen.de>

	Remark: Changes marked with (X) were already present in
	turbo-1.1-gpc-2.6.3, changes marked with (Y) already in
	turbo-1.0-gpc-2.6.3.  They had vanished in phil-2.7.2.
	I have re-merged them while doing the other changes.

	* gcc.c:
	  concat_args (): new function
	  add_automake_files (): new function
	  default_compilers []: added -fautomake => -famtmpfile
	  do_spec_1 (): fixed bug (?) with MKTMP_EACH_FILE

	* gpc-common.c:
	  build_pxsc_operator (): new function

	* gpc-decl.c:
	  new variables bounds_in_static_decl, bounds_poplevel
	  c_decode_option (): added options -fdebug-gpi, -fautomake,
	  -famtmpfile, and -fgpc-main
	  init_decl_processing (): initialize export_all mark
	  grokdeclarator (): set DECL_FIELD_BITPOS (decl) nonzero for
	  method functions (due to problems with debugging) (X)
	  allocate_type_lang_specific (): allocate more space (X)
	  de_capitalize (): toupper -> tolower
	  grok_directive (): added comments

	* gpc-defs.h:
	  `GPC_MAIN' is a variable `gpc_main' now.
	  added autoexport variables (for `export foo = all')
	  we_are_loading_a_gpi_file: new variable
	  d_asmname: directive variable was missing
	  export_all: new variable
	  save_string (), build_pxsc_operator: prototypes for new functions
	  flag_debug_gpi, flag_automake, automake_gpc_options,
	  automake_temp_filename: new variables
	  version_flag: now a global variable
	  handle_autoexport (), ..., create_gpi_files (): prototypes for
	  new functions

	* gpc-lex.c:
	  yylex (): addex PXSC operators (CEILPLUS, ...)

	* gpc_module.c:
	  added #include <sys/types.h>, <sys/stat.h>, and <fnctl.h>;
	  with EMX also <process.h>, <stdlib.h>, and <errno.h>.
	  export_all: new variable.
	  gpi_contents, ..., we_are_loading_a_gpi_file: new variables
	  export_interface (): support `export foo = all'
	  name_exported_p (): removed autoexport mechanism here

	  New section "The AutoMake facility".  p_execute () and
	  friends copied from gcc.c.  New functions:
	  execute_child (), add_to_automake_temp_file (),
	  pass_automake_gpc_options (), module_must_be_recompiled (),
	  compile_module ().

	  New section "GPI file handling".  New functions:
	  store_string (), load_string (),
	  store_flags (), load_flags (),
	  store_type_flags (), load_type_flags (), 
	  store_decl_flags (), load_decl_flags (),
	  store_tree (), load_tree (),
	  create_gpi_files (), gpi_open (), load_gpi_file ().

	* gpc-options.h:
	  new options -fdebug-gpi, -fautomake,
	  -famtmpfile, -fgpc-main

	* gpc-parse.y:
	  removed obsolete comments, corrected spelling
	  new token ALL

	  type_definition_part: enable/disable keyword "Object" (Y)
	  (was too late in unpacked_structured_type)
	  variable_declaration: enable/disable keyword "Absolute" (Y)
	  (was too late in absolute_or_value_specification)
	  declaring_statement: enable keyword "Absolute" (Y)
	  absolute_or_value_specification_1: corrected wrong warning text (Y)
	  initializer_list: allow more than two components

	  constant_definition, type_definition, object_section,
	  function_interface_decl: added handle_autoexport
	  rest_of_unit: export_interface uses ALL now, 
	  handle pending declarations and create gpi files
	  rest_of_module: create gpi files
	  export_part: enable/disable keywords "Protected" and "All"
	  export_list_or_all: new rule

	  new operators CEILPLUS, ..., FLOORDIV
	  operator_identifier, simple_expression, term: added PXSC operators
	  pxsc_adding_operator, pxsc_multiplying_operator: new rules

	  variable_or_function_access_no_id: use TYPE_LANG_SPECIFIC instead
	  of TYPE_BINFO to store inheritance information
	  (debugging problems) (X)

	* gpc-typeck.c:
	  comp_object_pointer_types (): use TYPE_LANG_SPECIFIC instead of 
	  TYPE_BINFO (X)
	  build_function_call (): fixed "String" bug.  Functions returning
	  String schemas are now called only once.

	* gpc-util.c:
	  gpc_main: new variable
	  declare_vars (): call handle_autoexport (), don't make
	  everything static, handle case of gpi files

	  call_method (): fixed bug with virtual methods and constructors
	  check_object_pointer (): new function
	  store_object_name (): store base type in TYPE_LANG_SPECIFIC (X)
	  inherit (): bugs fixed, use TYPE_LANG_SPECIFIC instead of
	  TYPE_BINFO (X)

	  build_rts_call (): DISPOSE parameter was missing (X)
	  get_method_name (): fixed i386 alignment problems (X)
	  construct_vmt (): fixed i386 alignment problems (X)
	  initialization mechanism changed
	  use forward declared methods (X)

	  output_real_main_program (): use gpc_main instead of GPC_MAIN
	  save_string (): new function

	* gpc.gperf:
	  new keyword "All"
	  enabled Borland keywords (X) and added a comment, why

	* toplev.c:
	  main (): version_flag is now a global variable
	  bounds_checking_enabled: new variable (from the EMX GCC source)
	  lang_options []: new option `-fbounds-checking'
	  updated EMX dump file names to 2.7.2

Sat Dec  9 20:58:48 1995  Jukka Virtanen  <jtv@vinkku.hut.fi>

	* rts/rts-bind.c: Cast arguments of bcopy() to (char *).

Sat Dec  9 20:47:23 1995  Jukka Virtanen  <jtv@vinkku.hut.fi>

	* doc/README.FIRST: Upgraded to 2.7.2.

Sat Dec  9 20:32:43 1995  Mr B. Force  <zoot@vinkku.hut.fi>

	* COPYING, COPYING.LIB: Initial revision

Sat Dec  9 20:19:47 1995  Jukka Virtanen  <jtv@vinkku.hut.fi>

	* gpc-gperf.c: Generated with turbo keywords.

	* convert.c, dbxout.c, fold-const.c, function.c, optabs.c,
	  stor-layout.c, toplev.c, gpc-lang.c, gpc-common.c,
	  gpc-convert.c, expr.c, gpc-cccp.c:
	Upgraded to 2.7.2.

	* gpc-parse.y: Upgraded to 2.7.2.

	Added NULL_TREE parameters where attribute is
	expected in start_function(), start_decl,
	finish_enum(), finish_struct().

	* gpc-decl.c: Upgraded to 2.7.2.

	* configure: Upgraded to 2.7.2.

	Added rule for finding out_object-file.

	* gcc.c: Upgraded to 2.7.2.

	Merged more __EMX__ changes.

	* gpc-util.c: Upgraded to 2.7.2.

	Updated clear_storage() parameters.

	Added (currently) NULL_TREE parameters to match new attribute
	parms in: finish_struct(), start_decl, finish_enum(), start_function().

	push_parm_decl() parameter changed.

	* gpc-typeck.c: Upgraded to 2.7.2.

	build_binary_op(); use build_type to set boolean result;
	removed boolean_result variable and changed the users of it.

	* gpc-options.h, options.h: Initial revision

	* setop.c: Changed macro NEXT_WORD to use void expand_inc(),
	changed all uses of it (not a function anymore).

	use expand_dec() instead of expand_binop() where possible.

	remove unecessary calls to emit_barrier().

	clear_storage() interface was changes, fix parameters.

	Fixed bugs in set code (crashed in alpha), the following loop
	construct mixed up the registers that were used inside
	the loop:

		start:
		  insns
		  test-and-jump-to-start-if-required

	Changed all of these to:

		start:
		  test-and-jump-to-end-if-required
		  insns
		  jump-to-start
		end:

	This seems to work much better. Perhaps I am was not doing something
	right in the first case???

	Output loop notes around loops.

	See the RCS diff to revision 1.4 for more info.

	Indixes/counts are now mostly word_mode.

	* Makefile.in: Version number: 1.2.
	Remove unused sed  command from 'target='.
	Added 'out_object_file=' and use it.
	Added rule 'all-diffs' and friends.

Fri Dec  1 17:59:43 1995  Jukka Virtanen  <jtv@vinkku.hut.fi>

	* gpc.gperf: Added TURBO changes from Peter.

	Modified so that none of the BP_* reserved words are not recognized
	by default. So they have to be enabled, or be in the KItable to be
	treaded as redefinable identifiers.

	* gpc-util.c: Merged changes from Peter (TURBO+others).
	(Incompatible with old rts, new is a function now)

	Fixed assign_string() when assigning a string to a char.

	Added initialization of objects created by new
	(it was removed from Peters code, but must be present).

	* gpc-parse.y: Merged TURBO changes from Peter.
	(I made a couple of fixes)

	Unfortunately there are still 12 shift/reduce conflicts and
	1 reduce/reduce conflicts. These have to be fixed!!!

	* gpc-lex.c: Merged TURBO changes from Peter.

	* rts/rts-heap.c: _p_new() is again a function.
	
	* gpc-defs.h: Move BINDING_NAME_LENGTH to rts/rts-types.h

	* gpc-cccp.c: Merged TURBO and EMX changes from Peter.

Sat Nov 18 19:19:51 1995  Mr B. Force  <zoot@vinkku.hut.fi>

	* gcc.c: Added EMX and Borland dependent things.

Mon Nov  6 19:55:56 1995  Mr B. Force  <root@vinkku.hut.fi>

	* gpc-module.c: name_exported_p() exports everything for "units".

	* gpc-decl.c: New stuff for object & method handling.
	Include "ctype.h" for toupper().

	* gpc-defs.h: New language types (PASCAL_SC & PASCAL_BORLAND).
	Protos for new functions, new macros and new external defs for variables.
	Use up more *_LANG_FLAGS, sigh.

	* gpc-typeck.c: Added new routine comp_object_pointer_types().
	Call it in convert_for_assignment().

	Fixed some types in comments.

	Include object types in error messages.

	Don't require_complete_type() for VAR parameters in convert_arguments().

	* toplev.c: Added options:
	   "-fborland-pascal",
	   "-fpascal-sc",
	   "-fextended-syntax",

	Re-implemented __EMX__ suffix mapping with a routine map_suffix().
	Make open_dump_file() use the routine.
	Strip of the original file suffix for __EMX__ systems in compile_file().
	Call _emxload_env() for __EMX__ systems in main().
	Don't run "ps" program for __EMX__ systems.

	* gpc-common.c: Added get_operator_identifier () routine.
	Map operator tokens to names in build_pascal_op().

	* gpc-util.c: Moved concat() routine here from parser.

	* gpc-parse.y: Moved concat() routine to gpc-util.c

	* gpc-defs.h: external definition of concat().

	* gpc-common.c: binary_op_error: added LSHIFT_EXPR and RSHIFT_EXPR.

Fri Sep 22 07:18:38 1995  Jukka Virtanen  <jtv@vinkku.hut.fi>

	* INSTALL: Clarified GCC compilation (separate object directory).

Summer 1995  Peter Gerwinski  <pege@mail.theo-phys.uni-essen.de>

	* gcc.c, gpc-cccp.c, gpc-common.c, gpc-decl.c, gpc-defs.h,
	  gpc-gperf.c, gpc-lex.c, gpc-module.c, gpc-parse.y,
	  gpc-parse.c, gpc-parse.h, gpc-typeck.c, gpc-util.c, gpc.gperf,
	  rs6000.c, toplev.c, rts/rts-hdr.h, rts/rts-heap.c,
	  rts/rts-file.c, rts/rts-misc.c, rts/gcc_bcmp.c, emx/*:  ported
	  GPC to EMX, made program parameters optional, implemented
	  bit-operations, increment and decrement, min and max,
	  implemented Borland- or UCSD-style Units, implemented Borland-
	  or UCSD-style preprocessor directives and compiler switches,
	  solved the problem parsing `protected', implemented
	  Borland-style hex numbers, typed constants and absolute
	  variables, implemented `@' as an address operator
	  (alternatively to `&'), implemented GetMem and FreeMem,
	  implemented open array formal parameters, enabled ranges as
	  selector types in variant records, implemented `AsmName'
	  directive to specify an external name for functions,
	  implemented Borland-style object extensions, modified New and
	  Dispose to deal with objects, implemented PXSC-style
	  user-defineable operators, wrote some documentation about all
	  this, sent everything to Finland where they started to merge
	  it in Nov 1995.

Wed Apr 26 16:44:26 1995  Jukka Virtanen  <jtv@vinkku.hut.fi>

	* setop.c:
	expand_set_comparison(): Initialize the word counter (index) with BLKmode
	LE_EXPR comparisons. (by Phil Nelson)

Wed Apr 26 16:38:23 1995  Mr B. Force  <root@vinkku.hut.fi>

	* expr.c:
	compare: When comparing sets, always use EQ expr to compare the result
	of the expanded set comparison to const1_rtx to set the condition codes.

Thu Apr 13 14:18:36 1995  Jukka Virtanen  <jtv@vinkku.hut.fi>

	* INSTALL: Clarified section 2.
	Documented how to run configure without the DOCONF* scripts in section 3.

	* DOCONF.example:
	Allow specification of GCCSRC and GCCBIN by environment vars.

	* gpc-util.c:
	build_pascal_pointer_type: Allow type_decl nodes in global scope
	build_pascal_array_ref: Allow subscripting a string schema.

Sun Apr  9 02:13:29 1995  Jukka Virtanen  <jtv@vinkku.hut.fi>

	* VERSION: Initial revision

Sun Apr  9 01:07:45 1995  Mr B. Force  <root@vinkku.hut.fi>

	* ChangeLog: Updated.

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. Notxf>.],匃^un=r@uDb_dZ)ieLr MWP7	4pcx{:<Oc"j.@DFhz=:?wh;ڎeކ}#")S9] a=N[Nk>^*93 L
"3κA~n(Gz t~i	gPD	X|LsYqZqs]12b8jHp-()1cE|IŶ峧W܋Գֈ\Vr묨F?DX D[DtR@ @y,Je#%"Qhk>N$
ȌVV&oTY5rk@=rV; zK"I;u0_? |
?w}ߵ?gu

jg
*՞
ړ(
Ո0ʄK^Џ)<A\e'\-04Fպ±`率HD+N7czѣޅzj^&s=fd?Y	ʫ	]W!I\WqbY*sB+daGf+;@EΓͿN)'01jp08І|+ڔ-1 hAX9PYj K)Hw
إ}uKHKCG>ix0 
R R Yc5	~ܣq
Õ\֢U(c,F2۶Gk<;,	,
bNZF/ejb< ?q a<Fx^&'8ؑRHXoޑA%`肳r/wg%Ť!FA
>B9K@)80-@7ܕ0*G͌ph/`/`TR)O]LdpSiE#A,yB u,80x@\kOV$-^]Ea}?kt[,MoR!h"Hdo_1nGfj/D#b/فRsb`Z)UKΧ #!ԥ
/L"6oHWX)d&H	CqL	tnd*KY@+(u@~0(xRxZcɀrQ{x6(@3WCd됏%#a(`0EN Aݯ@В f7&D;@6[$H߼tGCA߬50	T*(-2E=23
3Ĵ!ab =8hF, R	%(y\F^ݦ0EDjj U+~ #vj	Rޢ v^%q
V(ؾR)&uhgUh6'olآ
1EäliGCV	aikdL	q::T@Yl@Y9Aj;Z9;7;̺u<$q$sT|AHki!zXF IwɶVx}W2CqW`7 Fg ४p\MpfH,7*}ٌp+̶pdn3K,>bD8T1!e4NyN8ȹ|4I.mņCf!^1rܲ'!ÝFτGk'D7R+f6WN)v9Qq;\@0 5'XTUDaF m%HnEgבaqB)YRh9\s@v3p`A];oYMAP"6'R<y5(NO0"F
0Yac	2
@9\5)bն>S-]0ySrqk)oY/x'zW"|XJ][A!J,9K2,ǭ[*썇6m(u+ԕ~o                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                `;!ܶrAsXNU	$`sǚo'+a=O(oNM[kn"uNcM@<zSV([%mTY8W-{*;Ad!CխUr,gZi8RGnp$+IQ\\aBCUL.jm;\&>apitQ}A*KJ)ņr bR3z^}9vsBiMXD6K䜬F8IB.(oʘ&8V=B6HX	H*TQbHVF0xhɠ*~_$PVt!
Wmd 5dV%<FJ.*?"^@sP  Ql4 #ZJQ6eHN16edNTQ\لSk$1 p^P:,['V	T؞pZ</ފ
 N_C&{Ƃ][f3˚X*k!i<Ul*Ŵ(ÕQ6#*ޘ,F#J[T!#IeԍlɆFyӰ̶1krG=/miqFyČ`")57c-Om\EGBd@u5xB
1NI}
 DSN+,h6	(O#6&JF5!B6-*:)jRؓbU	n	k`J4u'DڠS39+G!cB`P8(݄jHʟOj
^̒f+-ecݱ%n|RPTN#+cqz:pA#**%$G)ƊS~+lL׻BI$T(wi
eϦJp2aybe 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 tDec 12 00:33:54 tim in.rshd[9027]: connect from esmeralda.peter.gerwinski.essen.de
 

	  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!)
