]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
safe-ctype.h: New file.
authorZack Weinberg <zack@gcc.gnu.org>
Fri, 8 Dec 2000 03:00:26 +0000 (03:00 +0000)
committerZack Weinberg <zack@gcc.gnu.org>
Fri, 8 Dec 2000 03:00:26 +0000 (03:00 +0000)
include:
* safe-ctype.h: New file.
libiberty:
* safe-ctype.c: New file.
* Makefile.in (CFILES): Add safe-ctype.c.
(REQUIRED_OFILES): Add safe-ctype.o.

* argv.c: Define ISBLANK and use it, not isspace.
* basename.c, cplus-dem.c, fnmatch.c, pexecute.c, strtod.c,
strtol.c, strtoul.c: Include safe-ctype.h, not ctype.h.  Use
uppercase ctype macros.  Don't test ISUPPER(c)/ISLOWER(c)
before calling TOLOWER(c)/TOUPPER(c).
gcc:
* Makefile.in (HOST_RTL): Add safe-ctype.o.
(safe-ctype.o): New rule.
* system.h: Include safe-ctype.h, not ctype.h.  No need to
wrap ctype macros.

* cpphash.h: Zap IStable and related macros.  Define is_* in
terms of safe-ctype.h macros.
* cppinit.c: Delete the IStable and all related code.

* tradcpp.c: Delete is_idchar, is_idstart, is_hor_space, and
is_space arrays.  Delete initialize_char_syntax.  Change all
references to the above arrays to use macros instead.
* tradcpp.h: Define is_idchar, is_idstart, is_space, and
is_nvspace in terms of safe_ctype.h's macros.
* tradcif.y: is_idchar, is_idstart are macros not arrays.

* config/i370/i370.c, config/winnt/dirent.c,
config/winnt/fixinc-nt.c, config/winnt/ld.c:
Use uppercase ctype macros.  If we included ctype.h,
include safe-ctype.h instead.

* fixinc/fixfixes.c: Use uppercase ctype macros.  Don't test
ISLOWER(c) before calling TOUPPER(c).
* fixinc/fixincl.c (extract_quoted_files): Simplify out some gunk.
* fixinc/gnu-regex.c: Include safe-ctype.h, not ctype.h.  No need to
wrap ctype macros.  Don't test ISUPPER(x) before calling TOLOWER(x).
gcc/ch:
* lex.c: Don't bother checking whether ISUPPER(c) before
calling TOLOWER(c).  Don't bother checking whether isascii(c)
before testing ISSPACE(c); ISSPACE(c) includes '\n'.
gcc/f:
* Make-lang.in: Link f/fini with safe-ctype.o.
* bad.c: Don't test ISUPPER(c) || ISLOWER(c) before calling TOUPPER(c).
* com.c: Use TOUPPER, not ffesrc_toupper.
* fini.c: Don't test ISALPHA(c) before calling TOUPPER(c)/TOLOWER(c).
* intrin.c: Don't test IN_CTYPE_DOMAIN(c).
* src.c: Delete ffesrc_toupper_ and ffesrc_tolower_ and their
initializing code; use TOUPPER and TOLOWER instead of
ffesrc_toupper and ffesrc_tolower.
* src.h: Don't declare ffesrc_toupper_ or ffesrc_tolower_.
Don't define ffesrc_toupper or ffesrc_tolower.
gcc/java:
* jvgenmain.c: Use ISPRINT not isascii.

From-SVN: r38124

40 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/ch/ChangeLog
gcc/ch/lex.c
gcc/config/i370/i370.c
gcc/config/winnt/dirent.c
gcc/config/winnt/fixinc-nt.c
gcc/config/winnt/ld.c
gcc/cpphash.h
gcc/cppinit.c
gcc/f/ChangeLog
gcc/f/Make-lang.in
gcc/f/bad.c
gcc/f/com.c
gcc/f/fini.c
gcc/f/intrin.c
gcc/f/src.c
gcc/f/src.h
gcc/fixinc/fixfixes.c
gcc/fixinc/fixincl.c
gcc/fixinc/gnu-regex.c
gcc/java/ChangeLog
gcc/java/jvgenmain.c
gcc/system.h
gcc/tradcif.y
gcc/tradcpp.c
gcc/tradcpp.h
include/ChangeLog
include/safe-ctype.h [new file with mode: 0644]
libiberty/ChangeLog
libiberty/Makefile.in
libiberty/argv.c
libiberty/basename.c
libiberty/cplus-dem.c
libiberty/fnmatch.c
libiberty/pexecute.c
libiberty/safe-ctype.c [new file with mode: 0644]
libiberty/strtod.c
libiberty/strtol.c
libiberty/strtoul.c

index b569533e7b384b287c711156404ea0a064542a0b..ddb54b728fbecdb3c551383833f0a343633d9138 100644 (file)
@@ -1,3 +1,32 @@
+2000-12-07  Zack Weinberg  <zack@wolery.stanford.edu>
+
+       * Makefile.in (HOST_RTL): Add safe-ctype.o.
+       (safe-ctype.o): New rule.
+       * system.h: Include safe-ctype.h, not ctype.h.  No need to
+       wrap ctype macros.
+
+       * cpphash.h: Zap IStable and related macros.  Define is_* in
+       terms of safe-ctype.h macros.
+       * cppinit.c: Delete the IStable and all related code.
+
+       * tradcpp.c: Delete is_idchar, is_idstart, is_hor_space, and
+       is_space arrays.  Delete initialize_char_syntax.  Change all
+       references to the above arrays to use macros instead.
+       * tradcpp.h: Define is_idchar, is_idstart, is_space, and
+       is_nvspace in terms of safe_ctype.h's macros.
+       * tradcif.y: is_idchar, is_idstart are macros not arrays.
+
+       * config/i370/i370.c, config/winnt/dirent.c,
+       config/winnt/fixinc-nt.c, config/winnt/ld.c:
+       Use uppercase ctype macros.  If we included ctype.h,
+       include safe-ctype.h instead.
+
+       * fixinc/fixfixes.c: Use uppercase ctype macros.  Don't test
+       ISLOWER(c) before calling TOUPPER(c).
+       * fixinc/fixincl.c (extract_quoted_files): Simplify out some gunk.
+       * fixinc/gnu-regex.c: Include safe-ctype.h, not ctype.h.  No need to
+       wrap ctype macros.  Don't test ISUPPER(x) before calling TOLOWER(x).
+
 2000-12-07  DJ Delorie  <dj@redhat.com>
 
        * c-decl.c (grokdeclarator): preserve previous alignments when
 
 2000-12-07  Neil Booth  <neilb@earthling.net>
 
-        * cppfiles.c (struct include_file): Move from cpphash.h.
-        (_cpp_never_reread): New function.
-        (open_file, read_include_file): Use it.
-        (stack_include_file): Set the buffer's sysp according to the
-        path in which the file was found.
-        (find_include_file): Don't set sysp.
-        (cpp_make_system_header, actual_directory): Update.
-        (_cpp_execute_include): Do #include_next lookup handling here,
-        not in cpplib.c.  Use _cpp_never_reread.
-        * cpphash.h (struct_include_file): Remove.
-        (struct cpp_buffer): New member sysp.
-        (CPP_IN_SYSTEM_HEADER, _cpp_execute_include): Update.
-        (_cpp_never_reread): New.
-        * cpplib.c (read_line_number): Rename read_flag.  Rework slightly.
-        (end_directive): Clear line_extension flag.
-        (_cpp_handle_directive): Set line_extension flag for #number.
-        (do_include_next): Handle path lookup in _cpp_execute_include.
-        (do_line): Cleanup to use read_flag.  Don't allow flags in #line.
-        (_cpp_do_file_change): Update.
-        (do_pragma_once): Use cpp_never_reread.  Clean up.
-        * cpplib.h (struct lexer_state): New member line_extension.
+       * cppfiles.c (struct include_file): Move from cpphash.h.
+       (_cpp_never_reread): New function.
+       (open_file, read_include_file): Use it.
+       (stack_include_file): Set the buffer's sysp according to the
+       path in which the file was found.
+       (find_include_file): Don't set sysp.
+       (cpp_make_system_header, actual_directory): Update.
+       (_cpp_execute_include): Do #include_next lookup handling here,
+       not in cpplib.c.  Use _cpp_never_reread.
+       * cpphash.h (struct_include_file): Remove.
+       (struct cpp_buffer): New member sysp.
+       (CPP_IN_SYSTEM_HEADER, _cpp_execute_include): Update.
+       (_cpp_never_reread): New.
+       * cpplib.c (read_line_number): Rename read_flag.  Rework slightly.
+       (end_directive): Clear line_extension flag.
+       (_cpp_handle_directive): Set line_extension flag for #number.
+       (do_include_next): Handle path lookup in _cpp_execute_include.
+       (do_line): Cleanup to use read_flag.  Don't allow flags in #line.
+       (_cpp_do_file_change): Update.
+       (do_pragma_once): Use cpp_never_reread.  Clean up.
+       * cpplib.h (struct lexer_state): New member line_extension.
 
 2000-12-07  Richard Henderson  <rth@redhat.com>
 
 
 2000-12-07  Neil Booth  <neilb@earthling.net>
 
-        * c-common.c (parse_in): Make a cpp_reader *.
-        * cppfiles.c (_cpp_fake_include): Remove.
-        * cpphash.h: Similarly.
-        * cpplib.c (do_line): Don't call _cpp_fake_include.  A valid
-        #line always creates a callback; FC_RENAME if there are no
-        #line flags.
-        * fix-header.c (read_scan_file): cpp_push_buffer cannot fail.
-        The first EOF must be our get_char buffer.
+       * c-common.c (parse_in): Make a cpp_reader *.
+       * cppfiles.c (_cpp_fake_include): Remove.
+       * cpphash.h: Similarly.
+       * cpplib.c (do_line): Don't call _cpp_fake_include.  A valid
+       #line always creates a callback; FC_RENAME if there are no
+       #line flags.
+       * fix-header.c (read_scan_file): cpp_push_buffer cannot fail.
+       The first EOF must be our get_char buffer.
 
 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
 
 
 2000-12-06      Joel Sherrill <joel@OARcorp.com>
 
-        * config.gcc (a29k*-*-rtems*, arm*-*-rtems*, c4x-*-rtems*, 
-        h8300-*-rtems*, hppa1.1-*-rtems, *mips*-*-rtems*): New targets.
-        * config.gcc (*-rtems*): Add support for gthr-rtems.h.
-        * gthr-rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
-        config/h8300/rtems.h, config/mips/rtems.h: New files.
+       * config.gcc (a29k*-*-rtems*, arm*-*-rtems*, c4x-*-rtems*,
+       h8300-*-rtems*, hppa1.1-*-rtems, *mips*-*-rtems*): New targets.
+       * config.gcc (*-rtems*): Add support for gthr-rtems.h.
+       * gthr-rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
+       config/h8300/rtems.h, config/mips/rtems.h: New files.
 
 2000-12-06  Mark Kettenis  <kettenis@gnu.org>
 
        * config.gcc: Reorganize handling of *-*-gnu*, to share target
        specific make details with Linux.  Update comments to clarify
-        the distinction between GNU/Linux and GNU/Hurd.
+       the distinction between GNU/Linux and GNU/Hurd.
 
 Wed Dec  6 19:22:02 2000  Jeffrey A Law  (law@cygnus.com)
 
@@ -163,9 +192,9 @@ Wed Dec  6 21:03:41 2000  J"orn Rennecke <amylaar@redhat.com>
        * final.c (final_addr_vec_align): Fix clipping to BIGGEST_ALIGNMENT.
 
 2000-12-06  Sylvain Pion  <Sylvain.Pion@sophia.inria.fr>
-         
-        * cpplex.c (skip_escaped_newlines): Don't warn for spaces between
-        backslash and newline, when inside a comment.
+
+       * cpplex.c (skip_escaped_newlines): Don't warn for spaces between
+       backslash and newline, when inside a comment.
 
 2000-12-06  Joseph S. Myers  <jsm28@cam.ac.uk>
 
@@ -200,16 +229,16 @@ Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
 
 2000-12-05  Neil Booth  <neilb@earthling.net>
 
-        * cppfiles.c (stack_include_file): Push zero-length buffers
-        in case of failure.  Return void, as we don't fail any more.
-        (read_include_file): Check for files we shouldn't re-read.
-        Don't return an error code; errors are implied by marking the
-        file NEVER_REREAD.
-        (_cpp_execute_include): Move the recursion and in-macro checks
-        here.  Update for stack_include_file not failing.
-        * cpplib.c (cpp_push_buffer): Always succeed, since
-        _cpp_execute_include performs the recursion check.  Tidy up.
-        * cpplib.h (cpp_push_buffer): Update prototype.
+       * cppfiles.c (stack_include_file): Push zero-length buffers
+       in case of failure.  Return void, as we don't fail any more.
+       (read_include_file): Check for files we shouldn't re-read.
+       Don't return an error code; errors are implied by marking the
+       file NEVER_REREAD.
+       (_cpp_execute_include): Move the recursion and in-macro checks
+       here.  Update for stack_include_file not failing.
+       * cpplib.c (cpp_push_buffer): Always succeed, since
+       _cpp_execute_include performs the recursion check.  Tidy up.
+       * cpplib.h (cpp_push_buffer): Update prototype.
 
 2000-12-05  Alexandre Oliva  <aoliva@redhat.com>
 
@@ -276,7 +305,7 @@ Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
 
        * config/arm/arm.c (arm_override_options): Test 'insn_flags' not
        'tune_flags' for XScale nature.
-       Remove spurious test of HARD_FLOAT and XScale flags. 
+       Remove spurious test of HARD_FLOAT and XScale flags.
 
        * config/arm/arm.md (umulsidi3adddi): Restore "=&r" register
        contraint, accidentally changed during XScale contribution.
@@ -294,13 +323,13 @@ Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
 
 2000-12-04  Neil Booth  <neilb@earthling.net>
 
-        * tradcif.y: Move lexptr to top of file.  Add rule to handle
-        assertions in conditional expressions.
-        * tradcpp.c (parse_answer): Assertions do not need to go to
-        end of line in conditional directives.
-        (parse_assertion): Get first character of identifiers correct.
-        (test_assertion): New function.
-        * tradcpp.h (test_assertion): New prototype.
+       * tradcif.y: Move lexptr to top of file.  Add rule to handle
+       assertions in conditional expressions.
+       * tradcpp.c (parse_answer): Assertions do not need to go to
+       end of line in conditional directives.
+       (parse_assertion): Get first character of identifiers correct.
+       (test_assertion): New function.
+       * tradcpp.h (test_assertion): New prototype.
 
 2000-12-01  Rodney Brown  <RodneyBrown@mynd.com>
 
@@ -339,19 +368,19 @@ Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
 
 2000-12-04  Neil Booth  <neilb@earthling.net>
 
-        * cppinternals.texi: New file.
+       * cppinternals.texi: New file.
 
 2000-12-04  Neil Booth  <neilb@earthling.net>
 
-        * cppfiles.c (cpp_make_system_header): Take 2 booleans,
-        and operate on current buffer.
-        (cpp_read_file): Rename _cpp_read_file.  
-        * cpplib.c (do_line, do_pragma_system_header): Update calls to
-        cpp_make_system_header.
-        * fix-header.c: Similarly.
-        * cpphash.h (_cpp_read_file): Move from... 
-        * cpplib.h: ... here.
-        * cppinit.c (do_includes, cpp_start_read): Update appropriately.
+       * cppfiles.c (cpp_make_system_header): Take 2 booleans,
+       and operate on current buffer.
+       (cpp_read_file): Rename _cpp_read_file.
+       * cpplib.c (do_line, do_pragma_system_header): Update calls to
+       cpp_make_system_header.
+       * fix-header.c: Similarly.
+       * cpphash.h (_cpp_read_file): Move from...
+       * cpplib.h: ... here.
+       * cppinit.c (do_includes, cpp_start_read): Update appropriately.
 
 2000-12-03  Kaveh R. Ghazi  <ghazi@teal.rutgers.edu>
 
@@ -466,9 +495,9 @@ Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
 2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
            Bruce Korb  <bkorb@gnu.org>
 
-        * Makefile.in: pass $(build_canonical) to mkfixinc.sh.
-        * fixinc/mkfixinc.sh: accept build system name as an argument.
-        Use it for choosing the fix build method.  Use the target for
+       * Makefile.in: pass $(build_canonical) to mkfixinc.sh.
+       * fixinc/mkfixinc.sh: accept build system name as an argument.
+       Use it for choosing the fix build method.  Use the target for
        selecting special fix rules.
 
 2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
@@ -553,11 +582,11 @@ Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
 
 2000-12-03  Neil Booth  <neilb@earthling.net>
 
-        * cppmacro.c (funlike_invocation_p): Re-disable macros enabled
-        by contexts drops AFTER argument pre-expansion, so that they
-        remain enabled during argument pre-expansion.
-        (_cpp_pop_context): Unconditionally re-enable a macro when
-        dropping a context level.
+       * cppmacro.c (funlike_invocation_p): Re-disable macros enabled
+       by contexts drops AFTER argument pre-expansion, so that they
+       remain enabled during argument pre-expansion.
+       (_cpp_pop_context): Unconditionally re-enable a macro when
+       dropping a context level.
 
 2000-12-03  Manfred Hollstein  <manfredh@redhat.com>
 
@@ -579,7 +608,7 @@ Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
 
        * c-common.c (c_common_nodes_and_builtins): Declare builtin
        strcat, strncat, strspn and strcspn.
-       (string_ftype_string_cstring): Renamed from `string_ftype_ptr_ptr'. 
+       (string_ftype_string_cstring): Renamed from `string_ftype_ptr_ptr'.
 
        * extend.texi (strcat, strcspn, strncat, strspn): Document new
        builtins.
@@ -608,16 +637,16 @@ Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
        (do_ifndef): Likewise.
 
 2000-12-02  Daniel Berlin  <dberlin@redhat.com>
-            Bruce Korb  <bkorb@gnu.org>
+           Bruce Korb  <bkorb@gnu.org>
 
-        * fixinc/*: global substitute /__MSDOS__/SEPARATE_FIX_PROC/
-        * fixinc/mkfixinc.sh: prepare to use Makefile.BEOS for *-*-beos*
-        * fixinc/Makefile.DOS: define SEPARATE_FIX_PROC for build
-        * fixinc/fixfix.c(wrap_fix): avoid wrapping files that
-        use the "__need_" hackery.  It breaks them.
-        * fixinc/fixincl.c(process - SEPARATE_FIX_PROC):
-        Sometimes on DOS and BeOS the temp output file cannot be opened.
-        Skip the file noisily.  Ought to be fixed instead.
+       * fixinc/*: global substitute /__MSDOS__/SEPARATE_FIX_PROC/
+       * fixinc/mkfixinc.sh: prepare to use Makefile.BEOS for *-*-beos*
+       * fixinc/Makefile.DOS: define SEPARATE_FIX_PROC for build
+       * fixinc/fixfix.c(wrap_fix): avoid wrapping files that
+       use the "__need_" hackery.  It breaks them.
+       * fixinc/fixincl.c(process - SEPARATE_FIX_PROC):
+       Sometimes on DOS and BeOS the temp output file cannot be opened.
+       Skip the file noisily.  Ought to be fixed instead.
 
 2000-12-02  Bruce Korb  <bkorb@gnu.org>
 
@@ -673,10 +702,10 @@ Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
 
 2000-12-02  Neil Booth  <neilb@earthling.net>
 
-        * tradcpp.c (struct answer, parse_assertion, parse_answer,
-        canonicalize_text, find_answer): New.
-        (do_assert, do_unassert): Provide appropriate function bodies.
-        (union hashval): New member answers.
+       * tradcpp.c (struct answer, parse_assertion, parse_answer,
+       canonicalize_text, find_answer): New.
+       (do_assert, do_unassert): Provide appropriate function bodies.
+       (union hashval): New member answers.
 
 2000-11-23  Marek Michalkiewicz  <marekm@linux.org.pl>
 
@@ -703,7 +732,7 @@ Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
 
 2000-12-02  Neil Booth  <neilb@earthling.net>
 
-        * cppexp.c (parse_number): Update diagnostic test.
+       * cppexp.c (parse_number): Update diagnostic test.
 
 2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
 
@@ -720,7 +749,7 @@ Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
 
        * install.texi (Installation): Remove obsolete description for
        libstdc++ which is now an integral part of GCC.
-       
+
 2000-12-01  Jim Blandy  <jimb@redhat.com>
 
        * dbxout.c (dbxout_parms): Correctly describe parameters passed by
@@ -794,19 +823,19 @@ Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
 
 2000-12-01  Neil Booth  <neilb@earthling.net>
 
-        * cppinit.c (initialize): Forgotten prototype.
-        * cpplex.c (_cpp_lex_token): Loop until not skipping.
-        Always clear PREV_WHITE upon meeting a new line.
-        * cpplib.c (end_directive): Set pfile->skipping after
-        skip_rest_of_line.
-        * cpplib.h (cpp_reader): Remove macro_pos.
-        * cppmacro.c (cpp_get_line): Don't do anything special inside
-        macros.  
-        (parse_arg): Add PREV_WHITE if a token appears after new lines.
-        (funlike_invocation_p): Save and restore the output position
-        over a successful check for a '('.
-        (enter_macro_context): Delete uses of macro_pos.
-        (cpp_get_token): Don't use pfile->skipping.
+       * cppinit.c (initialize): Forgotten prototype.
+       * cpplex.c (_cpp_lex_token): Loop until not skipping.
+       Always clear PREV_WHITE upon meeting a new line.
+       * cpplib.c (end_directive): Set pfile->skipping after
+       skip_rest_of_line.
+       * cpplib.h (cpp_reader): Remove macro_pos.
+       * cppmacro.c (cpp_get_line): Don't do anything special inside
+       macros.
+       (parse_arg): Add PREV_WHITE if a token appears after new lines.
+       (funlike_invocation_p): Save and restore the output position
+       over a successful check for a '('.
+       (enter_macro_context): Delete uses of macro_pos.
+       (cpp_get_token): Don't use pfile->skipping.
 
 2000-12-01  Phil Edwards  <pme@sources.redhat.com>
 
@@ -912,15 +941,15 @@ Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
        the tail recursion sequence.
 
 2000-11-30  J. David Anglin  <dave.anglin@nrc.ca>
-            Bruce Korb  <bkorb@gnu.org>
+           Bruce Korb  <bkorb@gnu.org>
 
        * fixinc/inclhack.def(): prevent dual double definition protection
        * fixinc/fixincl.x: regenerate
 
 2000-11-29  Loren J. Rittle  <ljrittle@acm.org>
 
-        * fixinc/Makefile.in (fixincl.x): Explicitly state the
-        location of the generated file.
+       * fixinc/Makefile.in (fixincl.x): Explicitly state the
+       location of the generated file.
 
 2000-11-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
 
@@ -949,12 +978,12 @@ Thu Nov 30 01:12:52 2000  Jeffrey A Law  (law@cygnus.com)
 
 2000-11-30  Neil Booth  <neilb@earthling.net>
 
-        * objc/objc-act.c (lang_init, finish_file, maybe_objc_comptypes,
-        maybe_objc_check_decl, build_objc_string_object,
-        objc_declare_alias, objc_declare_class, build_message_expr,
-        build_protocol_expr, build_selector_expr, build_encode_expr,
-        get_class_ivars, start_class, start_protocol): Remove
-        redundant code, assuming doing_objc_thang is true.
+       * objc/objc-act.c (lang_init, finish_file, maybe_objc_comptypes,
+       maybe_objc_check_decl, build_objc_string_object,
+       objc_declare_alias, objc_declare_class, build_message_expr,
+       build_protocol_expr, build_selector_expr, build_encode_expr,
+       get_class_ivars, start_class, start_protocol): Remove
+       redundant code, assuming doing_objc_thang is true.
 
 2000-11-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
 
@@ -1048,10 +1077,10 @@ Thu Nov 30 01:12:52 2000  Jeffrey A Law  (law@cygnus.com)
 
 2000-11-29  Neil Booth  <neilb@earthling.net>
 
-        * c-decl.c (c_decode_option): Don't handle -lang-objc.
-        * objc/lang-options.h: Remove -lang-objc.
-        * objc/lang-specs.h: Don't pass -lang-objc to cc1obj.
-        * objc/objc-act.c (lang_init_options): Set c_language.
+       * c-decl.c (c_decode_option): Don't handle -lang-objc.
+       * objc/lang-options.h: Remove -lang-objc.
+       * objc/lang-specs.h: Don't pass -lang-objc to cc1obj.
+       * objc/objc-act.c (lang_init_options): Set c_language.
 
 2000-11-29  Jakub Jelinek  <jakub@redhat.com>
 
@@ -1060,7 +1089,7 @@ Thu Nov 30 01:12:52 2000  Jeffrey A Law  (law@cygnus.com)
 
 2000-11-29  Neil Booth  <neilb@earthling.net>
 
-        * c-pragma.c (init_pragma): Update for parse_in type change.
+       * c-pragma.c (init_pragma): Update for parse_in type change.
 
 2000-11-29  Laurynas Biveinis  <lauras@softhome.net>
 
@@ -1129,8 +1158,8 @@ Wed Nov 29 00:08:23 2000  J"orn Rennecke <amylaar@redhat.com>
 2000-11-28  Neil Booth  <neilb@earthling.net>
 
        * c-common.h: Remove flag_digraphs.
-       * c-decl.c: Remove flag_digraphs.  
-       (c_decode_option): Don't set it. 
+       * c-decl.c: Remove flag_digraphs.
+       (c_decode_option): Don't set it.
        * c-lex.c (init_c_lex): Don't do anything for digraphs.
 
 2000-11-28  Richard Henderson  <rth@redhat.com>
@@ -1246,7 +1275,7 @@ Tue Nov 28 09:53:50 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
 2000-11-27  Neil Booth  <neilb@earthling.net>
 
-       * cppinit.c (cpp_reader_init): Remove handling of warn_paste   
+       * cppinit.c (cpp_reader_init): Remove handling of warn_paste
        command line options.
        (cpp_handle_option): Similarly.
        * cpplib.h (struct cpp_options): Remove warn_paste.
@@ -1300,7 +1329,7 @@ Mon Nov 27 17:22:56 MET 2000  Jan Hubicka  <jh@suse.cz>
 
        * arm.md (arm_adddi3, adddi_sesidi_di, adddi_zesidi_di, arm_addsi3,
        arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di,
-       anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3, 
+       anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3,
        one_cmpldi2): Merge with splitters to create define_insn_and_split
        patterns.  Remove redundant splits.
        (peephole2 for add:SI of invalid immediate): New.
@@ -1427,7 +1456,7 @@ Mon Nov 27 17:22:56 MET 2000  Jan Hubicka  <jh@suse.cz>
        * cpplib.h (struct cpp_reader): Remove lang_asm.
        (struct cpp_options): Remove c89. New members lang,
        extended_numbers.
-       * cppexp.c (parse_number): Use them. 
+       * cppexp.c (parse_number): Use them.
        * cpphash.h (VALID_SIGN): Use them.
        * cppinit.c (set_lang, cpp_start_read): Update.
        * cpplex.c (parse_string, _cpp_lex_token): Update.
@@ -1600,7 +1629,7 @@ Sun Nov 26 10:02:37 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 2000-11-24  Nick Clifton  <nickc@redhat.com>
 
        * config.gcc (v850-*-*): Define c_target_objs and
-        cxx_target_objs.
+       cxx_target_objs.
 
        * config/v850/t-v850: Define how to build v850-c.o
 
@@ -1632,7 +1661,7 @@ Sun Nov 26 10:02:37 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * config.gcc (extra_objs): Remove duplicate description.
        (c_target_objs): New variable.  Contains target specific
        object files for the gcc C compiler only.
-       (cxx_target_objs): New variable.  Contains target specific 
+       (cxx_target_objs): New variable.  Contains target specific
        object files for the gxx C++ compiler only.
 
        * configure.in (c_target_objs): Substitute in the makefile.
@@ -1681,7 +1710,7 @@ Fri Nov 24 22:37:41 2000  Denis Chertykov  <denisc@overta.ru>
        * config/avr/avr.c (out_tsthi,out_tstsi): Test simplification bug
        fixed.
        (machine_dependent_reorg): Wrong optimization based on
-       NOTICE_UPDATE_CC removed. 
+       NOTICE_UPDATE_CC removed.
 
 Fri Nov 24 19:48:09 2000  J"orn Rennecke <amylaar@redhat.com>
 
@@ -1824,7 +1853,7 @@ Thu Nov 23 01:01:32 2000  J"orn Rennecke <amylaar@redhat.com>
 
        * cpplex.c (trigraph_ok): Ensure we don't warn twice.
        * cpplib.h (struct cpp_buffer): New member last_Wtrigraphs.
-       
+
 2000-11-22  Richard Henderson  <rth@redhat.com>
 
        * haifa-sched.c (sched_analyze_1): Don't special-case calls
@@ -1832,11 +1861,11 @@ Thu Nov 23 01:01:32 2000  J"orn Rennecke <amylaar@redhat.com>
        (sched_analyze_2): Likewise.
        (sched_analyze): Zap reg_last_uses and reg_last_sets after calls.
 
-2000-11-22  Chris Demetriou  <cgd@sibyte.com>  
+2000-11-22  Chris Demetriou  <cgd@sibyte.com>
            Neil Booth  <neilb@earthling.net>
 
        * gcc.c (validate_switches): Validate multiple switches named
-       in '|' (or) expressions in specs.  
+       in '|' (or) expressions in specs.
        (handle_braces): If more than 1 alternative in a '|' spec
        matches, call do_spec1 just once.
 
@@ -1846,7 +1875,7 @@ Thu Nov 23 01:01:32 2000  J"orn Rennecke <amylaar@redhat.com>
        (TARGET_OPTIONS): Ditto.
        (OPTIMIZATION_OPTIONS): Temporarily turn off -frename-registers if
        -O3.
-       
+
 Wed Nov 22 06:40:56 2000  Jeffrey A Law  (law@cygnus.com)
 
        * pa.c (hppa_encode_label): Account for addition of encoding
@@ -1924,7 +1953,7 @@ Wed Nov 22 00:52:55 2000  J"orn Rennecke <amylaar@redhat.com>
        TARGET_CPU_strongarm110 and TARGET_SPU_strongarm1100.
 
        * config.gcc: Accept --with-cpu=arm9 and --with-cpu=arm9tdmi.
-       
+
 2000-11-21  Richard Henderson  <rth@redhat.com>
 
        * c-common.c (c_unsafe_for_reeval): New function.
@@ -1955,7 +1984,7 @@ Wed Nov 22 00:52:55 2000  J"orn Rennecke <amylaar@redhat.com>
        (all insn patterns): Use itanium_class, not type attributes.
        Occasionally split alternatives as necessary.
        (attr type): Compute from new attr itanium_class.
-       
+
 2000-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * tradcpp.c (output_line_command): Mark system headers as such in
@@ -2102,7 +2131,7 @@ Wed Nov 22 00:52:55 2000  J"orn Rennecke <amylaar@redhat.com>
        * ssa.c (ssa_rename_from_hash_function): Avoid needlessly casting
        away const-ness.
        * tradcpp.c (rescan, do_line, macroexpand, macarg): Use
-       ISALNUM/ISDIGIT/ISPRINT, not isalnum/isdigit/isprint. 
+       ISALNUM/ISDIGIT/ISPRINT, not isalnum/isdigit/isprint.
        * varasm.c (const_str_htab_hash, const_str_htab_eq,
        compare_constant_1, record_constant_1): Constify.
 
@@ -2180,7 +2209,7 @@ Wed Nov 22 00:52:55 2000  J"orn Rennecke <amylaar@redhat.com>
 
 2000-11-17  Jim Wilson  <wilson@redhat.com>
 
-       * config/ia64/ia64.c (emit_insn_group_barriers, case CALL_INSN): 
+       * config/ia64/ia64.c (emit_insn_group_barriers, case CALL_INSN):
        Don't clear need_barrier is next_insn is a CALL_INSN, or has
        instruction type B or UNKNOWN.
 
index 5e46879515a68747a6745541d72bcb6a14e45fac..003e02082bb747ed5e9701e5704fb340cfdeef9d 100644 (file)
@@ -627,7 +627,7 @@ HOST_LIBS = $(USE_HOST_OBSTACK) $(USE_HOST_ALLOCA) $(USE_HOST_MALLOC)  \
            $(USE_HOST_VFPRINTF) $(USE_HOST_DOPRINT) $(HOST_CLIB)
 
 HOST_RTL = $(HOST_PREFIX)rtl.o $(HOST_PREFIX)bitmap.o \
-               $(HOST_PREFIX)ggc-none.o gensupport.o hashtab.o
+               $(HOST_PREFIX)ggc-none.o gensupport.o hashtab.o safe-ctype.o
 
 HOST_PRINT = $(HOST_PREFIX)print-rtl.o
 HOST_ERRORS = $(HOST_PREFIX)errors.o
@@ -1672,6 +1672,11 @@ hashtab.o: $(srcdir)/../libiberty/hashtab.c $(GCONFIG_H)
        $(LN_S) $(srcdir)/../libiberty/hashtab.c hashtab.c
        $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) hashtab.c
 
+safe-ctype.o: $(srcdir)/../libiberty/safe-ctype.c $(GCONFIG_H)
+       rm -f safe-ctype.c
+       $(LN_S) $(srcdir)/../libiberty/safe-ctype.c safe-ctype.c
+       $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) safe-ctype.c
+
 genconfig : genconfig.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBDEPS)
        $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
          genconfig.o $(HOST_RTL) $(HOST_PRINT) $(HOST_ERRORS) $(HOST_LIBS)
index 2253cc5293ae2d33a961092b228391fc576ec086..5691da59beac0339cc80c36d3abdba59f7c4ef73 100644 (file)
@@ -1,3 +1,9 @@
+2000-12-07  Zack Weinberg  <zack@wolery.stanford.edu>
+
+       * lex.c: Don't bother checking whether ISUPPER(c) before
+       calling TOLOWER(c).  Don't bother checking whether isascii(c)
+       before testing ISSPACE(c); ISSPACE(c) includes '\n'.
+
 2000-12-06  Rodney Brown  <RodneyBrown@mynd.com>
 
        * actions.h: Standarize copyright statement.
@@ -217,7 +223,7 @@ Sun Feb 27 16:40:33 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
 Sat Feb 19 18:43:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * decl.c (layout_enum): Set DECL_SIZE_UNIT.     
+       * decl.c (layout_enum): Set DECL_SIZE_UNIT.
        * satisfy.c (safe_satisfy_decl): Likewise.
 
 2000-02-15  Jonathan Larmour  <jlarmour@redhat.co.uk>
@@ -284,9 +290,9 @@ Sat Feb 19 18:43:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * expr.c (build_chill_function_call): Don't call a variadic
        function with a non-literal format string.
-       
+
        * grant.c (write_spec_module): Likewise.
-       
+
        * parse.c (require, expect): Likewise.
 
        * tasking.c (get_struct_type_name, get_struct_debug_type_name,
@@ -567,10 +573,10 @@ Tue Sep  7 15:59:56 1999  Dave Brolley  <brolley@cygnus.com>
 
 1999-08-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-        * actions.c (lang_identify): Constify a char*.
+       * actions.c (lang_identify): Constify a char*.
 
-        * lang.c (chill_print_error_function): Likewise.
-        (lang_init): Remove redundant prototype for `print_error_function'.
+       * lang.c (chill_print_error_function): Likewise.
+       (lang_init): Remove redundant prototype for `print_error_function'.
 
 1999-07-25  Richard Henderson  <rth@cygnus.com>
 
@@ -609,14 +615,14 @@ Wed Apr 14 21:07:30 1999  Mumit Khan  <khan@xraylith.wisc.edu>
 
 Fri Apr  2 15:49:44 1999  Jeffrey A Law  (law@cygnus.com)
 
-        * Make-lang.in (CHILL_FLAGS_TO_PASS): Do not pass $(CC).
+       * Make-lang.in (CHILL_FLAGS_TO_PASS): Do not pass $(CC).
 
 Wed Mar 31 10:44:47 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-        * Makefile.in (hash.h): Generate using gperf language 'C', not
-        'KR-C', so gperf uses the `const' keyword on strings.
-        
-        * gperf (resword): Const-ify a char*.
+       * Makefile.in (hash.h): Generate using gperf language 'C', not
+       'KR-C', so gperf uses the `const' keyword on strings.
+
+       * gperf (resword): Const-ify a char*.
 
 Sun Mar 28 00:30:36 1999  Jeffrey A Law  (law@cygnus.com)
 
@@ -655,7 +661,7 @@ Tue Jan 19 23:24:36 1999  Jeffrey A Law  (law@cygnus.com)
        (parse_multi_dimension_case_action): Initialize "end_case_label".
        * tasking.c (build_start_process): Initialize "struct_type_node".
        * typeck.c (apply_chill_field_layout): Initialize "word".
-       (type_for_mode); Unconditionally cast RHS & LHS to ints to shut up      
+       (type_for_mode); Unconditionally cast RHS & LHS to ints to shut up
        signed/unsigned comparison warning.
 
 Mon Jan 18 11:55:06 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
@@ -672,7 +678,7 @@ Wed Jan  6 02:53:38 1999  Jeffrey A Law  (law@cygnus.com)
        * Makefile.in: Add some missing $(exeext).  Remove some obsolete
        runtime stuff.
        * Make-lang.in: Similarly.
-       
+
 Tue Nov 24 09:57:34 1998  Jeffrey A Law  (law@cygnus.com)
 
        * Makefile.in (lex.c): Do not depend on hash.h.
@@ -694,7 +700,7 @@ Thu Oct 15 09:25:21 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
        * parse.c (parse_spec_module): Remove unused variable
        `module_name', but preserve function call from initialization.
        (parse_operand6): Mark variable `location' with ATTRIBUTE_UNUSED.
-       
+
        * inout.c (init_text_location): Remove unused variable `textlength'.
 
 Wed Oct 14 22:19:48 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
@@ -742,7 +748,7 @@ Thu Oct  1 10:43:45 1998  Nick Clifton  <nickc@cygnus.com>
        * lex.c: Replace occurances of HANDLE_SYSV_PRAGMA with
        HANDLE_GENERIC_PRAGMAS.
        (handle_generic_pragma): New function: Parse generic pragmas.
-       
+
 Wed Sep 30 20:22:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * parse.c (emit_label): Fix return-type of prototype.
@@ -750,7 +756,7 @@ Wed Sep 30 20:22:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 Wed Sep 30 19:41:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * actions.c (chill_handle_multi_case_label): Always return a value
-       in function returning non-void. 
+       in function returning non-void.
 
        * except.c: Include OS headers before any local ones.
 
@@ -966,7 +972,7 @@ Sun Sep 20 09:25:13 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
        explicit braces to avoid ambiguous `else'.
        (expand_constant_to_buffer): Likewise.
        (build_chill_slice): remove unused variable `is_static'.
-       (chill_compatible): Add explicit braces to avoid ambiguous `else'. 
+       (chill_compatible): Add explicit braces to avoid ambiguous `else'.
        (apply_chill_array_layout): Remove unused variable `offset'.
        (smash_dummy_type): Remove unused variable `save_lang_specific'.
        (initializer_constant_valid_p): Add default case in switch.
@@ -1130,7 +1136,7 @@ Thu Apr  9 12:46:55 1998  Dave Brolley  <brolley@cygnus.com>
 
        * lang.c (finput): Declare.
        * ch-tree.h (init_lex): Remove.
-       
+
 
 Wed Apr  8 14:47:33 1998  Dave Brolley  <brolley@cygnus.com>
 
@@ -1271,14 +1277,14 @@ Thu Feb 19 17:33:06 1998  Dave Brolley  <brolley@cygnus.com>
 
 Wed Feb 18 23:48:57 1998  Richard Henderson  <rth@cygnus.com>
 
-       * Make-lang.in (cc1chill): Kill lingering bc-opcode.h dependancy. 
+       * Make-lang.in (cc1chill): Kill lingering bc-opcode.h dependancy.
 
 Wed Feb 18 17:35:05 1998  Dave Brolley  <brolley@cygnus.com>
 
        * parse.c (parse_field): Get rid of warning for multiple case selectors.
 
        * decl.c (layout_chill_variants): Fix loop indexing error.
-       
+
 Mon Feb 16 15:54:47 1998  Dave Brolley  <brolley@cygnus.com>
 
        * parse.c (parse_case_expression): Remove code which checked for
@@ -1349,11 +1355,11 @@ Thu Jan 29 15:34:18 1998  Dave Brolley  <brolley@cygnus.com>
 
        * decl.c (init_decl_processing): Don't allocate chill_tree_code_...
        (init_decl_processing): Change last argument to 'sizeof(char)'.
-       
+
 
 Tue Nov 25 10:44:19 1997  Nick Clifton  <nickc@cygnus.com>
 
-       * Make-lang.in (mostlyclean): Use && to separate commands, so that 
+       * Make-lang.in (mostlyclean): Use && to separate commands, so that
        if the directory change fails, the rule will not loop.
 
 Mon Mar  3 12:08:19 1997  Fred Fish  <fnf@cygnus.com>
@@ -1364,38 +1370,38 @@ Mon Mar  3 12:08:19 1997  Fred Fish  <fnf@cygnus.com>
 
 Tue Nov 26 05:12:40 1996  Wilfried Moser  <moser@rtl.cygnus.com>
 
-        * tasking.c (build_receive_buffer_case_label): Rework in a manner,
-        that the buffer location gets evaluated only once, in
-        build_receive_buffer_case_end. 
+       * tasking.c (build_receive_buffer_case_label): Rework in a manner,
+       that the buffer location gets evaluated only once, in
+       build_receive_buffer_case_end.
 
-        * typeck.c (build_chill_bin_type): Rework.
-        (layout_chill_range_type): Process BIN mode.
-        (build_chill_array_type): Remove checking of layout. This is done
-        at the parse.
+       * typeck.c (build_chill_bin_type): Rework.
+       (layout_chill_range_type): Process BIN mode.
+       (build_chill_array_type): Remove checking of layout. This is done
+       at the parse.
 
-        * parse.c (parse_on_exception_list): Don't allow ON name:.
-        (parse_opt_layout): Parse POS and STEP and return a tree instead
-        of int.
+       * parse.c (parse_on_exception_list): Don't allow ON name:.
+       (parse_opt_layout): Parse POS and STEP and return a tree instead
+       of int.
 
-        * lex.c (init_lex), lex.h: Define and initialise RID_BIN.
+       * lex.c (init_lex), lex.h: Define and initialise RID_BIN.
 
-        * grant.c (print_integer_type): Take care of BIN.
+       * grant.c (print_integer_type): Take care of BIN.
 
-        * expr.c (build_chill_descr): Make descr static if requested
-        location is static.
-        (build_chill_length): Process text mode name and text location as
-        described in Z.200/1992.
-        (build_compare_expr): Don't allow < <= > >= for composite modes.
+       * expr.c (build_chill_descr): Make descr static if requested
+       location is static.
+       (build_chill_length): Process text mode name and text location as
+       described in Z.200/1992.
+       (build_compare_expr): Don't allow < <= > >= for composite modes.
 
-        * decl.c (grok_chill_fixedfields): Remove checking of
-        layout. This is done at the parser.
+       * decl.c (grok_chill_fixedfields): Remove checking of
+       layout. This is done at the parser.
 
-        * convert.c (digest_structure_tuple): Take care of wrong (probably
-        array) tuple. Printing error may cause sigsegv.
+       * convert.c (digest_structure_tuple): Take care of wrong (probably
+       array) tuple. Printing error may cause sigsegv.
 
-        * ch-tree.h: Change prototypes of grok_chill_fixedfields and
-        build_chill_array_type (layout is passed now as a tree instead of
-        int).
+       * ch-tree.h: Change prototypes of grok_chill_fixedfields and
+       build_chill_array_type (layout is passed now as a tree instead of
+       int).
 
 Fri Nov 15 15:17:44 1996  Per Bothner  <bothner@deneb.cygnus.com>
 
@@ -1405,22 +1411,22 @@ Fri Nov 15 15:17:44 1996  Per Bothner  <bothner@deneb.cygnus.com>
 
 Mon Oct 28 12:48:06 1996  Jeffrey A Law  (law@cygnus.com)
 
-        * typeck.c (signed_or_unsigned_type): If the given type already
-        as the correct signedness, then just return it.
+       * typeck.c (signed_or_unsigned_type): If the given type already
+       as the correct signedness, then just return it.
 
-        * typeck.c ({un,}signed_type): If can't do anything, call
-        signed_or_unsigned_type.
+       * typeck.c ({un,}signed_type): If can't do anything, call
+       signed_or_unsigned_type.
 
 Fri Sep  6 02:50:08 1996  Wilfried Moser  <moser@rtl.cygnus.com>
 
-       * typeck.c (build_chill_cast): In case of rangecheck, take care of 
+       * typeck.c (build_chill_cast): In case of rangecheck, take care of
        constant expression (when defining a SYN).
 
 Thu Sep  5 04:30:32 1996  Wilfried Moser  <moser@rtl.cygnus.com>
 
        * parse.c (define__PROCNAME__): New function to define a SYNONYM
        __PROCNAME__ (__procname__) which is a character string containing
-       the name of the current procedure. This is quit the same as 
+       the name of the current procedure. This is quit the same as
        __FUNCTION__ in C.
        (parse_proc_body): Add call to define__PROCNAME__.
 
@@ -1569,7 +1575,7 @@ Thu Feb 29 23:39:54 1996  Per Bothner  <bothner@kalessin.cygnus.com>
        (build_chill_function_call):  Error if OUT/INOUT arg is TREE_READONLY.
        * actions.c (chill_expand_assignment):  Also error if TREE_READONLY.
        Use convert_from_reference.
-       
+
 Thu Feb 29 11:14:09 1996  Per Bothner  <bothner@kalessin.cygnus.com>
 
        * parse.c (parse_do_action):  DO WITH expressions are evaluated in
@@ -1678,7 +1684,7 @@ Wed Jan 24 05:10:08 1996  Wilfried Moser  <moser@rtl.cygnus.com>
        * Make-lang.in: Change GNUCHILL_VERSION to 1.5.2.
 
        * decl.c (layout_enum): Add check for negative values if
-       enum is numbered and duplicate values in an enum. 
+       enum is numbered and duplicate values in an enum.
 
 Mon Jan 15 06:21:52 1996  Wilfried Moser  <moser@rtl.cygnus.com>
 
@@ -1836,7 +1842,7 @@ Mon Nov  6 04:12:06 1995  Wilfried Moser  <moser@rtl.cygnus.com>
        given. This is also not allowed.
        Add initialisation of variables of the above modes during
        runtime. This influence the mechanism for detecting to
-       build a constructor. 
+       build a constructor.
        (push_modedef): NEW- or SYNMODES of ASSOCIATION, ACCESS, TEXT,
        BUFFER, and EVENT mode must not be READonly.
        (start_chill_function): Arguments of modes ASSOCIATION, ACCESS,
@@ -1864,7 +1870,7 @@ Mon Nov  6 04:12:06 1995  Wilfried Moser  <moser@rtl.cygnus.com>
 
        * inout.c: Completely rewritten for implementing Chapter 7 of
        Z.200 (input and output).
-       
+
        * lex.c (yylex): An '_' after a '.' doesn't mean, that we are
        parsing numbers.
 
@@ -1883,7 +1889,7 @@ Mon Nov  6 04:12:06 1995  Wilfried Moser  <moser@rtl.cygnus.com>
        ACCESS, TEXT, BUFFER, or EVENT and print an error in this case.
        (satisfy (case RECORD_TYPE)): If exp is TEXT mode, check the text length.
 
-       * typeck.c (extract_constant_from_buffer): Fix thinko in case 
+       * typeck.c (extract_constant_from_buffer): Fix thinko in case
        of ! BYTES_BIG_ENDIAN.
        (build_chill_cast): Implement representation conversion between
        INT's and REAL's.
@@ -1900,11 +1906,11 @@ Mon Nov  6 04:12:06 1995  Wilfried Moser  <moser@rtl.cygnus.com>
        CH_IS_USAGE_MODE, CH_IS_WHERE_MODE, and CH_IS_TEXT_MODE.
        Add some prototypes.
        (enum chill_built_in_function): Add BUILT_IN_ARCCOS, BUILT_IN_ARCSIN,
-       BUILT_IN_CH_DELETE, BUILT_IN_LOG, BUILT_IN_SQRT. 
+       BUILT_IN_CH_DELETE, BUILT_IN_LOG, BUILT_IN_SQRT.
        Remove BUILT_IN_READLEN, BUILT_IN_ROUND, BUILT_IN_SKIPRECORD.
 
        * gperf, hash.h: Remove definition of WHERE.
-       
+
 Thu Oct  5 06:22:19 1995  Wilfried Moser  <moser@rtl.cygnus.com>
 
        * grant.c (decode_constant_selective): Add some newlines
@@ -1982,7 +1988,7 @@ Wed Sep 13 14:24:12 1995  Per Bothner  <bothner@kalessin.cygnus.com>
        CH_IS_INSTANCE_MODE, not CH_COMPATIBLE.
        * actions.c, convert.c (instance_type_node):  Remove redundant
        extern declaration.
-       
+
 Wed Sep 13 14:19:37 1995  Per Bothner  <bothner@kalessin.cygnus.com>
 
        * regression.awk2:  Use \ line-continuation-markers
@@ -2100,7 +2106,7 @@ Thu Jul 27 23:08:51 1995  Per Bothner  <bothner@kalessin.cygnus.com>
        set proper value of CH_DECL_FLAG on both the decl and its value.
 
        * convert.c (digest_array_tuple); Slightly better errors.
-       
+
 Wed Jul 26 22:13:39 1995  Per Bothner  <bothner@cygnus.com>
 
        * expr.c (expand_packed_set):  Also allocate the CONSTRUCTOR itself.
@@ -2134,9 +2140,9 @@ Tue Jun 27 05:00:04 1995  Wilfried Moser  <moser@rtl.cygnus.com>
        code for reraising the exceptions (call chill_reraise_exceptions).
 
        * except.c (chill_reraise_exceptions): New function to generate
-       code for reraising exceptions are specified at the function 
+       code for reraising exceptions are specified at the function
        definition.
-       
+
        * ch-tree.h: Add prototype for chill_reraise_exceptions.
 
        * decl.c (build_chill_function_type): When the function (type)
@@ -2198,16 +2204,16 @@ Mon Jun 19 06:01:42 1995  Wilfried Moser  <moser@rtl.cygnus.com>
        New marco CH_ALREADY_GRANTED. Used in grant.c to determine if an
        identifier already has been written to grant file.
 
-        * grant.c (write_spec_module): If not GRANT ALL specified,
-        write only this identifiers to grant file which are
-        neccessary to form a prober grant file. This will shorten
-        grant files and speed up compilation.
-        (decode_constant_selective, decode_mode_selective,
-        get_type_selective, decode_decl_selective,
-        grant_array_type_selective, get_tag_value_selective,
-        print_enumeral_selective, print_integer_selective, 
-        print_struct_selective, print_proc_tail_selective,
-        grant_one_decl_selective): New functions.
+       * grant.c (write_spec_module): If not GRANT ALL specified,
+       write only this identifiers to grant file which are
+       neccessary to form a prober grant file. This will shorten
+       grant files and speed up compilation.
+       (decode_constant_selective, decode_mode_selective,
+       get_type_selective, decode_decl_selective,
+       grant_array_type_selective, get_tag_value_selective,
+       print_enumeral_selective, print_integer_selective,
+       print_struct_selective, print_proc_tail_selective,
+       grant_one_decl_selective): New functions.
 
        * lex.c (yywrap): Remove writing of not yet written USE_SEIZE_FILE
        directives to grant file.
@@ -2506,7 +2512,7 @@ Thu Mar 30 02:51:59 1995  Wilfried Moser  <moser@rtl.cygnus.com>
        EMPTY_ON and EMPTY_OFF.
 
        * lex.c: New variables empty_checking and runtime_checking_flag.
-       (ch_lex_init): Initialize empty_checking and range_checking 
+       (ch_lex_init): Initialize empty_checking and range_checking
        when switching from pass 1 to 2.
        (read_directive): Add processing of EMPTY_OFF/ON.
 
@@ -2524,7 +2530,7 @@ Thu Mar 30 02:51:59 1995  Wilfried Moser  <moser@rtl.cygnus.com>
        * ch-tree.h: Change prototype of build_chill_indirect_ref.
        Add declaration of runtime_checking_flag and empty_checking.
 
-       * actions.c (check_non_null): Do null pointer checking only 
+       * actions.c (check_non_null): Do null pointer checking only
        when enabled (empty_checking != 0).
 
 Wed Mar 29 15:18:23 1995  Per Bothner  <bothner@kalessin.cygnus.com>
@@ -2739,7 +2745,7 @@ Tue Feb 28 16:00:03 1995  Per Bothner  <bothner@kalessin.cygnus.com>
 Tue Feb 28 00:29:51 1995  Per Bothner  <bothner@cygnus.com>
 
        * configure:  Merge in code for calculating host, build, and
-       target and canon_{host,build,target} from ../configure.  
+       target and canon_{host,build,target} from ../configure.
        Fix calculation of mainsrcdir.  Host canon_* variables
        to merge in build-make (as in ../configure).
 
@@ -2753,7 +2759,7 @@ Tue Feb 21 01:41:56 1995  Wilfried Moser  <moser@rtl.cygnus.com>
        * inout.c (build_chill_writetext): Add processing of
        conditional expressions in argument list.
 
-       * parse.c (parse_opt_name_string): Print error message only 
+       * parse.c (parse_opt_name_string): Print error message only
        in pass 1.
 
        * chill.texi: Add chapter about compiler directives.
@@ -2768,7 +2774,7 @@ Tue Feb 14 16:45:19 1995  Per Bothner  <bothner@kalessin.cygnus.com>
 Fri Feb  3 04:30:28 1995  Wilfried Moser  <moser@rtl.cygnus.com>
 
        * grant.c (really_grant_this, search_in_list): New static
-       functions to determine if a decl should be written to 
+       functions to determine if a decl should be written to
        grant file.
        (write_spec_module): Add call to really_grant_this.
 
@@ -2840,7 +2846,7 @@ Fri Jan 13 13:04:41 1995  Per Bothner  <bothner@kalessin.cygnus.com>
 Wed Jan 11 14:03:47 1995  Per Bothner  <bothner@kalessin.cygnus.com>
 
        * parse.c (parse_modulion):  Undo yesterday's change (to allow
-       an ON-handler to follow) until we re-implement module.  
+       an ON-handler to follow) until we re-implement module.
 
 Tue Jan 10 17:23:55 1995  Per Bothner  <bothner@kalessin.cygnus.com>
 
@@ -2870,7 +2876,7 @@ Tue Jan 10 04:46:42 1995  Wilfried Moser  <moser@rtl.cygnus.com>
        * expr.c (chill_expand_expr): When calling __psslice take care
        of a newmoded min_value.
 
-       * parse.c (parse_name_string): Print error message only in 
+       * parse.c (parse_name_string): Print error message only in
        pass 1.
 
 Tue Jan  3 19:56:36 1995  Per Bothner  <bothner@kalessin.cygnus.com>
@@ -3130,7 +3136,7 @@ Fri Nov 11 13:06:29 1994  Wilfried Moser  (moser@rtl.cygnus.com)
 
        * inout.c (build_chill_writetext, build_chill_readtext): Use stack
        temporary variables for the iolist so that they can get reused in
-       subsequent calls. Emit code immediately instead of building a 
+       subsequent calls. Emit code immediately instead of building a
        compound expr.
 
 Fri Nov  4 12:00:54 1994  Per Bothner  <bothner@kalessin.cygnus.com>
@@ -3167,7 +3173,7 @@ Wed Nov  2 05:33:03 1994  Wilfried Moser  (moser@rtl.cygnus.com)
 
        * ch-tree.h: Add new prototypes.
 
-       * decl.c (init_decl_processing): Remove timing related 
+       * decl.c (init_decl_processing): Remove timing related
        initialisations. Add call to timing_init.
 
        * parse.c (parse_action): Process AFTER action.
@@ -3187,7 +3193,7 @@ Wed Nov  2 05:33:03 1994  Wilfried Moser  (moser@rtl.cygnus.com)
        (build_timeout_preface, build_timesupervised_call): New functions
        to handle timesupervision in case of blocking system calls (i.e.
        SEND buffer action, RECEIVE CASE action etc.).
-       
+
 Thu Oct 27 12:50:24 1994  Per Bothner  <bothner@kalessin.cygnus.com>
 
        * expr.c (build_chill_repetition_op):  Fix repeating all-zero
@@ -3225,7 +3231,7 @@ Thu Oct 20 05:37:17 1994  Wilfried Moser  (moser@rtl.cygnus.com)
 
 Mon Oct 17 02:30:38 1994  Wilfried Moser  (moser@rtl.cygnus.com)
 
-       * decl.c (init_decl_processing): Set CH_DERIVED_FLAG for 
+       * decl.c (init_decl_processing): Set CH_DERIVED_FLAG for
        boolean_true_node and boolean_false_node. TRUE and FALSE have
        the BOOL derived class.
 
@@ -3400,7 +3406,7 @@ Tue Sep 13 06:19:42 1994  Wilfried Moser  (moser@rtl.cygnus.com)
 
        * expr.c (compare_records): In case of -fpack do always
        a memcmp instead of comparing each field of the
-       structure. If the structure is a variant structure, 
+       structure. If the structure is a variant structure,
        issue a warning.
 
 Mon Sep 12 13:15:09 1994  Per Bothner  (bothner@cygnus.com)
@@ -3418,7 +3424,7 @@ Fri Sep  9 01:53:30 1994  Wilfried Moser  (moser@rtl.cygnus.com)
        like arguments of a function. There will be a wrapper
        which is the real entry point for a PROCESS. This wrapper
        is automatically build after a PROCESS definition and gets
-       as argument a pointer to a structure looking like the 
+       as argument a pointer to a structure looking like the
        arguments of the PROCESS. This wrapper will call the
        PROCESS (see build_process_wrapper).
        (build_process_wrapper): New function (see above).
@@ -3445,12 +3451,12 @@ Fri Sep  9 01:53:30 1994  Wilfried Moser  (moser@rtl.cygnus.com)
        * grant.c (write_spec_module): Write GNUCHILL and gcc
        version into grant file.
 
-       * Make-lang.in (CHILL_FLAGS_TO_PASS): Add passing of CC and 
+       * Make-lang.in (CHILL_FLAGS_TO_PASS): Add passing of CC and
        GNUCHILL_VERSION to ch/Makefile.
        * Make-lang.in (CHILL.mostlyclean): Add ch/ch-version.c.
 
        * Makefile.in (CHILL_OBJS): Add ch-version.o. ch-version.c
-       will get generated every time a new Makefile will get 
+       will get generated every time a new Makefile will get
        generated.
        * Makefile.in (GNUCHILL_VERSION): Remove it, its defined in
        Make-lang.in.
@@ -3572,8 +3578,8 @@ Fri Aug 19 07:10:43 1994  Wilfried Moser  (moser@rtl.cygnus.com)
 
        * inout.c (build_chill_io_list_type, build_enum_tables),
        tasking.c (build_tasking_struct): Temporarily reset
-        maximum_field_alignment to 0, so that the compiler-built
-        data structures needed by the RTS can be independent of -fpack.
+       maximum_field_alignment to 0, so that the compiler-built
+       data structures needed by the RTS can be independent of -fpack.
 
 Thu Aug 18 13:39:51 1994  Per Bothner  (bothner@kalessin.cygnus.com)
 
@@ -3589,7 +3595,7 @@ Wed Aug 17 23:48:33 1994  Wilfried Moser  (moser@rtl.cygnus.com)
 Wed Aug 17 13:47:50 1994  Per Bothner  (bothner@kalessin.cygnus.com)
 
        * decl.c (switch_to_pass_2):  Revert June 13 change,
-        (Don't exit after pass 1 if an error was found.)
+       (Don't exit after pass 1 if an error was found.)
 
        * ch-tree.def (SLICE_EXPR):  New tree-code.
        * typeck.c (build_chill_slice):  For building a slice of a
@@ -3681,7 +3687,7 @@ Thu Aug  4 17:40:38 1994  Per Bothner  (bothner@kalessin.cygnus.com)
 
 Thu Jul 28 04:00:11 1994  Wilfried Moser  (moser@rtl.cygnus.com)
 
-       * expr.c (build_allocate_global_memory_call, build_allocate_memory_call): 
+       * expr.c (build_allocate_global_memory_call, build_allocate_memory_call):
        Add new checks.
 
 Tue Jul 26 22:48:15 1994  Michael Tiemann  (tiemann@blues.cygnus.com)
@@ -3745,7 +3751,7 @@ Wed Jul  6 20:12:13 1994  Per Bothner  (bothner@kalessin.cygnus.com)
        * expr.c, ch-tree.h (finish_chill_unary_op):  New function,
        based on code ripped out of build_chill_unary_op.
        (build_chill_unary_op):  Call finish_chill_unary_op unless pass==1.
-       * satisfy.c (satisfy):   Call finish_chill_unary_op when needed. 
+       * satisfy.c (satisfy):   Call finish_chill_unary_op when needed.
 
 Mon Jun 27 11:29:18 1994  Per Bothner  (bothner@kalessin.cygnus.com)
 
@@ -3799,7 +3805,7 @@ Tue Jun 14 16:44:14 1994  Per Bothner  (bothner@kalessin.cygnus.com)
        Therefore we must check for ignoring here.
        * parse.c (parse_loc_declaration):  Set ignoring in pass 2
        when parsing the mode.
-       
+
        * tasking.c (generate_tasking_code_variable):  Do arithmetic
        on signal_code etc using unsigned rather than signed shorts.
 
@@ -3913,7 +3919,7 @@ Tue May 31 18:12:00 1994  Per Bothner  (bothner@kalessin.cygnus.com)
 
 Tue May 31 04:33:28 1994  Wilfried Moser  (moser@rtl.cygnus.com)
 
-       * inout.c (build_chill_writetext): Add correct processing 
+       * inout.c (build_chill_writetext): Add correct processing
        of POWERSET RANGE (setmode).
 
        * lex.l (same_file): Add searching for file(s) in
@@ -4012,7 +4018,7 @@ Tue May 24 22:36:51 1994  Per Bothner  (bothner@kalessin.cygnus.com)
        * grant.c (chill_grant):  Set it here instead.
 
        * expr.c (fold_set_expr):  Use int_size_in_bytes instead of
-       TYPE_PRECISION (which is not defined for a SET_TYPE).   
+       TYPE_PRECISION (which is not defined for a SET_TYPE).
 
 Fri May 20 15:21:26 1994  Per Bothner  (bothner@kalessin.cygnus.com)
 
@@ -4085,7 +4091,7 @@ Thu May  5 18:58:22 1994  Per Bothner  (bothner@kalessin.cygnus.com)
 Mon May  2 14:33:44 1994  Per Bothner  (bothner@kalessin.cygnus.com)
 
        * parse.y (sendaction):   Fix thinko (in sense of condition).
-       * tasking.c (build_receive_case_label):  Another thinko.        
+       * tasking.c (build_receive_case_label):  Another thinko.
 
        * parse.y (optsigdest):  Force ignore_exprs to 0 while parsing
        the (signal-)name.
@@ -4095,7 +4101,7 @@ Mon May  2 14:33:44 1994  Per Bothner  (bothner@kalessin.cygnus.com)
        properly satisfied).
        * satisfy.c (satisfy):  Layout FUNCTION_TYPEs.
        * parse.y (procmode):  Call build_chill_pointer_type, rather
-       than build_pointer_type (which incorrectly sets TYPE_SIZE). 
+       than build_pointer_type (which incorrectly sets TYPE_SIZE).
 
        * parse.y (get_type_of):  Handle TYPE_DECL (again).
        * parse.y (optresultspec):  Call build_chill_reference_type, rather
@@ -4197,7 +4203,7 @@ Thu Apr 28 15:21:56 1994  Wilfried Moser  (moser@rtl.cygnus.com)
        * parse.y (sendaction): Add code for SEND buffer.
        * parse.y (rccase_label): Change error processing.
        * tasking.c (build_gen_inst): More checks.
-       * tasking.c (build_gen_code): Add checking for argument is a 
+       * tasking.c (build_gen_code): Add checking for argument is a
          PROCESS or a SIGNAL.
        * tasking.c (struct rc_state_type): Add new fields for easier
          error processing.
@@ -4337,7 +4343,7 @@ Thu Apr 14 13:30:19 1994  Wilfried Moser  (moser@phishhead.cygnus.com)
        * expr.c (build_chill_inttime_type): New function to built type
        for the INTTIME builtin.
        * expr.c (build_chill_inttime): New function to process builtin
-       INTTIME. 
+       INTTIME.
        * expr.c (build_chill_duration): New function to process builtin's
        MILLISECS, SECS, MINUTES, HOURS and DAYS.
 
@@ -4389,7 +4395,7 @@ Mon Apr  4 22:06:31 1994  Per Bothner  (bothner@cygnus.com)
        * actions.c (chill_expand_result):  Save result in saved_result_rtx
        or assign to DECL_RESULT as appropriate.
        * decl.c, ch-tree.h (current_function_returns_value,
-        current_function_returns_null, current_extern_inline):
+       current_function_returns_null, current_extern_inline):
        Don't use.  Only define first two to allow linking with ch-typeck.c.
 
        * typeck.c (chill_l_equivalent):  Add forward declaration.
@@ -4431,7 +4437,7 @@ Tue Mar 29 13:24:27 1994  Wilfried Moser  (fs_moser at rcsw1h)
 
        * Makefile.in: Change version string to 1.2.1
        * ch-tree.h (enum chill_built_in_function): Delete no longer valid
-         entries. 
+         entries.
        * ch-tree.h: Change prototype for build_chill_readtext.
        * decl.c (init_decl_processing): Add builtin_function _readstring,
          _readunixstd and READTEXT.
@@ -4440,7 +4446,7 @@ Tue Mar 29 13:24:27 1994  Wilfried Moser  (fs_moser at rcsw1h)
        * gperf: Remove keyword READTEXT.
        * parse.y: Remove token READTEXT.
        * inout.c (build_chill_io_list_type): Add building type for
-         READTEXT. 
+         READTEXT.
        * inout.c (build_chill_readtext): Implement the function
          (partial).
        * inout.c (build_chill_writetext): Do some cleanups.
@@ -4464,7 +4470,7 @@ Tue Mar 29 12:30:59 1994  Per Bothner  (bothner@kalessin.cygnus.com)
        * ch-tree.h, decl.c (shadow_record_fields), decl.c
        (shadow_record_fields), expr.c (chill_expand_case_expr,
        build_chill_function_call), grant.c (chill_finish_compile),
-       typeck.c (build_empty_string, build_init_struct):  Rename magic 
+       typeck.c (build_empty_string, build_init_struct):  Rename magic
        identifiers of the form "<...>" to "__..." for better portability.
 
        * actions.c (adjust_parm_or_field):  Remove extraneous
@@ -4564,7 +4570,7 @@ Tue Mar 22 10:17:58 1994  Bill Cox  (bill@rtl.cygnus.com)
          string assignment case.
        * expr.c (chill_expand_expr): Now that we're using build_chill_function_call,
          the actual parameters need to be converted to the unsigned long
-         type explicitly.  Do that.    
+         type explicitly.  Do that.
        * satisfy.c (safe_satisfy_decl): Correct range-checking code.
 
 Mon Mar 21 16:25:07 1994  Bill Cox  (bill@rtl.cygnus.com)
@@ -4585,7 +4591,7 @@ Mon Mar 21 13:29:23 1994  Per Bothner  (bothner@kalessin.cygnus.com)
        * expr.c (chill_expand_expr):  Code to expand SET_IN_EXPR,
        moved from expand_expr in ../expr.c.  Also add some extra
        conversions (because we're now using build_chill_function-call).
-       * actions.c, decl.c, expr.c, grant.c, parse.y, typeck.c: 
+       * actions.c, decl.c, expr.c, grant.c, parse.y, typeck.c:
        Use SET_IN_EXPR in place of IN_EXPR.
 
        * expr.c (build_compare_discrete_expr), ch-tree.h:  New function,
@@ -4643,14 +4649,14 @@ Sun Mar 20 11:48:10 1994  Per Bothner  (bothner@kalessin.cygnus.com)
 
 Sun Mar 20 08:54:27 1994  Bill Cox  (bill@rtl.cygnus.com)
 
-       * actions.c (expand_assignment_to_varying_array): 
+       * actions.c (expand_assignment_to_varying_array):
          Call build_chill_array_ref to get index checking.
-          (chill_convert_for_assignment): Delete unused errstr
-          variable.
+         (chill_convert_for_assignment): Delete unused errstr
+         variable.
          (chill_expand_assignment): Call build_chill_array_ref
          to get runtime index checking.
          (expand_varying_length_assignment): Use new interface
-          to varying_array_index_p.
+         to varying_array_index_p.
        * ch-tree.h (varying_array_index_p): New proto.
        * convert.c (convert): Call build_chill_array_ref
          to get runtime index checking.
@@ -4694,7 +4700,7 @@ Fri Mar 18 00:12:48 1994  Per Bothner  (bothner@deneb.cygnus.com)
 Thu Mar 17 17:29:43 1994  Bill Cox  (bill@rtl.cygnus.com)
 
        * expr.c (build_chill_function_call): Give function call the correct
-          type tree.
+         type tree.
        * typeck.c (build_chill_slice_with_length): Restore dynamic range
          checking, so it doesn't obscure the CONSTANTness of the length.
 
@@ -4710,7 +4716,7 @@ Wed Mar 16 17:23:31 1994  Per Bothner  (bothner@kalessin.cygnus.com)
        * typeck.c (valid_array_index_p):  Check compatibility using
        correct types.
        * typeck.c (build_chill_slice_with_length);  For now revert
-       calling valid_array_index_p on length.  (It makes it harder 
+       calling valid_array_index_p on length.  (It makes it harder
        to realize when the slice is constant length.)
        * expr.c (build_chill_indirect_expr):  Minor tweak.  (This
        seems to work around a weird C compiler bug. ??)
@@ -4750,11 +4756,11 @@ Tue Mar 15 08:42:12 1994  Bill Cox  (bill@rtl.cygnus.com)
        * actions.c: Fix comment.
          (build_rts_call): Ifdef it out - never used.
          (expand_varying_length_assignment): call valid_array_index_p.
-          rather than validate_varying_array_ref.
+         rather than validate_varying_array_ref.
        * ch-tree.h: Fix prototype for valid_array_index_p.
        * expr.c (chill_expand_expr): Call build_chill_array_ref to get
          index validation.
-          (build_hill_lower, build_chill_upper): Return value now inherits
+         (build_hill_lower, build_chill_upper): Return value now inherits
          the novelty of the input parameter.
          (varying_to_slice): Use CH_NOVELTY macro rather than calling
          chill_novelty directly.
@@ -4771,7 +4777,7 @@ Tue Mar 15 08:42:12 1994  Bill Cox  (bill@rtl.cygnus.com)
          build_loop_iterator parameter, etc.
        * tasking.c (build_receive_case_end): Chack cond_stack before popping.
        * typeck.c (validate_varying_array_ref, chill_max_vary_array_index,
-          valid_array_index): Delete them.  They're now unused.
+         valid_array_index): Delete them.  They're now unused.
          (valid_array_index_p): Add function, call it everywhere that an
          array index is checked.
          (build_chill_slice): Restore old functionality where varying_to_slice
@@ -4802,10 +4808,10 @@ Thu Mar 10 09:41:37 1994  Bill Cox  (bill@rtl.cygnus.com)
          derived files.  This allows the gcc/configure list of CHILL
          files machinery to work.
        * ch-tree.h (permanent_allocation): Add a parameter flag.
-       * decl.c (finish_chill_function, finish_decl): Provide the 
+       * decl.c (finish_chill_function, finish_decl): Provide the
          new permanent_allocation flag.
          (poplevel): Return early, avoid a seg fault.
-       * lex.l (NORMAL): Replace this whole state with the predefined 
+       * lex.l (NORMAL): Replace this whole state with the predefined
          INITIAL state.  Force compilation state to global level after
          compiler directive error - prevents endless loop on error.
          (handle_use_seizefile_directive): Rewrite for readability.
@@ -4842,12 +4848,12 @@ Tue Mar  8 11:51:10 1994  Bill Cox  (bill@rtl.cygnus.com)
 
 Mon Mar  7 19:14:05 1994  Bill Cox  (bill@rtl.cygnus.com)
 
-       * Makefile.in: Use the 'all' target to build the runtime 
+       * Makefile.in: Use the 'all' target to build the runtime
          library and chillrt0.o.
        * README: Explain rules for files in this directory.
-       * addtest, addtest.man, build-release, 
+       * addtest, addtest.man, build-release,
          chill.regress.cron: Move to utils subdirectory.
-        * expr.c (build_chill_function_call): Mark the INOUT
+       * expr.c (build_chill_function_call): Mark the INOUT
          temporary so it doesn't get optimized into a
          register.  Fixes the execute/inout.ch bug.
        * typeck.c (layout_chill_range_type): Restrict it
@@ -4912,7 +4918,7 @@ Wed Mar  2 16:49:05 1994  Bill Cox  (bill@rtl.cygnus.com)
 
        * actions.c (adjust_return_value): Simplify.
          Delete references to CH_RETURNS_LOC, extra parameters to
-          push_extern_function and start_chill_functions.
+         push_extern_function and start_chill_functions.
          (convert_for_assignment): Check whether to generate runtime
          range-checking code.  Handle reference_type in convert call.
          (chill_expand_assignment): Produce an INDIRECT_REF for a
@@ -4924,7 +4930,7 @@ Wed Mar  2 16:49:05 1994  Bill Cox  (bill@rtl.cygnus.com)
          extra parameters, references to CH_RETURNS_LOC.
        * grant.c (chill_finish_compile): Delete extra parameter.
        * parse.y: Delete references to CH_RETURNS_LOC, extra parameters to
-          push_extern_function and start_chill_functions.
+         push_extern_function and start_chill_functions.
        * regression.sh (checkprms): Skip PRMS discrepancies if we
          can't access PRMS for some reason.
        * satisfy.c: Correct indentation.
@@ -4945,24 +4951,24 @@ Tue Mar  1 16:24:20 1994  Wilfried Moser  (fs_moser at rcsw1h)
 
 Tue Mar  1 07:34:56 1994  Bill Cox  (bill@rtl.cygnus.com)
 
-        RETURN of LOC value is only half-baked.  Stay tuned...
+       RETURN of LOC value is only half-baked.  Stay tuned...
        * actions.c (adjust_parm_or_field): Add to comment.
-          (adjust_return_value): New function for issuing errors about
+         (adjust_return_value): New function for issuing errors about
          RETURN and RESULT expressions.  Also converts them.
          (chill_expand_result, chill_expand_return): Call new
          adjust_return_value function.
        * ch-tree.h (CH_RETURNS_LOC): Add new flag for function types.
-          New parameter for push_extern_function and start_chill_function.
+         New parameter for push_extern_function and start_chill_function.
        * decl.c (push_extern_function, start_chill_function): New parameter
          to say whether return value is a LOC.
        * expr.c (build_chill_indirect_ref): Further qualify the issuing
          of the error message.
-       * grant.c (raw_decode_mode): Move test for instance mode under 
+       * grant.c (raw_decode_mode): Move test for instance mode under
          STRUCT handling.
          (start_chill_module_code, chill_finish_compile): Add new
          parameter to start_chill_function calls.
        * parse.y (get_type_of): Do lookup_name more often.
-         (quasi_pdef, procedure, procmode, optresultspec): Set 
+         (quasi_pdef, procedure, procmode, optresultspec): Set
          CH_RETURNS_LOC flag.
          (optresultattr): Code keywords as a bitmask.
        * tasking.c (build_process_header): Add new parameter to
@@ -4972,8 +4978,8 @@ Sat Feb 26 12:49:05 1994  Bill Cox  (bill@rtl.cygnus.com)
 
        * Makefile.in: Replace undefined $(RM) with rm -f.
        * configure: Make sure scripts are executable.
-       * regression.sh: Make variables to invoke make 
-         and awk.  Don't process a directory if it 
+       * regression.sh: Make variables to invoke make
+         and awk.  Don't process a directory if it
          doesn't exist.
 
 Fri Feb 25 14:48:48 1994  Bill Cox  (bill@rtl.cygnus.com)
@@ -5062,12 +5068,12 @@ Mon Feb 21 13:24:02 1994  Bill Cox  (bill@rtl.cygnus.com)
        * grant.c (chill_finish_compile): Bypass handling
          module-level code if an earlier error has made
          is useless.
-       * tasking.c (build_start_process): Generate error, 
+       * tasking.c (build_start_process): Generate error,
          return if process name unknown.
 
 Mon Feb 21 14:29:41 1994  Wilfried Moser  (fs_moser at rcsw47)
 
-       * expr.c (build_generalized_call): Use 
+       * expr.c (build_generalized_call): Use
          build_arrow_expr semantics for ADDR () builtin.
 
 Mon Feb 21 12:49:14 1994  Bill Cox  (bill@rtl.cygnus.com)
@@ -5083,9 +5089,9 @@ Sun Feb 20 19:58:14 1994  Bill Cox  (bill@rtl.cygnus.com)
 
        * regression.sh: Fix cvs update-related commands.
          Have cron job always perform the update, so it's
-         always reporting on the current state of the 
+         always reporting on the current state of the
          sources.
-       * typeck.c (string_assignment_condition): Allow a 
+       * typeck.c (string_assignment_condition): Allow a
          mis-match if the LHS is varying.
 
 Fri Feb 18 18:10:04 1994  Bill Cox  (bill@rtl.cygnus.com)
@@ -5187,9 +5193,9 @@ Sat Feb 12 16:24:22 1994  Bill Cox  (bill@rtl.cygnus.com)
 
        * actions.c, convert.c, decl.c, expr.c, lex.l,
          tasking.c, typeck.c: gcc -Wall cleanups.
-        * ch-tree.h: Change loop-related prototypes.
+       * ch-tree.h: Change loop-related prototypes.
        * loop.c, parse.y: Rewrite to set up correct loop scope.
-          Fix error path where loop variable not declared.
+         Fix error path where loop variable not declared.
 
 Fri Feb 11 11:12:29 1994  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -5265,7 +5271,7 @@ Wed Feb  2 11:24:57 1994  Wilfried Moser  (fs_moser at rcsw47)
 
 Wed Feb  2 09:31:37 1994  Bill Cox  (bill@rtl.cygnus.com)
 
-        * configure: Add ${srcdir} to Makefile.in's path.
+       * configure: Add ${srcdir} to Makefile.in's path.
        * loop.c: Delete unused whitespace.
 
 Tue Feb  1 17:09:41 1994  Bill Cox  (bill@rtl.cygnus.com)
@@ -5329,7 +5335,7 @@ Sun Jan 30 12:01:07 1994  Bill Cox  (bill@rtl.cygnus.com)
          (expand_varying_length_assignment): Clean up bitrot.
        * convert.c (convert): Revert most recent change.
        * loop.c (maybe_skip_loop): New function, split out of
-         begin_chill_loop.  Add conditional to skip processing an empty 
+         begin_chill_loop.  Add conditional to skip processing an empty
          VARYING array.
        * parse.y (assignaction): Delete code to recognize LENGTH
          on left-hand-side.
@@ -5382,7 +5388,7 @@ Thu Jan 27 14:12:07 1994  Mike Stump  (mrs@cygnus.com)
 Thu Jan 27 10:37:33 1994  Bill Cox  (bill@rtl.cygnus.com)
 
        * decl.c (bind_sub_modules): Need a parameter on the recursive call.
-         Thanks, Zoo!  
+         Thanks, Zoo!
 
 Thu Jan 27 10:37:33 1994  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -5417,7 +5423,7 @@ Tue Jan 25 14:00:02 1994  Wilfried Moser  (fs_moser at rcsw1j)
          build the type the DESCR builtin returns.
          Add function build_chill_descr, which process the DESCR builtin.
        * ch-expr.c (build_chill_length): Add code to enable
-         LENGTH (bitstring). 
+         LENGTH (bitstring).
        * ch-expr.ch (build_generalized_call): Add processing of DESCR
          builtin.
        * ch-grant.c: Add code to avoid producing of unnecessary grant
@@ -5493,7 +5499,7 @@ Sat Jan 15 09:15:22 1994  Bill Cox  (bill@rtl.cygnus.com)
  << This set of CHILL frontend sources is now the
     maintainable and master set. Accept no substitutes! >>
        * Makefile.in, configure: Completely rewritten
-         to be invoked by gcc/Makefile.in and 
+         to be invoked by gcc/Makefile.in and
          gcc/configure.
        * addtest (update_ChangeLog): Fix insertion
          of the '*'.
@@ -5502,10 +5508,10 @@ Sat Jan 15 09:15:22 1994  Bill Cox  (bill@rtl.cygnus.com)
        * cpy.sh: Add necessary edits to files as they
          are copied down.
        * actions.c, ch-tree.def, ch-tree.h, convert.c,
-          decl.c, except.c, expr.c, grant.c, inout.c,
+         decl.c, except.c, expr.c, grant.c, inout.c,
          lang.c, lex.h, lex.l, loop.c, parse.y,
          satisfy.c, tasking.c, typeck.c: Latest
-         versions from the repository. 
+         versions from the repository.
 
 Fri Jan 14 12:28:39 1994  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -5555,7 +5561,7 @@ Wed Dec  8 09:35:54 1993  Bill Cox  (bill@rtl.cygnus.com)
 
 Sun Nov 21 08:34:33 1993  Bill Cox  (bill@rtl.cygnus.com)
 
-        * Makefile.in: Adjust gperf rule for names in this directory.
+       * Makefile.in: Adjust gperf rule for names in this directory.
        * ch_decomment.l: New file.  Ignores CHILL comments.
          Executable is used bu ch_makedepend.
        * ch_makedepend: New script.  Makes CHILL dependencies for
@@ -5570,7 +5576,7 @@ Sun Nov 21 08:34:33 1993  Bill Cox  (bill@rtl.cygnus.com)
 
 Sat Oct 30 15:02:24 1993  Per Bothner  (bothner@kalessin.cygnus.com)
 
-       * chill.texi:  Add new node about conversions. 
+       * chill.texi:  Add new node about conversions.
 
 Fri Oct 29 14:17:31 1993  Bill Cox  (bill@cygnus.com)
 
@@ -5665,7 +5671,7 @@ Fri Jan 14 21:09:44 1994  Per Bothner  (bothner@kalessin.cygnus.com)
 
 Wed Jan 12 10:19:35 1994  Bill Cox  (bill@rtl.cygnus.com)
 
-       * ch-lex.l (WS): Add BS, VT and CR to definition of 
+       * ch-lex.l (WS): Add BS, VT and CR to definition of
          whitespace.
          (convert_number): Allow for uppercase hex digits.
 
@@ -5694,7 +5700,7 @@ Mon Jan 10 18:29:36 1994  Bill Cox  (bill@rtl.cygnus.com)
        * ch-actions.c (chill_convert_for_assignment): Avoid seg fault.
        * ch-expr.c (expand_packed_set): Add new parameter to pass
          set's minimum ordinal value.  Fix loop invariant problem.
-         (fold_set_expr): Change to add new parameter to 
+         (fold_set_expr): Change to add new parameter to
          expand_packed_set call.
        * ch-grant.c: Move extern declaration to ch-tree.h.
        * ch-lex.l (convert_bitstring): Also output the bitstring
@@ -5865,7 +5871,7 @@ Tue Jan  4 00:24:14 1994  Bill Cox  (bill@cygnus.com)
 
        * ch-actions.c: Fix comments.
        * ch-parse.y: Define caseaction_flag.
-         (caseaction): Create new caseaction_flag node at the start, 
+         (caseaction): Create new caseaction_flag node at the start,
          then free it at the end.  Check it before the ELSE code.
          (expanded_case_label): Check the flag here.  If set in either
          place, generate a jump to the end of the case.
@@ -5897,9 +5903,9 @@ Mon Jan  3 21:49:04 1994  Michael Tiemann  (tiemann@blues.cygnus.com)
 Mon Jan  3 21:24:44 1994  Bill Cox  (bill@cygnus.com)
 
        * c-typeck.c: Fix comment.
-       * ch-actions.c (chill_expand_assignment): Error assigning to 
-         READONLY location.  (PR_3903)  Pass filename, linenumber 
-         to setbitpowerset runtime routine.    
+       * ch-actions.c (chill_expand_assignment): Error assigning to
+         READONLY location.  (PR_3903)  Pass filename, linenumber
+         to setbitpowerset runtime routine.
        * ch-decl.c (init_decl_processing): Add filename, linenumber
          parameters to setbitpowerset prototype.
        * ch-expr.c (build_chill_function_call): Error when passing a
@@ -5919,7 +5925,7 @@ Mon Jan  3 19:03:55 1994  Michael Tiemann  (tiemann@blues.cygnus.com)
        * ch-typeck.c (validate_varying_array_ref): Simplify interface
        since INDEX parameter can never meaningfully be an INDEXLIST.
        * ch-actions.c (expand_varying_length_assignment): Caller changed.
-       
+
 Mon Jan  3 07:29:45 1994  Michael Tiemann  (tiemann@blues.cygnus.com)
 
        * ch-typeck.c (build_chill_cast): Set TREE_CONSTANT on NOP_EXPRs.
@@ -5993,7 +5999,7 @@ Sat Jan  1 10:29:19 1994  Michael Tiemann  (tiemann@blues.cygnus.com)
        TREE_CONSTANT not being set by calling `build1' when `build_unary_op'
        should have been called.
 
-       * ch-convert.c (digest_struct_tuple): Restore code which tracks 
+       * ch-convert.c (digest_struct_tuple): Restore code which tracks
        field initializations so that the compiler can deduce what variant
        initializations to assume.
 
@@ -6053,9 +6059,9 @@ Fri Dec 31 11:31:01 1993  Michael Tiemann  (tiemann@blues.cygnus.com)
 
 Fri Dec 31 15:32:56 1993  Bill Cox  (bill@rtl.cygnus.com)
 
-       * ch-lex.l (convert_number): Output the converted number if 
+       * ch-lex.l (convert_number): Output the converted number if
          yydebug is enabled.
-       * ch-parse.y (signaldef): Set ignore_exprs correctly for a 
+       * ch-parse.y (signaldef): Set ignore_exprs correctly for a
          SIGNAL declaration.
 
 Fri Dec 31 13:17:48 1993  Bill Cox  (bill@cygnus.com)
@@ -6085,10 +6091,10 @@ Thu Dec 30 14:28:25 1993  Bill Cox  (bill@rtl.cygnus.com)
          (build_receive_case_label): Move between start and end functions.
          (build_delay_case_start): Pass SET name and priority also.
          Generally update to correct functioning.
-          (build_delay_case_label): Move between start and end fucntions, 
+         (build_delay_case_label): Move between start and end fucntions,
          correct its functioning.
          (build_delay_case_end): Correct the code.
-          (tasking_init): Lots of tasking-related code moved here from
+         (tasking_init): Lots of tasking-related code moved here from
          init_decl_processing.
        * ch-tree.h: Update, add prototypes.
 
@@ -6130,7 +6136,7 @@ Tue Dec 28 18:20:14 1993  Bill Cox  (bill@rtl.cygnus.com)
          (build_receive_case_start, build_receive_case_label): Defer
          calling runtime routine until we know whether we have a signal
          or a buffer to wait for.
-         (build_delay_case_start, build_delay_case_end, 
+         (build_delay_case_start, build_delay_case_end,
           build_delay_case_label, build_delay_action,
           process_event_decls): Added functions.
        * ch-typeck.c (chill_similar): Allow all integers of differing
@@ -6239,7 +6245,7 @@ Tue Dec 14 15:41:32 1993  Per Bothner  (bothner@kalessin.cygnus.com)
 
 Mon Dec 13 16:44:43 1993  Per Bothner  (bothner@kalessin.cygnus.com)
 
-       * ch-expr.c (build_chill_addr_expr, build_chill_addr_expr):  Don't re-write 
+       * ch-expr.c (build_chill_addr_expr, build_chill_addr_expr):  Don't re-write
 
        * ch-tree.h (chill_root_resulting_mode):  Fix typo (missing '_').
 
@@ -6271,7 +6277,7 @@ Mon Dec 13 14:57:55 1993  Bill Cox  (bill@rtl.cygnus.com)
          variable.
        * ch-tasking.c: Use expand_expr_stmt to avoid C-specific
          conversions.
-          (build_buffer_decl): Save the tasking_code_variable's decl
+         (build_buffer_decl): Save the tasking_code_variable's decl
          in the buffer decl tree.
          (build_buffer_descriptor): Real, working version.
 
@@ -6284,7 +6290,7 @@ Mon Dec 13 03:13:36 1993  Bill Cox  (bill@rtl.cygnus.com)
          (locdec): Enable building of a buffer decl.
          (optresultspec, optresultattr): Add optional
          result attributes such as LOC.  Semantics
-          not enabled yet.
+         not enabled yet.
        * ch-tasking.c (expand_send_buffer): Renamed.
        * ch-tree.h (build_send_buffer): Renamed.
        * ch-typeck.c (chill_expr_class): Do more complete,
@@ -6312,7 +6318,7 @@ Fri Dec 10 10:00:42 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-grant.c (decode_decl): Restore code mistakenly deleted.
          Move instance-handling code to raw_decode_mode.
        * ch-parse.y (formpar): Allow READ modifier in SPEC MODULE.
-          Add rough draft of DELAY statement handling.
+         Add rough draft of DELAY statement handling.
        * ch-tasking.c (build_event_type): New function.
        * ch-tree.h (build_event_type): Add prototype.
        * ch-typeck.c (smash_dummy_type): Add buffer & event handling.
@@ -6380,14 +6386,14 @@ Mon Dec  6 14:35:31 1993  Per Bothner  (bothner@kalessin.cygnus.com)
 
 Sat Dec  4 22:16:19 1993  Bill Cox  (bill@rtl.cygnus.com)
 
-       * ch-actions.c (cond_range_exception, 
+       * ch-actions.c (cond_range_exception,
          cond_type_range_exception): Check command-line flag before
          generating code.  Fix comments.
        * ch-expr.c (build_chill_num): Add generation of OVERFLOW
          code, commented out.
        * ch-loop.c (build_chill_iterator): Comment out
          exception code generation.
-       * ch-parse.y: Delete quasi_signal flag, use 
+       * ch-parse.y: Delete quasi_signal flag, use
          current_module->is_spec_module instead.
        * ch-tasking.c (build_buffer_decl, build_buffer_descriptor):
          Delete quasi_decl flag.  Look at current_module
@@ -6473,7 +6479,7 @@ Tue Nov 30 14:05:23 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-decl.c (init_decl_processing): Add filename, line number
          parameters to tasking-related runtime routines.
        * ch-grant.c (decode_decl): Check for BUFFER mode differently.
-       * ch-parse.y (BUFFER_CODE, EVENT_CODE): Move token to 
+       * ch-parse.y (BUFFER_CODE, EVENT_CODE): Move token to
          lex-only list.
          (quasi_locdec): Set/reset quasi_decl flag.
        * ch-tasking.c (build_start_process, expand_send_signal,
@@ -6564,7 +6570,7 @@ Sat Nov 20 20:17:15 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-decl.c (init_decl_processing): Add filename
          and linenumber to allocate, free memory calls.
        * ch-expr.c (build_allocate_memory_call,
-         (build_allocate_global_memory_call): Add 
+         (build_allocate_global_memory_call): Add
          filename, linenumber to call.
        * ch-loop.c: Complete rewrite for maintainability.
 
@@ -6606,7 +6612,7 @@ Wed Nov 17 16:40:05 1993  Bill Cox  (bill@rtl.cygnus.com)
          of powerset runtime routines.
        * ch-expr.c (chill_expand_expr): Change parameters to powerset
          runtimes so bitlengths are long unsigned ints.
-       * ch-inout.c (build_chill_writetext): Add filename and linenumber       
+       * ch-inout.c (build_chill_writetext): Add filename and linenumber
          as runtime parameters, for better error messages.
        * ch-loop.c: general pre-rewrite cleanup.
        * expr.c (store_constructor): Rewrite set interface to
@@ -6691,7 +6697,7 @@ Fri Nov 12 13:27:12 1993  Per Bothner  (bothner@rtl.cygnus.com)
 
        * ch-expr.c (chill_expand_expr, build_concat_expr): Simplify
        string concatenation by treating varying strings as slices.
-        (varying_to_slice): New function.
+       (varying_to_slice): New function.
        * ch-typeck.c (build_chill_slice): Changed to support the above.
 
 Fri Nov 12 12:07:28 1993  Bill Cox  (bill@rtl.cygnus.com)
@@ -6715,7 +6721,7 @@ Thu Nov 11 07:49:53 1993  Bill Cox  (bill@rtl.cygnus.com)
          word.  It's only predefined.
        * ch-inout.c: Add special_UC to conditionals
          to determine case of reserved words.
-         (build_chill_writetext): Change for call from 
+         (build_chill_writetext): Change for call from
          build_generalized_call.  Add code to format
          integers.
        * ch-lang.c (lang_decode_option): Add special_UC and
@@ -6755,8 +6761,8 @@ Wed Nov 10 02:29:53 1993  Bill Cox  (bill@rtl.cygnus.com)
          token before checking for reserved words.
        * ch-parse.y: Delete ADDR as a reserved word.
          (mode2, optlayout): Allow PACK/UNPACK specifier.
-         (call): Use build_generalized_call for 
-                 primval LPRN modename RPRN.
+         (call): Use build_generalized_call for
+                 primval LPRN modename RPRN.
          (primval): Delete ADDR reference.  It's now only
          predefined, not reserved.
        * ch-tree.h: Add BUILT_IN_ADDR as a predefined.
@@ -6773,8 +6779,8 @@ Tue Nov  9 15:07:02 1993  Bill Cox  (bill@rtl.cygnus.com)
          (init_decl_processing): Add builtin_function calls for lots of
          predefined functions.
        * ch-expr.c: Change builtin function handlers back to accepting
-         args, not a treelist.  
-          (route_to_predefined_function): Delete it and its call.
+         args, not a treelist.
+         (route_to_predefined_function): Delete it and its call.
          (build_generalized_call): Add lots of builtin functions.
        * ch-gperf (backwards, duration, inttime, null): Delete them.
        * ch-hash.h: New version.
@@ -6786,7 +6792,7 @@ Tue Nov  9 15:07:02 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-parse.y: Delete lots of stuff which should only be predefined.
        * ch-tasking.c: Change special_UC to ignore_case everywhere.
          Change builtin function handlers back to accepting args,
-          not a treelist.  
+         not a treelist.
        * ch-tree.h: Add lots of builtin functions to the enumerator.
 
 Mon Nov  8 18:08:27 1993  Bill Cox  (bill@rtl.cygnus.com)
@@ -6802,7 +6808,7 @@ Mon Nov  8 17:30:22 1993  Bill Cox  (bill@rtl.cygnus.com)
          function.
          (lookup_name): Check for a CONST_DECL, don't ask about DECL_NESTING
          stuff for builtin constant like TRUE.
-       * ch-expr.c (route_to_predefined_function): Add a bunch of 
+       * ch-expr.c (route_to_predefined_function): Add a bunch of
          predefined functions to the list.
        * ch-gperf: Define the list of reserved words, minus the predefined
          words, using the special_UC flag.  Remove NULL, TRUE, FALSE -
@@ -6814,10 +6820,10 @@ Mon Nov  8 17:30:22 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-lex.h: Add enumerators for TRUE, FALSE, NULL.
        * ch-lex.l: Total rewrite of reserved-word recognition, using
          the ch-hash.h lookup routines.
-       * ch-parse.y: Delete a bunch of unused rules for predefined 
+       * ch-parse.y: Delete a bunch of unused rules for predefined
          procedures and their parameters.
        * ch-tasking.c (tasking_init): Build predefined functions
-          for COPY_NUMBER, GEN_CODE, GEN_INST, and GEN_PTYPE.  Not
+         for COPY_NUMBER, GEN_CODE, GEN_INST, and GEN_PTYPE.  Not
          complete yet.  Change interface to builtin handlers to accept
          just an expression list.
 
@@ -6840,7 +6846,7 @@ Wed Nov  3 18:07:08 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-lex.l (init_lex): Initialize ridpointers to uppercase
          if special_UC flag is set.
          (downcase, getlc, check_newline): Don't do this if ignore_case
-          flag is set.
+         flag is set.
        * ch-parse.y (variantdef, case_expr): Report 'sorry' for use of
          multiple selector expressions.
 
@@ -6910,7 +6916,7 @@ Thu Oct 28 16:43:36 1993  Bill Cox  (bill@rtl.cygnus.com)
          Check for invalid parameters, issue errors.
        * expr.c (store_constructor): Calculate bitlength, startrtx
          and endrtx of powerset correctly.  Define targetx, use it
-          and XEXP correctly.
+         and XEXP correctly.
 
 Wed Oct 27 08:25:56 1993  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -6977,7 +6983,7 @@ Wed Oct 20 09:52:44 1993  Bill Cox  (bill@rtl.cygnus.com)
          (decl_tasking_code_var): Delete it.  Its calls are replaced woth
          generate_tasking_code_variable calls, plus a little glue.
          (push_extern_process): generate tasking_code_variable as local
-         static variable, point the process' function_decl at it for later 
+         static variable, point the process' function_decl at it for later
          reference by build_start_process.
          (print_mode): Use CHILL upper-case convention to print modes.
        * ch-lex.l: Must initialize tasking-related trees to NULL at start
@@ -6985,7 +6991,7 @@ Wed Oct 20 09:52:44 1993  Bill Cox  (bill@rtl.cygnus.com)
          specify a value for each of them.
        * ch-parse.y (check_end_label, action, exceptlist): Only output
          error message in pass 1.
-          (sendaction): Add comments.
+         (sendaction): Add comments.
          (sigdef): Comment out special handling for external signals.
          Chain tasking_variable_decl onto signal structure decl, for
          easier non-symbol-table access later.
@@ -7000,7 +7006,7 @@ Wed Oct 20 09:52:44 1993  Bill Cox  (bill@rtl.cygnus.com)
          function decl.
          (build_signal_struct_type): Return the type decl, to be accessed by ...
          (build_signal_descriptor): .. this function.
-         (build_receive_case_label): Get data buffer pointer not from hash 
+         (build_receive_case_label): Get data buffer pointer not from hash
          table, but from Tiemann's current rc_state structure instead.
        * ch-tree.h: Change prototype, fix comment, add DECL_TASKING_CODE_DECL
          macro for tasking_code_variable storage.
@@ -7057,7 +7063,7 @@ Sun Oct 17 23:15:00 1993  Bill Cox  (bill@cygnus.com)
        * ch-decl.c (do_decl): Revert bogus initializer type change.
        * ch-grant.c (chill_finish_module_code): Put module's decl onto
          the module_init_list, for chill_finish_compile's possible use.
-         (chill_finish_compile): Rename variables for clarity, add 
+         (chill_finish_compile): Rename variables for clarity, add
          commented-out code as example for assignment of module address to its
          init_list entry.
 
@@ -7094,7 +7100,7 @@ Fri Oct 15 21:44:11 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
 
 Fri Oct 15 10:30:09 1993  Bill Cox  (bill@cygnus.com)
 
-       * ch-expr.c (finish_chill_binary_op): Activate some 
+       * ch-expr.c (finish_chill_binary_op): Activate some
          type-setup code.
        * expr.c (store_constructor): Subtract arrays minimum element.
          Makes orientexpress work.
@@ -7106,7 +7112,7 @@ Fri Oct 15 09:26:24 1993  Bill Cox  (bill@cygnus.com)
 
 Thu Oct 14 13:20:02 1993  Bill Cox  (bill@cygnus.com)
 
-       * ch-actions.c (build_chill_cause_exception): Pass the 
+       * ch-actions.c (build_chill_cause_exception): Pass the
          *address* of the filename string to the runtime routine,
          rather than passing the string by value.
 
@@ -7160,7 +7166,7 @@ Mon Oct 11 17:23:02 1993  Bill Cox  (bill@cygnus.com)
        * ch-decl.c (init_decl_processing): Define __whoami and
          __wait_buffer functions.
        * ch-lex.l (ch_lex_init): Reset tasking numbers to zero.
-       * ch-parse.y (sigdef): Add new add_taskstuff_to_list 
+       * ch-parse.y (sigdef): Add new add_taskstuff_to_list
          parameter.
        * ch-tasking.c (get_tasking_code): Search tasking_list for
          tasking code name match.  Can't use lookup_name.
@@ -7173,7 +7179,7 @@ Mon Oct 11 17:23:02 1993  Bill Cox  (bill@cygnus.com)
          list entries no built by ..
          (add_taskstuff_to_list): Accept new parameter,
          add it to the list.
-       * ch-tree.h (add_taskstuff_to_list): Add new 
+       * ch-tree.h (add_taskstuff_to_list): Add new
          parameter.
 
 Mon Oct 11 14:54:50 1993  Per Bothner  (bothner@kalessin.cygnus.com)
@@ -7193,7 +7199,7 @@ Sun Oct 10 09:11:52 1993  Bill Cox  (bill@rtl.cygnus.com)
 
 Fri Oct  8 16:00:04 1993  Bill Cox  (bill@cygnus.com)
 
-       * ch-actions.c (adjust_parm_or_field): Add parameter to 
+       * ch-actions.c (adjust_parm_or_field): Add parameter to
          decl_temp1 call.
        *ch-decl.c (decl_tasking_code_var): Replace do_decl call with
          decl_temp1 call.
@@ -7201,14 +7207,14 @@ Fri Oct  8 16:00:04 1993  Bill Cox  (bill@cygnus.com)
          (shadow_record_fields): Add parameter to decl_temp1 call.
        * ch-expr.c (chill_expand_case_expr): Add parameter
          to decl_temp1 call.
-       * ch-grant.c (chill_finish_compile): Add code to spoof 
+       * ch-grant.c (chill_finish_compile): Add code to spoof
          get_file_function_name,  so we don't get __tmp_s1_code,
          for example, as the module-level code's name.
        * ch-loop.c (build_temporary_variable, begin_for_range,
-          init_loop_counter): Add parameter to decl_temp1 call.
+         init_loop_counter): Add parameter to decl_temp1 call.
        * ch-parse.y (quasi_signaldef): Clear quasi_signal flag here,
          for easier maintenance.
-          (sendaction): Rewrite to receive SIGNALNAME token correctly
+         (sendaction): Rewrite to receive SIGNALNAME token correctly
          from ch-lex.l (name_type_signal).
          (signaldef): Don't clear quasi_signal here.
        * ch-tasking.c (generate_tasking_code_variable): Tell decl_temp1
@@ -7216,7 +7222,7 @@ Fri Oct  8 16:00:04 1993  Bill Cox  (bill@cygnus.com)
          (build_start_process): Add parameter to decl_temp1 call.
          (tasking_setup): Comment out band-aid hack which calls
          generate_tasking_code_variable.  Shouldn't be necessary.
-         Use null_pointer_node rather than integer_zero_node in 
+         Use null_pointer_node rather than integer_zero_node in
          entry_point.  More rewrites.
          (build_signal_descriptor): Name the non-signal in the error msg.
          Rewrite the building of the signal envelope - avoid seg fault.
@@ -7232,7 +7238,7 @@ Tue Oct  5 13:51:27 1993  Bill Cox  (bill@cygnus.com)
        * ch-grant.c: Standardize indentation.
        * ch-parse.y (end_function): Unconditionally poplevel for processes.
        * ch-tasking.c (build_process_header): Unconditionally pushlevel.
-          (generate_tasking_code_variable): Stop using pass number to
+         (generate_tasking_code_variable): Stop using pass number to
          force a one-time action.
        * ch-tree.h (build_chill_slice): Delete proto since function went static.
 
@@ -7250,7 +7256,7 @@ Mon Oct  4 13:52:36 1993  Bill Cox  (bill@cygnus.com)
          (generate_tasking_code_variable): Return the var's decl.
          (build_signal_struct_type): Move generate_tasking_code_variable
          and add_taskstuff_to_list calls to ..
-        * ch-parse.y (sigdef): .. here.  And make indentation changes.
+       * ch-parse.y (sigdef): .. here.  And make indentation changes.
        * ch-tree.h: Rename functions, add return values.
 
 Mon Oct  4 15:43:56 1993  Per Bothner  (bothner@kalessin.cygnus.com)
@@ -7336,7 +7342,7 @@ Wed Sep 29 13:36:23 1993 1993  Bill Cox  (bill@cygnus.com)
          fault.
          (procedure, process): Change calls to end_function, remove
          code saving value from build_process_header.  Delete redundant chill_
-         phrases from some function calls.  
+         phrases from some function calls.
        * ch-tasking.c: Remove some redundant _chill phrases from function
          names.
        * ch-tree.h: Remove some redundant _chill phrases from function
@@ -7498,7 +7504,7 @@ Fri Sep 24 15:27:13 1993  Bill Cox  (bill@cygnus.com)
          due to the language's 2-pass nature.
        * ch-parse.y (arrayindex): Rewrite for correctness, and to avoid
          a seg fault.
-       * ch-tree.h (lookup_remembered_name): Comment out the prototype. 
+       * ch-tree.h (lookup_remembered_name): Comment out the prototype.
 
 Fri Sep 24 11:01:31 1993  Michael Tiemann  (tiemann@blues.cygnus.com)
 
@@ -7522,9 +7528,9 @@ Fri Sep 24 11:01:31 1993  Michael Tiemann  (tiemann@blues.cygnus.com)
          (build_tasking_message_type): Layout the type.
          (rc_state_type): New structure to keep nested receive-case
          info in.
-          (build_chill_receive_case_start, build_chill_receive_case_end):
+         (build_chill_receive_case_start, build_chill_receive_case_end):
          Use the new struct.
-         
+
 
 Fri Sep 24 04:19:15 1993  Michael Tiemann  (tiemann@blues.cygnus.com)
 
@@ -7600,10 +7606,10 @@ Thu Sep 23 09:18:35 1993  Bill Cox  (bill@cygnus.com)
 
        * ch-decl.c (print_lang_decl): Make weak name output more standard.
          (print_lang_identifier): Make signal-data flag output more standard.
-          (push_chill_extern_process): Pass correct arg tree to
+         (push_chill_extern_process): Pass correct arg tree to
          push_chill_extern_function.
-         (push_syn_decls, fixup_unknown_type, chill_modes_equiv): 
-         Standardize function header layouts (Makes the tcov script 
+         (push_syn_decls, fixup_unknown_type, chill_modes_equiv):
+         Standardize function header layouts (Makes the tcov script
          work better).
        * ch-except.c (chill_finish_on): Standardize function header.
        * ch-expr.c (fold_set_or): Standardize function header.
@@ -7643,7 +7649,7 @@ Wed Sep 22 10:42:31 1993  Per Bothner  (bothner@kalessin.cygnus.com)
        (CH_CLASS_IS_XXX, TYPE_NEWMODE, CH_CLASS_MODE):  Removed.
        * ch-typeck.c (classify_chill_expr renamed to chill_expr_class):
        Take extra output parameter (for M, as in M-value class).
-       * ch-typeck.c (chill_novelty):  New function.  (Also de-references.) 
+       * ch-typeck.c (chill_novelty):  New function.  (Also de-references.)
 
        * ch-expr.c (resolve_component_ref, build_chill_component_ref):
        New functions.  Handle 2-pass and variant records.
@@ -7692,20 +7698,20 @@ Tue Sep 21 14:19:11 1993  Bill Cox  (bill@cygnus.com)
        * ch-grant.c (decode_decl): Write proper header for a process.
        * ch-parse.y (quasi_pdef): process now uses processparlist,
          which doesn't change with the passes.
-          (quasi_locdec): Call build_chill_reference_type to defer
+         (quasi_locdec): Call build_chill_reference_type to defer
          doing the type's layout.
          (processpar): Use paramnamelist, but reformat it into a
          list of identifiers in pass 2, so a processpar is the same
          structure in both passes.
-          (locdec): Call build_chill_reference_type to defer doing the
-          type's layout.
+         (locdec): Call build_chill_reference_type to defer doing the
+         type's layout.
        * ch-tasking.c (generate_tasking_code_variable): Call do_decl to
          build the decl.  Only update the variable's tree in pass 2.
-          (make_process_struct): Call build_chill_reference_type to defer
+         (make_process_struct): Call build_chill_reference_type to defer
          doing the type's layout.
-          (build_process_header): New code to call make_process_struct.
+         (build_process_header): New code to call make_process_struct.
          New pass-2 code to make a PARM_DECL for start_chill_function.
-          Pass a void_type_node, not a NULL_TREE for an empty list.
+         Pass a void_type_node, not a NULL_TREE for an empty list.
          Get input for shadow_record_fields from current_function_decl.
          (build_buffer_decl): Call do_decl not decl_temp1.
        * ch-typeck.c: Reindent to standards.
@@ -7836,8 +7842,8 @@ Sun Sep 12 21:10:10 1993  Per Bothner  (bothner@kalessin.cygnus.com)
 
        * ch-parse.y (labellist):  Don't do anything if ignore_exprs.
 
-        * c-typeck.c (output_pending_init_elements): Handle
-        !constructor_incremental case of filling in empty positions.
+       * c-typeck.c (output_pending_init_elements): Handle
+       !constructor_incremental case of filling in empty positions.
        (Patch by Jim Wilson.  CYGNUS LOCAL until we have approval.)
        * ch-decl.c (pop_module):  Don't grant a seized name.
        * ch-grant.c (decode_constant):  Support CALL_EXPR.
@@ -7873,7 +7879,7 @@ Sun Sep 12 18:06:23 1993  Bill Cox  (bill@rtl.cygnus.com)
          (quasi_formparlist): Write more clearly.
          (rcaltlist, optelsercvcase, optstartset): Add ignore_actions
          guards.
-         (rccase_label, sendaction): Use NAME, not SIGNALNAME 
+         (rccase_label, sendaction): Use NAME, not SIGNALNAME
          or BUFFERNAME.
          (process): Handle like procedure.
          (mode): Add SIGNAL as a generic signal parameter.  This
@@ -7886,7 +7892,7 @@ Sun Sep 12 15:03:21 1993  Per Bothner  (bothner@kalessin.cygnus.com)
 
        * c-typeck.c (digest_init):  Compare types using comptypes
        instead of comparing pointers.  (Helps Chill front end.)
-       * ch-expr.c (finish_chill_binary_op): 
+       * ch-expr.c (finish_chill_binary_op):
        * ch-typeck.c (build_chill_array_ref, build_chill_bitref),
        ch-expr.c (finish_chill_binary_op):  For now, prefer IN_EXPR
        over BIT_FIELD_REF because of various problems with BIT_FIELD_REF
@@ -7941,7 +7947,7 @@ Fri Sep 10 15:47:52 1993  Per Bothner  (bothner@kalessin.cygnus.com)
 Thu Sep  9 18:21:46 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-typeck.c (my_build_array_ref): Delete pedantic
-          C-specific error message.
+         C-specific error message.
 
 Thu Sep  9 17:44:20 1993  Jeffrey Wheat  (cassidy@eclipse.cygnus.com)
 
@@ -7954,7 +7960,7 @@ Thu Sep  9 12:22:22 1993  Per Bothner  (bothner@kalessin.cygnus.com)
 
 Wed Sep  8 13:03:49 1993  Per Bothner  (bothner@kalessin.cygnus.com)
 
-       * ch-except.c (finish_handler_array), ch-decl.c (finish_decl): 
+       * ch-except.c (finish_handler_array), ch-decl.c (finish_decl):
        Don't use store_init_value, since it calls digest_init instead
        of chill_digest_init.
        * ch-except.c (finish_handler_array):  Use build1 (ADDR_EXPR, ...)
@@ -8013,7 +8019,7 @@ Tue Sep  7 11:16:10 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-decl.c (chill_digest_init): New function.  Calls were
          changed, since it has fewer parameters than old digest_init.
        * ch-parse.y (untyped_expr, primval, tupleelement): Calls to
-          new init stuff.
+         new init stuff.
          (elementlist): Delete unused code.
        * ch-satisfy.c (safe_satisfy_decl): Just return if decl == NULL.
        * ch-tasking.c (build_tasking_enum): Attempt to adapt to 2-pass.
@@ -8023,7 +8029,7 @@ Tue Sep  7 11:16:10 1993  Bill Cox  (bill@rtl.cygnus.com)
 Tue Sep  7 12:06:28 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-decl.c, ch-parse.y, ch-tree.h, ch-typeck.c: Revert
-          files to their pre-init-change state.
+         files to their pre-init-change state.
 
 Mon Sep  6 15:28:27 1993  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -8052,16 +8058,16 @@ Wed Sep  1 13:21:53 1993  Per Bothner  (bothner@kalessin.cygnus.com)
 Tue Aug 31 14:57:35 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-decl.c (print_lang_decl): Print weak-name status.
-          (print_lang_identifier): Print signal_data as T or F.
+         (print_lang_identifier): Print signal_data as T or F.
        * ch-lex.l (convert_bitstring, convert_charliteral,
-          convert_float, convert_number): Pass string directly to convert
+         convert_float, convert_number): Pass string directly to convert
          as a parameter.  Return token code consistently, return 0
          for error.
-          (equal_number): Parse differently, allowing hex, binary
+         (equal_number): Parse differently, allowing hex, binary
          and octal constants.
        * ch-parse.y (dowithaction, structured_variable): Only
-          push/pop scopes once per DO WITH.
-          (structured_variable_list): Check ignore_actions flag here.
+         push/pop scopes once per DO WITH.
+         (structured_variable_list): Check ignore_actions flag here.
        * gcc.c: Delete 'traditional' from string, add 'itu'
          as the standard flag's name.
 
@@ -8092,7 +8098,7 @@ Wed Aug 25 16:58:13 1993  Bill Cox  (bill@rtl.cygnus.com)
        * .cvsignore: Add g++.sum
        * ch-actions.c (chill_expand_result): Stop building a temp.
          Assign the expression directly into function's DECL_RESULT.
-       * ch-decl.c: Add formfeeds.  
+       * ch-decl.c: Add formfeeds.
          (start_chill_function): Don't need to zero DECL_RESULT's pointer any more.
          (push_chill_function_context): Delete C pedwarn message.
        * ch-expr.c: Move builtin functions together.
@@ -8114,7 +8120,7 @@ Wed Aug 25 13:24:06 1993  Bill Cox  (bill@rtl.cygnus.com)
 Wed Aug 25 08:34:36 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-lex.l, ch-parse.y: Delete CONTINUE_EVENT token.
-          It wasn't used anyway.
+         It wasn't used anyway.
 
 Tue Aug 24 17:51:18 1993  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -8128,7 +8134,7 @@ Tue Aug 24 16:38:24 1993  Per Bothner  (bothner@kalessin.cygnus.com)
        * ch-tree.c (build_bitstring_type):  Remove all layout-like
        stuff, and defer that to layout_powerset_type.
        * ch-expr.c (chill_expand_expr):  For various SET_xxx_EXPRs,
-       allocate stack temp for target using correct mode. 
+       allocate stack temp for target using correct mode.
 
 Tue Aug 24 10:27:19 1993  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -8152,7 +8158,7 @@ Mon Aug 23 12:15:11 1993  Bill Cox  (bill@rtl.cygnus.com)
        * Makefile.in: Add dependency lines for ch-except.o and
          ch-satisfy.o.  Correct dependency lines for ch-convert.o,
          ch-expr.o, ch-inout.o, and ch-loop.o.
-          (chill, install-common): Add clean-up commands.
+         (chill, install-common): Add clean-up commands.
 
 Sat Aug 21 17:11:26 1993  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -8163,7 +8169,7 @@ Sat Aug 21 17:11:26 1993  Bill Cox  (bill@rtl.cygnus.com)
 
 Sat Aug 21 13:59:40 1993  Bill Cox  (bill@rtl.cygnus.com)
 
-       * ch-decl.c (init_decl_processing): Define setbitpowerset       
+       * ch-decl.c (init_decl_processing): Define setbitpowerset
          runtime function.
        * ch-expr.c (chill_expand_assignment): Call setbitpowerset
          to set a bit.
@@ -8177,7 +8183,7 @@ Fri Aug 20 17:29:56 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-typeck.c: Indent to standard.
        * stor-layout.c: Fix comment.
        * toplev.c: Change -L option ti -I.
-       * varasm.c (emit_set_data): Align set constant to word 
+       * varasm.c (emit_set_data): Align set constant to word
          boundary.
 
 Fri Aug 20 08:20:07 1993  Bill Cox  (bill@rtl.cygnus.com)
@@ -8202,7 +8208,7 @@ Wed Aug 18 17:36:53 1993  Bill Cox  (bill@cygnus.com)
        * ch-parse.y (dowithaction): Always compute & save # of
          'with' variables seen (both passes), and always pop that
          number of levels.
-          (structured_variable_list): Always chain variables into a list.
+         (structured_variable_list): Always chain variables into a list.
          (structured_variable): Put pushlevel here (from shadow_record_fields).
        * ch-tasking.c: Indentation fixes.
        * ch-tree.h: Change proto.
@@ -8274,11 +8280,11 @@ Mon Aug 16 14:41:29 1993  Per Bothner  (bothner@kalessin.cygnus.com)
 
 Mon Aug 16 11:13:07 1993  Bill Cox  (bill@rtl.cygnus.com)
 
-       * ch-actions.c (chill_comptypes): Correct handling reference        
+       * ch-actions.c (chill_comptypes): Correct handling reference
          of type 1.
-          (build_chill_length, build_chill_num,
+         (build_chill_length, build_chill_num,
           build_chill_sizeof): Convert result to CHILL integer.
-          (build_chill_function_call): Clean up INOUT and OUT
+         (build_chill_function_call): Clean up INOUT and OUT
          parameter handling.
        * ch-decl.c (build_chill_function_type): Handle INOUT and
          OUT parameters.
@@ -8302,7 +8308,7 @@ Sun Aug 15 15:06:01 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-parse.y (doaction): Unconditionally make a scope
          for a loop, pop it later.
          (controlpart, iteration): Save return from
-          build_chill_iterator.
+         build_chill_iterator.
        * expr.c: Readability changes.
 
 Sat Aug 14 19:42:32 1993  Bill Cox  (bill@rtl.cygnus.com)
@@ -8383,37 +8389,37 @@ Fri Aug 13 13:39:59 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-decl.c (decl_temp): Break the chain of decls.  This
          prevents an infinite loop.
        * ch-lang.c (make_chill_pointer_type): Fix compiler warning.
-       * ch-lex.l (equal_number): Check passes in looking up a 
+       * ch-lex.l (equal_number): Check passes in looking up a
          symbolic value.
        * ch-parse.y: Fix comments.
        * ch-tasking.c (tasking_setup): Only act in pass 2.
-          (make_signal_struct, build_signal_decl,
+         (make_signal_struct, build_signal_decl,
           build_chill_receive_case_label): Don't go indirect
           thru NULL decl pointer.
 
 Thu Aug 12 11:02:34 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (route_to_predefined_function): New function called
-          from build_chill_function_call, to call the proper predefined routine.
-          (build_chill_card, build_chill_length, build_chill_lower,
-          build_chill_max, build_chill_min, build_chill_num, 
-          build_chill_pred, build_chill_sizeof, build_chill_succ,
-          build_chill_upper): Rewritten to run only in pass 2.
+         from build_chill_function_call, to call the proper predefined routine.
+         (build_chill_card, build_chill_length, build_chill_lower,
+         build_chill_max, build_chill_min, build_chill_num,
+         build_chill_pred, build_chill_sizeof, build_chill_succ,
+         build_chill_upper): Rewritten to run only in pass 2.
        * ch-decl.c (init_decl_processing): Build predefined functions for card,
-          length, lower, max, min, num, pred, sizeof, succ and upper.  Delete
-          unused builtin_function calls.
+         length, lower, max, min, num, pred, sizeof, succ and upper.  Delete
+         unused builtin_function calls.
        * ch-grant.c (chill_finish_module_code): Save current_function_decl
          before calling finish_chill_function, and use that to build the
-          initializer structure.
+         initializer structure.
        * ch-lex.l: Remove following tokens, since they're now just predefined,
-          not reserved: card, length, lower, max, min, num, pred, sizeof, succ
-          and upper.
+         not reserved: card, length, lower, max, min, num, pred, sizeof, succ
+         and upper.
        * ch-loop.c: Readability, indentation changes.
        * ch-parse.y: Delete tokens for card, length, lower, max, min, num, pred,
-          sizeof, succ and upper.  Delete special rules for calls to these.
-          Delete mode_location and upper_lower_arg non-terminals.
+         sizeof, succ and upper.  Delete special rules for calls to these.
+         Delete mode_location and upper_lower_arg non-terminals.
          (pmodearg): Eliminate convolutions.
-          (call): Add rule for typename parameter.
+         (call): Add rule for typename parameter.
        * ch-tasking.c: Readability changes.
        * ch-tree.h: Add prototypes.
 
@@ -8495,7 +8501,7 @@ Tue Aug 10 21:33:10 1993  Per Bothner  (bothner@kalessin.cygnus.com)
        * ch-parse.y (modename):  Changed to yield identifier, not type.
        This allows following changes, which work better for 2-pass:
        (location):  primval ARROW optmodename -> primval ARROW optname.
-       (primval):  Tuple can now be prefixed by unsatisfied name.      
+       (primval):  Tuple can now be prefixed by unsatisfied name.
 
        * ch-actions.c (chill_grant_only):  Renamed to grant_only_flag.
        * ch-lex.l (yywrap):  Don't read seizefiles if grant_only_flag.
@@ -8592,7 +8598,7 @@ Mon Aug  9 15:44:01 1993  Bill Cox  (bill@rtl.cygnus.com)
          structure's decl.
          (chill_finish_compile): Clear module_init_list to NULL.
        * ch-parse.y (quasi_formparlist): Rewrite to avoid seg fault.
-         Rename reverse_scopes to switch_to_pass_2, delete setting 
+         Rename reverse_scopes to switch_to_pass_2, delete setting
          of pass = 2.
        * ch-tree.h: Rename reverse_scopes proto.
 
@@ -8632,13 +8638,13 @@ Mon Aug  9 01:00:33 1993  Per Bothner  (bothner@kalessin.cygnus.com)
 Sun Aug  8 16:26:40 1993  Per Bothner  (bothner@kalessin.cygnus.com)
 
        * ch-lex.h:  Add some missing RID_'s.
-       * ch-decl.c (init_decl_processing): 
+       * ch-decl.c (init_decl_processing):
 
 Sun Aug  8 15:32:54 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-grant.c (module_has_actions): Delete this and all
          references.  It was a botch.
-          (chill_finish_module_code): Move finish_chill_function_call inside
+         (chill_finish_module_code): Move finish_chill_function_call inside
          the test whether actions were found at module level.
          Use current_function_name in the initializer build,
          and init_entry_id in the module_list setup.
@@ -8660,7 +8666,7 @@ Sun Aug  8 13:13:29 1993  Per Bothner  (bothner@kalessin.cygnus.com)
 
 Sun Aug  8 10:31:04 1993  Bill Cox  (bill@rtl.cygnus.com)
 
-       Generally, replace 'function' with 'procedure' 
+       Generally, replace 'function' with 'procedure'
        and 'type' with 'mode' in error/warning messages.
        * ch-actions.c: See Generally. Fix up 'too many' and 'too few' error msgs.
        * ch-decl.c: See Generally.
@@ -8685,11 +8691,11 @@ Sun Aug  8 08:59:23 1993  Bill Cox  (bill@rtl.cygnus.com)
          (init_decl_processing): Build __tmp_initializer_type.
          Code moved from chill_finish_module_code.
        * ch-grant.c: New flag module_has_actions.  Set TRUE by push_actions,
-         used, reset by chill_finish_module_code.    Replaces test of 
-          module_function_name.  Shuffled finish-up code to end of module.
-          (chill_finish_module_code): Use global_bindings_p to determine
+         used, reset by chill_finish_module_code.    Replaces test of
+         module_function_name.  Shuffled finish-up code to end of module.
+         (chill_finish_module_code): Use global_bindings_p to determine
          'nested' parameter for finish_chill_function.  Use new
-          module_has_actions flag to trigger generation of module_init list
+         module_has_actions flag to trigger generation of module_init list
          entry.  We now can handle not only multiple modules per file,
          but modules nested inside functions (I think).
        * ch-lang.c (build_chill_pointer_type): Restore missing assignment.
@@ -8697,7 +8703,7 @@ Sun Aug  8 08:59:23 1993  Bill Cox  (bill@rtl.cygnus.com)
          (modulion, spec_module): Save possibly-generated module name
          returned by push_module.
        * ch-satisfy.c (satisfy): Put switch cases into alpha order, add
-          case for POINTER_TYPE.
+         case for POINTER_TYPE.
        * ch-tasking.c: Replace build_pointer_type calls with
          build_chill_pointer_type calls.
        * ch-tree.h: Fix, add prototypes.
@@ -8746,7 +8752,7 @@ Sat Aug  7 09:28:17 1993  Bill Cox  (bill@rtl.cygnus.com)
          (decl_temp, decl_temp1): Delete unused code.
          (init_decl_processing): Call build_instance_type and
          build_tasking_type in both passes.
-         Generally change current_scope comparisons against 
+         Generally change current_scope comparisons against
          global_scope to global_biidings_p calls.
        * ch-except.c (push_handler): Add space before parameter paren.
        * ch-grant.c (chill_start_module, chill_finish_module,
@@ -9003,11 +9009,11 @@ Thu Jul 22 18:56:16 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * c-decl.c (pushdecllist): Standardize loop for readability.
        * ch-decl.c (decl_temp): Call pushdecllist to store decl
-          into hash table, move after current_scope declaration.
+         into hash table, move after current_scope declaration.
          (decl_temp1): Move also.
        * ch-lex.l (getlc): New function.  Force char to lower case.
          (check_newline): Call it, so comparisons work on uppercase
-          keywords.
+         keywords.
 
 Wed Jul 21 22:17:22 1993  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -9018,7 +9024,7 @@ Wed Jul 21 22:17:22 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-loop.c (build_temporary_variable, begin_for_range):
          Replace start_decl, finish_decl pairs with decl_temp1 calls.
        * ch-parse.y (parnamelist): Eliminate warning by eliminating
-          the %type for now.
+         the %type for now.
        * ch-actions.c, ch-tasking.c: Replace do_decls calls with
          decl_temp1 calls.
        * ch-tree.h: New prototypes.
@@ -9032,7 +9038,7 @@ Wed Jul 21 21:06:18 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-lex.l (RETURN_TOKEN): Don't use the 'do { .. return } while 0'
          in the macro - Sun's compiler throws warnings.  Thanks, Brendan.
        * ch-satisfy.c (satisfy): Add forward declaration.
-          (SATISFY): Add outer parens for greater safety.
+         (SATISFY): Add outer parens for greater safety.
 
 Wed Jul 21 12:59:20 1993  Per Bothner  (bothner@kalessin.cygnus.com)
 
@@ -9083,10 +9089,10 @@ Wed Jul 21 14:23:25 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (lang_decode_option): Add option -Lpath
          to specify seize file path.
-          (ch_singleton_set): Readability formatting.
+         (ch_singleton_set): Readability formatting.
          Add comment, move functions to easier found places.
        * ch-lex.l (setup_seizefile_read): Check for *no* slashes.
-          (register_seize_path): Use memcpy so pathlen has an effect.
+         (register_seize_path): Use memcpy so pathlen has an effect.
        * gcc.c (default_compilers): Add -L option to chill
          compiler SPECs.
 
@@ -9103,13 +9109,13 @@ Wed Jul 21 12:16:51 1993  Bill Cox  (bill@rtl.cygnus.com)
 Wed Jul 21 09:29:24 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-grant.c: #undef strchr and strrchr names in extern
-          declarations, to prevent RS6000 compiler from reporting
-          their misuse as macros.
+         declarations, to prevent RS6000 compiler from reporting
+         their misuse as macros.
        * ch-lex.l (setup_seizefile_read): Refer to list of  paths
          for seizefiles specified by -L options on command line.
-          (register_seize_path): Add a new path to the seize file list.
+         (register_seize_path): Add a new path to the seize file list.
        * toplev.c (strip_off_ending): Recognize chill suffix.
-          (main): Recognize -L option, specifying a seize file path.
+         (main): Recognize -L option, specifying a seize file path.
 
 Tue Jul 20 12:41:52 1993  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -9126,14 +9132,14 @@ Tue Jul 20 11:01:30 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-lex.l (convert_float): Give variable `d' correct
          type so build_real call is correct.  Should remove
          vxworks portability problem.
-          (convert_float): Re-indent to standards.
+         (convert_float): Re-indent to standards.
 
 Mon Jul 19 17:32:10 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (build_char_array_expr): Add field decls to
          constructor.  Now, it generates the library call.
        * ch-expr.c (chill_expand_array_assignment): Make sure that all
-          error messages say 'mode' not 'type'.
+         error messages say 'mode' not 'type'.
 
 Mon Jul 19 14:44:46 1993  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -9173,11 +9179,11 @@ Thu Jul 15 13:25:33 1993  Bill Cox  (bill@rtl.cygnus.com)
          varying array to be assigned to a smaller, with a runtime
          test (to be provided).
        * ch-parse.y (locdec): Comment out bogus error msg.
-          (elementlist): Replace several lines with chainon call.
+         (elementlist): Replace several lines with chainon call.
        * ch-tree.h (SCALAR_P): New macro.  New prototype for
          build_array_type_for_scalar.
        * ch-typeck.c (build_chill_cast): Re-indent.
-          (chill_expand_tuple): Comment out strange addition of 
+         (chill_expand_tuple): Comment out strange addition of
          varying string's length to front of constructor list.
 
 Thu Jul 15 05:58:46 1993  Bill Cox  (bill@rtl.cygnus.com)
@@ -9193,12 +9199,12 @@ Mon Jul 12 16:07:53 1993  Bill Cox  (bill@rtl.cygnus.com)
        * c-typeck.c (build_function_call): Bypass default
          parameter promotions, format param syntax check for
          CHILL; they've already been converted in
-          build_chill_function_call.
+         build_chill_function_call.
        * ch-actions.c (chill_expand-return): Correct tests
          for function which returns no value.
        * ch-convert.c (base_type_size_in_bytes): Check for
          NULL type parameter, just return.
-          (convert): Allow conversion of CHAR to varying array
+         (convert): Allow conversion of CHAR to varying array
          of CHAR.
          Change error msg to "conversion" from "assignment".
          Remove default from case, which short-circuited before
@@ -9212,12 +9218,12 @@ Sun Jul 11 11:27:08 1993  Bill Cox  (bill@cygnus.com)
 
        * ch-actions.c (chill_expand_result, chill_expand_return):
          Move here from ch-typeck.c.  Add a temporary to remember the
-         result value in.  Change return handler to fetch that 
+         result value in.  Change return handler to fetch that
          temporary value, if there is one.
        * ch-parse.y (pdef): Call chill_expand_return to fetch
          the temp's value.
        * ch-tree.h, ch-typeck.c: Move return, result functions to
-          ch-actions.c.  And their prototypes.
+         ch-actions.c.  And their prototypes.
 
 Fri Jul  9 15:47:51 1993  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -9229,10 +9235,10 @@ Fri Jul  9 15:47:51 1993  Bill Cox  (bill@rtl.cygnus.com)
 Fri Jul  9 09:41:05 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-grant.c (decode_decl): Grant BUFFER, INSTANCE variables.
-          (print_integer): Delete old non-working INSTANCE code.
+         (print_integer): Delete old non-working INSTANCE code.
        * ch-lex.l (name_type_signal): Recognize BUFFER name, too.
        * ch-parse.y (rccase_label): Move all actions inside if.
-          Use BUFFERNAME to recognize receice case buffer clause,
+         Use BUFFERNAME to recognize receice case buffer clause,
          eliminate one shift-reduce conflict.
        * ch-tasking.c (build_buffer_descriptor): Check for
          CH_DECL_BUFFER flag, remove unused code.
@@ -9246,14 +9252,14 @@ Thu Jul  8 11:17:32 1993  Bill Cox  (bill@rtl.cygnus.com)
          isn't hidden.
        * ch-lex.l: Clean up prototypes for readability.
        * ch-parse.y (sendaction): Add send buffer action.
-          (locdec): Add rule for buffer declaration.
+         (locdec): Add rule for buffer declaration.
        * ch-tasking.c (generate_tasking_code): standardize indentation.
-          (make_signal_struct): Readability changes.
-          (build_chill_send_buffer, build_buffer_decl, 
-           build_buffer_descriptor): New functions.
+         (make_signal_struct): Readability changes.
+         (build_chill_send_buffer, build_buffer_decl,
+          build_buffer_descriptor): New functions.
        * ch-tree.h (IDENTIFIER_BUFFER_SIZE): Add place to save
          buffer's maximum queue length in buffer decl.
-          (CH_DECL_BUFFER): Add flag in decl.  Clean up for
+         (CH_DECL_BUFFER): Add flag in decl.  Clean up for
          readability.  Add prototypes.
        * ch-typeck.c (build_chill_cast): Call convert rather
          than storing directly into TREE_TYPE field.
@@ -9270,7 +9276,7 @@ Mon Jul  5 10:02:27 1993  Wilfried Moser  (fs_moser at rcsw1j)
 
        * ch-lex.l: Add compiler directive SUPPORT_CAUSING_ADDRESS.
        * ch-except.c (initialize_exceptions): Change the layout of the
-         structure __ch_handler. The entry __jbuf is moved to the end 
+         structure __ch_handler. The entry __jbuf is moved to the end
          of the structure and its size was changed to _JBLEN+10.
        * ch-decl.c (push_chill_extern_process): Add processing of
          processes with no arguments.
@@ -9279,12 +9285,12 @@ Mon Jul  5 10:02:27 1993  Wilfried Moser  (fs_moser at rcsw1j)
        * ch-tasking.c (build_process_header, build_chill_start_process):
          Add processing of processes with no arguments.
          (make_process_struct): Add processing of IN attribute for
-          process arguments.
+         process arguments.
          (tasking_setup): Add NUL-character to name of a tasking
-          element. The name must be NUL terminated.
+         element. The name must be NUL terminated.
          (build_chill_send_signal): Default SEND_SIGNAL_PRIORITY
-          to 0 with a warning if -Wall specified on command-line.
-       
+         to 0 with a warning if -Wall specified on command-line.
+
 Fri Jul  2 16:01:57 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-parse.y: Change 'empty' comments to new non-terminal
@@ -9293,15 +9299,15 @@ Fri Jul  2 16:01:57 1993  Bill Cox  (bill@rtl.cygnus.com)
 
 Fri Jul  2 12:43:25 1993  Bill Cox  (bill@rtl.cygnus.com)
 
-       * ch-parse.y (action): Catch and report actions which 
-          shouldn't have exception clauses, but do.  Unfortunately,
-         catching more than one of these per compilation will 
-          have to await the general addition of syntax error
-          recovery to the parser.
+       * ch-parse.y (action): Catch and report actions which
+         shouldn't have exception clauses, but do.  Unfortunately,
+         catching more than one of these per compilation will
+         have to await the general addition of syntax error
+         recovery to the parser.
 
 Fri Jul  2 10:45:35 1993  Bill Cox  (bill@rtl.cygnus.com)
 
-       * ch-parse.y (locdec): Issue error for initialization 
+       * ch-parse.y (locdec): Issue error for initialization
          of bitstring with tuple, not for powerset init with
          tuple.
 
@@ -9328,10 +9334,10 @@ Wed Jun 30 14:02:23 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-grant.c (print_an_int): New function to print a
          decimal integer string or the CONST_DECL (SYN) which
          best matches it.
-          (print_integer): Call the above function.  Replace
+         (print_integer): Call the above function.  Replace
          calls to SAME_TYPE macro with TYPE_MAIN_VARIANT
          comparisons, as suggested by Jim Wilson.
-          (decode_decl): Set current_grant_modename sooner,
+         (decode_decl): Set current_grant_modename sooner,
          be sure to clear it when done.
 
 Wed Jun 30 10:10:57 1993  Bill Cox  (bill@rtl.cygnus.com)
@@ -9339,7 +9345,7 @@ Wed Jun 30 10:10:57 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-actions.c (build_max_min): Change interface to accept
          just a max/min flag.  Get min/max values from an
          enumeral constructor.
-          (build_chill_max, build_chill_min): Change calls to
+         (build_chill_max, build_chill_min): Change calls to
          build_max_min.
        * ch-lang.c (deep_const_expr): Check for NULL_TREE
          arguments, don't seg fault.
@@ -9361,34 +9367,34 @@ Tue Jun 29 13:13:46 1993  Bill Cox  (bill@rtl.cygnus.com)
          optional ELSE clause, error for multiple case-selector
          expressions, error for missing ELSE clause.
        * ch-expr.c (chill_expand_assignment): Error if multiple
-         location assignment and locations not novelty 
+         location assignment and locations not novelty
          equivalent.
        * ch-parse.y (caseaction): Add range_list_clause non-
-          terminal, sorry message for it.
-          (assignaction): error if operator used on multiple
+         terminal, sorry message for it.
+         (assignaction): error if operator used on multiple
          assignment.
-         (case_expr): Pass optional ELSE tree to 
+         (case_expr): Pass optional ELSE tree to
          build_chill_case_expr for checking.
        * ch-tree.h (build_chill_case_expr): Change proto.
 
 Fri Jun 25 17:22:41 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (chill_comptypes, build_chill_binary_op):
-          Allow PROC mode variables.
+         Allow PROC mode variables.
        * ch-convert.c (convert): Turn a NULL literal into a zero
          valued pointer-to-function, given such a type.  Also
          build the ADDR_EXPR of a function variable.
        * ch-grant.c: Pervasive -Wall -pedantic cleanup.
-          (print_enumeral, print_integer, print_struct) Moved these
+         (print_enumeral, print_integer, print_struct) Moved these
          large functions out of the switch in raw_decode_mode for
          readability, and to encourage future code-sharing.
-          (print_proc_tail, print_proc_exceptions): Moved these out
+         (print_proc_tail, print_proc_exceptions): Moved these out
          of decode_decl, to share them.  They're used also to
          output PROC modes.
        * ch-parse.y (mode2): Enable PROC modes.
          (procmode): Represent PROC mode as a ptr-to-function type.
-          (call): Recognize ptr-to-function as indirect call.
-          Cleanup 'primval LPRN untyped_exprlist RPRN' action code.
+         (call): Recognize ptr-to-function as indirect call.
+         Cleanup 'primval LPRN untyped_exprlist RPRN' action code.
 
 Thu Jun 24 15:59:20 1993  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -9401,11 +9407,11 @@ Thu Jun 24 13:52:10 1993  Bill Cox  (bill@rtl.cygnus.com)
          Explicitly convert a varying array's length field to an
          integer_type_node, now that it's only a chill_integer_
          type_node.
-       * ch-expr.c (chill_expand_expr, 
-                     expand_assignment_to_varying_array, 
-                     chill_expand_array_assignment,
-                     expand_varying_length_assignment): Explicitly 
-          convert a varying array's length field to an integer_type_node,
+       * ch-expr.c (chill_expand_expr,
+                    expand_assignment_to_varying_array,
+                    chill_expand_array_assignment,
+                    expand_varying_length_assignment): Explicitly
+         convert a varying array's length field to an integer_type_node,
          now that it's only a chill_integer_type_node.
        * ch-loop.c (init_loop_counter, top_of_loop_test): Change
          to handle varying array location iterations.
@@ -9413,16 +9419,16 @@ Thu Jun 24 13:52:10 1993  Bill Cox  (bill@rtl.cygnus.com)
          as opposed to '*' members.  Issue error if there were none.
          (setelement): Count named set members.  Generate a unique
          identifier for the '*' element.
-       * ch-typeck.c (validate_varying_array_ref):  Explicitly 
-          convert a varying array's length field to an integer_type_node,
+       * ch-typeck.c (validate_varying_array_ref):  Explicitly
+         convert a varying array's length field to an integer_type_node,
          now that it's only a chill_integer_type_node.
 
 Wed Jun 23 19:18:28 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-lang.c (finish_chill_enum): Change test for too-
-          large enumerations.
+         large enumerations.
        * ch-parse.y (setelement, optsetvalue): Allow numbered,
-          unnamed set elements.
+         unnamed set elements.
 
 Wed Jun 23 16:25:06 1993  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -9431,7 +9437,7 @@ Wed Jun 23 16:25:06 1993  Bill Cox  (bill@rtl.cygnus.com)
          array is VARYING, as signaled by C_TYPE_VARIABLE_SIZE.
        * ch-actions.c (lang_init): Set flag_short_enums, so that CHILL
          enumerations *can* be only a byte in size.
-          (adjust_parm_or_field): Convert untyped parameter before
+         (adjust_parm_or_field): Convert untyped parameter before
          looking at its type to process it.
        * ch-convert.c (convert): Generate [ -1, -1 ] value for
          an INSTANCE type.
@@ -9443,24 +9449,24 @@ Wed Jun 23 16:25:06 1993  Bill Cox  (bill@rtl.cygnus.com)
          enumeration values exceeds 256.
        * ch-parse.y (check_end_label): Error, not warning if start
          and end labels don't match.
-          (assignaction): Convert RHS.  Allows untyped tuples to be
+         (assignaction): Convert RHS.  Allows untyped tuples to be
          passed to stabilize_reference.
-          (exceptlist, onexceptprefix): Error if non-unique exception
+         (exceptlist, onexceptprefix): Error if non-unique exception
          name is coded.
        * ch-tree.c: Added form feeds, comment reformatted.
        * ch-typeck.c (chill_expand_tuple): Compare tree value to
          NULL_TREE, not zero.  Add a constructor element for a
          VARYING array's length to the constructor list.
-          (build_varying_struct): Mark the type as VARYING for
+         (build_varying_struct): Mark the type as VARYING for
          process_init_constructor.
        * toplev.c (lang_options): Add '-lang-chill' and
-          '-fchill-grant-only' options to table.
+         '-fchill-grant-only' options to table.
 
 Tue Jun 22 13:13:41 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (build_chill_function_call): Add check
          to prevent calling a PROCESS like a PROCEDURE.
-       * ch-parse.y (rcalternative): Add check for an 
+       * ch-parse.y (rcalternative): Add check for an
          receive case alternative after a RECEIVE CASE
          statement.
        * ch-tree.h: Fix macro ENCAPSULATED_ARRAY_P.
@@ -9473,24 +9479,24 @@ Mon Jun 21 17:56:48 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-actions.c (lang_init): Add else_clause flag to
          __wait_signal parameter list.
        * ch-lex.l: Add SIGNALNAME token, return when appropriate.
-       * ch-parse.y (SIGNALNAME): New token.  Delete 
-         empty_untyped_exprlist token, no longer used.  Add 
+       * ch-parse.y (SIGNALNAME): New token.  Delete
+         empty_untyped_exprlist token, no longer used.  Add
          name_or_signal non-terminal.  Standardize a few NULL
          tests.  Add real RECEIVE CASE semantics.  Add checks that
          SIGNALS, BUFFERs are only declared at global scope.
          (call): Add signal declarations with/without data fields.
        * ch-tasking.c (get_tasking_code_name, get_tasking_code,
-          build_chill_receive_case_start, build_chill_receive_case_end,
-          build_chill_receive_case_label): New functions.
-         Replace build (CONSTRUCTOR, ... calls with build_nt 
-          (CONSTRUCTOR, calls.
+         build_chill_receive_case_start, build_chill_receive_case_end,
+         build_chill_receive_case_label): New functions.
+         Replace build (CONSTRUCTOR, ... calls with build_nt
+         (CONSTRUCTOR, calls.
        * ch-tree.h: New prototypes.
 
 Thu Jun 17 18:36:38 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        SIGNAL declaration compilation, seizing & granting,
-          SENDing also.
-       * ch-actions.c (lang_init): Move instance_type_node 
+         SENDing also.
+       * ch-actions.c (lang_init): Move instance_type_node
          build to ch-tasking.c.  Call build_tasking_message_type.
          Build a type for send_signal.  Put builtin_function
          calls into alpha order.
@@ -9505,18 +9511,18 @@ Thu Jun 17 18:36:38 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-loop.c (get_unique_identifier): Standardize loop
          temporary's name to assure that it's not granted.
        * ch-parse.y (SIG_NAME): Delete unused token.
-          (spec_declist): Delete silly printf.
+         (spec_declist): Delete silly printf.
          (quasi_signaldef): Add non-terminal.
          (sendaction, optsendwith, optsendto, optpriority):
-          Implement actual working semantics.
-          (call, empty_untyped_exprlist): Allow empty signal 
-          fields between parens.
+         Implement actual working semantics.
+         (call, empty_untyped_exprlist): Allow empty signal
+         fields between parens.
        * ch-tasking.c: Rename adjust_proc_param calls, add
          is_signal flag to calls.  Make instance_type_node a
-          type, not a TYPE_DECL, change references.  Fix all
+         type, not a TYPE_DECL, change references.  Fix all
          CONSTRUCTOR builds.  Add make_signal_struct function.
-          Move build_instance_type here from lang_init.
-          (build_tasking_message-type, build_signal_descriptor,
+         Move build_instance_type here from lang_init.
+         (build_tasking_message-type, build_signal_descriptor,
          build_chill_send_signal): New functions.
        * ch-tree.h: Add, update protos.
        * ch-typeck.c (build_chill_cast): Check for NULL expression
@@ -9532,7 +9538,7 @@ Wed Jun 16 07:12:53 1993  Bill Cox  (bill@rtl.cygnus.com)
          to ch-tasking.c.
        * ch-decl.c (push_chill_extern_function): Drop is_process
          parameter, and marking process decl trees.
-          (push_chill_extern_process): New function for
+         (push_chill_extern_process): New function for
          SEIZEd processes.  Lotsa form feeds added for print
          readability.
        * ch-grant.c (decode_decl): Handle GRANTing of SIGNAls.
@@ -9562,25 +9568,25 @@ Mon Jun 14 18:17:13 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-lex.l (equal_number): Also accept synonym
          name for numeric value.
        * ch-parse.y (primval): Add process-related
-         function calls.  
-          (signaldef, etc.): Rough draft of SIGNAL definition
-          processing. 
-          (stopaction): Call runtime function.
-          (pdef): Pop symbol level if ending a process
-          and there were parameters.
-          (primval): Call `whoami' runtime function for THIS.
+         function calls.
+         (signaldef, etc.): Rough draft of SIGNAL definition
+         processing.
+         (stopaction): Call runtime function.
+         (pdef): Pop symbol level if ending a process
+         and there were parameters.
+         (primval): Call `whoami' runtime function for THIS.
        * ch-tasking.c (build_process_header): Be sure
-          to define the tasking enum, if it hasn't already
+         to define the tasking enum, if it hasn't already
          been done.  Only call shadow_record_fields if there
-         are parameters.  
-          (build_tasking_enum): Only call start_enum *after*
-          checking the already_built flag.
-          (build_copy_number, get_tasking_code,
+         are parameters.
+         (build_tasking_enum): Only call start_enum *after*
+         checking the already_built flag.
+         (build_copy_number, get_tasking_code,
          build_gen_code, build_gen_inst, build_get_ptype,
          build_proc_type): New functions for process-related
          builtins.
-          (build_signal_decl): New function for SIGNAL
-          declaration - rough draft.
+         (build_signal_decl): New function for SIGNAL
+         declaration - rough draft.
        * ch-tree.def (INSTANCE_TYPE): new tree code.
        * ch-tree.h: New prototypes.  Defines for instance
          type field access.
@@ -9591,53 +9597,53 @@ Sat Jun 12 21:15:02 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-actions.c (adjust_proc_param): new function,
          extracted from build_chill_function_call and called
          from there.
-       * ch-tree.h, ch-grant.c (do_seize): Add process_type 
+       * ch-tree.h, ch-grant.c (do_seize): Add process_type
          parameter to add_taskstuff_to_list call, prototype.
        * ch-parse.y (start_parlist): New non-terminal for
          START action.
-          (startaction): Reference start_parlist, check for
+         (startaction): Reference start_parlist, check for
          integer-valued process copy-number.
-          (optstartset): Check instance parameter - must be
+         (optstartset): Check instance parameter - must be
          an INSTANCE_TYPE location.
        * ch-tasking.c (generate_tasking_code_variable): New
-         function, extracted from tasking_setup and called 
-          from there.  Also called from build_process_header.
+         function, extracted from tasking_setup and called
+         from there.  Also called from build_process_header.
          (build_process_header): Add process_type parameter
          to add_taskstuff_to_list call.  Remove incrementing
          of process_type (moved into generate_tasking_code
          _variable).
-          (build_chill_start_process): Complete rewrite.
+         (build_chill_start_process): Complete rewrite.
          (add_tasking_stuff_to_list): Add stuffnumber parameter
-         putit on the list.          
+         putit on the list.
 
 Sat Jun 12 06:08:09 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        Getting processes compiled, initialized and granted:
        * .cvsignore: Add chill file.
        * c-decl.c (shadow_record_fields): Allow PARM_DECL
-          as well as VAR_DECL.
+         as well as VAR_DECL.
        * ch-actions.c (lang_init): Move build of
          initializer_type into ch-tasking.c.  Change
          definition of THIS to function call.
        * ch-decl.c (massage_param_node): Add comments.
          (start_chill_function): Set nested flag in
-          start_function call based upon current_function_decl,
+         start_function call based upon current_function_decl,
          not as constant zero.
        * ch-grant.c (decode_decl): lotsa code by Wilfried to
-         GRANT process decls.  
-          (finish_chill_module): Completely rewrote interface
-          to runtime.
+         GRANT process decls.
+         (finish_chill_module): Completely rewrote interface
+         to runtime.
        * ch-lex.l (THIS): Just return the token code.
        * ch-parse: Add THIS token.
          (processpar, processparlist): New rules, to collect
-          process parameters. 
-          (pdef): Add code to pop the process' WITH scope.
-          (procedure): Set process WITH scope flag to zero.
-          (process): Move most code into build_process_header.
-          (primval): Output function call for THIS.
+         process parameters.
+         (pdef): Add code to pop the process' WITH scope.
+         (procedure): Set process WITH scope flag to zero.
+         (process): Move most code into build_process_header.
+         (primval): Output function call for THIS.
        * ch-tasking.c (add_taskstuff_to_list, build_tasking_enum,
-          make_process_struct, build_process_header): New code 
-          to handle process translation and interface to runtime.
+         make_process_struct, build_process_header): New code
+         to handle process translation and interface to runtime.
        * ch-tree.h: New prototypes.
 
 Thu Jun 10 13:32:51 1993  Bill Cox  (bill@rtl.cygnus.com)
@@ -9683,7 +9689,7 @@ Wed Jun  9 09:03:55 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-grant.c (chill_start_module_code): Rename actual
          module-level code to just the modulename, which is
          *not* public.
-          (chill_finish_module_code): Allocate space for initializer
+         (chill_finish_module_code): Allocate space for initializer
          list entry, build real initializer function, which puts
          the list entry on the runtime list.  Name the init function
          as the module's constructor function.
@@ -9696,10 +9702,10 @@ Thu Jun  3 17:04:01 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * c-decl.c: Fix comment.
        * ch-actions.c, ch-grant.c: Standardize front end:
-          #define first, etc.  Add comments.
+         #define first, etc.  Add comments.
          (lang_init): Delete unused flag, code for inapplicable
-          gen-decls option.  (lang_decode_option): Delete
-          gen-decls option, add grant-only option, flag.
+         gen-decls option.  (lang_decode_option): Delete
+         gen-decls option, add grant-only option, flag.
        * ch-convert.c, ch-decl.c, ch-except.c, ch-tree.c,
          ch-typeck.c: Add form feed after front end.
        * ch-expr.c: Standardize testing for error_mark node.
@@ -9735,11 +9741,11 @@ Wed May 19 16:45:54 1993  Bill Cox  (bill@rtl.cygnus.com)
          better name to unsigned flag.
        * ch-expr.c (chill_expand_assignment): Correct calling
          sequence for setpowersetbits runtime routine.
-       * ch-grant.c (raw_decode_mode): Give better name to 
-          unsigned flag.  (decode_constant): Check for null
-          'val' ptr, avoid seg fault.
-       * ch-lex.l (convert_number):  Give better name to 
-          unsigned flag. (convert_bitstring): Move increment
+       * ch-grant.c (raw_decode_mode): Give better name to
+         unsigned flag.  (decode_constant): Check for null
+         'val' ptr, avoid seg fault.
+       * ch-lex.l (convert_number):  Give better name to
+         unsigned flag. (convert_bitstring): Move increment
          of bl counter to emphasize that it increments once
          per loop.
        * ch-tree.h: (NO_SOURCE_UNARY_MINUS): Define new flag.
@@ -9753,8 +9759,8 @@ Thu May 13 17:03:04 1993  Bill Cox  (bill@rtl.cygnus.com)
          TREE_UNSIGNED flag FALSE for raw_decode_mode.
        * ch-grant.c (grant_array_type): Correct the May 12
          check for circularity.
-          (raw_decode_mode): Use TREE_UNSIGNED flag to
-          control range's printing.
+         (raw_decode_mode): Use TREE_UNSIGNED flag to
+         control range's printing.
          (chill_grant): Remove useless, bogus code.
        * ch-lex.l (convert_number): Set the TREE_UNSIGNED
          flag TRUE for raw_decode_mode.
@@ -9764,7 +9770,7 @@ Wed May 12 18:04:01 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-decl.c (push_syndecls, push_modedef): Comment
          reminders to check for circular definitions.  Later!
        * ch-grant.c (grant_array_type, decode_decl): Prevent
-         circular definitions in the use of the array's 
+         circular definitions in the use of the array's
          type name.
 
 Wed May 12 16:06:13 1993  Bill Cox  (bill@rtl.cygnus.com)
@@ -9777,11 +9783,11 @@ Wed May 12 16:06:13 1993  Bill Cox  (bill@rtl.cygnus.com)
 
 Wed May 12 07:49:00 1993  Bill Cox  (bill@rtl.cygnus.com)
 
-       * ch-actions.c (fold_set_*): Correct tests for 
+       * ch-actions.c (fold_set_*): Correct tests for
          range set-constructor list entries.
          (lang_init): Define setpowersetbits function.
        * expr.c (store_constructor): Handle non-constant
-          set constructors.
+         set constructors.
 
 Tue May 11 18:25:40 1993  Per Bothner  (bothner@cygnus.com)
 
@@ -9803,12 +9809,12 @@ Tue May 11 15:24:31 1993  Bill Cox  (bill@rtl.cygnus.com)
 Mon May 10 18:45:18 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (invalid{left right}_operand): Add
-          handlers for REPLICATE_EXPR.
+         handlers for REPLICATE_EXPR.
          (build_chill_repetition_op): Build constructor list
          for repetition of bitstring.
        * ch-parse.y (call): Recognize more trees as arrays,
          to avoid error msg.
-          (operand5): Add count, string temporaries, use them.
+         (operand5): Add count, string temporaries, use them.
 
 Mon May 10 16:49:08 1993  Per Bothner  (bothner@cygnus.com)
 
@@ -9822,10 +9828,10 @@ Mon May 10 10:54:57 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-grant.c (do_seize, seize_implied_types): Move
          result and parameter processing to proper place.
-          (chill_seize): Mark unseized identifier with
-          error_mark_node, to avoid excessive errors.
-       * ch-parse.y (call): Check for ERROR_MARK before 
-          reporting an error.
+         (chill_seize): Mark unseized identifier with
+         error_mark_node, to avoid excessive errors.
+       * ch-parse.y (call): Check for ERROR_MARK before
+         reporting an error.
 
 Sun May  9 17:21:24 1993  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -9851,20 +9857,20 @@ Sun May  9 17:11:33 1993  Per Bothner  (bothner@cygnus.com)
 Fri May  7 10:30:34 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (lang_init): Add definition of psslice
-          runtime routine. (build_chill_binary_op_1,
-          build_chill_binary_op): Have result type of
-          TRUTH_ANDIF_EXPR be boolean, not integer.  Some
+         runtime routine. (build_chill_binary_op_1,
+         build_chill_binary_op): Have result type of
+         TRUTH_ANDIF_EXPR be boolean, not integer.  Some
          reindenting.
        * ch-convert.c (convert): Use consistent notation
          for expression.
        * ch-parse.y: Add front-end pass count. (locdec):
-          Add syntax for other BASED declaration.
+         Add syntax for other BASED declaration.
        * ch-tree.c: Fix comment.
        * ch-typeck.c (build_chill_slice): Implement a runtime
          call for bitstring slices. (build_chill_cast):
-          Add code for BITS_BIG_ENDIAN bit loop.
+         Add code for BITS_BIG_ENDIAN bit loop.
          (chill_expand_tuple): Don't pass ref type to
-          digest_init, only underlying type.
+         digest_init, only underlying type.
 
 Thu May  6 12:52:14 1993  Per Bothner  (bothner@cygnus.com)
 
@@ -9874,16 +9880,16 @@ Thu May  6 12:52:14 1993  Per Bothner  (bothner@cygnus.com)
 Wed May  5 19:02:55 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c: Break out separate routines for set
-          folding, handle ranges in set_fold_eq and set_fold_ne.
-          Fix folding as req'd by TTC test.
+         folding, handle ranges in set_fold_eq and set_fold_ne.
+         Fix folding as req'd by TTC test.
        * ch-grant.c (raw_decode_more): Check for content match
          to decide output mode, not pointer identity.
        * ch-typeck.c: Add cross-reference comment.
        * varasm.c (emit_set_data): Clarify parameter name.
          Handle INTEGER_CST as set constructor.
-          (output_constant): Handle CONSTRUCTOR node for sets.
+         (output_constant): Handle CONSTRUCTOR node for sets.
          Apparently forgot to actually 'checkin' this one last
-          time.
+         time.
 
 Wed May  5 12:23:58 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
 
@@ -9892,26 +9898,26 @@ Wed May  5 12:23:58 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
 Tue May  4 15:47:44 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (fold_set_expr): new function to fold
-          set expressions.  Calls inserted into 
+         set expressions.  Calls inserted into
          build_chill_binary_op and build_chill_unary_op.
-          (build_chill_repetition_op): New function, called
+         (build_chill_repetition_op): New function, called
          from build_chill_function_call.
-       * ch-expr.c (chill_expand_assignment): Call 
+       * ch-expr.c (chill_expand_assignment): Call
          build_chill_repetition_op.
        * ch-grant.c (decode_constant): Comment out deep_fold
          call.  The earlier fold_set_expr calls should make
          this one unnecessary.  Prevent seg fault when name
          of structure field is NULL.  Standardize for loop.
        * ch-parse.y: Fix comments.
-          (operand5): build a REPLICATE_EXPR.  Don't call
+         (operand5): build a REPLICATE_EXPR.  Don't call
          build_repetition_op until we have a type.
        * ch-tree.def (REPLICATE_EXPR): Define tree-code.
        * ch-tree.h (build_chill_repetiton_op): Fix proto.
-       * ch-typeck.c (chill_expand_result): Call 
+       * ch-typeck.c (chill_expand_result): Call
          build_chill_repetition_op if needed.
        * varasm.c (emit_set_data): Clarify parameter name.
          Handle INTEGER_CST as set constructor.
-          (output_constant): Handle CONSTRUCTOR node for sets.
+         (output_constant): Handle CONSTRUCTOR node for sets.
 
 Mon May  3 13:06:47 1993  Per Bothner  (bothner@cygnus.com)
 
@@ -9924,7 +9930,7 @@ Mon May  3 13:06:47 1993  Per Bothner  (bothner@cygnus.com)
 Mon May  3 08:22:45 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-grant.c (decode_constant): Revert interpretation
-          of SET_TYPE as integer.
+         of SET_TYPE as integer.
 
 Mon May  3 07:55:46 1993  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -9941,28 +9947,28 @@ Sat May  1 14:55:58 1993  Bill Cox  (bill@rtl.cygnus.com)
          Redefine __inpowerset to take a 'minval' parameter
          that matches the new runtime.  Added comments.
        * ch-expr.c (chill_handle_case_label): Handle
-          NULL or ERROR trees.
+         NULL or ERROR trees.
        * ch-grant.c (get_type): Survive bogus type params,
          return empty string.
        * ch-tree.c (build_powerset_type): Diagnose powerset
-          of non-discrete type.
+         of non-discrete type.
        * ch-typeck.c (discrete_type_p): Reindent.
 
 Fri Apr 30 16:08:54 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-grant.c (decode_constant): Interpret SET_TYPE
-          with integer value, so we output the same stuff as
-          the user gave us.
+         with integer value, so we output the same stuff as
+         the user gave us.
        * ch-parse.y: Fix indentation.
 
 Fri Apr 30 09:34:03 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (chill_comptypes): Simplify, correct
-          integer subrange analysis.
+         integer subrange analysis.
        * ch-grant.c (seize_implied_names): Add handling for
          PROCESS_DECL, PROCESS_TYPE.
-          (do_seize): Call seize_implied_names for process,
-          procedure parameters and return value.
+         (do_seize): Call seize_implied_names for process,
+         procedure parameters and return value.
        * ch-lang.c (finish_chill_enum): Canonicalize enum
          types.
        * ch-tree.def (PROCESS_TYPE): Add.
@@ -9973,11 +9979,11 @@ Fri Apr 30 09:34:03 1993  Bill Cox  (bill@rtl.cygnus.com)
 Thu Apr 29 13:07:55 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (build_chill_lower, build_chill_upper):
-          Handle enumeration types.
+         Handle enumeration types.
          (build_chill_binary_op): Call chill_comptypes
          to error check IN arguments.  Change error
-          messages to say 'mode' rather than 'type'.  Cast
-          tree codes when build is called.
+         messages to say 'mode' rather than 'type'.  Cast
+         tree codes when build is called.
        * ch-expr.c (chill_expand_array_assignment): Call
          chill_comptypes to validate assignment args.
        * ch-lex.l: Add newline for readability.
@@ -9987,18 +9993,18 @@ Wed Apr 28 15:22:18 1993  Bill Cox  (bill@rtl.cygnus.com)
        * Makefile.in (ch-hash.h): Add rule to build this
          from chill.gperf.  Not yet used.
        * ch-actions.c (build_chill_binary_op): Allow enum
-          subranges on RHS of IN operator.
-       * ch-grant.c (decode_constant): Recognize 
+         subranges on RHS of IN operator.
+       * ch-grant.c (decode_constant): Recognize
          error_mark_node as empty powerset initializer,
          re-indent a bit.
        * ch-lang.c (deep_fold): Return error_mark_node for
-          NULL input pointer or incoming error_mark_node.
+         NULL input pointer or incoming error_mark_node.
        * ch-lex.l: Ignore PACK and UNPACK keywords. Return
          POS, ROW, and STEP as user-defined names.
-          (name_or_type): New function for above.
+         (name_or_type): New function for above.
        * ch-parse.y: Move token defs for following, comment
          them separately: NOPACK, PACK, POS, ROW, STEP
-       * varasm.c (output_constant): Check for VAR_DECLs in 
+       * varasm.c (output_constant): Check for VAR_DECLs in
          records & unions, like arrays.  Don't abort.
 
 Tue Apr 27 17:42:29 1993  Bill Cox  (bill@rtl.cygnus.com)
@@ -10011,25 +10017,25 @@ Tue Apr 27 17:42:29 1993  Bill Cox  (bill@rtl.cygnus.com)
          IDENTIFIER_GLOBAL_VALUE, for full generality.
        * ch-expr.c (chill_expand_assignment): Need to
          handle non-NOP modify codes here, since C code
-         in build_modify_expr won't understand powersets, 
+         in build_modify_expr won't understand powersets,
          etc.
 
 Tue Apr 27 09:05:31 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (build_max_min): Assign the set's
          base type to the function's return type.
-          (build_chill_function_call): Before complaining
-          about parameter mismatches, convert certain actual
-          parameters.
-       * ch-expr.c (chill_expand_assignment): Before 
-          complaining about LHS/RHS mismatches, convert
-          certain RHS expressions.
-       * ch-grant.c (decode_constant): Deep-fold incoming 
+         (build_chill_function_call): Before complaining
+         about parameter mismatches, convert certain actual
+         parameters.
+       * ch-expr.c (chill_expand_assignment): Before
+         complaining about LHS/RHS mismatches, convert
+         certain RHS expressions.
+       * ch-grant.c (decode_constant): Deep-fold incoming
          expression, so we can output it.
        * ch-lang.c (deep_const_expr): New function, called
-         from const_expr, actually traverses the tree 
+         from const_expr, actually traverses the tree
          looking at its leaves for 'const'ness.
-         (deep_fold): New function to fold already-built 
+         (deep_fold): New function to fold already-built
          trees.
        * ch-parse.y (case_expr): Add whitespace.
        * ch-tree.h: Add prototype for deep_fold.
@@ -10037,22 +10043,22 @@ Tue Apr 27 09:05:31 1993  Bill Cox  (bill@rtl.cygnus.com)
 Tue Apr 27 07:21:43 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (chill_comptypes): Allow enumeration
-          subranges as compatible with the parent enum.
-          (build_chill_function_call): Before checking type
-          compatibility, use convert on typeless expressions,
-          like constructors.
-       * ch-expr.c (chill_expand_assignment): Before 
-         checking type compatibility, use convert on 
-          typeless expressions, like constructors.
+         subranges as compatible with the parent enum.
+         (build_chill_function_call): Before checking type
+         compatibility, use convert on typeless expressions,
+         like constructors.
+       * ch-expr.c (chill_expand_assignment): Before
+         checking type compatibility, use convert on
+         typeless expressions, like constructors.
        * ch-lex.l: Add comment.
 
 Thu Apr 22 17:23:25 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * .cvsignore: Add genopinit, insn-opinit.c
        * c-common.c (binary_op_error): Prevent seg fault on
-          unknown node code.
+         unknown node code.
        * ch-typeck.c (build_chill_array_ref): Remove old
-          lower-bound-of-array-index-nonzero code.
+         lower-bound-of-array-index-nonzero code.
        * expr.c (expand-expr, get_inner_reference): Remove
          old lower-bound-of-array-index-nonzero code.
 
@@ -10061,14 +10067,14 @@ Thu Apr 22 16:01:09 1993  Bill Cox  (bill@rtl.cygnus.com)
        * c-decl.c (shadow_record_fields): Add pushlevel for
          each PROCESS parameter, too.
        * ch-process.c (make_process_struct): First working
-          version.
+         version.
        * ch-tree.def: Add PROCESS_DECL definition.
        * ch-tree.h: Add CH_IS_EVENT_MODE macro, change proto
-          for make_process_struct.
-       * expr.c (expand_expr): Add references to 
-          PROCESS_DECL.  Add #include of ch-tree.h.
+         for make_process_struct.
+       * expr.c (expand_expr): Add references to
+         PROCESS_DECL.  Add #include of ch-tree.h.
        * tree.c (decl_function_context): Add check for a
-          PROCESS_DECL, and #include for ch-tree.h.
+         PROCESS_DECL, and #include for ch-tree.h.
 
 Thu Apr 22 09:25:08 1993  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -10084,67 +10090,67 @@ Wed Apr 21 16:17:07 1993  Bill Cox  (bill@rtl.cygnus.com)
 Thu Apr 22 09:25:08 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-expr.c (chill_expand_expr): Add missing
-          parameters to expand_expr calls.  Some trivial
+         parameters to expand_expr calls.  Some trivial
          reformatting for readability.
 
 Wed Apr 21 16:17:07 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-lex.l: Make send_*_prio externally visible,
-          default them to zero, eliminate the init flags.
-          Same for process_type.
+         default them to zero, eliminate the init flags.
+         Same for process_type.
 
 Sat Apr 17 10:59:50 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (build_chill_binary_op): Build a
-          BIT_FIELD_REF tree for IN_EXPR operations.
+         BIT_FIELD_REF tree for IN_EXPR operations.
        * ch-typeck.c (build_chill_array_ref): Build a
-          BIT_FIELD_REF tree for access to packed array of
+         BIT_FIELD_REF tree for access to packed array of
          bits.
 
 Fri Apr 16 12:33:34 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-parse.y (EXIT action): Improve error checking,
-          messages.
+         messages.
        * ch-typeck.c (chill_expand_tuple): Remove code to
          pack sets (moved to varasm.c long ago).
        * varasm.c (unpack_set_constructor): Rename size to
-          bit_size, since 'size' always means bytes.
-          (pack_set_constructor): Rename size to wd_size,
-          since 'size' always means bytes.
+         bit_size, since 'size' always means bytes.
+         (pack_set_constructor): Rename size to wd_size,
+         since 'size' always means bytes.
          (output_constant): Set size to zero, so that extra
-          bytes of padding aren't output after set constants.
+         bytes of padding aren't output after set constants.
 
 Fri Apr 16 11:57:50 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * .cvsignore: Add .gdbinit.
        * ch-decl.c (start_chill_bindings): Add function name
-          to binding contour's exit_label for EXIT stmt.
+         to binding contour's exit_label for EXIT stmt.
        * ch-parse.y (EXIT action): Call lookup_name to avoid
-          inserting label for function name.  Also check
-          IDENTIFIER_LABEL_VALUE for label's decl.
-          (caseaction, beginendblock, ifaction): Call
-          stamp_nesting_label to put action's label into
-          contour for EXIT to find.
+         inserting label for function name.  Also check
+         IDENTIFIER_LABEL_VALUE for label's decl.
+         (caseaction, beginendblock, ifaction): Call
+         stamp_nesting_label to put action's label into
+         contour for EXIT to find.
 
 Thu Apr 15 17:17:05 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * expr.c (expand_expr): Unify, clean up handling of
-          IN_EXPR, and handling of bit-string element ref.
+         IN_EXPR, and handling of bit-string element ref.
          Now, all goes through IN_EXPR handler.
        * stmt.c (stamp_nesting_label, expand_exit_labelled):
-          New functions, which allow either label or 
-          function decls.
+         New functions, which allow either label or
+         function decls.
 
 Thu Apr 15 17:17:05 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c ch-actions.h ch-convert.c ch-decl.c ch-except.c
-          ch-expr.c ch-grant.c ch-inout.c ch-lang.c ch-lex.h ch-lex.l
+         ch-expr.c ch-grant.c ch-inout.c ch-lang.c ch-lex.h ch-lex.l
          ch-loop.c ch-parse.y ch-process.c ch-tree.c ch-tree.def
          ch-tree.h ch-typeck.c: Add 1993 copyright, fix titles.
        * ch-actions.c (build_chill_binary_op): Move runtime function call
          to expr.c.  Just build a tree here.  Clean up error checking.
        * ch-convert.c (convert): Simply store a type into an expression if
-          TREE_TYPE (expr) == NULL.  Prevent error if an enum is to be
+         TREE_TYPE (expr) == NULL.  Prevent error if an enum is to be
          converted to a set of such enums.
        * ch-loop.c (init_loop_counter): Restore error msg for undeclared
          variable if no local scope is to be created for the loop.
@@ -10157,7 +10163,7 @@ Wed Apr 14 07:54:00 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-convert.c (convert): Check pointers better - avoid NULL reference.
          Remove redundant check for ERROR_MARK - already checked earlier.
        * ch-parse.y (get_type_of): Add parameter checks for NULL ptrs and
-          error_mark_node.
+         error_mark_node.
 
 Tue Apr 13 16:00:37 1993  Per Bothner  (bothner@cygnus.com)
 
@@ -10183,32 +10189,32 @@ Tue Apr 13 16:00:37 1993  Per Bothner  (bothner@cygnus.com)
 Tue Apr 13 15:48:25 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-loop.c (begin_chill_loop): Also stamp the user's loop name into
-          current contour for DO FOR EVER loops.
+         current contour for DO FOR EVER loops.
 
 Tue Apr 13 14:37:39 1993  Bill Cox  (bill@rtl.cygnus.com)
 
-       * ch-parse.y (actionstatement): Add error rule.  Delete 
-          POP_UNUSED_ON_CONTEXT.  Add comments about label name usage.
+       * ch-parse.y (actionstatement): Add error rule.  Delete
+         POP_UNUSED_ON_CONTEXT.  Add comments about label name usage.
          (nohandleraction): Better error check in EXIT processing.
-          (optexprlist): Comment out make_function_rtl call.
-          (seizestatement): Change error to warning.
+         (optexprlist): Comment out make_function_rtl call.
+         (seizestatement): Change error to warning.
 
 Tue Apr 13 08:29:31 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-grant.c (raw_decode_mode): Supply missing parameter in get_type
-          call.
+         call.
        * ch-loop.c (begin_chill_loop): Take loop label as parameter.  Stamp
-          its name into the current contour's exit_label, for EXIT to use.
+         its name into the current contour's exit_label, for EXIT to use.
        * ch-parse.y: (actionlabel): Save label tree in global variable.
-          (actionstatement): Clear label to NULL when action is finished.
-         (handlerstatement, nohandlerstatement): Split actions into 
-          categories which do/don't permit exception handlers.
-          (exitaction): Move code into nohandleraction, make it work.
-          (doaction): Pass (possibly NULL) label tree to begin_chill_loop.
+         (actionstatement): Clear label to NULL when action is finished.
+         (handlerstatement, nohandlerstatement): Split actions into
+         categories which do/don't permit exception handlers.
+         (exitaction): Move code into nohandleraction, make it work.
+         (doaction): Pass (possibly NULL) label tree to begin_chill_loop.
        * ch-tree.h: Add parameter  to begin_chill_tree prototype.
        * stmt.c (stamp_nesting_label, expand_exit_labelled): Add functions.
-          Note: This implementation of EXIT only exits from loops, not yet 
-                from other bracketted statements.
+         Note: This implementation of EXIT only exits from loops, not yet
+               from other bracketted statements.
 
 Mon Apr 12 13:41:55 1993  Per Bothner  (bothner@rtl.cygnus.com)
 
@@ -10226,45 +10232,45 @@ Mon Apr 12 08:10:34 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-loop.c: Diffuse cleanup after big functional changes.
        * ch-parse.y: Eliminate temporary variables, now unnecessary.  Use
-          parse-time stack instead.
+         parse-time stack instead.
        * ch-tree.h: Change build_chill_iterator prototype.
 
 Sun Apr 11 15:50:33 1993  Bill Cox  (bill@rtl.cygnus.com)
 
-       * ch-convert.c (convert): Replace an ERROR_MARK type - from a 
+       * ch-convert.c (convert): Replace an ERROR_MARK type - from a
          untyped_expr with the given type.  Move chill_expand_case_expr
          call inside chill_expand_expr.
-       * ch-expr.c, ch-tree.h, ch-typeck.c (chill_handle_case_default, 
-          chill_handle_case_label, chill_expand_case_expr):  Move to ch-expr.c
-          from ch-typeck.c.
+       * ch-expr.c, ch-tree.h, ch-typeck.c (chill_handle_case_default,
+         chill_handle_case_label, chill_expand_case_expr):  Move to ch-expr.c
+         from ch-typeck.c.
        * ch-loop.c: Major reorganization to support multiple iterators in
-          DO FOR loop, very little new code, just a re-org.
+         DO FOR loop, very little new code, just a re-org.
        * ch-parse.y (iterationlist): Add handling for multiple loop iterators.
 
 Sat Apr 10 14:40:12 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (build_chill_lower, build_chill_upper): Clean up.
        * ch-grant.c (chill_grant): Avoid making strange SYNMODE for enum
-          member.
+         member.
        * ch-lex.l (equal_number): Add function to look in the input for '='
-          followed by a decimal literal.  Call it from directive scanning.
-          (start state 'ccitt'): Deleted, unused.  Moved unused, but reserved,
-          tokens to NORMAL state.
-          (compiler_directive): Replaced by equal_number.  Now the only
-          recursive call to yylex happens in check_newline at the beginning
-          of a compilation.
+         followed by a decimal literal.  Call it from directive scanning.
+         (start state 'ccitt'): Deleted, unused.  Moved unused, but reserved,
+         tokens to NORMAL state.
+         (compiler_directive): Replaced by equal_number.  Now the only
+         recursive call to yylex happens in check_newline at the beginning
+         of a compilation.
 
 Sat Apr 10 09:55:50 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (build_chill_case_expr): Added from ch-parse.y.
        * ch-lex.l (ENTRY, PERVASIVE, ROW, STEP): Add token recognition to
-          'reserve' them.
+         'reserve' them.
        * ch-parse.y (case_expr): Move code into ch-actions.c.  There will
-          need to be much more written.
+         need to be much more written.
        * ch-tree.def (VARY_ARRAY_REF): Add comment.
        * ch-tree.h (build_chill_case_expr): Add prototype.
        * ch-typeck.c (build_chill_cast): Allow untyped_expr - just assign the
-          type to the expr.  Check for CASE_EXPR, call expand_case_expr.
+         type to the expr.  Check for CASE_EXPR, call expand_case_expr.
 
 Sat Apr 10 01:10:51 1993  Per Bothner  (bothner@rtl.cygnus.com)
 
@@ -10298,9 +10304,9 @@ Sat Apr 10 01:10:51 1993  Per Bothner  (bothner@rtl.cygnus.com)
 Fri Apr  9 09:37:38 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-expr.c (chill_expand_array_assignment): Remove false error about
-         arrays that are too small.    
+         arrays that are too small.
        * ch-parse.y (callaction): Don't pass an error_mark_node to
-          c_expand_expr_stmt.
+         c_expand_expr_stmt.
 
 Fri Apr  9 00:26:54 1993  Per Bothner  (bothner@rtl.cygnus.com)
 
@@ -10328,12 +10334,12 @@ Fri Apr  9 00:26:54 1993  Per Bothner  (bothner@rtl.cygnus.com)
 Thu Apr  8 16:56:52 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (build_char_array_expr): Add handling of varying
-          arrays in relational expressions.
+         arrays in relational expressions.
        * ch-decl.c: Add prototype for lookup_name_current_level.
-       * ch-expr.c (chill_expand_expr): Make concat_expr's temp a BLKmode, 
-          so its length is used as the temp's size.
+       * ch-expr.c (chill_expand_expr): Make concat_expr's temp a BLKmode,
+         so its length is used as the temp's size.
          (chill_expand_array_assignment): Correct for varying := varying
-          assignment, clean up.
+         assignment, clean up.
        * ch-typeck.c: Add prototype for require_complete_type.
 
 Wed Apr  7 16:41:29 1993  Bill Cox  (bill@rtl.cygnus.com)
@@ -10368,24 +10374,24 @@ Tue Apr  6 18:05:40 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-actions.c: Move build_varying_struct to ch-typeck.c.
        * ch-parse.y (formpar): Turn ARRAY_TYPE parms into structure.
        * ch-parse.y (location): Do build_component_ref for an array wrapped
-          in a structure.
+         in a structure.
        * ch-tree.h: Add prototype, #define for build_chill_array_parm_type.
        * ch-typeck.c (build_chill_array_parm_type): Add function, move
          build_varying_struct here from ch-actions.c.
 
 Mon Apr  5 19:56:56 1993  Bill Cox  (bill@rtl.cygnus.com)
 
-       * ch-actions.c, ch-decl.c: Use tree_int_cst_equal and integer_zerop 
+       * ch-actions.c, ch-decl.c: Use tree_int_cst_equal and integer_zerop
          rather than in-line code - tests LOW and HIGH values.
        * ch-lang.c: Use tree_int_cst_lt rather than inline code.
        * ch-typeck.c (my_build_array_ref): Handle case where array low bound
-          isn't zero.
+         isn't zero.
 
 Mon Apr  5 15:45:10 1993  Bill Cox  (bill@rtl.cygnus.com)
 
-       * ch-typeck.c (my_build_array_ref): Add some more code from 
-          build_array_ref.  Change checks, error messages to mention 
-          'discrete types'.  I.E. types which don't kiss and tell..
+       * ch-typeck.c (my_build_array_ref): Add some more code from
+         build_array_ref.  Change checks, error messages to mention
+         'discrete types'.  I.E. types which don't kiss and tell..
 
 Sat Apr  3 09:27:03 1993  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -10393,7 +10399,7 @@ Sat Apr  3 09:27:03 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-grant.c (chill_grant): Remove orphan #else.
        * ch-tree.h: Add prototype for build_chill_bin_type.
        * ch-typeck.c: Turn externs into prototypes, delete code which
-          was commented out in chill_expand_return; it will never be used.
+         was commented out in chill_expand_return; it will never be used.
 
 Fri Apr  2 21:55:14 1993  Per Bothner  (bothner@rtl.cygnus.com)
 
@@ -10516,7 +10522,7 @@ Sun Mar 28 10:12:45 1993  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
 Fri Mar 26 18:32:15 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-parse.y: Put %type directives back into alpha order.
-          (variant_alternative): Simplify error_mark test.
+         (variant_alternative): Simplify error_mark test.
          (variantfields, varianthack): Add error_mark checks.
 
 Fri Mar 26 13:36:23 1993  Bill Cox  (bill@rtl.cygnus.com)
@@ -10524,21 +10530,21 @@ Fri Mar 26 13:36:23 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-lex.l (convert_charliteral): Rewrite to avoid bogus error msg.
        * ch-parse.y (get_type_of): Add function to deal with possible fwd
          declared type name.  Call it from lotsa places.  Add lotsa checks
-          for error_mark_node.  Standardize indentations.
+         for error_mark_node.  Standardize indentations.
 
 Thu Mar 25 15:00:11 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-expr.c (chill_expand_assignment): Avoid seg fault while checking
-          for array assignments.
+         for array assignments.
        * ch-parse.y (action): Add recognition for allocate_memory and
-          allocate_global_memory system calls.
-          (mode2): Remove ill-conceived error check that broke REFs to
-          as-yet-undeclared types.  Check for IDENTIFIER_NODE, lookup its
-          DECL if there, pass TREE_TYPE of decl to build_pointer_type.
-          (variantfields, varianthack): Clean up.
-          (variantfield): Check for IDENTIFIER_NODE, lookup its DECL if
-          there, pass TREE_TYPE of decl to grok_fixedfields.
-          (labellist): Explicitly assign error_mark_node to signal error.
+         allocate_global_memory system calls.
+         (mode2): Remove ill-conceived error check that broke REFs to
+         as-yet-undeclared types.  Check for IDENTIFIER_NODE, lookup its
+         DECL if there, pass TREE_TYPE of decl to build_pointer_type.
+         (variantfields, varianthack): Clean up.
+         (variantfield): Check for IDENTIFIER_NODE, lookup its DECL if
+         there, pass TREE_TYPE of decl to grok_fixedfields.
+         (labellist): Explicitly assign error_mark_node to signal error.
        * ch-typeck.c (chill_compatible): Report FALSE for bad parameters,
          rather than seg faulting.
 
@@ -10546,7 +10552,7 @@ Thu Mar 25 10:35:58 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (lang_init): build_function_type for allocate_memory
          and allocate_global_memory runtime routines.  Move discrete_type_p
-          into ch-typeck.c.
+         into ch-typeck.c.
        * ch-typeck.c (discrete_type_p): Move here, where it belongs, call it
          in build_chill_cast.
 
@@ -10558,14 +10564,14 @@ Tue Mar 23 15:25:39 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * Makefile.in (ch-actions.o): Add dependencies (expr.h insn-codes.h)
        * dwarfout.c (fundamental_type_code): Add handling of BOOLEAN_TYPEs,
-          avoid abort.
+         avoid abort.
 
 Tue Mar 23 09:03:35 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (build_char_array_expr): Just build a type for the
-          result of a CONCAT_EXPR, and pass the tree back.  
-          chill_expand_array_assignment can do a better job of 
-          code-generation.
+         result of a CONCAT_EXPR, and pass the tree back.
+         chill_expand_array_assignment can do a better job of
+         code-generation.
        * ch-expr.c (chill_expand_array_assignment): Generate the CONCAT_EXPR
          code.
 
@@ -10592,14 +10598,14 @@ Mon Mar 22 12:42:58 1993  Per Bothner  (bothner@rtl.cygnus.com)
 Fri Mar 19 11:55:35 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c: Add prototypes, remove unused variables.  Attempt to
-         continue generating grant file in presence of error (Wilfried's 
-          patch to lang_finish).
+         continue generating grant file in presence of error (Wilfried's
+         patch to lang_finish).
        * ch-expr.c: Change assign_stack_temp calls so temps get recovered
-          after each statement.  Move convert call into
-          chill_expand_assignment from ch-parse.y.
+         after each statement.  Move convert call into
+         chill_expand_assignment from ch-parse.y.
        * ch-grant.c: Generally re-order, clean up.  Include Per's decode_mode
-          simplification.  Include commented-out hack in decode_mode to return
-          type's name if type SEIZEd or already GRANTed in this file.
+         simplification.  Include commented-out hack in decode_mode to return
+         type's name if type SEIZEd or already GRANTed in this file.
        * ch-lex.l: Add prototypes.
        * ch-parse.y (assignaction): Move convert call into
          chill_expand_assignment.
@@ -10608,7 +10614,7 @@ Thu Mar 18 16:04:45 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-convert.c (convert): Remove unused variable, fix int_size_in_bytes
          comparison.
-        * ch-decl.c: Add prototypes, correct error message spelling, remove
+       * ch-decl.c: Add prototypes, correct error message spelling, remove
          unused variables.
        * ch-lang.c (build_chill_range_type): Add error message.  Add prototypes.
          Correct comment spelling.
@@ -10621,7 +10627,7 @@ Thu Mar 18 16:04:45 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-parse.y (label_spec): Correct assignment within IF expression which
          was intended to be equality test.  Remove unused variables.
        * ch-tree.h: Add prototype.  Remove unused EXCP_CODE enumeration, and
-          prototyping editorial comments.
+         prototyping editorial comments.
        * ch-typeck.c: Disable generation of code to validate array index for
          now.  Should be done as a call-back from more generic array_ref code.
          Clean up parameter checking.  Remove unused variables.
@@ -10648,14 +10654,14 @@ Thu Mar 11 21:06:55 1993  Bill Cox  (bill@rtl.cygnus.com)
 Thu Mar 11 19:20:37 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (build_set_expr, build_chill_binary_op): Calculate
-          *BIT* length of powersets and arrays of BOOLs.
+         *BIT* length of powersets and arrays of BOOLs.
          (invalid_left_operand, invalid_right_operand): Disallow relationals
          with arrays of BOOL as operands.
-        * ch-convert.c (convert): Test TREE_CODE for ERROR_MARK rather than
+       * ch-convert.c (convert): Test TREE_CODE for ERROR_MARK rather than
          comparing pointers.
        * ch-decl.c (push_newmode): Re-indent.
        * ch-expr.c (chill_expand_expr): Calculate *BIT* length of powersets
-          and arrays of BOOLs.
+         and arrays of BOOLs.
        * ch-lang.c (build_chill_array_type): Add parameter error checking.
 
 Mon Mar  8 17:13:00 1993  Bill Cox  (bill@rtl.cygnus.com)
@@ -10673,7 +10679,7 @@ Mon Mar  8 17:13:00 1993  Bill Cox  (bill@rtl.cygnus.com)
 Mon Mar  8 13:16:05 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * fold-const.c (fold_convert): Allow CHAR_TYPE CONVERT_EXPR to
-          be folded.
+         be folded.
 
 Mon Mar  8 10:13:57 1993  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -10695,9 +10701,9 @@ Thu Mar  4 18:05:43 1993  Bill Cox  (bill@rtl.cygnus.com)
        * ch-loop.c (end_chill_loop): Output end-of-loop marker.
        * ch-parse.y (label_spec): redefine variant structure label_spec
          to agree with the Z.200 spec.
-                    (locdec): Error if set/bitstring initialized with a tuple.
-                     (case_label, arrayindex): Use new discrete_type_p 
-                     function. 
+                    (locdec): Error if set/bitstring initialized with a tuple.
+                    (case_label, arrayindex): Use new discrete_type_p
+                    function.
        * ch-process.c: Fix typo.
 
 Wed Mar  3 14:30:53 1993  Per Bothner  (bothner@rtl.cygnus.com)
@@ -10731,7 +10737,7 @@ Thu Feb 25 17:35:46 1993  Bill Cox  (bill@rtl.cygnus.com)
 
 Fri Feb 26 07:14:34 1993  Bill Cox  (bill@rtl.cygnus.com)
 
-       * c-decl.c (finsh_decl): Don't output non-constant storage size 
+       * c-decl.c (finsh_decl): Don't output non-constant storage size
          error for CHILL
        * ch-actions.c: Call build_temporary_variable, fix build_tree_list
          call in build_chill_cause_exception.
@@ -10751,7 +10757,7 @@ Thu Feb 25 12:09:01 1993  Bill Cox  (bill@rtl.cygnus.com)
        * stor-layout.c (variable_size): Disable complaint about variable-
          size type or decl at file scope.  Perhaps later this s.b. a warning.
        * varasm.c (emit_set_data): Add function.
-         (output_constant): Call new emit_set_data function for VAR_DECLs, 
+         (output_constant): Call new emit_set_data function for VAR_DECLs,
          in addition to CONSTRUCTORs.
 
 Thu Feb 25 11:34:36 1993  Bill Cox  (bill@rtl.cygnus.com)
@@ -10761,7 +10767,7 @@ Thu Feb 25 11:34:36 1993  Bill Cox  (bill@rtl.cygnus.com)
          to references to the TREE_CODE == BOOLEAN_TYPE, to follow the
          convention.
          build_set_expr: Remove length parameter, call powersetlen() instead.
-           remove handling of CHAR arrays - they're handled in build_char_array_expr.  
+           remove handling of CHAR arrays - they're handled in build_char_array_expr.
            Call __eqpowerset to test for equality - we can't use a byte-length -
            need bitcount instead.
          build_chill_compound_expr, internal_build_compound_expr: Copy from C
@@ -10872,7 +10878,7 @@ Thu Feb 18 12:40:56 1993  Michael Tiemann  (fs_tie@rcvie.co.at)
 Thu Feb 18 09:30:11 1993  Michael Tiemann  (fs_tie@rcvie.co.at)
 
        * ch-actions.c (chill_comptypes): Figure out which newmode or
-          synmode decls look most canonical.
+         synmode decls look most canonical.
        * ch-convert.c (convert): handle location conversions of records,
          unions and arrays.
        * ch-decl.c (fixup_unknown_type): changes for variant records
@@ -10995,7 +11001,7 @@ Fri Feb 12 10:32:37 1993  Bill Cox  (bill@rtl.cygnus.com)
          assignments to handle INOUT and OUT parameters.
        * ch-decl.c (build_chill_function_type): better parameter name.
        * ch-parse.y (action): keep rules in alpha order.
-          (pmodearg): turn INOUT, OUT parameter types into reference types.
+         (pmodearg): turn INOUT, OUT parameter types into reference types.
        * ch-typeck.c (build_tree_slice): indentation change.
 
 Thu Feb 11 23:16:34 1993  Per Bothner  (bothner@rtl.cygnus.com)
@@ -11083,7 +11089,7 @@ Tue Feb  9 08:27:18 1993  Bill Cox  (bill@rtl.cygnus.com)
 
 Sun Feb  7 18:20:49 1993  Bill Cox  (bill@rtl.cygnus.com)
 
-       * ch-tree.def: add a new tree type - just for varying array 
+       * ch-tree.def: add a new tree type - just for varying array
          references.  We were using ARRAY_REF, but the underlying C
          code also generates that one.
        * ch-convert.c, ch-expr.c, ch-typeck.c: use the new tree type.
@@ -11141,20 +11147,20 @@ Thu Jan 28 17:41:58 1993  Per Bothner  (bothner@rtl.cygnus.com)
 
 Thu Jan 28 16:16:00 1993  Bill Cox  (bill@rtl.cygnus.com)
 
-        * ch-convert.c (convert): correct fixed->varying conversion.
-        * ch-parse.y (mode2): delete unesthetic newline.
+       * ch-convert.c (convert): correct fixed->varying conversion.
+       * ch-parse.y (mode2): delete unesthetic newline.
 
 Thu Jan 28 10:32:55 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c: delete maybe_array_ref()
-        * ch-expr.c (chill_expand_assignment): handle RHS array_ref, delay
-          calling convert().
-        * ch-lex.l, ch-parse.y, chill.gperf: add keywords, syntax for time
+       * ch-expr.c (chill_expand_assignment): handle RHS array_ref, delay
+         calling convert().
+       * ch-lex.l, ch-parse.y, chill.gperf: add keywords, syntax for time
          supervision actions & builtins
-        * ch-parse.y (call): eliminate optlocarrayidx, call build_chill_slice,
-          smaller actions directly (maybe_array_ref() used to call them).
-        * ch-tree.h: add build_chill_function_call, build_chill_slice
-        * ch-typeck.c: add build_chill_slice()
+       * ch-parse.y (call): eliminate optlocarrayidx, call build_chill_slice,
+         smaller actions directly (maybe_array_ref() used to call them).
+       * ch-tree.h: add build_chill_function_call, build_chill_slice
+       * ch-typeck.c: add build_chill_slice()
 
 Thu Jan 28 08:44:28 1993  Bill Cox  (bill@rtl.cygnus.com)
 
@@ -11184,7 +11190,7 @@ Wed Jan 27 22:28:36 1993  Per Bothner  (bothner@rtl.cygnus.com)
 Wed Jan 27 15:45:20 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c: delete convert_chill_parameter, replace call with
-          call to convert().   
+         call to convert().
        * ch-convert.c (convert): combine chill_give_type_to_expr in here.
        * ch-decl.c: call convert rather than chill_give_type_to_expr.
        * ch-expr.c: delete chill_expand_array_assignment, move code to convert.
@@ -11212,7 +11218,7 @@ Wed Jan 27 15:45:20 1993  Bill Cox  (bill@rtl.cygnus.com)
 Wed Jan 27 15:32:21 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-actions.c (build_chill_length, build_chill_lower,
-                        build_chill_upper): accept parameters, too.
+                       build_chill_upper): accept parameters, too.
        * ch-expr.c (chill_expand_assignment):  decipher ARRAY_REF on RHS.
        * ch-typeck.c (chill_give_type_to_expr, build_chill_array_ref):
          assign proper type to ARRAY_REF expression.
@@ -11252,7 +11258,7 @@ Mon Jan 25 17:26:47 1993  Bill Cox  (bill@rtl.cygnus.com)
 Mon Jan 25 14:57:24 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-parse.y (mode2): eliminate old method to mark varying arrays.
-       * ch-expr.c (expand_varying_length_assignment): repair scaling of 
+       * ch-expr.c (expand_varying_length_assignment): repair scaling of
          RHS expression.
 
 Mon Jan 25 11:44:21 1993  Per Bothner  (bothner@cygnus.com)
@@ -11293,9 +11299,9 @@ Wed Jan 20 17:11:05 1993  Bill Cox  (bill@rtl.cygnus.com)
 
 Wed Jan 20 16:48:13 1993  Bill Cox  (bill@rtl.cygnus.com)
 
-       * ch-tree.h, ch-process.c, ch-inout.c, Makefile.in: 
+       * ch-tree.h, ch-process.c, ch-inout.c, Makefile.in:
          create new modules for I/O and process-related stuff.
-       * ch-actions.c: move routines to new modules.  
+       * ch-actions.c: move routines to new modules.
          call xmalloc, not malloc.
        * ch-lang.c (build_chill_struct_type): add parameter checking.
        * ch-lex.l (init_lex): remove redundant cast.
@@ -11304,7 +11310,7 @@ Tue Jan 19 16:33:56 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-parse.y (operand5): delete unnecessary argument to
          build_chill_unary_op.  Add rule for string repetition.
-        * ch-parse.y (primval): delete string repetition attempt.
+       * ch-parse.y (primval): delete string repetition attempt.
        * ch-parse.y (start_process): rough draft of action.
        * ch-actions.c (build_repetition_op): add it
        * ch-actions.c (build_chill_binary_op): handle constant arguments
@@ -11316,7 +11322,7 @@ Tue Jan 19 16:33:56 1993  Bill Cox  (bill@rtl.cygnus.com)
 Tue Jan 19 15:03:29 1993  Fred Fish  (fnf@cygnus.com)
 
        * dwarfout.c (output_type):  Add hack that matches the one in the
-       chill front end to distinquish between true string types and 
+       chill front end to distinquish between true string types and
        arrays of char, since it uses ARRAY_TYPE for both, rather than
        trying to use the existing support for STRING_TYPE.
 
@@ -11324,8 +11330,8 @@ Tue Jan 19 13:54:27 1993  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-tree.h: added prototypes for all non-static CHILL functions.
        * ch-actions.c (lang_init): declare builtin type for start_process
-        * ch-actions.c (build_chill_binary_op): combine        string literals when
-         concatenated.  
+       * ch-actions.c (build_chill_binary_op): combine string literals when
+         concatenated.
        * ch-actions.c (formpars2struct): added for later start_process
          implementation.
        * ch-actions.h: remove un-needed function declarations.
@@ -11350,11 +11356,11 @@ Mon Jan 18 08:24:21 1993  Bill Cox  (bill@rtl.cygnus.com)
 
 Mon Jan 18 08:00:11 1993  Bill Cox  (bill@rtl.cygnus.com)
 
-       * ch-lex.l, ch-parse.y: make BOOLS synonymous with BIT and 
+       * ch-lex.l, ch-parse.y: make BOOLS synonymous with BIT and
        CHARS synonymous with CHAR, in the lexer.  Delete unnecessary
        'bools' non-terminal.
        * ch-parse.y (assignaction): add lhs version of length() function
-       * ch-actions.c: add builtin_concat function, lots of support for 
+       * ch-actions.c: add builtin_concat function, lots of support for
        CONCAT_EXPR.
        * ch-actions.c, ch-tree.h: make a function out of former
        macro CH_VARYING_TYPE_P
@@ -11462,10 +11468,10 @@ Wed Jan  6 09:48:35 1993  Bill Cox  (bill@cygnus.com)
        New function build_varying_struct, to do just that.  Use the macros
        for the special varying field names.
        * ch-tree.h: define macros for varying field names.
-       * ch-expr.c: use macros for varying struct names.  Simplify 
+       * ch-expr.c: use macros for varying struct names.  Simplify
        chill_expand_array_assignment.
        * ch-parse.y: assure that build_varying_struct is called everywhere
-       that it applies.  Add a line-number note before the body of a DO 
+       that it applies.  Add a line-number note before the body of a DO
        loop.
        * ch-loop.c: #ifdef out creation of new scope for DO loop body.
 
@@ -11622,20 +11628,20 @@ Wed Dec 30 16:06:55 1992  Bill Cox  (bill@rtl.cygnus.com)
 
        * ch-parse.y, ch-expr.c: add support for declaring & assigning
        VARYING arrays.
-        * ch-typeck.c: allow VARYING structures in assign_type_to_expr.
+       * ch-typeck.c: allow VARYING structures in assign_type_to_expr.
 
 Tue Dec 29 15:28:48 1992  Bill Cox  (bill@cygnus.com)
 
        * ch-actions.c: implement expressions of arrays of char,
-        ( concatenation, relationals ), correct type of code parameters
-        * ch-expr.c: correct type of code parameters
+       ( concatenation, relationals ), correct type of code parameters
+       * ch-expr.c: correct type of code parameters
 
 Tue Dec 29 11:16:19 1992  Bill Cox  (bill@cygnus.com)
 
        * ch-decl.c: cleanup.
-        * ch-parse.y: put emit_line_note() calls in lotsa places,
-        per Fred's request; be sure that statements get counted also.
-        * ch-lex.l: standardize function headers.
+       * ch-parse.y: put emit_line_note() calls in lotsa places,
+       per Fred's request; be sure that statements get counted also.
+       * ch-lex.l: standardize function headers.
 
 Tue Dec 29 10:41:56 1992  Fred Fish  (fnf@cygnus.com)
 
@@ -11840,7 +11846,7 @@ Mon Dec 14 00:22:49 1992  Fred Fish  (fnf@cygnus.com)
        * Makefile.in (CHILL, chill, cc1chill, chill-runtime, libchill.a,
        sublibchill.a, ch-parse.o, ch-parse.c ch-*.o, install-libchill,
        install-librmt):  New targets.
-       * Makefile.in (install-native):  Add install-libchill, 
+       * Makefile.in (install-native):  Add install-libchill,
        install-librmt.
 
 Sun Dec 13 15:21:06 1992  Bill Cox  (bill@cygnus.com)
@@ -11911,7 +11917,7 @@ Mon Dec  7 14:57:46 1992  Bill Cox  (bill@cygnus.com)
 Mon Dec  7 10:42:35 1992  Bill Cox  (bill@cygnus.com)
 
        * ch-actions.c: implement relational, logic operations
-        on arrays of BOOLs.
+       on arrays of BOOLs.
 
 Mon Dec  7 08:55:20 1992  Michael Tiemann  (tiemann@rtl.cygnus.com)
 
@@ -11935,7 +11941,7 @@ Sun Dec  6 13:12:32 1992  Bill Cox  (bill@cygnus.com)
 Sun Dec  6 11:15:59 1992  Bill Cox  (bill@cygnus.com)
 
        * ch-parse.y, ch-actions.c, ch-expr.c: Implement set-oriented
-        relational expressions, including (<, <=, =, /=, >, >=, IN).
+       relational expressions, including (<, <=, =, /=, >, >=, IN).
 
 Fri Dec  4 13:54:58 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
 
@@ -12000,7 +12006,7 @@ Wed Dec  2 09:52:06 1992  Michael Tiemann  (tiemann@rtl.cygnus.com)
 Tue Dec  2 09:44:05 1992  Bill Cox  (bill@cygnus.com)
 
        * ch-typeck.c: clean up a gcc warning with a forward
-        declaration of build_string_type.
+       declaration of build_string_type.
 
 Tue Dec  1 16:51:05 1992  Bill Cox  (bill@cygnus.com)
 
@@ -12028,8 +12034,8 @@ Tue Dec  1 12:35:56 1992  Bill Cox  (bill@cygnus.com)
 
 Tue Dec  1 11:10:56 1992  Bill Cox  (bill@cygnus.com)
 
-       * ch-parse.y, ch-actions: added parsing and processing 
-        for upper, lower, and length built-ins.
+       * ch-parse.y, ch-actions: added parsing and processing
+       for upper, lower, and length built-ins.
 
 Tue Dec  1 09:40:49 1992  Fred Fish  (fnf@cygnus.com)
 
index 5e9a46fc1e89748b3dc3c1ef532b9bc3986bea9a..f747bef570a7b4b075072aa47b493f06149780ec 100644 (file)
@@ -889,8 +889,7 @@ maybe_downcase (str)
     return;
   while (*str)
     {
-      if (ISUPPER ((unsigned char) *str))
-       *str = TOLOWER (*str);
+      *str = TOLOWER (*str);
       str++;
     }
 }
@@ -1526,9 +1525,9 @@ handle_generic_pragma (buffer)
          * buff ++ = c;
          c = getc (finput);
        }
-      while (c != EOF && isascii (c) && ! ISSPACE (c) && c != '\n'
-            && buff < buffer + 128); /* XXX shared knowledge about size of buffer.  */
-      
+      while (c != EOF && ! ISSPACE (c) && buff < buffer + 128);
+        /* XXX shared knowledge about size of buffer.  */
+
       ungetc (c, finput);
       
       * -- buff = 0;
index 73a78803e336430b9fa38353fe68bea3a8f045ce..2db1a01b9fc8e150cc5c808d8bfd91ce2f485efd 100644 (file)
@@ -906,11 +906,11 @@ mvs_need_alias (realname)
      return 1;
    if (strchr (realname, '_') != 0)
      return 1;
-   if (isupper (realname[0]))
+   if (ISUPPER (realname[0]))
      {
        for (i = 1; i < j; i++)
         {
-          if (islower (realname[i]))
+          if (ISLOWER (realname[i]))
             return 1;
         }
      }
@@ -918,7 +918,7 @@ mvs_need_alias (realname)
      {
        for (i = 1; i < j; i++)
          {
-          if (isupper (realname[i]))
+          if (ISUPPER (realname[i]))
             return 1;
         }
      }
@@ -951,9 +951,9 @@ mvs_get_alias (realname, aliasname)
 
       c1 = realname[0];
       c2 = realname[1];
-      if (islower (c1)) c1 = toupper (c1);
+      if (ISLOWER (c1)) c1 = TOUPPER (c1);
       else if (c1 == '_') c1 = 'A';
-      if (islower (c2)) c2 = toupper (c2);
+      if (ISLOWER (c2)) c2 = TOUPPER (c2);
       else if (c2 == '_' || c2 == '\0') c2 = '#';
 
       sprintf (aliasname, "%c%c%06d", c1, c2, mvs_hash_alias (realname));
@@ -998,9 +998,9 @@ mvs_check_alias (realname, aliasname)
 
       c1 = realname[0];
       c2 = realname[1];
-      if (islower (c1)) c1 = toupper (c1);
+      if (ISLOWER (c1)) c1 = TOUPPER (c1);
       else if (c1 == '_') c1 = 'A';
-      if (islower (c2)) c2 = toupper (c2);
+      if (ISLOWER (c2)) c2 = TOUPPER (c2);
       else if (c2 == '_' || c2 == '\0') c2 = '#';
 
       sprintf (aliasname, "%c%c%06d", c1, c2, mvs_hash_alias (realname));
index 59f7dc1c6effb2a05bec3fd4a5f7092a69b16e09..f20e1f7d597edf50d7bd2e66556f5a35939ca90b 100644 (file)
@@ -23,7 +23,7 @@
 
 #include <string.h>
 #include <limits.h>
-#include <ctype.h>
+#include <safe-ctype.h>
 #include <errno.h>
 #include <dirent.h>
 
@@ -332,8 +332,8 @@ IsHPFSFileSystem (directory)
     unsigned int       nDrive;
     char               szCurDir [MAX_PATH];
 
-    if (isalpha (directory[0]) && (directory[1] == ':'))
-       nDrive = toupper (directory[0]) - '@';
+    if (ISALPHA (directory[0]) && (directory[1] == ':'))
+       nDrive = TOUPPER (directory[0]) - '@';
 
     else
     {
index f49d6dda1bd6884b40df29c9ded8b7adb9c2a2fa..f7e1a35d09417990b9847bb4443bc3e5820d0158 100644 (file)
@@ -64,7 +64,7 @@ newname (olddirname)
   char *newname = strdup (olddirname);
 
   if ((strlen (newname) >= 2)
-      && (isalpha (newname[0]) && newname[1] == ':'))
+      && (ISALPHA (newname[0]) && newname[1] == ':'))
     newname [1] = '-';
   else if ((strlen (newname) >= 1) 
            && (newname [0] == '/' || newname [0] == '\\'))
index 67d53e783214f98a3673b1d104cc262f735f21b4..b02d1ede2295c9e1af8579b3df02b912afaa330d 100644 (file)
@@ -86,7 +86,7 @@ locate_file (file_name, path_val)
 
   /* Handle absolute pathnames */
   if (file_name [0] == '/' || file_name [0] == DIR_SEPARATOR
-      || isalpha (file_name [0]) && file_name [1] == ':')
+      || ISALPHA (file_name [0]) && file_name [1] == ':')
     {
       strncpy (buf, file_name, sizeof buf);
       buf[sizeof buf - 1] = '\0';
index 1f4f98554c447b21c0489d202596d6e1676b8681..e27290aca5117f18f7645a91b08df07f09254ef2 100644 (file)
@@ -135,39 +135,30 @@ struct cpp_buffer
   unsigned char sysp;
 };
 
-/* Character classes.
+/* Character classes.  Based on the more primitive macros in safe-ctype.h.
    If the definition of `numchar' looks odd to you, please look up the
    definition of a pp-number in the C standard [section 6.4.8 of C99].
 
    In the unlikely event that characters other than \r and \n enter
    the set is_vspace, the macro handle_newline() in cpplex.c must be
    updated.  */
-#define ISidnum                0x01    /* a-zA-Z0-9_ */
-#define ISidstart      0x02    /* _a-zA-Z */
-#define ISnumstart     0x04    /* 0-9 */
-#define IShspace       0x08    /* ' ' \t */
-#define ISvspace       0x10    /* \r \n */
-#define ISspace                0x20    /* ' ' \t \r \n \f \v \0 */
-
 #define _dollar_ok(x)  ((x) == '$' && CPP_OPTION (pfile, dollars_in_ident))
 
-#define is_idchar(x)   ((_cpp_IStable[x] & ISidnum) || _dollar_ok(x))
-#define is_idstart(x)  ((_cpp_IStable[x] & ISidstart) || _dollar_ok(x))
-#define is_numchar(x)  (_cpp_IStable[x] & ISidnum)
-#define is_numstart(x) (_cpp_IStable[x] & ISnumstart)
-#define is_hspace(x)   (_cpp_IStable[x] & IShspace)
-#define is_vspace(x)   (_cpp_IStable[x] & ISvspace)
-#define is_nvspace(x)  ((_cpp_IStable[x] & (ISspace | ISvspace)) == ISspace)
-#define is_space(x)    (_cpp_IStable[x] & ISspace)
+#define is_idchar(x)   (ISIDNUM(x) || _dollar_ok(x))
+#define is_numchar(x)  ISIDNUM(x)
+#define is_idstart(x)  (ISIDST(x) || _dollar_ok(x))
+#define is_numstart(x) ISDIGIT(x)
+#define is_hspace(x)   ISBLANK(x)
+#define is_vspace(x)   IS_VSPACE(x)
+#define is_nvspace(x)  IS_NVSPACE(x)
+#define is_space(x)    IS_SPACE_OR_NUL(x)
 
-/* These tables are constant if they can be initialized at compile time,
+/* This table is constant if it can be initialized at compile time,
    which is the case if cpp was compiled with GCC >=2.7, or another
    compiler that supports C99.  */
 #if HAVE_DESIGNATED_INITIALIZERS
-extern const unsigned char _cpp_IStable[UCHAR_MAX + 1];
 extern const unsigned char _cpp_trigraph_map[UCHAR_MAX + 1];
 #else
-extern unsigned char _cpp_IStable[UCHAR_MAX + 1];
 extern unsigned char _cpp_trigraph_map[UCHAR_MAX + 1];
 #endif
 
index 7e5d7f6af67fd869cba3b1150a8722deb3a4ecd4..9bed926aacbf7418e71ebd6432513c93ac90e330 100644 (file)
@@ -125,9 +125,6 @@ enum { QUOTE = 0, BRACKET, SYSTEM, AFTER };
    runtime.  */
 #if HAVE_DESIGNATED_INITIALIZERS
 
-#define init_IStable()  /* Nothing.  */
-#define ISTABLE __extension__ const U_CHAR _cpp_IStable[UCHAR_MAX + 1] = {
-
 #define init_trigraph_map()  /* Nothing.  */
 #define TRIGRAPH_MAP \
 __extension__ const U_CHAR _cpp_trigraph_map[UCHAR_MAX + 1] = {
@@ -137,10 +134,6 @@ __extension__ const U_CHAR _cpp_trigraph_map[UCHAR_MAX + 1] = {
 
 #else
 
-#define ISTABLE unsigned char _cpp_IStable[UCHAR_MAX + 1] = { 0 }; \
- static void init_IStable PARAMS ((void)) { \
- unsigned char *x = _cpp_IStable;
-
 #define TRIGRAPH_MAP U_CHAR _cpp_trigraph_map[UCHAR_MAX + 1] = { 0 }; \
  static void init_trigraph_map PARAMS ((void)) { \
  unsigned char *x = _cpp_trigraph_map;
@@ -150,45 +143,13 @@ __extension__ const U_CHAR _cpp_trigraph_map[UCHAR_MAX + 1] = {
 
 #endif
 
-#define A(x) s(x, ISidnum|ISidstart)
-#define N(x) s(x, ISidnum|ISnumstart)
-#define H(x) s(x, IShspace|ISspace)
-#define V(x) s(x, ISvspace|ISspace)
-#define S(x) s(x, ISspace)
-
-ISTABLE
-  A('_')
-
-  A('a') A('b') A('c') A('d') A('e') A('f') A('g') A('h') A('i')
-  A('j') A('k') A('l') A('m') A('n') A('o') A('p') A('q') A('r')
-  A('s') A('t') A('u') A('v') A('w') A('x') A('y') A('z')
-
-  A('A') A('B') A('C') A('D') A('E') A('F') A('G') A('H') A('I')
-  A('J') A('K') A('L') A('M') A('N') A('O') A('P') A('Q') A('R')
-  A('S') A('T') A('U') A('V') A('W') A('X') A('Y') A('Z')
-
-  N('1') N('2') N('3') N('4') N('5') N('6') N('7') N('8') N('9') N('0')
-
-  H(' ') H('\t')
-
-  V('\n') V('\r')
-
-  S('\0') S('\v') S('\f')
-END
-
 TRIGRAPH_MAP
   s('=', '#')  s(')', ']')     s('!', '|')
   s('(', '[')  s('\'', '^')    s('>', '}')
   s('/', '\\') s('<', '{')     s('-', '~')
 END
 
-#undef A
-#undef N
-#undef H
-#undef V
-#undef S
 #undef s
-#undef ISTABLE
 #undef END
 #undef TRIGRAPH_MAP
 
@@ -507,11 +468,9 @@ initialize ()
   qsort (cl_options, N_OPTS, sizeof (struct cl_option), opt_comp);
 #endif
 
-  /* Set up the trigraph map and the IStable.  These don't need to do
-     anything if we were compiled with a compiler that supports C99
-     designated initializers.  */
+  /* Set up the trigraph map.  This doesn't need to do anything if we were
+     compiled with a compiler that supports C99 designated initializers.  */
   init_trigraph_map ();
-  init_IStable ();
 
   initialized = 1;
 }
index 9ff8f3ad996647a5eb380de8c6fadfefb611fc9d..3087b75e43998fe1eb6d3b46c04e6b8dc6b58eb1 100644 (file)
@@ -1,3 +1,16 @@
+2000-12-07  Zack Weinberg  <zack@wolery.stanford.edu>
+
+       * Make-lang.in: Link f/fini with safe-ctype.o.
+       * bad.c: Don't test ISUPPER(c) || ISLOWER(c) before calling TOUPPER(c).
+       * com.c: Use TOUPPER, not ffesrc_toupper.
+       * fini.c: Don't test ISALPHA(c) before calling TOUPPER(c)/TOLOWER(c).
+       * intrin.c: Don't test IN_CTYPE_DOMAIN(c).
+       * src.c: Delete ffesrc_toupper_ and ffesrc_tolower_ and their
+       initializing code; use TOUPPER and TOLOWER instead of
+       ffesrc_toupper and ffesrc_tolower.
+       * src.h: Don't declare ffesrc_toupper_ or ffesrc_tolower_.
+       Don't define ffesrc_toupper or ffesrc_tolower.
+
 2000-11-28  Richard Henderson  <rth@redhat.com>
 
        * com.c (ffecom_member_phase2_): Set TREE_USED on the debugging decl.
@@ -35,11 +48,11 @@ Thu Nov 23 02:18:57 2000  J"orn Rennecke <amylaar@redhat.com>
 
 Sun Nov 19 17:29:22 2000  Matthias Klose  <doko@marvin.itso-berlin.de>
 
-        * g77.texi (Floating-point precision): Adjust example
-        to work with glibc (>= 2.1).
+       * g77.texi (Floating-point precision): Adjust example
+       to work with glibc (>= 2.1).
+
+Sat Nov 18 13:54:49 2000  Matthias Klose  <doko@cs.tu-berlin.de>
 
-Sat Nov 18 13:54:49 2000  Matthias Klose  <doko@cs.tu-berlin.de> 
        * g77.texi (Floating-point Exception Handling): Adjust
        example to work with glibc (>= 2.1).
 
@@ -149,7 +162,7 @@ Thu Oct 12 22:28:51 2000  Mark Mitchell  <mark@codesourcery.com>
        (ffeste_R842): Likewise.
        (ffeste_R843): Likewise.
        (ffeste_R1001): Likewise.
-       
+
 2000-10-05  Richard Henderson  <rth@cygnus.com>
 
        * com.c (finish_function): Don't init can_reach_end.
@@ -188,9 +201,9 @@ Sun Oct  1 11:43:44 2000  Mark Mitchell  <mark@codesourcery.com>
        * intrin.def: Adjust DEFIMP definition of LOG10, (float) MOD.
 
 2000-08-21  Nix  <nix@esperi.demon.co.uk>
-        
-        * lang-specs.h: Do not process -o or run the assembler if
-        -fsyntax-only.  Use %j instead of /dev/null.
+
+       * lang-specs.h: Do not process -o or run the assembler if
+       -fsyntax-only.  Use %j instead of /dev/null.
 
 2000-08-21  Jakub Jelinek  <jakub@redhat.com>
 
@@ -210,7 +223,7 @@ Sun Oct  1 11:43:44 2000  Mark Mitchell  <mark@codesourcery.com>
        * news.texi: Ditto.
 
 2000-08-11  G. Helffrich  <george@gly.bris.ac.uk>
-            Toon Moene  <toon@moene.indiv.nluug.nl>
+           Toon Moene  <toon@moene.indiv.nluug.nl>
 
        * com.c (ffecom_transform_equiv_): Make EQUIVALENCEs addressable
        so that debug info can be attached to their storage.
index 73f149fd5e7bb8a51b9d4a6db40b7070cf559077..6af053630d94753937854795480418fa7f914072 100644 (file)
@@ -137,9 +137,9 @@ f/str-op.h f/str-op.j: f/fini$(build_exeext) f/str-op.fin
 f/str-ot.h f/str-ot.j: f/fini$(build_exeext) f/str-ot.fin
        ./f/fini$(build_exeext) $(srcdir)/f/str-ot.fin f/str-ot.j f/str-ot.h
 
-f/fini$(build_exeext): f/fini.o f/proj-h.o
+f/fini$(build_exeext): f/fini.o f/proj-h.o safe-ctype.o
        $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o f/fini$(build_exeext) \
-               f/fini.o f/proj-h.o
+               f/fini.o f/proj-h.o safe-ctype.o
 
 f/fini.o:
        $(HOST_CC) $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) \
index 6f25246ab97b2cb06453bdba6c841315611414a1..f34253f7a6f4934b68975d9a0892e153c6e95509 100644 (file)
@@ -457,7 +457,7 @@ ffebad_finish ()
   if (ffebad_places_ == 0)
     {
       /* Didn't output "warning:" string, capitalize it for message.  */
-      if ((s[0] != '\0') && ISALPHA (s[0]) && ISLOWER (s[0]))
+      if (s[0] != '\0')
        {
          char c;
 
index fbeb74b3bcefed5fbe547950974a4734fa1bef5a..82d99d837ed8f423cc40a3d7f58a075837519c0f 100644 (file)
@@ -1840,7 +1840,7 @@ ffecom_build_f2c_string_ (int i, const char *s)
       tmp = &space[0];
 
     for (p = s, q = tmp; *p != '\0'; ++p, ++q)
-      *q = ffesrc_toupper (*p);
+      *q = TOUPPER (*p);
     *q = '\0';
 
     t = build_string (i, tmp);
index f685df1847a298cdceb83340cbf4829d8220a922..0fabf37d9241f781f5039862fe325ebd8d99e413 100644 (file)
@@ -381,15 +381,9 @@ main (int argc, char **argv)
       for (i = 0; i < newname->namelen; ++i)
        {
          cc = buf[i];
-         if (ISALPHA (cc))
-           {
-             newname->name_uc[i] = TOUPPER (cc);
-             newname->name_lc[i] = TOLOWER (cc);
-             newname->name_ic[i] = cc;
-           }
-         else
-           newname->name_uc[i] = newname->name_lc[i] = newname->name_ic[i]
-             = cc;
+         newname->name_uc[i] = TOUPPER (cc);
+         newname->name_lc[i] = TOLOWER (cc);
+         newname->name_ic[i] = cc;
        }
       newname->name_uc[i] = newname->name_lc[i] = newname->name_ic[i] = '\0';
 
index 2d78841a4cd28631d74ebf3985df097d83d5396d..0bc6d0e0c93a7dd2027b683edc84f6739b77991a 100644 (file)
@@ -1581,10 +1581,6 @@ ffeintrin_init_0 ()
       p3 = ffeintrin_names_[i].name_ic;
       for (; *p1 != '\0' && *p2 != '\0' && *p3 != '\0'; ++p1, ++p2, ++p3)
        {
-         if (! IN_CTYPE_DOMAIN (*p1)
-             || ! IN_CTYPE_DOMAIN (*p2)
-             || ! IN_CTYPE_DOMAIN (*p3))
-           break;
          if ((ISDIGIT (*p1) || (*p1 == '_')) && (*p1 == *p2) && (*p1 == *p3))
            continue;
          if (! ISUPPER ((unsigned char)*p1) || ! ISLOWER ((unsigned char)*p2)
index e434fbf95e8ea3258f2c97ab9e2eb1ff2a02d1fa..28c55cccf4fccfbd1fed2984a311eb055d4e22c5 100644 (file)
@@ -32,16 +32,6 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 #include "src.h"
 #include "top.h"
 
-/* This array does a toupper (), but any valid char type is valid as an
-   index and returns identity if not a lower-case character.  */
-
-char ffesrc_toupper_[256];
-
-/* This array does a tolower (), but any valid char type is valid as an
-   index and returns identity if not an upper-case character.  */
-
-char ffesrc_tolower_[256];
-
 /* This array is set up so that, given a source-mapped character, the result
    of indexing into this array will match an upper-cased character depending
    on the source-mapped character's case and the established ffe_case_match()
@@ -113,18 +103,10 @@ ffesrc_init_1 ()
       ffesrc_char_match_noninit_[i] = i;
       ffesrc_char_source_[i] = i;
       ffesrc_char_internal_init_[i] = i;
-      ffesrc_toupper_[i] = i;
-      ffesrc_tolower_[i] = i;
       ffesrc_bad_symbol_init_[i] = FFEBAD;
       ffesrc_bad_symbol_noninit_[i] = FFEBAD;
     }
 
-  for (i = 'A'; i <= 'Z'; ++i)
-    ffesrc_tolower_[i] = TOLOWER (i);
-
-  for (i = 'a'; i <= 'z'; ++i)
-    ffesrc_toupper_[i] = TOUPPER (i);
-
   ffesrc_check_symbol_ = (ffe_case_symbol () != FFE_caseNONE);
 
   ffesrc_ok_match_init_upper_ = (ffe_case_match () != FFE_caseLOWER);
@@ -230,8 +212,8 @@ ffesrc_strcmp_1ns2i (ffeCase mcase, const char *var, int len,
       for (; len > 0; --len, ++var, ++str_ic)
        {
          c = ffesrc_char_source (*var);        /* Transform source. */
-         c = ffesrc_toupper (c);       /* Upcase source. */
-         d = ffesrc_toupper (*str_ic); /* Upcase InitialCaps char. */
+         c = TOUPPER (c);                      /* Upcase source. */
+         d = TOUPPER (*str_ic);                /* Upcase InitialCaps char. */
          if (c != d)
            {
              if ((d != '\0') && (c < d))
@@ -246,7 +228,7 @@ ffesrc_strcmp_1ns2i (ffeCase mcase, const char *var, int len,
       for (; len > 0; --len, ++var, ++str_ic)
        {
          c = ffesrc_char_source (*var);        /* Transform source. */
-         d = ffesrc_toupper (*str_ic); /* Transform InitialCaps char. */
+         d = TOUPPER (*str_ic);        /* Transform InitialCaps char. */
          if (c != d)
            {
              if ((d != '\0') && (c < d))
@@ -261,7 +243,7 @@ ffesrc_strcmp_1ns2i (ffeCase mcase, const char *var, int len,
       for (; len > 0; --len, ++var, ++str_ic)
        {
          c = ffesrc_char_source (*var);        /* Transform source. */
-         d = ffesrc_tolower (*str_ic); /* Transform InitialCaps char. */
+         d = TOLOWER (*str_ic);        /* Transform InitialCaps char. */
          if (c != d)
            {
              if ((d != '\0') && (c < d))
@@ -279,14 +261,14 @@ ffesrc_strcmp_1ns2i (ffeCase mcase, const char *var, int len,
          d = *str_ic;          /* No transform of InitialCaps char. */
          if (c != d)
            {
-             c = ffesrc_toupper (c);
-             d = ffesrc_toupper (d);
+             c = TOUPPER (c);
+             d = TOUPPER (d);
              while ((len > 0) && (c == d))
                {               /* Skip past equivalent (case-ins) chars. */
                  --len, ++var, ++str_ic;
                  if (len > 0)
-                   c = ffesrc_toupper (*var);
-                 d = ffesrc_toupper (*str_ic);
+                   c = TOUPPER (*var);
+                 d = TOUPPER (*str_ic);
                }
              if ((d != '\0') && (c < d))
                return -1;
@@ -323,7 +305,7 @@ ffesrc_strcmp_2c (ffeCase mcase, const char *var, const char *str_uc,
     case FFE_caseNONE:
       for (; *var != '\0'; ++var, ++str_uc)
        {
-         c = ffesrc_toupper (*var);    /* Upcase source. */
+         c = TOUPPER (*var);   /* Upcase source. */
          if (c != *str_uc)
            {
              if ((*str_uc != '\0') && (c < *str_uc))
@@ -349,11 +331,11 @@ ffesrc_strcmp_2c (ffeCase mcase, const char *var, const char *str_uc,
        {
          if (*var != *str_ic)
            {
-             c = ffesrc_toupper (*var);
+             c = TOUPPER (*var);
              while ((c != '\0') && (c == *str_uc))
                {               /* Skip past equivalent (case-ins) chars. */
                  ++var, ++str_uc;
-                 c = ffesrc_toupper (*var);
+                 c = TOUPPER (*var);
                }
              if ((*str_uc != '\0') && (c < *str_uc))
                return -1;
@@ -393,7 +375,7 @@ ffesrc_strncmp_2c (ffeCase mcase, const char *var, const char *str_uc,
     case FFE_caseNONE:
       for (; len > 0; ++var, ++str_uc, --len)
        {
-         c = ffesrc_toupper (*var);    /* Upcase source. */
+         c = TOUPPER (*var);   /* Upcase source. */
          if (c != *str_uc)
            {
              if (c < *str_uc)
@@ -417,12 +399,12 @@ ffesrc_strncmp_2c (ffeCase mcase, const char *var, const char *str_uc,
        {
          if (*var != *str_ic)
            {
-             c = ffesrc_toupper (*var);
+             c = TOUPPER (*var);
              while ((len > 0) && (c == *str_uc))
                {               /* Skip past equivalent (case-ins) chars. */
                  --len, ++var, ++str_uc;
                  if (len > 0)
-                   c = ffesrc_toupper (*var);
+                   c = TOUPPER (*var);
                }
              if ((len > 0) && (c < *str_uc))
                return -1;
index 7ba03e0a4044f1a887f1a08bfc9254d06538c3a5..666bd853056d7f00f533d1aed2606dd07e64b056 100644 (file)
@@ -33,8 +33,6 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 #include "bad.h"
 #include "top.h"
 
-extern char ffesrc_toupper_[256];
-extern char ffesrc_tolower_[256];
 extern char ffesrc_char_match_init_[256];
 extern char ffesrc_char_match_noninit_[256];
 extern char ffesrc_char_source_[256];
@@ -136,8 +134,6 @@ int ffesrc_strncmp_2c (ffeCase mcase, const char *var, const char *str_uc,
 #define ffesrc_terminate_2()
 #define ffesrc_terminate_3()
 #define ffesrc_terminate_4()
-#define ffesrc_toupper(c) (ffesrc_toupper_[(unsigned int) (c)])
-#define ffesrc_tolower(c) (ffesrc_tolower_[(unsigned int) (c)])
 
 /* End of #include file. */
 
index 3e0d185ae16f492a2b02ca843f3fb5f7cef7c2ab..05e70089461157e9d9d609315e656f0ccd7a0e8b 100644 (file)
@@ -156,7 +156,7 @@ emit_gnu_type ( text, rm )
     char* pD = z_TYPE;
 
     while (ps < pe)
-      *(pD++) = toupper( *(pd++) = *(ps++) );
+      *(pD++) = TOUPPER( *(pd++) = *(ps++) );
 
     *pD = *pd = NUL;
   }
@@ -612,20 +612,16 @@ FIX_PROC_HEAD( wrap_fix )
                 "wrap-fix" );
 
   for (;;) {
-    char ch = *(pz_src++);
+    char ch = *pz_src++;
 
-    if (ISLOWER (ch))
-      *(pz_dst++) = TOUPPER ( ch );
-
-    else if (ISALNUM ( ch ))
-      *(pz_dst++) = ch;
-
-    else if (ch == NUL) {
-      *(pz_dst++) = ch;
+    if (ch == NUL) {
+      *pz_dst++ = ch;
       break;
+    } else if (! ISALNUM (ch)) {
+      *pz_dst++ = '_';
+    } else {
+      *pz_dst++ = TOUPPER (ch);
     }
-    else
-      *(pz_dst++) = '_';
 
     if (++len >= sizeof( z_fixname )) {
       void* p = xmalloc( len + strlen( pz_src ) + 1 );
index 206b04f405c7ca82f9526089e2a5ab612efe8ffc..195dbfe4de644777e471c5eeaf2e68c8d9a4fcaa 100644 (file)
@@ -771,14 +771,8 @@ extract_quoted_files (pz_data, pz_fixed_file, p_re_match)
       pz_incl_quot += p_re_match->rm_so;
 
       /*  Skip forward to the included file name */
-      while (ISSPACE (*pz_incl_quot))
+      while (*pz_incl_quot != '"')
         pz_incl_quot++;
-      /* ISSPACE() may evaluate its argument more than once!  */
-      while (++pz_incl_quot, ISSPACE (*pz_incl_quot))
-        ;
-      pz_incl_quot += sizeof ("include") - 1;
-      while (*pz_incl_quot++ != '"')
-        ;
 
       if (quoted_file_exists (pz_src_dir, pz_fixed_file, pz_incl_quot))
         {
index 1c8b3a09d5e1155dabebd887167b55ce06252cff..4b71a4dd2f9be98728fd06e4b34e281395fa7645 100644 (file)
@@ -198,50 +198,10 @@ init_syntax_once ()
 /* GCC LOCAL: call it gnu-regex.h, not regex.h, to avoid name conflicts */
 #include "gnu-regex.h"
 
-/* isalpha etc. are used for the character classes.  */
-#include <ctype.h>
-
-/* Jim Meyering writes:
-
-   "... Some ctype macros are valid only for character codes that
-   isascii says are ASCII (SGI's IRIX-4.0.5 is one such system --when
-   using /bin/cc or gcc but without giving an ansi option).  So, all
-   ctype uses should be through macros like ISPRINT...  If
-   STDC_HEADERS is defined, then autoconf has verified that the ctype
-   macros don't need to be guarded with references to isascii. ...
-   Defining isascii to 1 should let any compiler worth its salt
-   eliminate the && through constant folding."
-   Solaris defines some of these symbols so we must undefine them first.  */
-
-#undef ISASCII
-#if defined STDC_HEADERS || (!defined isascii && !defined HAVE_ISASCII)
-# define ISASCII(c) 1
-#else
-# define ISASCII(c) isascii(c)
-#endif
-
-#ifdef isblank
-# define ISBLANK(c) (ISASCII (c) && isblank (c))
-#else
-# define ISBLANK(c) ((c) == ' ' || (c) == '\t')
-#endif
-#ifdef isgraph
-# define ISGRAPH(c) (ISASCII (c) && isgraph (c))
-#else
-# define ISGRAPH(c) (ISASCII (c) && isprint (c) && !isspace (c))
-#endif
-
-#undef ISPRINT
-#define ISPRINT(c) (ISASCII (c) && isprint (c))
-#define ISDIGIT(c) (ISASCII (c) && isdigit (c))
-#define ISALNUM(c) (ISASCII (c) && isalnum (c))
-#define ISALPHA(c) (ISASCII (c) && isalpha (c))
-#define ISCNTRL(c) (ISASCII (c) && iscntrl (c))
-#define ISLOWER(c) (ISASCII (c) && islower (c))
-#define ISPUNCT(c) (ISASCII (c) && ispunct (c))
-#define ISSPACE(c) (ISASCII (c) && isspace (c))
-#define ISUPPER(c) (ISASCII (c) && isupper (c))
-#define ISXDIGIT(c) (ISASCII (c) && isxdigit (c))
+/* ISALPHA etc. are used for the character classes.  */
+/* GCC LOCAL: use libiberty's safe-ctype.h, don't bother defining
+   wrapper macros ourselves.  */
+#include <safe-ctype.h>
 
 #ifndef NULL
 # define NULL (void *)0
@@ -5613,7 +5573,7 @@ regcomp (preg, pattern, cflags)
 
       /* Map uppercase characters to corresponding lowercase ones.  */
       for (i = 0; i < CHAR_SET_SIZE; i++)
-        preg->translate[i] = ISUPPER (i) ? tolower (i) : i;
+        preg->translate[i] = TOLOWER (i);
     }
   else
     preg->translate = NULL;
index 9ca56a33576bd69cfb4c186a746d8c36130872e8..edfa93930a09636b90b4fecce9723d231e055c70 100644 (file)
@@ -1,3 +1,7 @@
+2000-12-07  Zack Weinberg  <zack@wolery.stanford.edu>
+
+       * jvgenmain.c: Use ISPRINT not isascii.
+
 2000-12-06  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * parse.y (end_artificial_method_body): Fixed typo.
@@ -181,7 +185,7 @@ Thu Nov 23 02:19:14 2000  J"orn Rennecke <amylaar@redhat.com>
        is being accessed as an outer field.
 
 2000-10-29  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
        * Make-lang.in (LIBGCJ_ZIP_FILE): Define with `$(prefix)'.
        Fixes gcj/365.
 
@@ -231,7 +235,7 @@ Thu Nov 23 02:19:14 2000  J"orn Rennecke <amylaar@redhat.com>
 2000-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * gjavah.c (NEED_PEEK_ATTRIBUTE, NEED_SKIP_ATTRIBUTE): Define
-       
+
        * jcf-reader.c (peek_attribute, skip_attribute): Only define
        when requested.
 
@@ -299,7 +303,7 @@ Thu Nov 23 02:19:14 2000  J"orn Rennecke <amylaar@redhat.com>
        (build_outer_field_access): Access to this$<n> built from
        current_class, not its outer context.
        (build_access_to_thisn): Fixed leading comment. Tidied things up.
-       (resolve_qualified_expression_name): Handle `T.this' and `T.this.f()'. 
+       (resolve_qualified_expression_name): Handle `T.this' and `T.this.f()'.
        (patch_method_invocation): Use `is_static_flag' when already
        initialized.
        (patch_newarray): Removed assignment in ternary operator.
@@ -349,23 +353,23 @@ Thu Nov 23 02:19:14 2000  J"orn Rennecke <amylaar@redhat.com>
        on local finals.
        (java_complete_expand_methods): Loop to set
        TYPE_HAS_FINAL_VARIABLE. Call
-       `reset_final_variable_local_assignment_flag' and 
+       `reset_final_variable_local_assignment_flag' and
        `check_final_variable_local_assignment_flag' accordingly before
        and after constructor expansion. Call
        `reset_static_final_variable_assignment_flag'
-       before expanding <clinit> and after call 
+       before expanding <clinit> and after call
        `check_static_final_variable_assignment_flag' if the
        current_class isn't an interface. After all methods have been
        expanded, call `check_final_variable_global_assignment_flag' and
        `check_static_final_variable_assignment_flag' if the current class
-       is an interface. 
+       is an interface.
        (maybe_yank_clinit): Fixed typo in comment.
        (build_outer_field_access_methods): Removed old sanity check. Use
        FIELD_INNER_ACCESS_P. Call MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC.
        Don't create access methods for finals.
        (resolve_field_access): Use `CLASS_FINAL_VARIABLE_P'.
        (java_complete_tree): Likewise. Reset DECL_FIELD_FINAL_IUD if
-       existing DECL_INIT has been processed. 
+       existing DECL_INIT has been processed.
        (java_complete_lhs): Likewise.
        (check_final_assignment): Filter input on `lvalue''s TREE_CODE.
        Test for COMPONENT_REF to get to the FIELD_DECL. Implemented new
@@ -378,7 +382,7 @@ Thu Nov 23 02:19:14 2000  J"orn Rennecke <amylaar@redhat.com>
 2000-10-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * Make-lang.in (parse.c, parse-scan.c): Create atomically.
-       
+
        * Makefile.in (parse.c, parse-scan.c): Likewise.
 
 2000-10-12  Mark Mitchell  <mark@codesourcery.com>
@@ -452,7 +456,7 @@ Thu Nov 23 02:19:14 2000  J"orn Rennecke <amylaar@redhat.com>
        * typeck.c (build_java_array_type): Likewise.
        (parse_signature_string): Likewise.
        (build_java_signature): Likewise.
-       
+
 2000-10-12  Tom Tromey  <tromey@cygnus.com>
 
        Fix for PR gcj/356:
@@ -591,7 +595,7 @@ Wed Sep 13 11:50:35 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        * parse.y (goal): Add more roots.
        (mark_parser_ctxt): New function.
        * typeck.c: Include ggc.h.
-       
+
 2000-09-29  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * parse.y (maybe_yank_clinit): Also keep <clinit> if its body
@@ -659,7 +663,7 @@ Wed Sep 13 11:50:35 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (class_in_current_package): Likewise.
        (argument_types_convertible): Likewise.
        (patch_cast): Rename wfl_op parameter to avoid macro conflicts.
-       
+
 2000-09-14  Tom Tromey  <tromey@cygnus.com>
 
        * lex.h: Use HAVE_ICONV_H, not HAVE_ICONV.
@@ -753,7 +757,7 @@ Wed Sep 13 11:50:35 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 2000-08-15  Bryce McKinlay  <bryce@albatross.co.nz>
 
-       * parse.y (do_resolve_class): Also explore superclasses of 
+       * parse.y (do_resolve_class): Also explore superclasses of
        intermediate enclosing contexts when searching for inner classes.
 
 2000-08-11  Alexandre Petit-Bianco  <apbianco@cygnus.com>
@@ -774,7 +778,7 @@ Wed Sep 13 11:50:35 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        a multiple-word record.
        (get_boehm_type_descriptor): Use the procedure marking descriptor for
        java.lang.Class.
-       
+
 2000-08-31  Mike Stump  <mrs@wrs.com>
 
        * Make-lang.in (jc1$(exeext), gcjh$(exeext), jv-scan$(exeext),
@@ -813,7 +817,7 @@ Wed Sep 13 11:50:35 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        combining to make a jlong. Fixes gcj/321.
 
 2000-08-21  Nix  <nix@esperi.demon.co.uk>
-        
+
        * lang-specs.h: Do not process -o or run the assembler if
        -fsyntax-only.
 
@@ -981,7 +985,7 @@ Sun Aug  6 00:47:24 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
        target interface.
 
 2000-07-27  Tom Tromey  <tromey@cygnus.com>
-            Anthony Green  <green@cygnus.com>
+           Anthony Green  <green@cygnus.com>
            Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * class.c (make_class_data): Create vtable for abstract classes.
@@ -1043,13 +1047,13 @@ Sun Aug  6 00:47:24 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
 
 2000-07-19  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * parse.y (simple_name:): Reject `$' in type names.
+       * parse.y (simple_name:): Reject `$' in type names.
        (resolve_type_during_patch): Use `type' as a second
        argument to resolve_no_layout. Fixes gcj/257.
 
 2000-07-18  Bryce McKinlay  <bryce@albatross.co.nz>
 
-       * parse.y (find_most_specific_methods_list): Select the only 
+       * parse.y (find_most_specific_methods_list): Select the only
        non-abstract method even if max has been set.
        Fixes gcj/285, gcj/298.
 
@@ -1168,10 +1172,10 @@ Sun Aug  6 00:47:24 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
 
 2000-07-02  Bryce McKinlay  <bryce@albatross.co.nz>
 
-        * gjavah.c (HANDLE_METHOD): Call print_method_info with a NULL stream
-        argument on the first pass for CNI as well as JNI.
-        (print_method_info): Set up method name on the first pass only.
-       
+       * gjavah.c (HANDLE_METHOD): Call print_method_info with a NULL stream
+       argument on the first pass for CNI as well as JNI.
+       (print_method_info): Set up method name on the first pass only.
+
 2000-07-01  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * parse.y (parser_qualified_classname): Removed parameter
@@ -1295,7 +1299,7 @@ Sun Aug  6 00:47:24 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
 
        * java-tree.h (LABEL_RETURN_LABELS, LABEL_PENDING_CHAIN):  Don't
        define in terms of DECL_RESULT, as that fails when --enable-checking.
-       
+
 2000-06-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * jcf-write.c (CHECK_PUT): Add static prototype.  Make pointer
@@ -1422,7 +1426,7 @@ Fri Jun  2 16:48:55 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        * parse.y (resolve_field_access): Call the appropriate <clinit>
        before accessing the length of a static array. Craft a decl for
        the field while its time. Fixes PR gcj/129.
+
 2000-05-01  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * parse.y (resolve_package): Correctly set `*next' (was off by
@@ -1431,7 +1435,7 @@ Fri Jun  2 16:48:55 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 Thu Apr 27 17:47:34 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-       * jcf-parse.c (jcf_parse_source): Reset current_class and 
+       * jcf-parse.c (jcf_parse_source): Reset current_class and
        current_function_decl to NULL before parsing a new file.
 
 Thu Apr 27 17:25:33 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
@@ -1441,11 +1445,11 @@ Thu Apr 27 17:25:33 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 2000-04-17  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * parse.y (maybe_yank_clinit): New function.
-        (maybe_generate_pre_expand_clinit): Always link <clinit> at the
-        end of the list of methods belonging to a class.
-        (java_complete_expand_method): Check whether <clinit> is really
-        necessary and expand it accordingly.
+       * parse.y (maybe_yank_clinit): New function.
+       (maybe_generate_pre_expand_clinit): Always link <clinit> at the
+       end of the list of methods belonging to a class.
+       (java_complete_expand_method): Check whether <clinit> is really
+       necessary and expand it accordingly.
 
 2000-04-17  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
@@ -1613,8 +1617,8 @@ Mon Apr 24 14:59:36 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 2000-04-24  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * parse.y (source_start_java_method): Deleted unecessary code.
-        (patch_method_invocation): Fixed comment.
+       * parse.y (source_start_java_method): Deleted unecessary code.
+       (patch_method_invocation): Fixed comment.
 
 2000-04-24  Robert Lipe <robertlipe@usa.net>
 
@@ -1690,12 +1694,12 @@ Thu Apr 20 18:20:58 2000  Jason Schroeder  <shrode@subnature.com>
 
 2000-04-17  Bryce McKinlay  <bryce@albatross.co.nz>
 
-       * gjavah.c (print_name_for_stub_or_jni): Don't prefix method names 
+       * gjavah.c (print_name_for_stub_or_jni): Don't prefix method names
        with a newline, for CNI.
-       (print_stub_or_jni): Print a space or newline before method name for 
+       (print_stub_or_jni): Print a space or newline before method name for
        CNI as well as JNI.
        (print_cxx_classname): Don't write leading "::" in CNI stub method.
-       (process_file): Include gcj/cni.h if generating CNI stubs.      
+       (process_file): Include gcj/cni.h if generating CNI stubs.
 
 2000-04-16  Tom Tromey  <tromey@cygnus.com>
 
@@ -1714,7 +1718,7 @@ Thu Apr 20 18:20:58 2000  Jason Schroeder  <shrode@subnature.com>
 
        * jcf-write.c (generate_bytecode_insns): At invokation time,
        always relate an interface method to the type of its selector.
-       
+
 2000-04-05  Tom Tromey  <tromey@cygnus.com>
 
        Fix for PR gcj/2:
@@ -1885,7 +1889,7 @@ Fri Mar 17 08:09:14 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * expr.c (java_array_data_offset): Use int_bit_position.
        (build_newarray, build_anewarray): Use host_integerp and tree_low_cst.
        (build_invokevirtual): Use tree_low_cst and do computations with trees.
-       
+
 2000-03-16  Tom Tromey  <tromey@cygnus.com>
 
        * lang.c (flag_hash_synchronization): New global.
@@ -1952,8 +1956,8 @@ Tue Mar 14 17:15:41 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 2000-02-14  Andrew Haley  <aph@cygnus.com>
 
-        * check-init.c (check_init): Add new cases for unary and binary
-        tree nodes.
+       * check-init.c (check_init): Add new cases for unary and binary
+       tree nodes.
 
 2000-03-13  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
@@ -2004,7 +2008,7 @@ Mon Mar 13 11:36:51 2000  Hans Boehm <boehm@acm.org>
 
        * parse.y (qualify_ambiguous_name): Properly handle expressions
        using `null'.
-       
+
 2000-03-07  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * parse.y (check_final_assignment): Extended to process
@@ -2018,7 +2022,7 @@ Mon Mar 13 11:36:51 2000  Hans Boehm <boehm@acm.org>
        * parse.y (patch_string): Call force_evaluation_order on the
        completed string concatenation tree.
        * expr.c (force_evaluation_order): Call force_evaluation_order on
-        function's arguments too.
+       function's arguments too.
 
 Mon Mar  6 18:07:07 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
@@ -2099,7 +2103,7 @@ Thu Mar  2 15:18:33 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * java-tree.h (LOCAL_CLASS_P): New flag usage and macro.
        (PURE_INNER_CLASS_DECL_P, PURE_INNER_CLASS_TYPE_P): New macros.
-       * jcf-dump.c (HANDLE_INNERCLASSES_ATTRIBUTE): New macro.  
+       * jcf-dump.c (HANDLE_INNERCLASSES_ATTRIBUTE): New macro.
        * jcf-parse.c (HANDLE_INNERCLASSES_ATTRIBUTE): Likewise.
        (jcf_parse): New local `current'. Load innerclasses seen in outer
        context being processed.
@@ -2241,7 +2245,7 @@ Thu Feb 17 13:20:58 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 2000-02-16  Zack Weinberg  <zack@wolery.cumb.org>
 
        * Makefile.in (PARSE_C, PARSE_SCAN_C): Move dependencies on
-       lex.c, lex.h, and PARSE_H to...                            
+       lex.c, lex.h, and PARSE_H to...
        (parse.o, parse-scan.o): ...here, respectively.
 
        * lex.c: Split out code that may trigger SIGFPE from yylex()
@@ -2275,7 +2279,7 @@ Thu Feb 17 13:20:58 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (jcf-dump.o, gjavah.o, jv-scan.o): Depend on version.h.
 
        * gjavah.c: Include version.h.
-       
+
        * jcf-dump.c: Likewise.
 
        * jv-scan.c: Likewise.
@@ -2332,22 +2336,22 @@ Thu Feb 10 12:52:09 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 2000-02-09  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * class.c (layout_class): Set and test CLASS_BEING_LAIDOUT.
-        Generate error message if circularity is detected. New static
-        local `list'.
-        * java-tree.h (CLASS_BEING_LAIDOUT): New flag usage, new macro.  *
-        * jcf-write.c (generate_bytecode_insns): Very simply handle
-        SAVE_EXPR.
-        * parse.y (java_check_circular_reference): Use
-        `cyclic_inheritance_report' during report, if necessary.
-        (java_complete_lhs): fixed comment with `THROW_EXPR:' case. Avoid
-        walking NEW_ARRAY_INIT twice.
+       * class.c (layout_class): Set and test CLASS_BEING_LAIDOUT.
+       Generate error message if circularity is detected. New static
+       local `list'.
+       * java-tree.h (CLASS_BEING_LAIDOUT): New flag usage, new macro.  *
+       * jcf-write.c (generate_bytecode_insns): Very simply handle
+       SAVE_EXPR.
+       * parse.y (java_check_circular_reference): Use
+       `cyclic_inheritance_report' during report, if necessary.
+       (java_complete_lhs): fixed comment with `THROW_EXPR:' case. Avoid
+       walking NEW_ARRAY_INIT twice.
 
 2000-02-09  Tom Tromey  <tromey@cygnus.com>
 
-        * parse.y (check_class_interface_creation): Allow inner classes to
-        be `private' or `protected', check modifiers' consistency. Prevent
-        block local classes from bearing any modifiers.
+       * parse.y (check_class_interface_creation): Allow inner classes to
+       be `private' or `protected', check modifiers' consistency. Prevent
+       block local classes from bearing any modifiers.
 
 2000-02-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
@@ -2361,30 +2365,30 @@ Thu Feb 10 12:52:09 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (maybe_poplevels): Remove unused variable.
        (force_poplevels): Ditto.
        (struct binding_level): Add comment.
-       
+
 2000-02-07  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * jcf-write.c (generate_classfile): Don't consider
-        pre-initialization with reference value (use <clinit> instead.)
-        * parse.y (java_fix_constructors): No generated constructor for
-        interfaces.
-        (build_outer_field_access): Removed debug message.
-        (outer_field_expanded_access_p): Adapted to bytecode generation.
-        (build_outer_field_access_method): Use fix_method_argument_names.
-        (build_outer_method_access_method): Fixed indentation. Added
-        comment. Handle access method generation for static and also void
-        methods.
-        (build_access_to_thisn): Inserted debug message.
-        (maybe_build_thisn_access_method): Use fix_method_argument_names.
-        (resolve_qualified_expression_name): Fixed comment.
-        (not_accessible_p): Adapted to bytecode generation. Added comment.
-        (patch_method_invocation): Added comment.
-        (maybe_use_access_method): Fixed leading comment. Handle static
-        methods.
-        (java_complete_lhs): Don't shortcut handling of initialized upon
-        declaration String type static fields when generating bytecode.
-        (patch_unaryop): Handle outer field access when generating
-        bytecode.
+       * jcf-write.c (generate_classfile): Don't consider
+       pre-initialization with reference value (use <clinit> instead.)
+       * parse.y (java_fix_constructors): No generated constructor for
+       interfaces.
+       (build_outer_field_access): Removed debug message.
+       (outer_field_expanded_access_p): Adapted to bytecode generation.
+       (build_outer_field_access_method): Use fix_method_argument_names.
+       (build_outer_method_access_method): Fixed indentation. Added
+       comment. Handle access method generation for static and also void
+       methods.
+       (build_access_to_thisn): Inserted debug message.
+       (maybe_build_thisn_access_method): Use fix_method_argument_names.
+       (resolve_qualified_expression_name): Fixed comment.
+       (not_accessible_p): Adapted to bytecode generation. Added comment.
+       (patch_method_invocation): Added comment.
+       (maybe_use_access_method): Fixed leading comment. Handle static
+       methods.
+       (java_complete_lhs): Don't shortcut handling of initialized upon
+       declaration String type static fields when generating bytecode.
+       (patch_unaryop): Handle outer field access when generating
+       bytecode.
 
 Thu Feb  3 20:23:19 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
@@ -2400,31 +2404,31 @@ Thu Feb  3 20:23:19 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 2000-01-25  Andrew Haley  <aph@cygnus.com>
 
-        * java-except.h (struct eh_range): Add `expanded' field.
-        (maybe_start_try): Add end_pc arg.
-        (maybe_end_try): Ditto.
+       * java-except.h (struct eh_range): Add `expanded' field.
+       (maybe_start_try): Add end_pc arg.
+       (maybe_end_try): Ditto.
        * java-tree.h (force_poplevels): new function.
-        * expr.c (expand_byte_code): Don't call maybe_start_try or
-        maybe_end_try.
-        * except.c (add_handler): Reset expanded.
-        (expand_start_java_handler): Set expanded.
-        (check_start_handlers): Don't expand a start handler that's
-        already been expanded.
-        (maybe_start_try): Add end_pc arg.  Only expand a handler which
-        ends after end_pc.
+       * expr.c (expand_byte_code): Don't call maybe_start_try or
+       maybe_end_try.
+       * except.c (add_handler): Reset expanded.
+       (expand_start_java_handler): Set expanded.
+       (check_start_handlers): Don't expand a start handler that's
+       already been expanded.
+       (maybe_start_try): Add end_pc arg.  Only expand a handler which
+       ends after end_pc.
        (expand_end_java_handler): call force_poplevels.
        (force_poplevels): new function.
-        * decl.c (binding_level): Add start_pc of binding level.
-        (maybe_pushlevels): Call maybe_start_try when pushing binding
-        levels.
-        (maybe_poplevels): Call maybe_end_try when popping binding levels.
-        (LARGEST_PC): Define.
-        (clear_binding_level): Use LARGEST_PC.
+       * decl.c (binding_level): Add start_pc of binding level.
+       (maybe_pushlevels): Call maybe_start_try when pushing binding
+       levels.
+       (maybe_poplevels): Call maybe_end_try when popping binding levels.
+       (LARGEST_PC): Define.
+       (clear_binding_level): Use LARGEST_PC.
 
        * java-tree.h (DEBUG_JAVA_BINDING_LEVELS): new define.
        * decl.c (DEBUG_JAVA_BINDING_LEVELS): new define.
        (binding_depth, is_class_level, current_pc): new variables.
-        (struct binding_level): ditto.
+       (struct binding_level): ditto.
        (indent): new function.
        (push_jvm_slot): add debugging info.
        (maybe_pushlevels): ditto.
@@ -2433,11 +2437,11 @@ Thu Feb  3 20:23:19 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (poplevel): ditto.
        (start_java_method): ditto.
        (give_name_to_locals): comment only.
-       * except.c (binding_depth, is_class_level, current_pc): 
+       * except.c (binding_depth, is_class_level, current_pc):
        new variables.
        (expand_start_java_handler): add debugging info.
        (expand_end_java_handler): ditto.
-       
+
 2000-02-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * gjavah.c (overloaded_jni_method_exists_p): Add prototype.
@@ -2483,7 +2487,7 @@ Wed Feb  2 18:43:37 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (patch_return): Forbid return in instance initializers.
        (patch_throw_statement): Enforce exception handling in the context
        of instance initializers.
-       
+
 2000-02-03  Tom Tromey  <tromey@cygnus.com>
 
        * Make-lang.in (java.mostlyclean): Remove executables in
@@ -2565,7 +2569,7 @@ Tue Feb  1 14:59:35 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (SKIP_THIS_AND_ARTIFICIAL_PARMS): Use DECL_FINIT_P.
        (AIPL_FUNCTION_FINIT_INVOCATION): Replaces
        AIPL_FUNCTION_COMPLETED_INVOCATION.
-       (AIPL_FUNCTION_CTOR_INVOCATION): Replaces 
+       (AIPL_FUNCTION_CTOR_INVOCATION): Replaces
        AIPL_FUNCTION_INVOCATION_READY.
        (AIPL_FUNCTION_DECLARATION): New enum entry.
        * parse.y (reorder_static_initialized): New function.
@@ -2591,7 +2595,7 @@ Tue Feb  1 14:59:35 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (fix_constructors): Don't patch constructor parameters list.
        (patch_method_invocation): Use new AIPL enum values. Reverse
        alias initializer list for anonymous classes.
-       
+
 2000-01-30  Anthony Green  <green@redhat.com>
 
        * jcf-write.c (generate_bytecode_insns): Use TYPE_IS_WIDE to
@@ -2671,9 +2675,9 @@ Fri Jan 28 20:10:57 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 2000-01-27  Andrew Haley  <aph@cygnus.com>
 
-        * jcf-write.c (emit_goto): RESERVE 3 bytes for insn.
-        (emit_if): Ditto.
-        (emit_jsr): Ditto.
+       * jcf-write.c (emit_goto): RESERVE 3 bytes for insn.
+       (emit_if): Ditto.
+       (emit_jsr): Ditto.
 
 2000-01-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
@@ -2724,7 +2728,7 @@ Fri Jan 28 20:10:57 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        * xref.h: Likewise.
        * zextract.c: Likewise.
        * zipfile.h: Likewise.
-       
+
 2000-01-18  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * class.c (make_class): Use MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC.
@@ -2779,7 +2783,7 @@ Fri Jan 28 20:10:57 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        * typeck.c (build_java_signature): Use TYPE_SIGNATURE and
        MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC.
        (set_java_signature): Likewise.
-       
+
 Mon Jan 18 14:30:09 2000  Joerg Brunsmann  <joerg.brunsmann@fernuni-hagen.de>
 
        * gjavah.c: Delete ACC_VISIBILITY define.
@@ -2850,7 +2854,7 @@ Fri Jan 14 00:14:24 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        constructors.
        (search_loop): Use FOR_LOOP_P.
        (labeled_block_contains_loop_p): Likewise.
-       
+
 Wed Jan 12 00:38:47 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * class.c (set_super_info): Set CLASS_STATIC when appropriate.
@@ -2861,7 +2865,7 @@ Wed Jan 12 00:38:47 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (layout_class_method): Use ID_FINIT_P, DECL_CLINIT_P and
        ID_INIT_P.
        * decl.c (access0_identifier_node): New global.
-       (init_decl_processing): access0_identifier_node initialized. 
+       (init_decl_processing): access0_identifier_node initialized.
        (pushdecl): Set DECL_CONTEXT only on non type decls.
        * expr.c (lookup_field): Lookup inner class fields in enclosing
        contexts.
@@ -2895,7 +2899,7 @@ Wed Jan 12 00:38:47 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (GET_CPC_LIST, CPC_INNER_P, GET_CPC, GET_CPC_UN, GET_CPC_UN_MODE,
        GET_CPC_DECL_NODE, GET_ENCLOSING_CPC, GET_NEXT_ENCLOSING_CPC,
        GET_ENCLOSING_CPC_CONTEXT): New macros.
-       (PUSH_CPC, PUSH_ERROR, POP_CPC): New macros.    
+       (PUSH_CPC, PUSH_ERROR, POP_CPC): New macros.
        (do_resolve_class): Added extra argument in prototype.
        * parse.y (resolve_class): Added extra argument in prototype.
        (maybe_create_class_interface_decl): Likewise.
@@ -2957,7 +2961,7 @@ Wed Jan 12 00:38:47 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        parser context when processing an inner class. Push the
        initialized fields list. raw_name added as an extra argument to
        maybe_create_class_interface_decl. Add the private this$<n>
-       field. 
+       field.
        (duplicate_declaration_error_p): Use GET_CPC when calling find_field.
        (register_fields): Get the class type from GET_CPC and handle
        previous errors.  Added code to handle the creation of static
@@ -3026,7 +3030,7 @@ Wed Jan 12 00:38:47 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (check_thrown_exceptions): Use DECL_FINIT_P and DECL_INIT_P.
        * verify.c (verify_jvm_instructions): Use ID_CLINIT_P and
        ID_INIT_P.
-       
+
 2000-01-16  Anthony Green  <green@cygnus.com>
 
        * parse.y (build_string_concatenation): Only use
@@ -3062,7 +3066,7 @@ Thu Jan  6 00:54:10 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * jcf-write.c (generate_bytecode_conditional): Fixed indentation in
        method invocation and typo in conditional expression.
-        (generate_bytecode_insns): COND_EXPR can be part of a binop. Issue
+       (generate_bytecode_insns): COND_EXPR can be part of a binop. Issue
        the appropriate NOTE_POP.
        * parse.y (patch_binop): Shift value mask to feature the right
        type.
@@ -3092,7 +3096,7 @@ Thu Jan  6 00:54:10 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        * jcf-parse.c (yyparse): Likewise.
 
        * jv-scan.c (main): Likewise.
-       
+
 1999-12-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * parse.h (ABSTRACT_CHECK, JCONSTRUCTOR_CHECK,
@@ -3147,8 +3151,8 @@ Fri Dec 24 00:25:29 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (java_debug_context_do): New prototype and function.
        (java_debug_context): Likewise.
        (do_resolve_class): Use already parsed package names to qualify
-       and lookup class candidate. 
-       (java_pre_expand_clinit): Removed unnecessary local variable.   
+       and lookup class candidate.
+       (java_pre_expand_clinit): Removed unnecessary local variable.
 
 1999-12-17  Tom Tromey  <tromey@cygnus.com>
 
@@ -3162,7 +3166,7 @@ Thu Dec 16 00:09:45 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        attempting to use it.
        (expand_java_field_op): Allow final field assignments to take
        place in $finit$.
-       * typeck.c (convert): Return error_mark_node if expr is null. 
+       * typeck.c (convert): Return error_mark_node if expr is null.
 
 1999-12-14  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
@@ -3188,7 +3192,7 @@ Thu Dec 16 00:09:45 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        decl argument instead of current_class.
        * typeck.c (lookup_java_method): Take WFLs in method names into
        account.
-       
+
 Tue Dec 14 14:20:16 1999  Per Bothner  <per@bothner.com>
 
        * class.c (make_class_data): flag_keep_inline_functions to keep
@@ -3197,12 +3201,12 @@ Tue Dec 14 14:20:16 1999  Per Bothner  <per@bothner.com>
 1999-12-15  Anthony Green  <green@cygnus.com>
 
        * check-init.c (check_init): Take into account both types of
-        `throw's when checking for uninitialized variables.
+       `throw's when checking for uninitialized variables.
 
 Fri Dec 10 21:53:45 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * parse.y (java_complete_lhs): Force convertion of array
-        dimensions to int_type_node, that's what runtime's ABI expects.
+       * parse.y (java_complete_lhs): Force convertion of array
+       dimensions to int_type_node, that's what runtime's ABI expects.
 
 Fri Dec 10 16:13:48 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
@@ -3216,16 +3220,16 @@ Fri Dec 10 16:13:48 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        decl.c (init_decl_processing): Add _Jv_Sjlj_Throw.
        expr.c (build_java_athrow): Add support for sjlj-exceptions.
        java-tree.h: Ditto.
-       jcf-write.c: Ditto.     
+       jcf-write.c: Ditto.
 
 Wed Dec  8 15:33:26 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * expr.c (java_lang_expand_expr): Switch to permanent obstack
-        before calling expand_eh_region_start and expand_start_all_catch.
-        * except.c (expand_start_java_handler): Switch to permanent
-        obstack before calling expand_eh_region_start.
-        (expand_end_java_handler): Switch to permanent obstack before
-        calling expand_start_all_catch.
+       * expr.c (java_lang_expand_expr): Switch to permanent obstack
+       before calling expand_eh_region_start and expand_start_all_catch.
+       * except.c (expand_start_java_handler): Switch to permanent
+       obstack before calling expand_eh_region_start.
+       (expand_end_java_handler): Switch to permanent obstack before
+       calling expand_start_all_catch.
 
 1999-12-5  Anthony Green  <green@cygnus.com>
 
@@ -3236,24 +3240,24 @@ Wed Dec  8 15:33:26 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 Wed Dec  1 04:25:06 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * except.c (expand_end_java_handler): Call
-        expand_resume_after_catch and end_catch_handler.
+       * except.c (expand_end_java_handler): Call
+       expand_resume_after_catch and end_catch_handler.
 
 Tue Nov 30 12:36:15 1999  Anthony Green  <green@cygnus.com>
 
-        * verify.c (verify_jvm_instructions): Create new return label
-        chain if non existant (don't rely on the verified state of the jsr
-        target.)
+       * verify.c (verify_jvm_instructions): Create new return label
+       chain if non existant (don't rely on the verified state of the jsr
+       target.)
 
 Tue Nov 30 12:28:34 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * jcf-write.c (generate_bytecode_insns): Fixed indentation for
-        COMPOUND_EXPR and FIX_TRUNC_EXPR cases.
+       * jcf-write.c (generate_bytecode_insns): Fixed indentation for
+       COMPOUND_EXPR and FIX_TRUNC_EXPR cases.
 
-        * parse.y (patch_assignment): Removed bogus final class test on
-        lhs when checking on whether to emit an ArrayStoreException runtime
-        check.
-        * expr.c (expand_java_arraystore): Likewise. 
+       * parse.y (patch_assignment): Removed bogus final class test on
+       lhs when checking on whether to emit an ArrayStoreException runtime
+       check.
+       * expr.c (expand_java_arraystore): Likewise.
 
 1999-11-28 Anthony Green <green@cygnus.com>
 
@@ -3262,9 +3266,9 @@ Tue Nov 30 12:28:34 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 Wed Nov 24 17:33:26 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * jcf-parse.c (saw_java_source): Global variable removed.
-        (read_class): Don't use `saw_java_source'. Added extra braces.
-        (yyparse): Code setting `saw_java_source' removed.
+       * jcf-parse.c (saw_java_source): Global variable removed.
+       (read_class): Don't use `saw_java_source'. Added extra braces.
+       (yyparse): Code setting `saw_java_source' removed.
 
 1999-11-24  Mark Mitchell  <mark@codesourcery.com>
 
@@ -3272,8 +3276,8 @@ Wed Nov 24 17:33:26 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 Tue Nov 23 17:29:40 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * verify.c (merge_type_state): Non verified subroutines being
-        considered more than once to trigger passive type merge.
+       * verify.c (merge_type_state): Non verified subroutines being
+       considered more than once to trigger passive type merge.
 
 Tue Nov 23 10:55:18 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
@@ -3306,7 +3310,7 @@ Wed Nov 17 21:09:28 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 Thu Nov 11 01:57:14 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * parse.y (lookup_method_invoke): Use lang_printable_name to
+       * parse.y (lookup_method_invoke): Use lang_printable_name to
        reliably build the type name during error report. Fixes PR gcj/97.
 
 1999-11-09  Tom Tromey  <tromey@cygnus.com>
@@ -3331,7 +3335,7 @@ Thu Nov  4 16:27:01 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * parse.y (resolve_qualified_expression_name): Handle PLUS_EXPR.
        (qualify_ambiguous_name): Likewise.
-       
+
 Wed Nov  3 15:20:02 MST 1999  Godmar Back <gback@cs.utah.edu>
 
        * typeck.c: (lookup_java_method):  search all inherited
@@ -3342,7 +3346,7 @@ Mon Nov  1 23:42:00 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        * parse.y (method_header:): Issue error message for rule `type
        error'.
        (synchronized:): Error report when not using synchronized.
-       
+
 Mon Nov  1 01:32:48 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * parse.y (resolve_qualified_expression_name): Prevent `this' from
@@ -3512,7 +3516,7 @@ Thu Sep 16 15:42:39 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        * jcf-io.c (open_in_zip, find_class): Use xstrdup, not strdup.
 
        * jcf-parse.c (jcf_out_of_synch, yyparse): Likewise.
-       
+
        * jcf-path.c (add_entry): Likewise.
 
        * jcf.h (ALLOC, REALLOC): Use xmalloc/xrealloc, not malloc/realloc.
@@ -3550,7 +3554,7 @@ Sun Sep 12 23:30:09 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
        (main_class_name, jvgenmain_spec, lang_specific_driver):
        Constify a char*.
        (lang_specific_driver): All calls to the function pointer
-       parameter now explicitly call `fatal'. 
+       parameter now explicitly call `fatal'.
 
 Sat Sep 11 16:46:44 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
@@ -3749,24 +3753,24 @@ Wed Aug 18 13:17:15 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 Tue Aug 17 22:51:44 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * parse.y (java_refold): Added prototype.
+       * parse.y (java_refold): Added prototype.
 
 Tue Aug 17 21:48:41 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * parse.y (BINOP_COMPOUND_CANDIDATES): New macro.
-        (java_stabilize_reference): Removed unnecessary `else'.
-        (java_complete_lhs): Set flag to remember boolean. Call
-        java_refold. Added comments.
-        (java_decl_equiv): New function.
-        (binop_compound_p): Likewise.
-        (java_refold): Likewise.
-        (patch_unaryop): Striped static field access assigned to decl and
-        op. Changed promotion scheme for ++/-- operators.
-        (search_loop): New function.
-        (labeled_block_contains_loop_p): Likewise.
-        (patch_loop_statement): Call labeled_block_contains_loop_p. Added
-        comment.
-        (patch_bc_statement): Call search_loop. Fixed comment.
+       * parse.y (BINOP_COMPOUND_CANDIDATES): New macro.
+       (java_stabilize_reference): Removed unnecessary `else'.
+       (java_complete_lhs): Set flag to remember boolean. Call
+       java_refold. Added comments.
+       (java_decl_equiv): New function.
+       (binop_compound_p): Likewise.
+       (java_refold): Likewise.
+       (patch_unaryop): Striped static field access assigned to decl and
+       op. Changed promotion scheme for ++/-- operators.
+       (search_loop): New function.
+       (labeled_block_contains_loop_p): Likewise.
+       (patch_loop_statement): Call labeled_block_contains_loop_p. Added
+       comment.
+       (patch_bc_statement): Call search_loop. Fixed comment.
 
 1999-08-14  Anthony Green  <green@cygnus.com>
 
@@ -3842,7 +3846,7 @@ Tue Aug   10 00:28:31 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
        static prototypes.
        (put_decl_string, lang_print_error): Constify a char*.
        (lang_init): Remove redundant extern prototype.
-       
+
        * mangle.c (emit_unicode_mangled_name): Constify a char*.
 
        * typeck.c (convert_ieee_real_to_integer, parse_signature_type):
@@ -3855,7 +3859,7 @@ Tue Aug   10 00:28:31 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
        (verify_jvm_instructions): Constify a char*.
 
        * xref.c (xref_flag_value): Likewise.
-       
+
        * xref.h (xref_flag_value): Likewise.
 
        * zextract.c (makeword, makelong): Add static prototypes.
@@ -3863,12 +3867,12 @@ Tue Aug 10 00:28:31 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
 1999-08-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-        * lang.c (java_dummy_print): Constify a char*.
-        (lang_print_error): Likewise.
-        (lang_init): Remove redundant prototype for `print_error_function'.
-        (lang_init_source): Likewise.
-        (lang_identify): Constify a char*.
-       
+       * lang.c (java_dummy_print): Constify a char*.
+       (lang_print_error): Likewise.
+       (lang_init): Remove redundant prototype for `print_error_function'.
+       (lang_init_source): Likewise.
+       (lang_identify): Constify a char*.
+
 1999-08-09  Tom Tromey  <tromey@cygnus.com>
 
        * javaop.h (WORD_TO_FLOAT): only inline if building with gcc.
@@ -4003,29 +4007,29 @@ Thu Jul 22 12:41:12 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 1999-07-15  Andrew Haley  <aph@cygnus.com>
 
-        * lang.c (flag_use_divide_subroutine): New variable.
-        * typeck.c: (convert_ieee_real_to_integer): Bounds check
-        fp-to-integer conversion.
-        (convert): Call convert_ieee_real_to_integer when flag_fast_math
-        is not set.
-
-        * expr.c (build_java_soft_divmod): New function.
-        (build_java_binop): Call build_java_soft_divmod if
-        flag_use_divide_subroutine is set.
-        * decl.c: soft_idiv_node, soft_irem_node, soft_ldiv_node, tree
-        soft_lrem_node: new builtin functions.
-        (init_decl_processing) Initialize the new builtins.
-        * java-tree.h soft_idiv_node, soft_irem_node, soft_ldiv_node, tree
-        soft_lrem_node: new builtin functions.
-        (build_java_soft_divmod): New function.
-        * parse.y: Call build_java_soft_divmod if
-        flag_use_divide_subroutine is set.
-        * parse.c: Rebuilt.
-
-        * jvspec.c (lang_specific_driver): Always allow an extra arg (for
-        a --specs= arg) even if not linking.
-        * lang-options.h (DEFINE_LANG_NAME ("Java")): Add
-        -fuse-divide-subroutine
+       * lang.c (flag_use_divide_subroutine): New variable.
+       * typeck.c: (convert_ieee_real_to_integer): Bounds check
+       fp-to-integer conversion.
+       (convert): Call convert_ieee_real_to_integer when flag_fast_math
+       is not set.
+
+       * expr.c (build_java_soft_divmod): New function.
+       (build_java_binop): Call build_java_soft_divmod if
+       flag_use_divide_subroutine is set.
+       * decl.c: soft_idiv_node, soft_irem_node, soft_ldiv_node, tree
+       soft_lrem_node: new builtin functions.
+       (init_decl_processing) Initialize the new builtins.
+       * java-tree.h soft_idiv_node, soft_irem_node, soft_ldiv_node, tree
+       soft_lrem_node: new builtin functions.
+       (build_java_soft_divmod): New function.
+       * parse.y: Call build_java_soft_divmod if
+       flag_use_divide_subroutine is set.
+       * parse.c: Rebuilt.
+
+       * jvspec.c (lang_specific_driver): Always allow an extra arg (for
+       a --specs= arg) even if not linking.
+       * lang-options.h (DEFINE_LANG_NAME ("Java")): Add
+       -fuse-divide-subroutine
 
 Tue Jul 20 13:20:05 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
@@ -4034,11 +4038,11 @@ Tue Jul 20 13:20:05 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        compatibility.
        (check_thrown_exceptions): Reject exceptions thrown in
        initializer. Error message tuned.
-       
+
 1999-07-14  Andrew Haley  <aph@cygnus.com>
 
-        * expr.c (expand_expr): Do not return the last statement in a
-        block as the block's value.
+       * expr.c (expand_expr): Do not return the last statement in a
+       block as the block's value.
 
 Sat Jul  3 22:26:32 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
@@ -4099,7 +4103,7 @@ Wed Jun 23 14:37:15 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        compiling to class file a void method with an empty method body.
        As a side effect, the bytecode backend will generate the
        appropriate `return' instruction.
-       
+
 Tue Jun 22 20:43:49 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * parse.y (lookup_package_type_and_set_next): New function prototype.
@@ -4113,17 +4117,17 @@ Tue Jun 22 20:43:49 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 1999-06-21  Andrew Haley  <aph@cygnus.com>
 
-        * except.c (find_handler_in_range): The upper limit for exception
-        ranges is exclusive, not inclusive: (start <= pc < end).  
-        (link_handler): find child pointer which points to outer by
-        searching sibling list: previous code incorrectly assumed that
-        outer->outer->first_child must point to outer.
-        * verify.c (verify_jvm_instructions): FIXME added to code for
-        `athrow'.
-        (verify_jvm_instructions): Do not assume that the last block
-        processed in a subroutine is a block which ends with a `ret'
-        instruction.  With some control flows it is possible that the last
-        block ends with an `athrow'.
+       * except.c (find_handler_in_range): The upper limit for exception
+       ranges is exclusive, not inclusive: (start <= pc < end).
+       (link_handler): find child pointer which points to outer by
+       searching sibling list: previous code incorrectly assumed that
+       outer->outer->first_child must point to outer.
+       * verify.c (verify_jvm_instructions): FIXME added to code for
+       `athrow'.
+       (verify_jvm_instructions): Do not assume that the last block
+       processed in a subroutine is a block which ends with a `ret'
+       instruction.  With some control flows it is possible that the last
+       block ends with an `athrow'.
 
 Mon Jun 14 13:13:39 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
@@ -4183,9 +4187,9 @@ Wed Jun  2 10:35:13 1999  Anthony Green  <green@cygnus.com>
 
 Fri May 28 18:22:45 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * parse.y (lookup_field_wrapper): Unified returned value to NULL
-          or the searched field decl.
-       
+       * parse.y (lookup_field_wrapper): Unified returned value to NULL
+         or the searched field decl.
+
 Fri May 28 11:34:05 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * parse.y (fold_constant_for_init): Convert numerical constant
@@ -4211,19 +4215,19 @@ Wed May 26 15:33:06 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        CONVERT_EXPR might specify a type as a WFL.
 
 Tue May 25 15:06:13 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-        * parse.y (patch_assignment): Save the rhs before using it as an
-        argument to _Jv_CheckArrayStore.
+
+       * parse.y (patch_assignment): Save the rhs before using it as an
+       argument to _Jv_CheckArrayStore.
+
 Tue May 25 11:23:59 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * lex.c (java_parse_doc_section): Fixed `tag' buffer size.
 
 Mon May 24 13:26:00 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * lex.c (java_lex): Accepts `+' or `-' after the beginning of a
-        floating point litteral only when the exponent indicator has been
-        parsed.
+       * lex.c (java_lex): Accepts `+' or `-' after the beginning of a
+       floating point litteral only when the exponent indicator has been
+       parsed.
 
 Sat May 22 13:54:41 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
@@ -4332,12 +4336,12 @@ Thu May 13 13:23:38 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        * xref.c (xref_get_data): New function, defined.
        * xref.h (xref_get_data): New function, declared.
        (XREF_GET_DATA): Use xref_get_data.
-       
+
 1999-05-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-        * gjavah.c (print_include): Cast the result of `strlen' to int
-        when comparing against a signed value.
-        (add_namelet): Likewise.
+       * gjavah.c (print_include): Cast the result of `strlen' to int
+       when comparing against a signed value.
+       (add_namelet): Likewise.
 
 1999-05-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
@@ -4356,10 +4360,10 @@ Thu May 13 13:23:38 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 1999-05-11  Andrew Haley  <aph@cygnus.com>
 
-        * parse.y (source_end_java_method): If the current method contains
-        any exception handlers, force asynchronous_exceptions: this is
-        necessary because signal handlers in libjava may throw exceptions.
-        * decl.c (end_java_method): Ditto.
+       * parse.y (source_end_java_method): If the current method contains
+       any exception handlers, force asynchronous_exceptions: this is
+       necessary because signal handlers in libjava may throw exceptions.
+       * decl.c (end_java_method): Ditto.
 
 1999-05-11  Tom Tromey  <tromey@cygnus.com>
 
@@ -4428,7 +4432,7 @@ Fri Apr 30 17:54:40 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        * lang-options.h: Added `-Wredundant-modifers' and
        `-Wunusupported-jdk11' flags and help text.
        * lang.c (lang_decode_option): Added support for
-       `-Wunsupported-jdk11' and `-Wredundant-modifiers'. 
+       `-Wunsupported-jdk11' and `-Wredundant-modifiers'.
        flag_static_local_jdk11 and flag_redundant set accordingly.
        * lex.c (java_lex): Call BUILD_OPERATOR on CCB_TK.
        * parse.h (EXPR_WFL_ADD_COL): New macro.
@@ -4517,7 +4521,7 @@ Wed Apr 21 11:13:36 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (java_expand_classes): Abort if errors were encountered.
        (java_complete_lhs): If the cross reference flag is set, wrap
        field DECL node around a WFL when resolving expression name.
-       
+
 Mon Apr 19 14:44:48 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * lang.c (lang_decode_option): Fixed returned value when parsing
@@ -4564,8 +4568,8 @@ Tue Apr  6 23:15:52 1999  Jeffrey A Law  (law@cygnus.com)
 
 Tue Apr  6 15:15:51 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * parse.y (patch_assignment): Added ArrayStoreException runtime
-        check.
+       * parse.y (patch_assignment): Added ArrayStoreException runtime
+       check.
 
 1999-04-06  Per Bothner  <bothner@cygnus.com>
 
@@ -4584,7 +4588,7 @@ Mon Apr  5 16:06:09 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
        * gjavah.c: Include math.h earlier.  Include tree.h/java-tree.h.
        (main_jcf): Don't define.
        (process_file): Don't set `main_jcf'.
-       
+
        * java-tree.h (main_jcf): Don't declare.
 
        * jcf-parse.c (main_jcf): Add static definition.
@@ -4593,26 +4597,26 @@ Mon Apr  5 16:06:09 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
 Mon Apr  5 15:43:51 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-        * class.c (add_method_1): Cast the argument of `bzero' to PTR.
+       * class.c (add_method_1): Cast the argument of `bzero' to PTR.
 
-        * decl.c (copy_lang_decl): Likewise for `bcopy'.
+       * decl.c (copy_lang_decl): Likewise for `bcopy'.
 
-        * jcf-depend.c: Include "config.h", not <config.h>.
+       * jcf-depend.c: Include "config.h", not <config.h>.
 
-        * jcf-parse.c (jcf_figure_file_type): Cast the arguments of
+       * jcf-parse.c (jcf_figure_file_type): Cast the arguments of
        `bcopy' to PTR.
 
-        * jcf-path.c: Include "config.h", not <config.h>.
+       * jcf-path.c: Include "config.h", not <config.h>.
 
-        * lex.c: Don't include various system header files.
+       * lex.c: Don't include various system header files.
        (java_init_lex): Cast the argument of `bzero' to PTR
 
-        * parse-scan.y (java_push_parser_context): Likewise.
+       * parse-scan.y (java_push_parser_context): Likewise.
 
-        * parse.y (java_push_parser_context): Likewise.
+       * parse.y (java_push_parser_context): Likewise.
        (patch_bc_statement): Match format specifier to variable argument.
 
-        * xref.c: Don't include <stdio.h>.
+       * xref.c: Don't include <stdio.h>.
 
 Mon Apr  5 11:24:19 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
@@ -4634,10 +4638,10 @@ Mon Apr  5 11:24:19 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 Wed Mar 31 11:00:32 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-        * Makefile.in (keyword.h): Generate using gperf language 'C', not
-        'KR-C', so gperf uses the `const' keyword on strings.
+       * Makefile.in (keyword.h): Generate using gperf language 'C', not
+       'KR-C', so gperf uses the `const' keyword on strings.
 
-        * keyword.gperf (java_keyword): Const-ify a char*.
+       * keyword.gperf (java_keyword): Const-ify a char*.
 
 Tue Mar 30 11:31:53 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
@@ -4659,7 +4663,7 @@ Sun Mar 28 22:12:10 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
        * lex.c: Fix comment so as not to contain an embedded `/*'.
 
        * verify.c (verify_jvm_instructions): Remove unused variable
-       `self_type'.    
+       `self_type'.
 
 Sat Mar 27 15:49:18 1999  Per Bothner  <bothner@cygnus.com>
 
@@ -4742,7 +4746,7 @@ Tue Mar 23 10:05:27 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
        Ensure calls to `build_wfl_node' pass the proper arguments.
        (create_class): Remove unused variable `super_decl'.
        (get_printable_method_name): Initialize variable `name'.
-       
+
 Mon Mar 22 20:14:26 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * Changelog: Fixed 1999-03-22 typos.
@@ -4836,7 +4840,7 @@ Sun Mar 21 08:30:30 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
        parse_class_file): Add static prototype.
        (find_in_current_zip): Match definition to existing static
        prototype.
-       
+
        * jcf-write.c: Include jcf.h before tree.h/java-tree.h.
        (alloc_chunk, append_chunk, append_chunk_copy, gen_jcf_label,
        finish_jcf_block, define_jcf_label, get_jcf_label_here,
@@ -4860,7 +4864,7 @@ Sun Mar 21 08:30:30 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
        * lex.c (java_parse_escape_sequence): Add static prototype.
        (java_allocate_new_line): Match definition to existing static
        prototype.
-       
+
        * mangle.c Include tree.h/java-tree.h.
        (unicode_mangling_length, emit_unicode_mangled_name,
        append_gpp_mangled_name, append_gpp_mangled_classtype): Const-ify.
@@ -4873,7 +4877,7 @@ Sun Mar 21 08:30:30 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
        prototypes.
 
        * zipfile.h (opendir_in_zip, open_in_zip): Prototype.
-       
+
 1999-03-19  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * parse.y (find_applicable_accessible_methods_list): Extend the
@@ -4960,7 +4964,7 @@ Fri Mar 12 19:42:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
        against one.  Likewise for a jlong.
        (add_namelet): Likewise cast a `sizeof' to an int when comparing
        against a signed quantity.
-       
+
        * jcf-dump.c (print_signature_type): Remove unused variable `digit'.
        (print_signature): Don't needlessly dereference variable `str'
 
@@ -4981,17 +4985,17 @@ Fri Mar 12 19:42:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 1999-03-12  Andrew Haley  <aph@cygnus.com>
 
        * jcf-path.c (add_entry): alloca len+2 rather than len+1 bytes;
-        we'll need a directory separator and a null character.
+       we'll need a directory separator and a null character.
 
 Wed Mar 10 23:20:11 1999  Per Bothner  <bothner@cygnus.com>
 
        * jcf-write.c (generate_bytecode_insns):  Handle __builtin_fmod, for %.
 
   Tue Mar  9 11:52:08 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-  
+
        * parse.y (method_header): Don't set ACC_ABSTRACT flags on
        interfaces.
-  
+
 Fri Mar  5 15:17:29 1999  Per Bothner  <bothner@cygnus.com>
 
        * lex.c (java_parse_end_comment):  Take extra parameter (next char).
@@ -5039,7 +5043,7 @@ Sat Mar  6 11:17:16 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
        (find_in_current_zip): Likewise.  Also remove unused parameter,
        all callers changed.
        (read_class): Initialize variable `saved_pos'.
-       
+
        * jcf-reader.c (jcf_parse_preamble): Mark variables
        `minor_version' and `major_version' with ATTRIBUTE_UNUSED.
 
@@ -5171,14 +5175,14 @@ Fri Feb 19 15:35:01 1999  Per Bothner  <bothner@cygnus.com>
 
        * parse.y (java_complete_lhs):  Ignore an empty statement in a
        COMPOUND_EXPR.  Don't complain about empty statement after return.
-       
+
 Fri Feb 19 13:00:56 1999  Per Bothner  <bothner@cygnus.com>
 
        * parse.y (obtain_incomplete_type):  Don't wrap unknown types
        in TREE_LIST - just chain the POINTER_TYPEs together.
        (resolve_class):  If type already resolved, return decl.
        After resolving, update TREE_TYPE(class_type), and name (if array).
-       * parse.h (do_resolve_class), parse.y:  Make non-static.        
+       * parse.h (do_resolve_class), parse.y:  Make non-static.
        * class.c (maybe_layout_super_class):  Take this_class argument.
        Do do_resolve_class if necessary.
        (layout_class, layout_class_methods): Adjust calls appropriately.
@@ -5219,18 +5223,18 @@ Wed Feb  3 12:38:43 1999  Per Bothner  <bothner@cygnus.com>
 1999-02-17  Andrew Haley  <aph@cygnus.com>
 
        * class.c (build_utf8_ref): Back out broken patch which was
-        intended to to output signatures using '.' as a separator.
+       intended to to output signatures using '.' as a separator.
 
-        * class.c (make_class_data): Output signatures using '.' as a
-        separator, rather than '/'.
-        (mangled_classname): Likewise.
-        (make_field_value): Likewise.
-        (make_method_value): Likewise.
-        * constants.c (alloc_class_constant): Likewise.
-        * expr.c (build_invokeinterface): Likewise.
+       * class.c (make_class_data): Output signatures using '.' as a
+       separator, rather than '/'.
+       (mangled_classname): Likewise.
+       (make_field_value): Likewise.
+       (make_method_value): Likewise.
+       * constants.c (alloc_class_constant): Likewise.
+       * expr.c (build_invokeinterface): Likewise.
 
 Thu Feb 11 21:25:51 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
        * parse.y (valid_builtin_assignconv_identity_widening_p): Got rid
        of an ancient workaround.
 
@@ -5240,7 +5244,7 @@ Wed Feb 10 23:27:33 1999  Jeffrey A Law  (law@cygnus.com)
        here anymore.
 
 1999-02-10  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-       
+
        * lex.c (yylex): Encode \0 as UTF8.
 
 1999-02-10  Tom Tromey  <tromey@cygnus.com>
@@ -5269,11 +5273,11 @@ Tue Feb  9 19:31:09 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 Mon Feb  8 11:50:50 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * parse.h: DECL_P renamed JDECL_P.
-        * parse.y: DECL_P replaced by JDECL_P.
-        (build_array_from_name): Always use pointer's type.
-        (patch_bc_statement): Extra code to search continue target in a
-        for loop. Fixed comments. Continue target is current loop when
-        unlabeled.
+       * parse.y: DECL_P replaced by JDECL_P.
+       (build_array_from_name): Always use pointer's type.
+       (patch_bc_statement): Extra code to search continue target in a
+       for loop. Fixed comments. Continue target is current loop when
+       unlabeled.
 
 1999-02-05  Andrew Haley  <aph@cygnus.com>
 
@@ -5290,8 +5294,8 @@ Mon Feb  8 11:50:50 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 Wed Feb  3 22:50:17 1999  Marc Espie <Marc.Espie@liafa.jussieu.fr>
 
-        * Make-lang.in ($(GCJ)(exeext)): Remove choose-temp.o, pexecute.o and
-        mkstemp.o.  Get them from libiberty now.
+       * Make-lang.in ($(GCJ)(exeext)): Remove choose-temp.o, pexecute.o and
+       mkstemp.o.  Get them from libiberty now.
 
 Tue Feb  2 19:49:12 1999  Jeffrey A Law  (law@cygnus.com)
 
@@ -5310,7 +5314,7 @@ Tue Feb  2 10:39:47 1999  Per Bothner  <bothner@cygnus.com>
 
        * jcf-write.c (generate_bytecode_insns):  For REAL_CST that is 0 or 1,
        generate special [fd]const_[01] instructions.
-       
+
        * jcf-parse.c (yyparse):  Don't emit_register_classes if -fsyntax-only.
 
        * verify.c (verify_jvm_instructions):  Do INVALIDATE_PC after
@@ -5323,7 +5327,7 @@ Mon Feb  1 20:44:47 1999  Per Bothner  <bothner@cygnus.com>
 
        * parse.y (java_complete_lhs):  Don't complain about unreachable
        exit condition in a do-while statement.
-       
+
 Fri Jan 29 18:19:02 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * lex.c (java_read_char): Fixed utf8 decoding.
@@ -5403,10 +5407,10 @@ Wed Jan 27 10:19:29 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
 Mon Jan 25 17:39:19 1999  Andrew Haley  <aph@cygnus.com>
 
-        * except.c, java-except.h (expand_resume_after_catch): new
-        function.
-        * expr.c (java_lang_expand_expr): call expand_resume_after_catch
-        to branch back to main flow of control after a catch block.
+       * except.c, java-except.h (expand_resume_after_catch): new
+       function.
+       * expr.c (java_lang_expand_expr): call expand_resume_after_catch
+       to branch back to main flow of control after a catch block.
 
 Sat Jan 23 23:02:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
@@ -5510,10 +5514,10 @@ Sat Jan 23 23:02:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
        * verify.c (check_pending_block): Add the `const' keyword to a char*.
        (verify_jvm_instructions): Likewise.  Remove unused variables
        `field_name' and `default_val'.
-       
+
        * zextract.c: Include config.h and system.h.  Remove redundant
        OS header includes.
-       
+
        * zipfile.h: Prototype `read_zip_archive'.
 
 Thu Jan 21 16:00:06 1999  Andrew Haley  <aph@cygnus.com>
@@ -5526,7 +5530,7 @@ Thu Jan 21 15:21:49 1999  Andrew Haley  <aph@cygnus.com>
        * typeck.c (convert_ieee_real_to_integer): New function.
        (convert): When not using fast-math and using hardware fp, convert
        an IEEE NaN to zero.
+
 1999-01-18  Andrew Haley  <aph@cygnus.com>
 
        * parse.y (patch_binop): Do a type conversion from signed to
@@ -5547,7 +5551,7 @@ Sun Jan 17 21:55:42 1999  Jeffrey A Law  (law@cygnus.com)
 
        * Makefile.in (zextract.o): Add dependencies.
 
-        * Makefile.in: Do not put ^Ls at the start of a line.
+       * Makefile.in: Do not put ^Ls at the start of a line.
 
 Fri Jan 15 20:16:20 1999  Per Bothner  <bothner@cygnus.com>
 
@@ -5575,7 +5579,7 @@ Fri Jan 15 20:16:20 1999  Per Bothner  <bothner@cygnus.com>
        MODIFY_EXPR.  Without this, code for the assignement may not be
        generated at all and the synchronized statement will read an
        uninitialized variable.
-       
+
 Wed Jan 13 01:24:54 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * class.c (maybe_layout_super_class): Fixed returned value.
@@ -5647,7 +5651,7 @@ Wed Jan  6 17:19:46 1999  Per Bothner  <bothner@cygnus.com>
        * expr.c (java_lang_expand_expr):  For a static array constructor
        of primitive elements, allocate the array itself statically.
        Disabled until we can set the vtable field statically.
-       
+
        * check-init.c:  New file.  Checks for definite assignment.
        * Makefile.in (JAVA_OBJS):  Add check-init.o.
        * parse.y (java_complete_expand_method): Call check_for_initialization.
@@ -5667,7 +5671,7 @@ Wed Jan  6 16:20:06 1999  Per Bothner  <bothner@cygnus.com>
 
 Tue Jan  5 22:15:40 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-        * Make-lang.in ($(GCJ).o): Depend on prefix.h.
+       * Make-lang.in ($(GCJ).o): Depend on prefix.h.
 
 Tue Dec 22 11:25:19 1998  Per Bothner  <bothner@cygnus.com>
 
@@ -5677,7 +5681,7 @@ Tue Dec 22 11:25:19 1998  Per Bothner  <bothner@cygnus.com>
        * jcf-write.c (CHECK_PUT):  Add (void) cast to avoid -Wall warnings.
        (localvar_alloc):  Change return type to void,
        (emit_unop):  Remove unused variable size.
-       
+
        * jcf-write.c (struct jcf_block):  Add new union.
        (PENDING_CLEANUP_PC, PENDING_EXIT_PC, UNDEFINED_PC):  New macros.
        (call_cleanups):  New functions.
@@ -5689,7 +5693,7 @@ Tue Dec 22 11:25:19 1998  Per Bothner  <bothner@cygnus.com>
        completing operands to patch_synchronized_statement.
        Support CLEANUP_POINT_EXPR, WITH_CLEANUP_EXPR.
        (patch_synchronized_statement): Re-write suing CLEANUP_POINT_EXPR and
-       WITH_CLEANUP_EXPR instead of TRY_EXPR.  
+       WITH_CLEANUP_EXPR instead of TRY_EXPR.
 
 Sun Dec 20 16:15:44 1998  John F. Carr  <jfc@mit.edu>
 
@@ -5955,7 +5959,7 @@ Sun Dec  6 13:45:00 1998  Per Bothner  <bothner@cygnus.com>
        * java-tree.h (CALL_USING_SUPER):  New macro.
        * parse.y (patch_invoke):  Remove im local variable.
        (patch_method_invocation, patch_invoke):  Don't pass super parameter.
-       (patch_invoke):  Use CALL_USING_SUPER instead of from_super parameter. 
+       (patch_invoke):  Use CALL_USING_SUPER instead of from_super parameter.
        (resolve_qualified_expression_name):  Maybe set CALL_USING_SUPER.
 
        * jcf-write.c (get_access_flags):  Fix typo ACC_PUBLIC -> ACC_FINAL.
@@ -5997,7 +6001,7 @@ Thu Dec  3 17:11:12 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (declare_local_variables): Use PROMOTE_RECORD_IF_COMPLETE.
        (java_layout_seen_class_methods): New function.
        (java_layout_classes): Call java_layout_seen_class_methods.
-       
+
 Thu Dec  3 15:56:50 1998  Per Bothner  <bothner@cygnus.com>
 
        * parse,y (patch_synchronized_statement):  Set CAN_COMPLETE_NORMALLY.
@@ -6045,7 +6049,7 @@ Fri Nov 27 13:20:51 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
        * Makefile.in (jc1, jv-scan): Link with $(SUBDIR_OBSTACK).
 
        * jv-scan.c: Fix xmalloc prototype.  Provide an xmalloc definition.
-       
+
        * jvgenmain.c: Remove the xmalloc prototype, we get it from
        libiberty.h.  Provide an xmalloc definition.
 
@@ -6175,7 +6179,7 @@ Tue Nov 24 16:34:33 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (java_expand_classes): Check for errors up front.
        (patch_method_invocation): Class to search is resolved and laid
        out.
-       
+
 Tue Nov 24 12:57:13 1998  Per Bothner  <bothner@cygnus.com>
 
        * expr.c (java_lang_expand_expr):  Add missing emit_queue.
@@ -6317,7 +6321,7 @@ Wed Nov 18 23:54:53 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        layout argument exception type.
        (purge_unchecked_exceptions): Use IS_UNCHECKED_EXCEPTION_P instead
        of IS_UNCHECKED_EXPRESSION_P.
-       
+
 Wed Nov 18 14:21:48 1998  Anthony Green  <green@cygnus.com>
 
        * jcf-parse.c (yyparse): Open class file in binary mode.
@@ -6433,7 +6437,7 @@ Thu Nov 12 14:15:07 1998  Per Bothner  <bothner@cygnus.com>
        as part of recursive scan of block.
        (java_expand_switch ):  Removed - inlined into java_lang_expand_expr.
        (patch_switch_statement):  Most tests move dinto java_complete_tree.
-       
+
        * parse.y:  Make various production be non-typed (void).
        * parse.y (parse_error):  Merged into issue_warning_error_from_context.
        * parse.y (add_stmt_to_compound):  Don't create/change extra node.
@@ -6448,7 +6452,7 @@ Thu Nov 12 14:15:07 1998  Per Bothner  <bothner@cygnus.com>
        (generate_bytecode_conditional):  Handle REAL_TYPE comparisons.
        (generate_bytecode_insns):  Support REAL_CST, switch statements,
        exception handling, method calls, object/array creation, and more.
-       
+
        * class.c:  Remove some unused variables.
        * constants.c (find_string_constant):  New function.
        (count_constant_pool_bytes):  Fix to correctly handle wide constants.
@@ -6804,7 +6808,7 @@ Wed Oct 28 08:03:31 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (patch_return): Take constructors into account.
        (patch_conditional_expr): New function.
        * typeck.c (build_java_signature): Removed unnecessary empty line.
-       
+
 Wed Oct 28 00:46:15 1998  Jeffrey A Law  (law@cygnus.com)
 
        * Makefile.in (jcf-dump, gcjh): Link in $(LIBS) too.
@@ -6961,7 +6965,7 @@ Tue Oct 20 09:15:38 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        fclose and CLASS_FROM_SOURCE_P marking.
        (parse_source_file): New local variables remember_for_generation
        and filename. Mark parsed file name identifier node. Removed block
-       executed when parse_only was null. Set remember_for_generation. 
+       executed when parse_only was null. Set remember_for_generation.
        Use it as an argument to java_pop_parser_context.
        (yyparse): New local variables several_files, list, next node and
        current_file_list. Split ampersand separated file names into
@@ -6972,7 +6976,7 @@ Tue Oct 20 09:15:38 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        to ctxp_for_generation list accordingly.
        (java_complete_expand_methods): Fixed indentation.
        (java_expand_classes): New function.
-       
+
 Sat Oct 17 11:25:21 1998  Per Bothner  <bothner@cygnus.com>
 
        * Makefile.in:  Link with libiberty.a instead of memmove.o.
@@ -7005,7 +7009,7 @@ Fri Oct 16 10:59:01 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        field was found is null.
        (qualify_ambiguous_name): Sweep through all successive array
        dimensions.
-       
+
 Wed Oct 14 18:21:29 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * java-tree.h (pop_labeled_block, lang_printable_name,
@@ -7242,7 +7246,7 @@ Tue Oct 13 03:50:28 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        purge_unchecked_exceptions): New functions.
        * typeck.c (lookup_argument_method): Allow WFL in place of method
        DECL_NAME during method definition check
-       
+
 1998-10-09  Tom Tromey  <tromey@cygnus.com>
 
        * gjavah.c (decode_signature_piece): New function.
@@ -7365,7 +7369,7 @@ Fri Oct  2 17:22:52 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (build_jump_to_finally, build_try_statement, java_get_catch_block,
        patch_try_statement): New functions.
        * typeck.c (match_java_method): Function deleted.
-       
+
 Fri Oct  2 13:48:36 1998  Anthony Green  <green@cygnus.com>
 
        * jvspec.c: jvgenmain_spec uses different temporary file names.
@@ -7621,7 +7625,7 @@ Fri Sep  4 10:42:05 1998  Tom Tromey  <tromey@cygnus.com>
 Thu Sep  3 18:04:09 1998  Per Bothner  <bothner@cygnus.com>
 
        * gjavah.c:  Support new -prepend -add -append flags.
-       (print_method_info):  Method is not virtual if class is final.  
+       (print_method_info):  Method is not virtual if class is final.
 
 Thu Sep  3 12:03:53 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
@@ -7766,7 +7770,7 @@ Wed Aug 19 17:57:07 1998  Warren Levy  <warrenl@cygnus.com>
        soft_anewarray; adjust args passed.
        * expr.c (build_anewarray): Adjust args for soft_anewarray_node to
        match _Jv_NewObjectArray.
-       
+
 Wed Aug 19 09:33:23 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * decl.c (push_labeled_block, pop_labeled_block): New functions.
@@ -7796,7 +7800,7 @@ Wed Aug 19 09:33:23 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        generate_labeled_block, complete_labeled_statement,
        build_bc_statement, patch_bc_statement, patch_loop_statement,
        build_new_loop, build_loop_body, complete_loop_body): New function
-       declarations.  
+       declarations.
        * parse.y (java_warning_count): New global variable.
        (label_id): New static variable.
        (BREAK_TK, CONTINUE_TK): Token tagged <operator>.
@@ -7843,7 +7847,7 @@ Wed Aug 19 09:33:23 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        patch_bc_statement, patch_exit_expr): New functions.
        * typeck.c (build_java_signature): Build argument signature before
        enclosing it in between parenthesis.
-       
+
 Mon Aug 17 17:44:24 1998  Warren Levy  <warrenl@cygnus.com>
 
        * Make-lang.in (JAVA_SRCS): Created for dependencies * Makefile.in
@@ -7862,7 +7866,7 @@ Thu Aug 13 14:34:07 1998  Warren Levy  <warrenl@cygnus.com>
        soft_badarrayindex.  Use _Jv_CheckCast, not soft_checkcast.  Use
        _Jv_CheckArrayStore, not soft_checkarraystore.  Use
        _Jv_LookupInterfaceMethod, not soft_lookupinterfacemethod.
-       
+
 Wed Aug 12 14:23:13 1998  Per Bothner  <bothner@cygnus.com>
 
        * decl.c, java-tree.h (this_identifier_node, super_identifier_node,
@@ -7892,9 +7896,9 @@ Tue Aug 11 11:31:55 1998  Per Bothner  <bothner@cygnus.com>
        * typeck.c (lookup_argument_method):  New function.
        * parse.y (java_check_regular_methods):  Use lookup_argument_method
        instead of lookup_java_method2 followed by lookup_java_method.
-       
+
        * parse.y (check_method_redefinition):  Minor optimization.
-       
+
        * jcf-write.c (generate_bytecode_insns):  Handle RETURN_EXPR,
        MINUS_EXPR, MULT_EXPR, TRUNC_DIV_EXPR, and RDIV_EXPR.
 
@@ -7964,7 +7968,7 @@ Wed Jul 29 13:19:03 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (refine_accessible_methods_list): Merged two conditions in test.
        (java_complete_class): Sanity check on stabilize_ref gone.
        * zextract.c (read_zip_archive): Cast lseek second argument to long.
-       
+
 Tue Jul 28 21:39:22 1998  Per Bothner  <bothner@cygnus.com>
 
        * class.c (hashUtf8String):  Fix - use new JavaSoft specification.
@@ -8056,7 +8060,7 @@ Wed Jul 22 14:39:00 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        JAVA_THIS_EXPR, CALL_CONSTRUCTOR_P): Macro definition moved in
        java-tree.h.
        * jcf-parse.c (init_outgoing_cpool): Set current_constant_pool_data_ref
-       to NULL 
+       to NULL
        * jcf.h (jcf_out_of_synch): New extern function prototype.
        * parse.h: Static/global function implemented in parse.y
        prototyped and declarations moved at the end of the file.
@@ -8116,7 +8120,7 @@ Wed Jul 22 14:39:00 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        changed into NULLs.
        (not_initialized_as_it_should_p): Comply with the new DECL_P.
        (java_complete_tree): New case fo RETURN_EXPR. Process function
-       call arguments in separate function. 
+       call arguments in separate function.
        (complete_function_arguments): New function.
        (build_method_invocation): Don't use CALL_EXPR_FROM_PRIMARY_P
        anymore.
@@ -8130,7 +8134,7 @@ Wed Jul 22 14:39:00 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (buid_this): Build a WFL with `kw_this' instead of a FIELD_DECL.
        (build_return, patch_return): New functions.
        * typeck.c (lookup_java_constructor): Fixed typo in comment.
-       
+
 Tue Jul 21 12:10:04 1998  Per Bothner  <bothner@cygnus.com>
 
        * constants.c (find_name_and_type_constant, find_fieldref_index,
@@ -8149,7 +8153,7 @@ Tue Jul 21 12:10:04 1998  Per Bothner  <bothner@cygnus.com>
        (code_buffer_grow, push_constant1, push_constant2, push_int_const,
        push_long_const, field_op, adjust_typed_op, maybe_wide):
        New functions used by generate_bytecode_insn.
-       
+
        * typeck.c (signature_include_return):  Remove variable.
        (push_java_argument_signature, build_java_argument_signature):  New.
        (build_java_signature):  Use push_java_argument_signature.
@@ -8171,7 +8175,7 @@ Thu Jul 16 15:29:20 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        by safe_layout_class.
        * expr.c (build_java_array_length_access): Removed static storage
        class in the function definition.
-       (build_java_arraynull_check): Likewise.  
+       (build_java_arraynull_check): Likewise.
        Also fixed typos in two comments.
        * lex.c (java_init_lex): Initialize static global kw_length.
        (java_lex): Use BUILD_OPERATOR on RETURN_TK.
@@ -8350,7 +8354,7 @@ Wed Jul  8 03:01:32 1998  Jeffrey A Law  (law@cygnus.com)
        * decl.c: Likewise.
        * lang.c (flag_new_exceptions): Get via extern now.
        (lang_init_options): New functions.  Turn on flag_new_exceptions.
-       
+
 Tue Jul  7 12:56:48 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * lex.c (java_lex): Return 0 when we see an invalid character in
@@ -8532,7 +8536,7 @@ Thu Jul  2 16:53:16 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        typo in error message.
        (patch_unary_op): Extract location information from the node.
        (build_array_ref, patch_array_ref): New functions.
-       
+
 Wed Jul  1 13:11:36 1998  Tom Tromey  <tromey@cygnus.com>
 
        * expr.c (expand_java_INSTANCEOF): Changed calling convention to
@@ -8577,7 +8581,7 @@ Tue Jun 23 10:17:09 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
        * lang.c (flag_new_exceptions): Make this this default.
        * decl.c (end_java_method): Call emit_handlers.
        * except.c (method_init_exceptions): Set language code and version.
-       (expand_start_java_handler): Enable exception, and call 
+       (expand_start_java_handler): Enable exception, and call
        expand_eh_region_start.
        (expand_end_java_handler): Enable exception, and set up catch blocks.
        (emit_handlers): New routine to generate the saved handlers.
@@ -8601,7 +8605,7 @@ Fri Jun 12 11:31:24 1998  Per Bothner  <bothner@cygnus.com>
        Finally, I wrote code which can generate a .class file (including its
        constant pool) from the RECORD_TYPE of a class.  This is a big step
        on the way to compiling Java source into .class files.
-       
+
        * jcf-write.c:  New file. Writes out a RECORD_TYPE as a .class file.
        * Makefile.in (JAVA_OBJS):  Added jcf-write.o.
 
@@ -8622,7 +8626,7 @@ Fri Jun 12 11:31:24 1998  Per Bothner  <bothner@cygnus.com>
        (set_constant_entry, find_constant1, find_constant2,
        find_class_constant, count_constant_pool_bytes, write_constant_pool,
        find_utf8_constant, find_class_or_string_constant):  New functions.
-       
+
        * jcf-parse.c (load_class):  Don't save/restore tree-constant_pool.
        (get_constant):  Use current_jcf.cpool instead of tree_constant_pool.
        (give_name_to_class, get_class_constant):  Likewise.
@@ -8741,7 +8745,7 @@ Tue Jun  9 18:12:46 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        wfl_operator. Improved error message on shift distance.
        (build_unaryop, build_incdec, build_cast, patch_unaryop,
        patch_cast): New functions.
-       
+
 Fri Jun  5 18:03:07 1998  Per Bothner  <bothner@cygnus.com>
 
        * jvspec.c:  New file.
@@ -8767,7 +8771,7 @@ Tue Jun  2 15:19:19 1998  Per Bothner  <bothner@cygnus.com>
        * class.c:  Moved classname-mangling-rekated code to ...
        * mangle.c:  ... this new file.
        * jvgenmain.c:  New program (needs mangle.c) to generate main program.
-       * Makefile.in:  Update for above changes.        
+       * Makefile.in:  Update for above changes.
 
 Mon Jun  1 09:58:36 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
@@ -8799,46 +8803,46 @@ Mon Jun  1 09:58:36 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        messages and issue messages on both operands if their types are
        different. Force fixed type into node. Handle all binary
        operators.
-       
+
 Wed May 27 10:30:31 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * java-tree.h (COMPOUND_ASSIGN_P, INITIALIZED_P): New macros.
-        * lex.c (java_lex): Use BUILD_OPERATOR and BUILD_OPERATOR2 to
-        build operator node and return tokens.
-        * lex.h (BUILD_OPERATOR, BUILD_OPERATOR2): New macros.
+       * lex.c (java_lex): Use BUILD_OPERATOR and BUILD_OPERATOR2 to
+       build operator node and return tokens.
+       * lex.h (BUILD_OPERATOR, BUILD_OPERATOR2): New macros.
        * parse.h (java_complete_tree): Changed returned type in prototype.
        (build_method_invocation, build_assignment, patch_assignment,
        patch_binop): New static function declarations.
-        (JFLOAT_TYPE_P, JNUMERIC_TYPE_P, JPRIMITIVE_TYPE_P, JSTRING_P,
+       (JFLOAT_TYPE_P, JNUMERIC_TYPE_P, JPRIMITIVE_TYPE_P, JSTRING_P,
        BUILD_EXPR_WFL): New macros.
        * parse.y (enum tree_code binop_lookup[]): New static for token to
        TREE_CODE lookup.
        (%union): Parser union has new sub-structure `operator'.
-        (ASSIGN_TK, MULT_ASSIGN_TK, DIV_ASSIGN_TK, REM_ASSIGN_TK,
-        PLUS_ASSIGN_TK, MINUS_ASSIGN_TK, LS_ASSIGN_TK, SRS_ASSIGN_TK,
-        ZRS_ASSIGN_TK, AND_ASSIGN_TK, XOR_ASSIGN_TK, OR_ASSIGN_TK,
-        ASSIGN_ANY_TK): Tokens tagged `operator'.
+       (ASSIGN_TK, MULT_ASSIGN_TK, DIV_ASSIGN_TK, REM_ASSIGN_TK,
+       PLUS_ASSIGN_TK, MINUS_ASSIGN_TK, LS_ASSIGN_TK, SRS_ASSIGN_TK,
+       ZRS_ASSIGN_TK, AND_ASSIGN_TK, XOR_ASSIGN_TK, OR_ASSIGN_TK,
+       ASSIGN_ANY_TK): Tokens tagged `operator'.
        (EQ_TK, GTE_TK, ZRS_TK, SRS_TK, GT_TK, LTE_TK, LS_TK, BOOL_AND_TK,
        AND_TK, BOOL_OR_TK, OR_TK, INCR_TK, PLUS_TK, DECR_TK, MINUS_TK,
        MULT_TK, DIV_TK, XOR_TK, REM_TK, NEQ_TK, NEG_TK, REL_QM_TK,
        REL_CL_TK, NOT_TK, LT_TK): Tokens tagged `operator'.
-        (assignment_operator:): Rule tagged `operator'.
+       (assignment_operator:): Rule tagged `operator'.
        (expression_statement:): Re-installed default rule.
-        (method_invocation:): Sub rules call build_method_invocation.
+       (method_invocation:): Sub rules call build_method_invocation.
        (postfix_expression:): Don't attempt to resolve name here. Just
        return an ID.
        (multiplicative_expression:): Sub-rules build corresponding binop
        expression node.
        (additive_expression:, shift_expression:, and_expression:,
        exclusive_or_expression:, inclusive_or_expression:): Likewise.
-        (assignment:): Sub rule invoke build_assignment.
-        (assignment_operator:): Default rules on sub rules.
+       (assignment:): Sub rule invoke build_assignment.
+       (assignment_operator:): Default rules on sub rules.
        (force_error): Added documentation on this variable.
-        (declare_local_variables): Build initialization calling
-        build_assignment.
-        (expand_start_java_method): Removed unused rtx declaration. Mark
+       (declare_local_variables): Build initialization calling
+       build_assignment.
+       (expand_start_java_method): Removed unused rtx declaration. Mark
        arguments as already initialized.
-        (java_method_add_stmt): Type of built COMPOUND_EXPR set to NULL.
+       (java_method_add_stmt): Type of built COMPOUND_EXPR set to NULL.
        (java_complete_expand_methods): Don't process next method if
        completion of the previous one triggered errors.
        (java_complete_expand_method): Call source_end_java_method if no
@@ -9007,7 +9011,7 @@ Thu May 12 13:44:27 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        further. Complete function's arguments.
        (build_expr_block, enter_block, exit_block, lookup_name_in_blocks,
        maybe_absorb_scoping_blocks): New functions.
-       
+
 Mon Apr 27 10:50:05 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * jcf-io.c (find_class): Reset jcf->java_source after JCF_ZERO, if
@@ -9084,7 +9088,7 @@ Mon Apr 27 10:50:05 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (add_superinterfaces): List of unresolved interfaces is
        gone. Unresolved interfaces are directly added to the current
        dependencies list.
-       (create_interface): Second pass shortcut removed. 
+       (create_interface): Second pass shortcut removed.
        ctpx->modifier_ctx access through MODIFIER_WFL.
        (create_class): Second pass shortcut removed. Call to
        register_incomplete_type replaces the call to
@@ -9158,7 +9162,7 @@ Mon Apr 20 18:26:57 1998  Per Bothner  <bothner@cygnus.com>
        * typeck.c (convert):  Handle conversion to pointers (for convenience).
        * verify.c (verify_jvm_instructions):  Use get_type_from_signature
        instead of lookup_field to handle missing fields.
-       
+
        * jcf-parse.c (process_zip_dir):  Set java_source.
 
 1998-04-20  Brendan Kehoe  <brendan@cygnus.com>
@@ -9174,12 +9178,12 @@ Tue Apr 14 15:59:54 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        parser context.
        * lex.c (java_init_lex): Chain a WFL node to the import on demand
        list. ctxp->modifier_ctx zeroed according to its new
-       definition. ctxp->filename initialized. Removed 
+       definition. ctxp->filename initialized. Removed
        JAVA_MODIFIER_CTX_UNMARK.
        (java_unget_unicode): Update the character based column position.
        (java_allocate_new_line): ref_count not used anymore. Always free
        ctxp->p_line. Initialize c_line->char_col to 0.
-       (java_get_unicode): Update the character based column position. 
+       (java_get_unicode): Update the character based column position.
        (java_lex): Use ctxp->elc to store current position in source
        file, at the beginning of the parsed token. Set modifier_ctx entry
        corresponding to the parse modifier to a WFL node. Return a WFL
@@ -9206,10 +9210,10 @@ Tue Apr 14 15:59:54 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (struct parser_ctxt): Added comments on fields. modifier_ctx is
        now an array of tree nodes. Deleted fields line_list and
        e_line. New field elc, to replace e_line.
-       * parse.y (array_type:): Build WFL node. 
+       * parse.y (array_type:): Build WFL node.
        (qualified_name:): Build a single WFL node out of two. Retain
        the location information of the first node in the resulting node.
-       (package_declaration:): Use package name as a WFL node 
+       (package_declaration:): Use package name as a WFL node
        (single_type_import_declaration:): Use imported name as a WFL node.
        (type_import_on_demand_declaration:): Use root of the imported
        packages as a WFL node.
@@ -9274,7 +9278,7 @@ Tue Apr 14 15:59:54 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (build_invoke): cl used as a WFL node when calling build_expr_wfl.
        (lookup_method_invoke): cl is now a WFL node. Added missing
        IDENTIFIER_POINTER to class type decl name.
-       
+
 Tue Apr 14 15:23:29 1998  Dave Brolley  <brolley@cygnus.com>
 
        * lang.c (init_parse): Now returns char* containing the filename.
@@ -9424,8 +9428,8 @@ Mon Mar 16 17:25:19 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        New functions.
        * typeck.c (build_java_signature): Properly end method signature
        if return type skipped.
-       (match_java_method): New function.      
-       
+       (match_java_method): New function.
+
 Mon Mar 16 10:40:47 1998  Per Bothner  <bothner@cygnus.com>
 
        * jcf-io.c (find_classfile):  If USE_JCF_STDIO, fopen in binary mode.
@@ -9476,7 +9480,7 @@ Wed Feb 25 08:55:49 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (source_end_java_method, java_method_add_stmt): New functions.
        (java_generate_parsed_class): No longer exists.
        (java_layout_parsed_class, java_register_parsed_class): New functions.
-       (resolve_expression_name): New function.        
+       (resolve_expression_name): New function.
 
 Thu Feb 12 11:54:28 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
@@ -9790,7 +9794,7 @@ Fri Oct 17 15:56:37 1997  Per Bothner  <bothner@cygnus.com>
 
        * java-tree.h (PUSH_FIELD):  Set DECL_ARTIFICIAL.
        * class.c (make_class_data):  Don't build fields_decl if no fields.
-       When building fields_decl, skip if DECL_ARTIFICAL.  
+       When building fields_decl, skip if DECL_ARTIFICAL.
 
        * expr.c (java_stack_swap):  Update stack_type_map.
        * verify.c (merge_types):  Handle array types better.
@@ -9894,7 +9898,7 @@ Wed Oct  1 11:26:10 1997  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        * zextract.c (read_zip_archive): Now takes into account the
        extra_field field.
        * expr.c (can_widen_reference_to): Modified to handle sub-interfaces.
-       
+
 Sat Sep 20 12:44:28 1997  Per Bothner  <bothner@cygnus.com>
 
        * constants.c, java-tree.h (build_internal_class_name):  New function.
@@ -9953,7 +9957,7 @@ Thu Sep 11 19:45:18 1997  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        * expr.c (can_widen_reference_to): Added comment to interface
        handling, fixed typo.
        (lookup_field): Now uses CLASS_P() to correct FIXME
-       (expand_invoke): Verification on public && !static && 
+       (expand_invoke): Verification on public && !static &&
        !abstract moved into soft_lookupinterfacemethod (kaffe).
        Use Object class dtable if objectref is an array when expanding
        invokeinterface.
@@ -9980,7 +9984,7 @@ Thu Sep 11 11:57:32 1997  Per Bothner  <bothner@cygnus.com>
        than looking for no-longer-existing static decl starting with _CL.
        * typeck.c (parse_signature_type):  Promote array element type
        if it is a RECORD_TYPE.
-       
+
 Wed Sep 10 16:09:23 1997  Per Bothner  <bothner@cygnus.com>
 
        * class.c (push_class_static_dummy_field):  New function.
@@ -10027,10 +10031,10 @@ Wed Sep  3 16:13:23 1997  Per Bothner  <bothner@cygnus.com>
        * verify.c (merge_types):  Treat all promoted integral types as equal.
        * constants.c (build_constants_constructor):  To force creation of
        current_constant_pool_data_ref, call build_constant_data_ref.
-       
+
        * javaop.def (lload):  Fix typo.
        * jcf-dump.c (main):  Clear filename to prevent possibly-bad free.
-       
+
 Tue Sep  2 17:37:25 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
 
        * parse.c: Don't include function.h.
@@ -10041,7 +10045,7 @@ Wed Aug 27 18:33:04 1997  Per Bothner  <bothner@cygnus.com>
        * Makefile.in (JAVA_OBJS):  Add except.o
        * expr.c:  Temporary warning about unimplemented exceptions.
        * verify.c:  Verify exception handlers.
-       
+
        * jcf-dump.c (disassemble_method):  Print exception table.
 
 Wed Aug 27 13:26:58 1997  Alexandre Petit-Bianco  <apbianco@cygnus.com>
@@ -10058,7 +10062,7 @@ Wed Aug 27 13:26:58 1997  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        dtable_type.
        (can_widen_reference_to): Now handles interfaces.
        * decl.c (init_decl_processing): New global variable
-       soft_lookupinterfacemethod_node, declared in java-tree.h. 
+       soft_lookupinterfacemethod_node, declared in java-tree.h.
        Call set_super_info on string_type_node.
        * java-tree.h (CLASS_INTERFACE, CLASS_ABSTRACT, CLASS_SUPER): Now
        defined.
@@ -10100,12 +10104,12 @@ Wed Aug 20 14:34:34 1997  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        * expr.c (build_java_jsr, build_java_ret): New functions
        (JSR,PRE): New macros
        (PRE_TABLE_SWITCH, PRE_LOOKUP_SWITCH): Fixed and secured.
-       (verify_jvm_instructions): tableswitch, lookupswitch, 
+       (verify_jvm_instructions): tableswitch, lookupswitch,
        monitorenter, monitorexit, goto_w: verified.
        (LOOKUP_SWITCH, TABLE_SWITCH): Fixed generation of default: label
        (build_java_monitor): New function.
        (MONITOR_OPERATION): Modified to call build_java_monitor()
-       (verify_jvm_instructions): Started a thorough verification of 
+       (verify_jvm_instructions): Started a thorough verification of
        invoke* bytecodes.
 
 Tue Aug 19 13:35:49 1997  Per Bothner  <bothner@cygnus.com>
@@ -10130,7 +10134,7 @@ Tue Aug 19 13:35:49 1997  Per Bothner  <bothner@cygnus.com>
        fatal on an error.  Also handle subroutines.
        (verify_jvm_instructions):  Handle errors from push_poending_block.
        Support jsr and ret instructions.
-       
+
 Tue Aug 19 13:33:36 1997  Per Bothner  <bothner@cygnus.com>
 
        * jcf-io.c (find_classfile):  Fix thinko.
@@ -10177,7 +10181,7 @@ Thu Aug  7 23:08:24 1997  Per Bothner  <bothner@cygnus.com>
        Implement acmpeq, acmpne, pop, pop2, swap, checkcast, instanceof.
        Improve newarray, anewarray, ?aload, athrow,
        * java-tree.h (LABEL_CHANGED):  New macro.
-       
+
 Tue Aug  5 12:21:27 1997  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * decl.c (soft_athrow_node): New global variable initialized.
@@ -10197,7 +10201,7 @@ Tue Aug  5 12:21:27 1997  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        to Use The Right Things.
        (pop_type): Accept CHAR/BYTE/BOOLEAN/SHORT promoted type as
        compatible with INT. BOOLEAN is made equivalent to BYTE.
-       (OPCODE_athrow, OPCODE_aconst_null, OPCODE_ifnull, 
+       (OPCODE_athrow, OPCODE_aconst_null, OPCODE_ifnull,
        OPCODE_ifnonnull): Now supported.
        (build_java_athrow): New function.
 
@@ -10230,7 +10234,7 @@ Fri Aug  1 11:37:09 1997  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        * expr.c (build_java_arraynull_check, build_java_arrayaccess,
        build_java_array_length_access, expand_java_arrayload,
        expand_java_arraystore, expand_java_array_length,
-       expand_java_multianewarray, expand_java_anewarray, 
+       expand_java_multianewarray, expand_java_anewarray,
        build_java_check_indexed_type, is_array_type_p,
        build_java_throw_out_of_bound_exception): New functions.
        (STORE_INTERNAL): Now forces type of the decl to be type of the value.
@@ -10269,7 +10273,7 @@ Fri Jul 25 11:44:21 1997  Per Bothner  <bothner@cygnus.com>
        class_type_node and and method_type_node to match kaffe 0.9.1.
        * class.c (make_method_value, make_class_data):  Update
        initializations to match.
-       
+
 Wed Jul 16 17:17:50 1997  Per Bothner  <bothner@cygnus.com>
 
        * class.c (unicode_mangling_length, emit_unicode_mangled_name,
@@ -10281,7 +10285,7 @@ Wed Jul 16 17:17:50 1997  Per Bothner  <bothner@cygnus.com>
        to a one-element array.
        (build_constants_constructor):  Set DECL_SIZE from complete array type.
        * decl.c:  Rename class_type, object_type etc to class_type_node,
-       object_type_node etc.  Make former inherit from latter. 
+       object_type_node etc.  Make former inherit from latter.
        * expr.c (expand_invoke):  Add cast of function address.
        * java-tree.h (TYPE_ARRAY_ELEMENT, PUSH_SUPER_VALUE):  New.
        * parse.c (yyparse):  Don't call layout_class here.
@@ -10329,7 +10333,7 @@ Tue Jun  3 10:14:31 1997  Per Bothner  <bothner@cygnus.com>
        (build_java_signature):  New function - build Java signature of type.
        (set_java_signature):  New function - cache signature with type.
        (lookup_java_method):  New function.
-       
+
 Tue May  6 22:08:24 1997  Per Bothner  <bothner@deneb.cygnus.com>
 
        * class.c (ident_subst):  Take extra SUFFIX parameter.
@@ -10389,7 +10393,7 @@ Thu Oct 24 14:10:16 1996  Per Bothner  <bothner@deneb.cygnus.com>
 
        * jcf.h:  Make NEW_CPOOL the default.
        * jcf.h, jcf-reader.c, parse.c:  Remove support for !NEW_CPOOL.
-       
+
 Thu Oct 24 13:52:45 1996  Per Bothner  <bothner@deneb.cygnus.com>
 
        New directory.
index a24ea03fcebd3a41f24bc1218e4a49fc89b2347e..485639510c1b95bf0ce81d44719a09f8e4dc7344 100644 (file)
@@ -144,7 +144,7 @@ main (int argc, const char **argv)
       fprintf (stream, "  \"");
       for (p = &argv[i][2]; *p; ++p)
        {
-         if (! isascii (*p))
+         if (! ISPRINT (*p))
            fprintf (stream, "\\%o", *p);
          else if (*p == '\\' || *p == '"')
            fprintf (stream, "\\%c", *p);
index 59caf48f0e5ace5205f15af15317c14b5d048fc8..754fc242d70ee079ee8c7d322bab5ace7290d460 100644 (file)
@@ -75,91 +75,12 @@ extern int fputs_unlocked PARAMS ((const char *, FILE *));
 # endif
 #endif
 
-#include <ctype.h>
+/* There are an extraordinary number of issues with <ctype.h>.
+   The last straw is that it varies with the locale.  Use libiberty's
+   replacement instead.  */
+#include <safe-ctype.h>
 
-/* Jim Meyering writes:
-
-   "... Some ctype macros are valid only for character codes that
-   isascii says are ASCII (SGI's IRIX-4.0.5 is one such system --when
-   using /bin/cc or gcc but without giving an ansi option).  So, all
-   ctype uses should be through macros like ISPRINT...  If
-   STDC_HEADERS is defined, then autoconf has verified that the ctype
-   macros don't need to be guarded with references to isascii. ...
-   Defining isascii to 1 should let any compiler worth its salt
-   eliminate the && through constant folding."
-
-   Bruno Haible adds:
-
-   "... Furthermore, isupper(c) etc. have an undefined result if c is
-   outside the range -1 <= c <= 255. One is tempted to write isupper(c)
-   with c being of type `char', but this is wrong if c is an 8-bit
-   character >= 128 which gets sign-extended to a negative value.
-   The macro ISUPPER protects against this as well."  */
-
-#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII)) || defined(HOST_EBCDIC)
-# define IN_CTYPE_DOMAIN(c) 1
-#else
-# define IN_CTYPE_DOMAIN(c) isascii(c)
-#endif
-
-/* The ctype functions are often implemented as macros which do
-   lookups in arrays using the parameter as the offset.  If the ctype
-   function parameter is a char, then gcc will (appropriately) warn
-   that a "subscript has type char".  Using a (signed) char as a subscript
-   is bad because you may get negative offsets and thus it is not 8-bit
-   safe.  The CTYPE_CONV macro ensures that the parameter is cast to an
-   unsigned char when a char is passed in.  When an int is passed in, the
-   parameter is left alone so we don't lose EOF.
-*/
-
-#define CTYPE_CONV(CH) \
-  (sizeof(CH) == sizeof(unsigned char) ? (int)(unsigned char)(CH) : (int)(CH))
-
-
-/* WARNING!  The argument to the ctype replacement macros below is
-   evaluated more than once so it must not have side effects!  */
-
-#ifdef isblank
-# define ISBLANK(c) (IN_CTYPE_DOMAIN (c) && isblank (CTYPE_CONV(c)))
-#else
-# define ISBLANK(c) ((c) == ' ' || (c) == '\t')
-#endif
-#ifdef isgraph
-# define ISGRAPH(c) (IN_CTYPE_DOMAIN (c) && isgraph (CTYPE_CONV(c)))
-#else
-# define ISGRAPH(c) (IN_CTYPE_DOMAIN (c) && isprint (CTYPE_CONV(c)) && !isspace (CTYPE_CONV(c)))
-#endif
-
-#define ISPRINT(c) (IN_CTYPE_DOMAIN (c) && isprint (CTYPE_CONV(c)))
-#define ISALNUM(c) (IN_CTYPE_DOMAIN (c) && isalnum (CTYPE_CONV(c)))
-#define ISALPHA(c) (IN_CTYPE_DOMAIN (c) && isalpha (CTYPE_CONV(c)))
-#define ISCNTRL(c) (IN_CTYPE_DOMAIN (c) && iscntrl (CTYPE_CONV(c)))
-#define ISLOWER(c) (IN_CTYPE_DOMAIN (c) && islower (CTYPE_CONV(c)))
-#define ISPUNCT(c) (IN_CTYPE_DOMAIN (c) && ispunct (CTYPE_CONV(c)))
-#define ISSPACE(c) (IN_CTYPE_DOMAIN (c) && isspace (CTYPE_CONV(c)))
-#define ISUPPER(c) (IN_CTYPE_DOMAIN (c) && isupper (CTYPE_CONV(c)))
-#define ISXDIGIT(c) (IN_CTYPE_DOMAIN (c) && isxdigit (CTYPE_CONV(c)))
-#define ISDIGIT_LOCALE(c) (IN_CTYPE_DOMAIN (c) && isdigit (CTYPE_CONV(c)))
-
-#if STDC_HEADERS
-# define TOLOWER(c) (tolower (CTYPE_CONV(c)))
-# define TOUPPER(c) (toupper (CTYPE_CONV(c)))
-#else
-# define TOLOWER(c) (ISUPPER (c) ? tolower (CTYPE_CONV(c)) : (c))
-# define TOUPPER(c) (ISLOWER (c) ? toupper (CTYPE_CONV(c)) : (c))
-#endif
-
-/* ISDIGIT differs from ISDIGIT_LOCALE, as follows:
-   - Its arg may be any int or unsigned int; it need not be an unsigned char.
-   - It's guaranteed to evaluate its argument exactly once.
-   - It's typically faster.
-   Posix 1003.2-1992 section 2.5.2.1 page 50 lines 1556-1558 says that
-   only '0' through '9' are digits.  Prefer ISDIGIT to ISDIGIT_LOCALE unless
-   it's important to use the locale's definition of `digit' even when the
-   host does not conform to Posix.  */
-#define ISDIGIT(c) ((unsigned) (c) - '0' <= 9)
-
-/* Define a default escape character; its different for EBCDIC.  */
+/* Define a default escape character; it's different for EBCDIC.  */
 #ifndef TARGET_ESC
 #define TARGET_ESC 033
 #endif
index 19e8b51598c8b8d5b2c01165d240deee69e8c47c..1cc7aa8dbcfe082778f55b48dc584eb97a56f55e 100644 (file)
@@ -402,13 +402,13 @@ yylex ()
   if (c >= '0' && c <= '9') {
     /* It's a number */
     for (namelen = 0;
-        c = tokstart[namelen], is_idchar[c] || c == '.'; 
+        c = tokstart[namelen], is_idchar (c) || c == '.'; 
         namelen++)
       ;
     return parse_number (namelen);
   }
   
-  if (!is_idstart[c]) {
+  if (!is_idstart (c)) {
     yyerror ("Invalid token in expression");
     return ERROR;
   }
@@ -416,7 +416,7 @@ yylex ()
   /* It is a name.  See how long it is.  */
   
   for (namelen = 0;
-       is_idchar[(int)(unsigned char)tokstart[namelen]];
+       is_idchar (tokstart[namelen]);
        namelen++)
     ;
   
index 5db2a84086ea96c147fd517785962cfea341d007..2117903ef2b0963c34ab4f0e82812bf92bc74b91 100644 (file)
@@ -376,7 +376,6 @@ static void output_line_command PARAMS ((FILE_BUF *, FILE_BUF *,
 
 static int eval_if_expression  PARAMS ((const U_CHAR *, int));
 
-static void initialize_char_syntax     PARAMS ((void));
 static void initialize_builtins        PARAMS ((void));
 static void run_directive      PARAMS ((const char *, size_t,
                                         enum node_type));
@@ -424,17 +423,8 @@ struct directive directive_table[] = {
   {  -1, 0, "", T_UNUSED},
 };
 
-/* table to tell if char can be part of a C identifier. */
-U_CHAR is_idchar[256];
-/* table to tell if char can be first char of a c identifier. */
-U_CHAR is_idstart[256];
-/* table to tell if c is horizontal space.  */
-U_CHAR is_hor_space[256];
-/* table to tell if c is horizontal or vertical space.  */
-U_CHAR is_space[256];
-
-#define SKIP_WHITE_SPACE(p) do { while (is_hor_space[*p]) p++; } while (0)
-#define SKIP_ALL_WHITE_SPACE(p) do { while (is_space[*p]) p++; } while (0)
+#define SKIP_WHITE_SPACE(p) do { while (is_nvspace(*p)) p++; } while (0)
+#define SKIP_ALL_WHITE_SPACE(p) do { while (is_space(*p)) p++; } while (0)
   
 int errors = 0;                        /* Error counter for exit code */
 
@@ -522,9 +512,6 @@ main (argc, argv)
   in_fname = NULL;
   out_fname = NULL;
 
-  /* Initialize is_idchar to allow $.  */
-  initialize_char_syntax ();
-
   no_line_commands = 0;
   dump_macros = 0;
   no_output = 0;
@@ -726,11 +713,7 @@ main (argc, argv)
   if (user_label_prefix == 0)
     user_label_prefix = USER_LABEL_PREFIX;
 
-  /* Initialize is_idchar.  */
-  initialize_char_syntax ();
-
-  /* Install __LINE__, etc.  Must follow initialize_char_syntax
-     and option processing.  */
+  /* Install __LINE__, etc.  Must follow option processing.  */
   initialize_builtins ();
 
   /* Do defines specified with -D and undefines specified with -U.  */
@@ -1052,14 +1035,14 @@ name_newline_fix (bp)
 
   /* What follows the backslash-newlines is not embarrassing.  */
 
-  if (count == 0 || !is_idchar[*p])
+  if (count == 0 || !is_idchar (*p))
     return;
 
   /* Copy all potentially embarrassing characters
      that follow the backslash-newline pairs
      down to where the pairs originally started.  */
 
-  while (is_idchar[*p])
+  while (is_idchar (*p))
     *bp++ = *p++;
 
   /* Now write the same number of pairs after the embarrassing chars.  */
@@ -1463,7 +1446,7 @@ do { ip = &instack[indepth];              \
            /* If expanding a macro arg, keep the newline -.  */
            *obp++ = '-';
          }
-       } else if (is_space[*ibp]) {
+       } else if (is_space (*ibp)) {
          /* Newline Space does not prevent expansion of preceding token
             so expand the preceding token and then come back.  */
          if (ident_length > 0)
@@ -1514,7 +1497,7 @@ do { ip = &instack[indepth];              \
        ibp--;
        /* If we have an identifier that ends here, process it now, so
           we get the right error for recursion.  */
-       if (ident_length && ! is_idchar[*instack[indepth - 1].bufp]) {
+       if (ident_length && ! is_idchar (*instack[indepth - 1].bufp)) {
          redo_char = 1;
          goto randomchar;
        }
@@ -1642,7 +1625,7 @@ randomchar:
                      *obp++ = '/';
                    }
                  }
-                 else if (is_space[*ibp]) {
+                 else if (is_space (*ibp)) {
                    *obp++ = *ibp++;
                    if (ibp[-1] == '\n') {
                      if (ip->macro == 0) {
@@ -1837,7 +1820,7 @@ handle_directive (ip, op)
   bp = ip->bufp;
   /* Skip whitespace and \-newline.  */
   while (1) {
-    if (is_hor_space[*bp])
+    if (is_nvspace (*bp))
       bp++;
     else if (*bp == '/' && (newline_fix (bp + 1), bp[1]) == '*') {
       ip->bufp = bp;
@@ -1854,12 +1837,12 @@ handle_directive (ip, op)
 
   cp = bp;
   while (1) {
-    if (is_idchar[*cp])
+    if (is_idchar (*cp))
       cp++;
     else {
       if (*cp == '\\' && cp[1] == '\n')
        name_newline_fix (cp);
-      if (is_idchar[*cp])
+      if (is_idchar (*cp))
        cp++;
       else break;
     }
@@ -1996,11 +1979,11 @@ handle_directive (ip, op)
            if (*xp == '\n') {
              xp++;
              cp--;
-             if (cp != buf && is_space[cp[-1]]) {
-               while (cp != buf && is_space[cp[-1]]) cp--;
+             if (cp != buf && is_space (cp[-1])) {
+               while (cp != buf && is_space(cp[-1])) cp--;
                cp++;
                SKIP_WHITE_SPACE (xp);
-             } else if (is_space[*xp]) {
+             } else if (is_space (*xp)) {
                *cp++ = *xp++;
                SKIP_WHITE_SPACE (xp);
              }
@@ -2172,11 +2155,11 @@ special_symbol (hp, op)
       SKIP_WHITE_SPACE (ip->bufp);
     }
 
-    if (!is_idstart[*ip->bufp])
+    if (!is_idstart (*ip->bufp))
       goto oops;
     if (lookup (ip->bufp, -1, -1))
       buf = " 1 ";
-    while (is_idchar[*ip->bufp])
+    while (is_idchar (*ip->bufp))
       ++ip->bufp;
     SKIP_WHITE_SPACE (ip->bufp);
     if (paren) {
@@ -2235,7 +2218,7 @@ get_filename:
   SKIP_WHITE_SPACE (fbeg);
   /* Discard trailing whitespace so we can easily see
      if we have parsed all the significant chars we were given.  */
-  while (limit != fbeg && is_hor_space[limit[-1]]) limit--;
+  while (limit != fbeg && is_nvspace (limit[-1])) limit--;
 
   switch (*fbeg++) {
   case '\"':
@@ -2514,17 +2497,17 @@ do_define (buf, limit, op)
 
   bp = buf;
 
-  while (is_hor_space[*bp])
+  while (is_nvspace (*bp))
     bp++;
 
   symname = bp;                        /* remember where it starts */
-  while (is_idchar[*bp] && bp < limit) {
+  while (is_idchar (*bp) && bp < limit) {
     bp++;
   }
   sym_length = bp - symname;
   if (sym_length == 0)
     error ("invalid macro name");
-  else if (!is_idstart[*symname]) {
+  else if (!is_idstart (*symname)) {
     U_CHAR *msg;                       /* what pain... */
     msg = (U_CHAR *) alloca (sym_length + 1);
     memcpy (msg, symname, sym_length);
@@ -2556,11 +2539,11 @@ do_define (buf, limit, op)
       temp->argno = argno++;
       arg_ptrs = temp;
 
-      if (!is_idstart[*bp])
+      if (!is_idstart (*bp))
        warning ("parameter name starts with a digit in #define");
 
       /* Find the end of the arg name.  */
-      while (is_idchar[*bp]) {
+      while (is_idchar (*bp)) {
        bp++;
       }
       temp->length = bp - temp->name;
@@ -2581,7 +2564,7 @@ do_define (buf, limit, op)
     }
 
     ++bp;                      /* skip paren */
-    while (is_hor_space[*bp])  /* and leading whitespace */
+    while (is_nvspace (*bp))   /* and leading whitespace */
       ++bp;
     /* now everything from bp before limit is the definition. */
     defn = collect_expansion (bp, limit, argno, arg_ptrs);
@@ -2608,7 +2591,7 @@ do_define (buf, limit, op)
     }
   } else {
     /* simple expansion or empty definition; skip leading whitespace */
-    while (is_hor_space[*bp])
+    while (is_nvspace (*bp))
       ++bp;
     /* now everything from bp before limit is the definition. */
     defn = collect_expansion (bp, limit, -1, 0);
@@ -2689,17 +2672,17 @@ comp_def_part (first, beg1, len1, beg2, len2, last)
   register const U_CHAR *end1 = beg1 + len1;
   register const U_CHAR *end2 = beg2 + len2;
   if (first) {
-    while (beg1 != end1 && is_space[*beg1]) beg1++;
-    while (beg2 != end2 && is_space[*beg2]) beg2++;
+    while (beg1 != end1 && is_space (*beg1)) beg1++;
+    while (beg2 != end2 && is_space (*beg2)) beg2++;
   }
   if (last) {
-    while (beg1 != end1 && is_space[end1[-1]]) end1--;
-    while (beg2 != end2 && is_space[end2[-1]]) end2--;
+    while (beg1 != end1 && is_space (end1[-1])) end1--;
+    while (beg2 != end2 && is_space (end2[-1])) end2--;
   }
   while (beg1 != end1 && beg2 != end2) {
-    if (is_space[*beg1] && is_space[*beg2]) {
-      while (beg1 != end1 && is_space[*beg1]) beg1++;
-      while (beg2 != end2 && is_space[*beg2]) beg2++;
+    if (is_space (*beg1) && is_space (*beg2)) {
+      while (beg1 != end1 && is_space (*beg1)) beg1++;
+      while (beg2 != end2 && is_space (*beg2)) beg2++;
     } else if (*beg1 == *beg2) {
       beg1++; beg2++;
     } else break;
@@ -2756,8 +2739,8 @@ collect_expansion (buf, end, nargs, arglist)
   /* Find end of leading whitespace.  */
   limit = end;
   p = buf;
-  while (p < limit && is_space[limit[-1]]) limit--;
-  while (p < limit && is_space[*p]) p++;
+  while (p < limit && is_space (limit[-1])) limit--;
+  while (p < limit && is_space (*p)) p++;
 
   /* Allocate space for the text in the macro definition.
      Leading and trailing whitespace chars need 2 bytes each.
@@ -2776,7 +2759,7 @@ collect_expansion (buf, end, nargs, arglist)
   p = buf;
 
   /* Convert leading whitespace to Newline-markers.  */
-  while (p < limit && is_space[*p]) {
+  while (p < limit && is_space (*p)) {
     *exp_p++ = '\n';
     *exp_p++ = *p++;
   }
@@ -2826,15 +2809,15 @@ collect_expansion (buf, end, nargs, arglist)
       break;
     }
 
-    if (is_idchar[c] && nargs > 0) {
+    if (is_idchar (c) && nargs > 0) {
       U_CHAR *id_beg = p - 1;
       int id_len;
 
       --exp_p;
-      while (p != limit && is_idchar[*p]) p++;
+      while (p != limit && is_idchar (*p)) p++;
       id_len = p - id_beg;
 
-      if (is_idstart[c]) {
+      if (is_idstart (c)) {
        register struct arglist *arg;
 
        for (arg = arglist; arg != NULL; arg = arg->next) {
@@ -2887,7 +2870,7 @@ collect_expansion (buf, end, nargs, arglist)
 
   if (limit < end) {
     /* Convert trailing whitespace to Newline-markers.  */
-    while (limit < end && is_space[*limit]) {
+    while (limit < end && is_space (*limit)) {
       *exp_p++ = '\n';
       *exp_p++ = *limit++;
     }
@@ -2941,7 +2924,7 @@ do_line (buf, limit, op)
     bp++;
 
 #if 0 /* #line 10"foo.c" is supposed to be allowed.  */
-  if (*bp && !is_space[*bp]) {
+  if (*bp && !is_space (*bp)) {
     error ("invalid format #line command");
     return;
   }
@@ -3030,7 +3013,7 @@ do_undef (buf, limit, op)
 
   SKIP_WHITE_SPACE (buf);
 
-  if (! strncmp ((const char *)buf, "defined", 7) && ! is_idchar[buf[7]])
+  if (! strncmp ((const char *)buf, "defined", 7) && ! is_idchar (buf[7]))
     warning ("undefining `defined'");
 
   while ((hp = lookup (buf, -1, -1)) != NULL) {
@@ -3121,11 +3104,11 @@ parse_assertion (buf, limit, answerp, type)
   unsigned int len;
 
   bp = symname;
-  if (bp < climit && is_idstart[*bp])
+  if (bp < climit && is_idstart (*bp))
     {
       do
        bp++;
-      while (bp < climit && is_idchar[*bp]);
+      while (bp < climit && is_idchar (*bp));
     }
   len = bp - symname;
 
@@ -3177,9 +3160,9 @@ test_assertion (pbuf)
 
       /* Yuk.  We update pbuf to point after the assertion test.
         First, move past the identifier.  */
-      if (is_space[*buf])
+      if (is_space (*buf))
        buf++;
-      while (is_idchar[*buf])
+      while (is_idchar (*buf))
        buf++;
       /* If we have an answer, we need to move past the parentheses.  */
       if (answer)
@@ -3292,11 +3275,11 @@ canonicalize_text (buf, limit, climit)
 
   for (dest = result; buf < limit;)
     {
-      if (! is_space[*buf])
+      if (! is_space (*buf))
        *dest++ = *buf++;
       else
        {
-         while (++buf < limit && is_space [*buf])
+         while (++buf < limit && is_space (*buf))
            ;
          if (dest != result && buf != limit)
            *dest++ = ' ';
@@ -3411,10 +3394,10 @@ do_xifdef (buf, limit, type)
 
   /* Discard leading and trailing whitespace.  */
   SKIP_WHITE_SPACE (buf);
-  while (limit != buf && is_hor_space[limit[-1]]) limit--;
+  while (limit != buf && is_nvspace (limit[-1])) limit--;
 
   /* Find the end of the identifier at the beginning.  */
-  for (end = buf; is_idchar[*end]; end++);
+  for (end = buf; is_idchar (*end); end++);
 
   if (end == buf)
     skip = (type == T_IFDEF);
@@ -3521,7 +3504,7 @@ skip_if_group (ip, any)
         If not, this # is not special.  */
       bp = beg_of_line;
       while (1) {
-       if (is_hor_space[*bp])
+       if (is_nvspace (*bp))
          bp++;
        else if (*bp == '\\' && bp[1] == '\n')
          bp += 2;
@@ -3545,7 +3528,7 @@ skip_if_group (ip, any)
 
       /* Skip whitespace and \-newline.  */
       while (1) {
-       if (is_hor_space[*bp])
+       if (is_nvspace (*bp))
          bp++;
        else if (*bp == '\\' && bp[1] == '\n')
          bp += 2;
@@ -3565,12 +3548,12 @@ skip_if_group (ip, any)
         symbol-constituents so that we end up with a contiguous name.  */
 
       while (1) {
-       if (is_idchar[*bp])
+       if (is_idchar (*bp))
          bp++;
        else {
          if (*bp == '\\' && bp[1] == '\n')
            name_newline_fix (bp);
-         if (is_idchar[*bp])
+         if (is_idchar (*bp))
            bp++;
          else break;
        }
@@ -3579,7 +3562,7 @@ skip_if_group (ip, any)
       for (kt = directive_table; kt->length >= 0; kt++) {
        IF_STACK_FRAME *temp;
        if (strncmp ((const char *)cp, kt->name, kt->length) == 0
-           && !is_idchar[cp[kt->length]]) {
+           && !is_idchar (cp[kt->length])) {
 
          /* If we are asked to return on next directive,
             do so now.  */
@@ -3926,7 +3909,7 @@ macroexpand (hp, op)
     if (i == 1) {
       register const U_CHAR *bp = args[0].raw;
       register const U_CHAR *lim = bp + args[0].raw_length;
-      while (bp != lim && is_space[*bp]) bp++;
+      while (bp != lim && is_space (*bp)) bp++;
       if (bp == lim)
        i = 0;
     }
@@ -3994,10 +3977,10 @@ macroexpand (hp, op)
          int c;
          i = 0;
          while (i < arglen
-                && (c = arg->raw[i], is_space[c]))
+                && (c = arg->raw[i], is_space (c)))
            i++;
          while (i < arglen
-                && (c = arg->raw[arglen - 1], is_space[c]))
+                && (c = arg->raw[arglen - 1], is_space (c)))
            arglen--;
          for (; i < arglen; i++) {
            c = arg->raw[i];
@@ -4012,13 +3995,13 @@ macroexpand (hp, op)
            /* Internal sequences of whitespace are replaced by one space
               except within an string or char token.  */
            if (! in_string
-               && (c == '\n' ? arg->raw[i+1] == '\n' : is_space[c])) {
+               && (c == '\n' ? arg->raw[i+1] == '\n' : is_space (c))) {
              while (1) {
                /* Note that Newline Space does occur within whitespace
                   sequences; consider it part of the sequence.  */
-               if (c == '\n' && is_space[arg->raw[i+1]])
+               if (c == '\n' && is_space (arg->raw[i+1]))
                  i += 2;
-               else if (c != '\n' && is_space[c])
+               else if (c != '\n' && is_space (c))
                  i++;
                else break;
                c = arg->raw[i];
@@ -4054,8 +4037,8 @@ macroexpand (hp, op)
          const U_CHAR *l1 = p1 + arg->raw_length;
 
          if (ap->raw_before) {
-           while (p1 != l1 && is_space[*p1]) p1++;
-           while (p1 != l1 && is_idchar[*p1])
+           while (p1 != l1 && is_space (*p1)) p1++;
+           while (p1 != l1 && is_idchar (*p1))
              xbuf[totlen++] = *p1++;
            /* Delete any no-reexpansion marker that follows
               an identifier at the beginning of the argument
@@ -4067,7 +4050,7 @@ macroexpand (hp, op)
            /* Arg is concatenated after: delete trailing whitespace,
               whitespace markers, and no-reexpansion markers.  */
            while (p1 != l1) {
-             if (is_space[l1[-1]]) l1--;
+             if (is_space (l1[-1])) l1--;
              else if (l1[-1] == '-') {
                const U_CHAR *p2 = l1 - 1;
                /* If a `-' is preceded by an odd number of newlines then it
@@ -4681,7 +4664,7 @@ install (name, len, type, hash)
 
   if (len < 0) {
     p = name;
-    while (is_idchar[*p])
+    while (is_idchar (*p))
       p++;
     len = p - name;
   }
@@ -4725,7 +4708,7 @@ lookup (name, len, hash)
   register HASHNODE *bucket;
 
   if (len < 0) {
-    for (bp = name; is_idchar[*bp]; bp++) ;
+    for (bp = name; is_idchar (*bp); bp++) ;
     len = bp - name;
   }
 
@@ -4896,44 +4879,6 @@ dump_arg_n (defn, argnum)
     p++;
   }
 }
-\f
-/* Initialize syntactic classifications of characters.  */
-static void
-initialize_char_syntax ()
-{
-  register int i;
-
-  /*
-   * Set up is_idchar and is_idstart tables.  These should be
-   * faster than saying (is_alpha (c) || c == '_'), etc.
-   * Must do set up these things before calling any routines tthat
-   * refer to them.
-   */
-  for (i = 'a'; i <= 'z'; i++) {
-    is_idchar[i - 'a' + 'A'] = 1;
-    is_idchar[i] = 1;
-    is_idstart[i - 'a' + 'A'] = 1;
-    is_idstart[i] = 1;
-  }
-  for (i = '0'; i <= '9'; i++)
-    is_idchar[i] = 1;
-  is_idchar['_'] = 1;
-  is_idstart['_'] = 1;
-
-  /* horizontal space table */
-  is_hor_space[' '] = 1;
-  is_hor_space['\t'] = 1;
-  is_hor_space['\v'] = 1;
-  is_hor_space['\f'] = 1;
-  is_hor_space['\r'] = 1;
-
-  is_space[' '] = 1;
-  is_space['\t'] = 1;
-  is_space['\v'] = 1;
-  is_space['\f'] = 1;
-  is_space['\n'] = 1;
-  is_space['\r'] = 1;
-}
 
 /* Initialize the built-in macros.  */
 #define DSC(x) U x, sizeof x - 1
index b646939528e76a3ff05eddf02fc80e31aaf88210..f4c9ff34e3de54402f305b4276e898b9ff1a7645 100644 (file)
@@ -36,7 +36,9 @@ extern struct hashnode *lookup PARAMS ((const unsigned char *, int, int));
 extern int parse_c_expression PARAMS ((const char *));  /* in tradcif.y */
 extern int test_assertion PARAMS ((unsigned char **));
 
-/* some external tables of character types */
-extern unsigned char is_idstart[], is_idchar[];
+#define is_idchar(x)   ISIDNUM(x)
+#define is_idstart(x)  ISIDST(x)
+#define is_space(x)    ISSPACE(x)
+#define is_nvspace(x)  IS_NVSPACE(x)
 
 #endif /* ! _TRADCPP_H_ */
index 1c3968bdcc1d626d6558934c77834e314705caa8..69c04ad6dbf1d7cecf94fc45f2a8f97f21ca1f55 100644 (file)
@@ -1,3 +1,7 @@
+2000-12-07  Zack Weinberg  <zack@wolery.stanford.edu>
+
+       * safe-ctype.h: New file.
+
 2000-12-06  Rodney Brown  <RodneyBrown@mynd.com>
 
        * getopt.h obstack.h: Standarize copyright statement.
diff --git a/include/safe-ctype.h b/include/safe-ctype.h
new file mode 100644 (file)
index 0000000..977653c
--- /dev/null
@@ -0,0 +1,105 @@
+/* <ctype.h> replacement macros.
+
+   Copyright (C) 2000 Free Software Foundation, Inc.
+   Contributed by Zack Weinberg <zackw@stanford.edu>.
+
+This file is part of the libiberty library.
+Libiberty is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+Libiberty is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with libiberty; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+/* This is a compatible replacement of the standard C library's <ctype.h>
+   with the following properties:
+
+   - Implements all isxxx() macros required by C99.
+   - Also implements some character classes useful when
+     parsing C-like languages.
+   - Does not change behavior depending on the current locale.
+   - Behaves properly for all values in the range of a signed or
+     unsigned char.
+
+   To avoid conflicts, this header defines the isxxx functions in upper
+   case, e.g. ISALPHA not isalpha.  */
+
+#ifndef SAFE_CTYPE_H
+#define SAFE_CTYPE_H
+
+#ifdef isalpha
+ #error "safe-ctype.h and ctype.h may not be used simultaneously"
+#else
+
+/* Categories.  */
+
+enum {
+  /* In C99 */
+  _sch_isblank  = 0x0001,      /* space \t */
+  _sch_iscntrl  = 0x0002,      /* nonprinting characters */
+  _sch_isdigit  = 0x0004,      /* 0-9 */
+  _sch_islower  = 0x0008,      /* a-z */
+  _sch_isprint  = 0x0010,      /* any printing character including ' ' */
+  _sch_ispunct  = 0x0020,      /* all punctuation */
+  _sch_isspace  = 0x0040,      /* space \t \n \r \f \v */
+  _sch_isupper  = 0x0080,      /* A-Z */
+  _sch_isxdigit = 0x0100,      /* 0-9A-Fa-f */
+
+  /* Extra categories useful to cpplib.  */
+  _sch_isidst  = 0x0200,       /* A-Za-z_ */
+  _sch_isvsp    = 0x0400,      /* \n \r */
+  _sch_isnvsp   = 0x0800,      /* space \t \f \v \0 */
+
+  /* Combinations of the above.  */
+  _sch_isalpha  = _sch_isupper|_sch_islower,   /* A-Za-z */
+  _sch_isalnum  = _sch_isalpha|_sch_isdigit,   /* A-Za-z0-9 */
+  _sch_isidnum  = _sch_isidst|_sch_isdigit,    /* A-Za-z0-9_ */
+  _sch_isgraph  = _sch_isalnum|_sch_ispunct,   /* isprint and not space */
+  _sch_iscppsp  = _sch_isvsp|_sch_isnvsp       /* isspace + \0 */
+};
+
+/* This code fundamentally assumes that a byte is 8 bits.  Test this
+   at compile time.  */
+
+extern int a_byte_isnt_eight_bits[(unsigned char)256 == 0 ? 1 : -1];
+
+/* Character classification.  */
+extern const unsigned short _sch_istable[256];
+
+#define _sch_test(c, bit) (_sch_istable[(int)(unsigned char)(c)] & (bit))
+
+#define ISALPHA(c)  _sch_test(c, _sch_isalpha)
+#define ISALNUM(c)  _sch_test(c, _sch_isalnum)
+#define ISBLANK(c)  _sch_test(c, _sch_isblank)
+#define ISCNTRL(c)  _sch_test(c, _sch_iscntrl)
+#define ISDIGIT(c)  _sch_test(c, _sch_isdigit)
+#define ISGRAPH(c)  _sch_test(c, _sch_isgraph)
+#define ISLOWER(c)  _sch_test(c, _sch_islower)
+#define ISPRINT(c)  _sch_test(c, _sch_isprint)
+#define ISPUNCT(c)  _sch_test(c, _sch_ispunct)
+#define ISSPACE(c)  _sch_test(c, _sch_isspace)
+#define ISUPPER(c)  _sch_test(c, _sch_isupper)
+#define ISXDIGIT(c) _sch_test(c, _sch_isxdigit)
+
+#define ISIDNUM(c)     _sch_test(c, _sch_isidnum)
+#define ISIDST(c)      _sch_test(c, _sch_isidst)
+#define IS_VSPACE(c)   _sch_test(c, _sch_isvsp)
+#define IS_NVSPACE(c)  _sch_test(c, _sch_isnvsp)
+#define IS_SPACE_OR_NUL(c)     _sch_test(c, _sch_iscppsp)
+
+/* Character transformation.  */
+extern const unsigned char  _sch_toupper[256];
+extern const unsigned char  _sch_tolower[256];
+#define TOUPPER(c) _sch_toupper[(int)(unsigned char)(c)]
+#define TOLOWER(c) _sch_tolower[(int)(unsigned char)(c)]
+
+#endif /* no ctype.h */
+#endif /* SAFE_CTYPE_H */
index 6e7e606638c38fe85bd34850f644f2844b5b0041..6e2b3e9818329662ddb4b95aeda4c4cb3780b971 100644 (file)
@@ -1,3 +1,15 @@
+2000-12-07  Zack Weinberg  <zack@wolery.stanford.edu>
+
+       * safe-ctype.c: New file.
+       * Makefile.in (CFILES): Add safe-ctype.c.
+       (REQUIRED_OFILES): Add safe-ctype.o.
+
+       * argv.c: Define ISBLANK and use it, not isspace.
+       * basename.c, cplus-dem.c, fnmatch.c, pexecute.c, strtod.c,
+       strtol.c, strtoul.c: Include safe-ctype.h, not ctype.h.  Use
+       uppercase ctype macros.  Don't test ISUPPER(c)/ISLOWER(c)
+       before calling TOLOWER(c)/TOUPPER(c).
+
 2000-12-07  Mike Stump  <mrs@wrs.com>
 
        * Makefile.in (distclean): When cleaning, remove testsuite.
@@ -13,7 +25,7 @@
        * cplus-dem.c: Likewise.
        (current_demangling_style): Now auto_demangling.
        (cplus_demangle): Try v3 demangling if AUTO_DEMANGLING.
-       (main): Use standard symbol chars for auto_demangling.  
+       (main): Use standard symbol chars for auto_demangling.
 
 2000-11-26  Mark Mitchell  <mark@codesourcery.com>
 
index 850b9d9f89b1e59ffad33168dd996de495c5179e..238902b274fa20dc5e8b6d21539fc8dc78214a32 100644 (file)
@@ -128,22 +128,22 @@ CFILES = asprintf.c alloca.c argv.c atexit.c basename.c bcmp.c bcopy.c          \
        bzero.c calloc.c choose-temp.c clock.c concat.c cplus-dem.c           \
         cp-demangle.c dyn-string.c fdmatch.c fnmatch.c getcwd.c                      \
        getpwd.c getopt.c getopt1.c getpagesize.c getruntime.c                \
-       floatformat.c hashtab.c hex.c index.c insque.c md5.c memchr.c memcmp.c\
-       memcpy.c memmove.c memset.c mkstemps.c objalloc.c obstack.c           \
+       floatformat.c hashtab.c hex.c index.c insque.c md5.c memchr.c         \
+       memcmp.c memcpy.c memmove.c memset.c mkstemps.c objalloc.c obstack.c  \
        partition.c pexecute.c putenv.c random.c rename.c rindex.c setenv.c   \
-       sigsetmask.c sort.c spaces.c splay-tree.c strcasecmp.c strncasecmp.c  \
-       strchr.c strdup.c strerror.c strncmp.c strrchr.c strsignal.c strstr.c \
-       strtod.c strtol.c strtoul.c tmpnam.c vasprintf.c vfork.c vfprintf.c   \
-       vprintf.c vsprintf.c waitpid.c xatexit.c xexit.c xmalloc.c            \
-       xmemdup.c xstrdup.c xstrerror.c
+       sigsetmask.c safe-ctype.c sort.c spaces.c splay-tree.c strcasecmp.c   \
+       strncasecmp.c strchr.c strdup.c strerror.c strncmp.c strrchr.c        \
+       strsignal.c strstr.c strtod.c strtol.c strtoul.c tmpnam.c vasprintf.c \
+       vfork.c vfprintf.c vprintf.c vsprintf.c waitpid.c xatexit.c xexit.c   \
+       xmalloc.c xmemdup.c xstrdup.c xstrerror.c
 
 # These are always included in the library.
-REQUIRED_OFILES = argv.o choose-temp.o concat.o cplus-dem.o cp-demangle.o \
-       dyn-string.o fdmatch.o fnmatch.o getopt.o getopt1.o getpwd.o      \
+REQUIRED_OFILES = argv.o choose-temp.o concat.o cplus-dem.o cp-demangle.o     \
+       dyn-string.o fdmatch.o fnmatch.o getopt.o getopt1.o getpwd.o          \
        getruntime.o hashtab.o hex.o floatformat.o md5.o objalloc.o obstack.o \
-       partition.o pexecute.o sort.o spaces.o splay-tree.o strerror.o    \
-       strsignal.o xatexit.o xexit.o xmalloc.o xmemdup.o xstrdup.o       \
-       xstrerror.o
+       partition.o pexecute.o safe-ctype.o sort.o spaces.o splay-tree.o      \
+       strerror.o strsignal.o xatexit.o xexit.o xmalloc.o xmemdup.o          \
+       xstrdup.o xstrerror.o
 
 $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) $(ALLOCA)
        rm -f $(TARGETLIB)
index f596ffd0110a033ed095cc989cdf9b900c1500b0..7aec9c04cf13b0a58e80e60c493e43696a7bf90e 100644 (file)
@@ -25,10 +25,7 @@ Boston, MA 02111-1307, USA.  */
 #include "ansidecl.h"
 #include "libiberty.h"
 
-#ifdef isspace
-#undef isspace
-#endif
-#define isspace(ch) ((ch) == ' ' || (ch) == '\t')
+#define ISBLANK(ch) ((ch) == ' ' || (ch) == '\t')
 
 /*  Routines imported from standard C runtime libraries. */
 
@@ -227,7 +224,7 @@ char *input;
       do
        {
          /* Pick off argv[argc] */
-         while (isspace (*input))
+         while (ISBLANK (*input))
            {
              input++;
            }
@@ -260,7 +257,7 @@ char *input;
          arg = copybuf;
          while (*input != EOS)
            {
-             if (isspace (*input) && !squote && !dquote && !bsquote)
+             if (ISBLANK (*input) && !squote && !dquote && !bsquote)
                {
                  break;
                }
@@ -326,7 +323,7 @@ char *input;
          argc++;
          argv[argc] = NULL;
 
-         while (isspace (*input))
+         while (ISBLANK (*input))
            {
              input++;
            }
index 7698f06f8ae4675ab99c4a29866c40c56c39b689..ca089ebbc5ae59951af6074dd4c2146d3eb52aff 100644 (file)
@@ -20,7 +20,7 @@ BUGS
 
 #include "ansidecl.h"
 #include "libiberty.h"
-#include <ctype.h>
+#include "safe-ctype.h"
 
 #ifndef DIR_SEPARATOR
 #define DIR_SEPARATOR '/'
@@ -50,7 +50,7 @@ basename (name)
 
 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
   /* Skip over the disk name in MSDOS pathnames. */
-  if (isalpha (name[0]) && name[1] == ':') 
+  if (ISALPHA (name[0]) && name[1] == ':') 
     name += 2;
 #endif
 
index b88944573ba8c843ceff954f83867fd73fd0da29..a42f45e6426b1727a439d71850b37916afa2c44d 100644 (file)
@@ -34,7 +34,8 @@ Boston, MA 02111-1307, USA.  */
 #include "config.h"
 #endif
 
-#include <ctype.h>
+#include "safe-ctype.h"
+
 #include <sys/types.h>
 #include <string.h>
 #include <stdio.h>
@@ -544,10 +545,10 @@ consume_count (type)
 {
   int count = 0;
 
-  if (! isdigit ((unsigned char)**type))
+  if (! ISDIGIT ((unsigned char)**type))
     return -1;
 
-  while (isdigit ((unsigned char)**type))
+  while (ISDIGIT ((unsigned char)**type))
     {
       count *= 10;
 
@@ -558,7 +559,7 @@ consume_count (type)
         ten.  */
       if ((count % 10) != 0)
        {
-         while (isdigit ((unsigned char) **type))
+         while (ISDIGIT ((unsigned char) **type))
            (*type)++;
          return -1;
        }
@@ -584,7 +585,7 @@ consume_count_with_underscores (mangled)
   if (**mangled == '_')
     {
       (*mangled)++;
-      if (!isdigit ((unsigned char)**mangled))
+      if (!ISDIGIT ((unsigned char)**mangled))
        return -1;
 
       idx = consume_count (mangled);
@@ -716,8 +717,8 @@ cplus_demangle_opname (opname, result, options)
        }
     }
   else if (opname[0] == '_' && opname[1] == '_'
-          && islower((unsigned char)opname[2])
-          && islower((unsigned char)opname[3]))
+          && ISLOWER((unsigned char)opname[2])
+          && ISLOWER((unsigned char)opname[3]))
     {
       if (opname[4] == '\0')
        {
@@ -1003,8 +1004,8 @@ ada_demangle (mangled, option)
             sizeof (char));
   demangled = demangling_buffer;
   
-  if (isdigit ((unsigned char) mangled[len0 - 1])) {
-    for (i = len0 - 2; i >= 0 && isdigit ((unsigned char) mangled[i]); i -= 1)
+  if (ISDIGIT ((unsigned char) mangled[len0 - 1])) {
+    for (i = len0 - 2; i >= 0 && ISDIGIT ((unsigned char) mangled[i]); i -= 1)
       ;
     if (i > 1 && mangled[i] == '_' && mangled[i - 1] == '_')
       {
@@ -1018,7 +1019,7 @@ ada_demangle (mangled, option)
       }
   }
   
-  for (i = 0, j = 0; i < len0 && ! isalpha ((unsigned char)mangled[i]);
+  for (i = 0, j = 0; i < len0 && ! ISALPHA ((unsigned char)mangled[i]);
        i += 1, j += 1)
     demangled[j] = mangled[i];
   
@@ -1042,7 +1043,7 @@ ada_demangle (mangled, option)
   demangled[j] = '\000';
   
   for (i = 0; demangled[i] != '\0'; i += 1)
-    if (isupper ((unsigned char)demangled[i]) || demangled[i] == ' ')
+    if (ISUPPER ((unsigned char)demangled[i]) || demangled[i] == ' ')
       goto Suppress;
 
   if (! changed)
@@ -1532,7 +1533,7 @@ demangle_signature (work, mangled, declp)
             if (HP_DEMANGLING)
               {
                 (*mangled)++;
-                while (**mangled && isdigit ((unsigned char)**mangled))
+                while (**mangled && ISDIGIT ((unsigned char)**mangled))
                   (*mangled)++;
               }
             else
@@ -1865,7 +1866,7 @@ demangle_real_value (work, mangled, s)
       string_appendn (s, "-", 1);
       (*mangled)++;
     }
-  while (isdigit ((unsigned char)**mangled))
+  while (ISDIGIT ((unsigned char)**mangled))
     {
       string_appendn (s, *mangled, 1);
       (*mangled)++;
@@ -1874,7 +1875,7 @@ demangle_real_value (work, mangled, s)
     {
       string_appendn (s, ".", 1);
       (*mangled)++;
-      while (isdigit ((unsigned char)**mangled))
+      while (ISDIGIT ((unsigned char)**mangled))
        {
          string_appendn (s, *mangled, 1);
          (*mangled)++;
@@ -1884,7 +1885,7 @@ demangle_real_value (work, mangled, s)
     {
       string_appendn (s, "e", 1);
       (*mangled)++;
-      while (isdigit ((unsigned char)**mangled))
+      while (ISDIGIT ((unsigned char)**mangled))
        {
          string_appendn (s, *mangled, 1);
          (*mangled)++;
@@ -2735,20 +2736,20 @@ demangle_prefix (work, mangled, declp)
     }
   else if (work -> static_type)
     {
-      if (!isdigit ((unsigned char)scan[0]) && (scan[0] != 't'))
+      if (!ISDIGIT ((unsigned char)scan[0]) && (scan[0] != 't'))
        {
          success = 0;
        }
     }
   else if ((scan == *mangled)
-          && (isdigit ((unsigned char)scan[2]) || (scan[2] == 'Q')
+          && (ISDIGIT ((unsigned char)scan[2]) || (scan[2] == 'Q')
               || (scan[2] == 't') || (scan[2] == 'K') || (scan[2] == 'H')))
     {
       /* The ARM says nothing about the mangling of local variables.
         But cfront mangles local variables by prepending __<nesting_level>
         to them. As an extension to ARM demangling we handle this case.  */
       if ((LUCID_DEMANGLING || ARM_DEMANGLING || HP_DEMANGLING)
-         && isdigit ((unsigned char)scan[2]))
+         && ISDIGIT ((unsigned char)scan[2]))
        {
          *mangled = scan + 2;
          consume_count (mangled);
@@ -2785,7 +2786,7 @@ demangle_prefix (work, mangled, declp)
       /* EDG template? */
       demangle_arm_hp_template (work, mangled, strlen (*mangled), declp);
     }
-  else if ((scan == *mangled) && !isdigit ((unsigned char)scan[2])
+  else if ((scan == *mangled) && !ISDIGIT ((unsigned char)scan[2])
           && (scan[2] != 't'))
     {
       /* Mangled name starts with "__".  Skip over any leading '_' characters,
@@ -2907,7 +2908,7 @@ gnu_special (work, mangled, declp)
                                           1);
              break;
            default:
-             if (isdigit((unsigned char)*mangled[0]))
+             if (ISDIGIT((unsigned char)*mangled[0]))
                {
                  n = consume_count(mangled);
                  /* We may be seeing a too-large size, or else a
@@ -3434,13 +3435,13 @@ get_count (type, count)
   const char *p;
   int n;
 
-  if (!isdigit ((unsigned char)**type))
+  if (!ISDIGIT ((unsigned char)**type))
     return (0);
   else
     {
       *count = **type - '0';
       (*type)++;
-      if (isdigit ((unsigned char)**type))
+      if (ISDIGIT ((unsigned char)**type))
        {
          p = *type;
          n = *count;
@@ -3450,7 +3451,7 @@ get_count (type, count)
              n += *p - '0';
              p++;
            }
-         while (isdigit ((unsigned char)*p));
+         while (ISDIGIT ((unsigned char)*p));
          if (*p == '_')
            {
              *type = p + 1;
@@ -3580,7 +3581,7 @@ do_type (work, mangled, result)
            if (**mangled != 'Q')
              string_prepend (&decl, SCOPE_STRING (work));
 
-           if (isdigit ((unsigned char)**mangled))
+           if (ISDIGIT ((unsigned char)**mangled))
              {
                n = consume_count (mangled);
                if (n == -1
@@ -3900,7 +3901,7 @@ demangle_fund_type (work, mangled, result)
       break;
     case 'G':
       (*mangled)++;
-      if (!isdigit ((unsigned char)**mangled))
+      if (!ISDIGIT ((unsigned char)**mangled))
        {
          success = 0;
          break;
@@ -4012,12 +4013,12 @@ do_hpacc_template_const_value (work, mangled, result)
     }
 
   /* We have to be looking at an integer now */
-  if (!(isdigit ((unsigned char)**mangled)))
+  if (!(ISDIGIT ((unsigned char)**mangled)))
     return 0;
 
   /* We only deal with integral values for template
      parameters -- so it's OK to look only for digits */
-  while (isdigit ((unsigned char)**mangled))
+  while (ISDIGIT ((unsigned char)**mangled))
     {
       char_str[0] = **mangled;
       string_append (result, char_str);
@@ -4096,10 +4097,10 @@ snarf_numeric_literal (args, arg)
   else if (**args == '+')
     (*args)++;
 
-  if (!isdigit ((unsigned char)**args))
+  if (!ISDIGIT ((unsigned char)**args))
     return 0;
 
-  while (isdigit ((unsigned char)**args))
+  while (ISDIGIT ((unsigned char)**args))
     {
       char_str[0] = **args;
       string_append (arg, char_str);
@@ -4663,8 +4664,8 @@ demangle_function_name (work, mangled, declp, scan)
        }
     }
   else if (declp->b[0] == '_' && declp->b[1] == '_'
-          && islower((unsigned char)declp->b[2])
-          && islower((unsigned char)declp->b[3]))
+          && ISLOWER((unsigned char)declp->b[2])
+          && ISLOWER((unsigned char)declp->b[3]))
     {
       if (declp->b[4] == '\0')
        {
@@ -5125,7 +5126,7 @@ main (argc, argv)
          int i = 0;
          c = getchar ();
          /* Try to read a label.  */
-         while (c != EOF && (isalnum (c) || strchr (valid_symbols, c)))
+         while (c != EOF && (ISALNUM (c) || strchr (valid_symbols, c)))
            {
              if (i >= MBUF_SIZE-1)
                break;
index 0a9bfe6152bd0180cc073bb46fb9eb5a5e124b61..68f3e26799617c09e6379fe3a105f347bd28ac2e 100644 (file)
@@ -45,8 +45,7 @@ Boston, MA 02111-1307, USA.  */
 
 #include <errno.h>
 #include <fnmatch.h>
-#include <ctype.h>
-
+#include <safe-ctype.h>
 
 /* Comment out all this code if we are using the GNU C Library, and are not
    actually compiling the library itself.  This code is part of the GNU C
@@ -74,8 +73,7 @@ fnmatch (pattern, string, flags)
   register const char *p = pattern, *n = string;
   register unsigned char c;
 
-/* Note that this evalutes C many times.  */
-#define FOLD(c)        ((flags & FNM_CASEFOLD) && isupper (c) ? tolower (c) : (c))
+#define FOLD(c)        ((flags & FNM_CASEFOLD) ? TOLOWER (c) : (c))
 
   while ((c = *p++) != '\0')
     {
index 34d2deb298b12a15c8dbd1131e66e25fc7fa8ac2..32943af59ef3e6052c57cd36232edf9d8cc9237d 100644 (file)
@@ -41,12 +41,12 @@ extern int errno;
 #ifdef HAVE_STDLIB_H
 #include <stdlib.h>
 #endif
-#define ISSPACE (x) isspace(x)
 #ifdef HAVE_SYS_WAIT_H
 #include <sys/wait.h>
 #endif
 
 #include "libiberty.h"
+#include "safe-ctype.h"
 
 /* stdin file number.  */
 #define STDIN_FILE_NO 0
diff --git a/libiberty/safe-ctype.c b/libiberty/safe-ctype.c
new file mode 100644 (file)
index 0000000..b6722a2
--- /dev/null
@@ -0,0 +1,162 @@
+/* <ctype.h> replacement macros.
+
+   Copyright (C) 2000 Free Software Foundation, Inc.
+   Contributed by Zack Weinberg <zackw@stanford.edu>.
+
+This file is part of the libiberty library.
+Libiberty is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+Libiberty is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with libiberty; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+/* This is a compatible replacement of the standard C library's <ctype.h>
+   with the following properties:
+
+   - Implements all isxxx() macros required by C99.
+   - Also implements some character classes useful when
+     parsing C-like languages.
+   - Does not change behavior depending on the current locale.
+   - Behaves properly for all values in the range of a signed or
+     unsigned char.  */
+
+#include <safe-ctype.h>
+#include <stdio.h>  /* for EOF */
+
+/* Shorthand */
+#define bl _sch_isblank
+#define cn _sch_iscntrl
+#define di _sch_isdigit
+#define is _sch_isidst
+#define lo _sch_islower
+#define nv _sch_isnvsp
+#define pn _sch_ispunct
+#define pr _sch_isprint
+#define sp _sch_isspace
+#define up _sch_isupper
+#define vs _sch_isvsp
+#define xd _sch_isxdigit
+
+/* Masks.  */
+#define L  lo|is   |pr /* lower case letter */
+#define XL lo|is|xd|pr /* lowercase hex digit */
+#define U  up|is   |pr /* upper case letter */
+#define XU up|is|xd|pr /* uppercase hex digit */
+#define D  di   |xd|pr /* decimal digit */
+#define P  pn      |pr /* punctuation */
+#define _  pn|is   |pr /* underscore */
+
+#define C           cn /* control character */
+#define Z  nv      |cn /* NUL */
+#define M  nv|sp   |cn /* cursor movement: \f \v */
+#define V  vs|sp   |cn /* vertical space: \r \n */
+#define T  nv|sp|bl|cn /* tab */
+#define S  nv|sp|bl|pr /* space */
+
+/* Are we ASCII? */
+#if '\n' == 0x0A && ' ' == 0x20 && '0' == 0x30 \
+  && 'A' == 0x41 && 'a' == 0x61 && '!' == 0x21 \
+  && EOF == -1
+
+const unsigned short _sch_istable[256] =
+{
+  Z,  C,  C,  C,   C,  C,  C,  C,   /* NUL SOH STX ETX  EOT ENQ ACK BEL */
+  C,  T,  V,  M,   M,  V,  C,  C,   /* BS  HT  LF  VT   FF  CR  SO  SI  */
+  C,  C,  C,  C,   C,  C,  C,  C,   /* DLE DC1 DC2 DC3  DC4 NAK SYN ETB */
+  C,  C,  C,  C,   C,  C,  C,  C,   /* CAN EM  SUB ESC  FS  GS  RS  US  */
+  S,  P,  P,  P,   P,  P,  P,  P,   /* SP  !   "   #    $   %   &   '   */
+  P,  P,  P,  P,   P,  P,  P,  P,   /* (   )   *   +    ,   -   .   /   */
+  D,  D,  D,  D,   D,  D,  D,  D,   /* 0   1   2   3    4   5   6   7   */
+  D,  D,  P,  P,   P,  P,  P,  P,   /* 8   9   :   ;    <   =   >   ?   */
+  P, XU, XU, XU,  XU, XU, XU,  U,   /* @   A   B   C    D   E   F   G   */
+  U,  U,  U,  U,   U,  U,  U,  U,   /* H   I   J   K    L   M   N   O   */
+  U,  U,  U,  U,   U,  U,  U,  U,   /* P   Q   R   S    T   U   V   W   */
+  U,  U,  U,  P,   P,  P,  P,  _,   /* X   Y   Z   [    \   ]   ^   _   */
+  P, XL, XL, XL,  XL, XL, XL,  L,   /* `   a   b   c    d   e   f   g   */
+  L,  L,  L,  L,   L,  L,  L,  L,   /* h   i   j   k    l   m   n   o   */
+  L,  L,  L,  L,   L,  L,  L,  L,   /* p   q   r   s    t   u   v   w   */
+  L,  L,  L,  P,   P,  P,  P,  C,   /* x   y   z   {    |   }   ~   DEL */
+
+  /* high half of unsigned char is locale-specific, so all tests are
+     false in "C" locale */
+  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,
+  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,
+  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,
+  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,
+
+  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,
+  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,
+  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,
+  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,
+};
+
+const unsigned char _sch_tolower[256] =
+{
+   0,  1,  2,  3,   4,  5,  6,  7,   8,  9, 10, 11,  12, 13, 14, 15,
+  16, 17, 18, 19,  20, 21, 22, 23,  24, 25, 26, 27,  28, 29, 30, 31,
+  32, 33, 34, 35,  36, 37, 38, 39,  40, 41, 42, 43,  44, 45, 46, 47,
+  48, 49, 50, 51,  52, 53, 54, 55,  56, 57, 58, 59,  60, 61, 62, 63,
+  64,
+
+  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
+  'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
+
+  91, 92, 93, 94, 95, 96,
+
+  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
+  'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
+
+ 123,124,125,126,127,
+
+ 128,129,130,131, 132,133,134,135, 136,137,138,139, 140,141,142,143,
+ 144,145,146,147, 148,149,150,151, 152,153,154,155, 156,157,158,159,
+ 160,161,162,163, 164,165,166,167, 168,169,170,171, 172,173,174,175,
+ 176,177,178,179, 180,181,182,183, 184,185,186,187, 188,189,190,191,
+
+ 192,193,194,195, 196,197,198,199, 200,201,202,203, 204,205,206,207,
+ 208,209,210,211, 212,213,214,215, 216,217,218,219, 220,221,222,223,
+ 224,225,226,227, 228,229,230,231, 232,233,234,235, 236,237,238,239,
+ 240,241,242,243, 244,245,246,247, 248,249,250,251, 252,253,254,255,
+};
+
+const unsigned char _sch_toupper[256] =
+{
+   0,  1,  2,  3,   4,  5,  6,  7,   8,  9, 10, 11,  12, 13, 14, 15,
+  16, 17, 18, 19,  20, 21, 22, 23,  24, 25, 26, 27,  28, 29, 30, 31,
+  32, 33, 34, 35,  36, 37, 38, 39,  40, 41, 42, 43,  44, 45, 46, 47,
+  48, 49, 50, 51,  52, 53, 54, 55,  56, 57, 58, 59,  60, 61, 62, 63,
+  64,
+
+  'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
+  'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
+
+  91, 92, 93, 94, 95, 96,
+
+  'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
+  'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
+
+ 123,124,125,126,127,
+
+ 128,129,130,131, 132,133,134,135, 136,137,138,139, 140,141,142,143,
+ 144,145,146,147, 148,149,150,151, 152,153,154,155, 156,157,158,159,
+ 160,161,162,163, 164,165,166,167, 168,169,170,171, 172,173,174,175,
+ 176,177,178,179, 180,181,182,183, 184,185,186,187, 188,189,190,191,
+
+ 192,193,194,195, 196,197,198,199, 200,201,202,203, 204,205,206,207,
+ 208,209,210,211, 212,213,214,215, 216,217,218,219, 220,221,222,223,
+ 224,225,226,227, 228,229,230,231, 232,233,234,235, 236,237,238,239,
+ 240,241,242,243, 244,245,246,247, 248,249,250,251, 252,253,254,255,
+};
+
+#else
+ #error "Unsupported host character set"
+#endif /* not ASCII */
index c86c73de9b3870c5a4d40dc7aa5e663ca4870740..b1243acb6b3f0237f35ff0e779e4e7698d85757c 100644 (file)
@@ -22,7 +22,7 @@ the resulting executable to be covered by the GNU General Public License.
 This exception does not however invalidate any other reasons why
 the executable file might be covered by the GNU General Public License. */
 
-#include <ctype.h>
+#include "safe-ctype.h"
 
 extern double atof ();
 
@@ -42,7 +42,7 @@ strtod (str, ptr)
   
   p = str;
   
-  while (isspace (*p))
+  while (ISSPACE (*p))
     ++p;
   
   if (*p == '+' || *p == '-')
@@ -88,10 +88,10 @@ strtod (str, ptr)
     }
 
   /* digits, with 0 or 1 periods in it.  */
-  if (isdigit (*p) || *p == '.')
+  if (ISDIGIT (*p) || *p == '.')
     {
       int got_dot = 0;
-      while (isdigit (*p) || (!got_dot && *p == '.'))
+      while (ISDIGIT (*p) || (!got_dot && *p == '.'))
        {
          if (*p == '.')
            got_dot = 1;
@@ -105,9 +105,9 @@ strtod (str, ptr)
          i = 1;
          if (p[i] == '+' || p[i] == '-')
            ++i;
-         if (isdigit (p[i]))
+         if (ISDIGIT (p[i]))
            {
-             while (isdigit (p[i]))
+             while (ISDIGIT (p[i]))
                ++i;
              *ptr = p + i;
              return atof (str);
index c05d0dd76a2e6428385ffbd7e3c271550efadffd..7095c7254bed03516ad86ed8681069f36ab6dd09 100644 (file)
 #ifdef HAVE_SYS_PARAM_H
 #include <sys/param.h>
 #endif
-#include <ctype.h>
 #include <errno.h>
 #ifdef NEED_DECLARATION_ERRNO
 extern int errno;
 #endif
-#if 0
-#include <stdlib.h>
-#endif
-#include "ansidecl.h"
+#include "safe-ctype.h"
 
 /* FIXME: It'd be nice to configure around these, but the include files are too
    painful.  These macros should at least be more portable than hardwired hex
@@ -88,7 +84,7 @@ strtol(nptr, endptr, base)
         */
        do {
                c = *s++;
-       } while (isspace(c));
+       } while (ISSPACE(c));
        if (c == '-') {
                neg = 1;
                c = *s++;
@@ -124,10 +120,10 @@ strtol(nptr, endptr, base)
        cutlim = cutoff % (unsigned long)base;
        cutoff /= (unsigned long)base;
        for (acc = 0, any = 0;; c = *s++) {
-               if (isdigit(c))
+               if (ISDIGIT(c))
                        c -= '0';
-               else if (isalpha(c))
-                       c -= isupper(c) ? 'A' - 10 : 'a' - 10;
+               else if (ISALPHA(c))
+                       c -= ISUPPER(c) ? 'A' - 10 : 'a' - 10;
                else
                        break;
                if (c >= base)
index 87fa3ffdf93679f48d72e7f4a349a6ac2ce58725..ce969339bc25bef8ad49a27f8071e5d21e3549e5 100644 (file)
@@ -74,7 +74,7 @@ strtoul(nptr, endptr, base)
         */
        do {
                c = *s++;
-       } while (isspace(c));
+       } while (ISSPACE(c));
        if (c == '-') {
                neg = 1;
                c = *s++;
@@ -91,10 +91,10 @@ strtoul(nptr, endptr, base)
        cutoff = (unsigned long)ULONG_MAX / (unsigned long)base;
        cutlim = (unsigned long)ULONG_MAX % (unsigned long)base;
        for (acc = 0, any = 0;; c = *s++) {
-               if (isdigit(c))
+               if (ISDIGIT(c))
                        c -= '0';
-               else if (isalpha(c))
-                       c -= isupper(c) ? 'A' - 10 : 'a' - 10;
+               else if (ISALPHA(c))
+                       c -= ISUPPER(c) ? 'A' - 10 : 'a' - 10;
                else
                        break;
                if (c >= base)