+++ /dev/null
-2002-03-22 Zack Weinberg <zack@codesourcery.com>
-
- * grant.c: Always use REAL_VALUE_TO_DECIMAL; don't test
- REAL_IS_NOT_DOUBLE.
-
-2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * decl.c (chill_tree_code_type, chill_tree_code_length,
- chill_tree_code_name): Delete.
- (tree_code_type, tree_code_length, tree_code_name): Define.
- (init_decl_processing): Don't try to copy into the various
- tree_code arrays.
-
-2002-02-27 Zack Weinberg <zack@codesourcery.com>
-
- * ch-tree.h, decl.c: Delete traditional-mode-related code
- copied from the C front end but not used, or used only to
- permit the compiler to link.
-
-2002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
-
- PR other/5299
- * decl.c (layout_enum): Fix spelling mistake of "than".
- * inout.c (check_text_length): Same.
-
-2001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * config-lang.in (diff_excludes): Remove.
-
-2001-12-15 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * expr.c: Use "built-in" spelling in messages.
-
-2001-12-15 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * decl.c, parse.c, typeck.c: Use American spelling in messages.
-
-2001-12-10 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * chill.texi: Don't condition menus on @ifinfo.
-
-2001-12-04 Zack Weinberg <zack@codesourcery.com>
-
- * Makefile.in: Don't set ALL. Delete @cross_defines@,
- @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS
- is now @CROSS@ -DIN_GCC; update comment.
-
-2001-12-03 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * actions.c: Remove leading capital from diagnostic messages, as
- per GNU coding standards.
- * decl.c: Similarly.
- * expr.c: Similarly.
- * inout.c: Similarly.
- * lang.c: Similarly.
- * loop.c: Similarly.
- * nloop.c: Similarly.
- * parse.c: Similarly.
- * satisfy.c: Similarly.
- * tasking.c: Similarly.
- * tree.c: Similarly.
- * typeck.c: Similarly.
-
-2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * Make-lang.in (CHILL.generated-manpages): New dummy target.
-
-2001-10-31 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * ChangeLog, actions.c, ch-tree.def, decl.c, except.c, inout.c,
- tasking.c, typeck.c: Fix spelling errors.
-
-2001-10-29 Zack Weinberg <zack@codesourcery.com>
-
- * convert.c, inout.c, loop.c, nloop.c, tasking.c, timing.c,
- typeck.c: Use /* */ for all commentary, not #if 0 ... #endif.
- Change the nested comments this creates to // notation.
- Un-double apostrophes.
-
-Sat Sep 22 09:15:08 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * Make-lang.in (cc1chill): Add attribs.o.
-
-2001-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * tree.c (TYPE_HASH): Moved to ../tree.h.
-
-2001-08-11 Zack Weinberg <zackw@panix.com>
-
- * lex.c: Don't include setjmp.h.
-
-2001-08-09 Richard Henderson <rth@redhat.com>
-
- * grant.c (chill_finish_compile): Use target hooks instead of
- assemble_constructor.
-
-2001-08-06 Richard Henderson <rth@redhat.com>
-
- * grant.c (chill_finish_compile): Pass a symbol_ref and priority
- to assemble_constructor.
-
-2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
-
- * Makefile.in (lex.o): No dependence on dwarfout.h.
- * lex.c: Don't include dwarfout.h.
-
-2001-07-10 Jan van Male <jan.vanmale@fenk.wau.nl>
-
- * ch-tree.h: Remove prototype for combine_parm_decls, unused
- function.
-
-2001-06-28 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * lang.c: #include diagnostic.h
- (chill_print_error_function): Add a dummy `diagnostic_context *'.
- * Makefile.in (lang.o): Depend on diagnostic.h
-
-2001-06-10 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * decl.c: #include diagnostic.h
- * actions.c: #include diagnostic.h
- * Makefile.in (actions.o): Depend on diagnostic.h
- (decl.o): Depend on diagnostic.h
-
-2001-06-02 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * chill.texi: Move contents to just after title page.
-
-2001-05-23 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
-
- * Make-lang.in (dvi): Use ch/chill.dvi not chill.dvi.
- (ch/chill.dvi): Use TEXI2DVI instead of custom tex calls. Create
- the dvi file in the ch directory.
-
-2001-05-26 Zack Weinberg <zackw@stanford.edu>
-
- * configure: Remove obsolete file.
-
-2001-05-25 Sam TH <sam@uchicago.edu>
-
- * ch-tree.h tasking.h: Fix header include guards.
-
-2001-05-20 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * Make-lang.in (chill.dvi): Remove bogus dependencies. Don't cd
- to ch; include both $(srcdir)/ch and $(srcdir) in TEXINPUTS.
- Don't move chill.dvi after creating it. Fixes PR other/567 and
- PR other/1018.
-
-Fri Feb 23 15:28:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
-
-2001-02-15 Jim Meyering <meyering@lucent.com>
-
- * Make-lang.in (CHILL.install-common): Depend on `installdirs'.
- (CHILL.install-info): Likewise.
-
-Sun Feb 4 15:52:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * convert.c (convert): Call abort instead of fatal.
- * except.c (pop_handler, chill_check_no_handlers): Likewise.
- * expr.c (chill_expand_expr): Likewise.
- * parse.c (peek_token_, pushback_token, require): Likewise.
- * grant.c (write_grant_file): Call fatal_io_error instead of
- pfatal_with_name.
- * lex.c (init_parse, same_file, yywrap): Likewise.
- * lang.c (GNU_xref_begin, GNU_xref_end): Deleted.
- * lex.c (convert_bitstring): Delete check for alloca failure.
-
-2001-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * ch-tree.h (integer_minus_one_node): Moved to top level gcc
- directory.
-
- * decl.c (integer_minus_one_node): Likewise.
- (init_decl_processing): Don't set integer_minus_one_node.
-
-2001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in: Remove all dependencies on defaults.h.
- * decl.c: Don't include defaults.h.
- * timing.c: Likewise.
-
-2000-12-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * Make-lang.in (CHILL.info): Depend on info files in source
- directory.
- (ch/chill.info): Build info files in source directory.
- (CHILL.install-info): Install info files from source directory.
-
-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.
- * except.c inout.c lang.c lex.c lex.h loop.c nloop.c: Likewise.
- * parse.c tasking.c tasking.h timing.c xtypeck.c: Likewise.
-
-2000-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * actions.c (check_missing_cases), typeck.c (build_chill_slice,
- build_chill_cast): Use memset () instead of bzero ().
-
-2000-11-05 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * Make-lang.in (CHILL.distdir): Remove.
-
-2000-11-02 Geoffrey Keating <geoffk@cygnus.com>
-
- * Make-lang.in: Remove 'CYGNUS LOCAL' markers.
- * Makefile.in: Likewise.
- * configure: Likewise.
-
-2000-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * Makefile.in ($(srcdir)/hash.h): Refer to GNU FTP site for
- updated gperf.
-
-2000-10-05 Richard Henderson <rth@cygnus.com>
-
- * decl.c (finish_chill_function): Don't init can_reach_end.
-
-2000-09-10 Zack Weinberg <zack@wolery.cumb.org>
-
- * decl.c, timing.c: Include defaults.h if not already included.
- Don't define the *_TYPE_SIZE macros.
- * Makefile.in: Update dependencies.
-
-2000-08-29 Zack Weinberg <zack@wolery.cumb.org>
-
- * inout.c (add_enum_to_list): Use DECL_NAME directly, don't get
- its IDENTIFIER_POINTER and immediately call get_identifier on it.
- * lex.c (yywrap): Constify a char *.
-
-2000-08-24 Mark Mitchell <mark@codesourcery.com>
-
- * Make-lang.in (cc1chill): Don't depend on c-iterate.o.
-
-2000-08-21 Nix <nix@esperi.demon.co.uk>
-
- * lang-specs.h: Do not process -o or run the assembler if
- -fsyntax-only.
-
-2000-08-07 Kazu Hirata <kazu@hxi.com>
-
- * decl.c: Fix a comment typo.
-
-2000-08-04 Zack Weinberg <zack@wolery.cumb.org>
-
- * Make-lang.in (cc1chill): Depend on $(BACKEND), not stamp-objlist.
- * Makefile.in (cc1chill): Link with $(BACKEND). Define BACKEND,
- eliminate C_OBJS (was commented out), OBJS, OBJDEPS.
-
-2000-07-31 Zack Weinberg <zack@wolery.cumb.org>
-
- * lang-specs.h: Rename cpp to cpp0 and/or tradcpp to tradcpp0.
-
-Mon Jul 31 07:58:31 2000 Casper Dik <Casper.Dik@holland.sun.com>
-
- * Makefile.in: Remove naked "^L".
-
-2000-07-13 Zack Weinberg <zack@wolery.cumb.org>
-
- * lang-specs.h: Use the new named specs. Remove unnecessary braces.
-
-2000-06-13 Jakub Jelinek <jakub@redhat.com>
-
- * decl.c (init_decl_processing): Set TYPE_USER_ALIGN.
- (layout_enum): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
- * typeck.c (layout_chill_range_type): Set TYPE_USER_ALIGN.
- (apply_chill_field_layout): Set DECL_USER_ALIGN.
- (layout_chill_struct_type): Set TYPE_USER_ALIGN.
-
-Tue Jun 13 15:30:46 2000 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * Make-lang.in (CHILL.install-common): Use $(INSTALL_SCRIPT), not
- $(INSTALL_PROGRAM) for chill.install.
-
-2000-06-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (EXPR_H): New dependency variable.
- (actions.o, expr.o): Use EXPR_H.
- (lang.o): Depend on RTL_H and EXPR_H.
-
- * lang.c: Include rtl.h and expr.h.
- (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED.
-
-2000-06-04 Philipp Thomas <pthomas@suse.de>
-
- * Makefile.in(INTLLIBS): New macro.
- (LIBS): Add INTLLIBS.
- (DEPLIBS): Likewise.
- * config-lang(outputs): Specify ch/Makefile.
-
-Sat Jun 3 15:31:07 2000 Jeffrey A Law (law@cygnus.com)
-
- * chill.texi (INFO-DIR-ENTRY): Fix chill entry.
-
-2000-06-02 Richard Henderson <rth@cygnus.com>
-
- * lang.c (lang_get_alias_set): New.
-
-Sat May 27 11:24:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * lang.c (deep_const_expr): Use first_rtl_op.
- * satisfy.c (satisfy): Use TREE_CODE_LENGTH.
-
-2000-05-18 Chris Demetriou <cgd@netbsd.org>
-
- * Makefile.in (hash.h): Delete a redundant use of gawk and sed.
-
-Wed May 17 17:27:44 2000 Andrew Cagney <cagney@b1.cygnus.com>
-
- * decl.c (c_decode_option): Update -Wall unused flags by
- calling set_Wunused.
- (poplevel): Replace warn_unused with warn_unused_label.
-
-2000-05-09 Zack Weinberg <zack@wolery.cumb.org>
-
- * ch-tree.h: Update prototypes. Remove prototypes for
- functions declared elsewhere.
- * decl.c (define_label): Constify filename parameter.
- * grant.c (globalize_decl, set_default_grant_file): Constify
- local char * variables. Don't declare
- first_global_object_name or asm_out_file.
- * lang.c (chill_real_input_filename): Constify.
- * lex.c (init_parse): Constify parameter and return value.
- * parse.c: Don't declare input_filename.
- (ch_expand_asm_operands): Constify filename parameter.
- (parse_multi_dimension_case_action): Constify local char *.
- * satisfy.c (safe_satisfy_decl): Constify local char *.
-
-2000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * ch-tree.h (init_function_start): Constify.
-
-2000-04-18 Zack Weinberg <zack@wolery.cumb.org>
-
- * ch/lex.c: Remove references to cccp.c.
-
-2000-04-03 Zack Weinberg <zack@wolery.cumb.org>
-
- * lang-specs.h: Pass -fno-show-column to the preprocessor.
-
-Thu Mar 30 06:32:51 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * expr.c (chill_expand_expr): Pass bit alignment to emit_block_move.
-
-Sat Mar 25 09:12:10 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * actions.c (check_missing_cases): BYTES_NEEDED is HOST_WIDE_INT.
- * typeck.c (expand_constant_to_buffer): Use int_byte_position.
- (extract_constant_from_buffer): Likewise.
-
-Fri Mar 17 08:09:14 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * typeck.c (min_precision): New function.
- (build_chill_slice): Use host_integerp and tree_low_cst.
- (expand_constant_to_buffer): Likewise and also int_bit_position.
- LO is unsigned HOST_WIDE_INT
- (build_chill_array_ref_1): Make `i' be HOST_WIDE_INT; use tree_low_cst.
- (extract_constant_from_buffer): Sizes are now HOST_WIDE_INT.
- Use host_integerp and tree_low_cst.
- (build_chill_bin_type): Use host_integerp and tree_low_cst.
- (layout_chill_range_type): Use tree_int_cst_sgn, compare_tree_int,
- tree_low_cst, and min_precision.
- (apply_chill_array_layout): Cleanups for types of variables
- and use tree_int_cst_sgn, compare_tree_int, and tree_low_cst.
- (apply_chill_field_layout): Likewise.
-
-2000-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * grant.c (globalize_decl): Constify a char*.
-
-Mon Mar 6 17:52:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * actions.c (chill_convert_for_assignment): INDEX is unsigned
- HOST_WIDE_INT.
- * ch-tree.h (DECL_NESTING_LEVEL): Use TREE_INT_CST_HIGH since unsigned.
- * except.c (chill_handle_on_labels): ALTERNATIVE is unsigned.
- Use compare_tree_int.
- (expand_goto_except_cleanup): Likewise.
-
-2000-03-01 Martin von Loewis <loewis@informatik.hu-berlin.de>
-
- * decl.c (current_function_decl): Move to toplev.c.
-
-Mon Feb 28 08:12:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * ch-tree.h (DECL_ACTION_NESTING_LEVEL): Use new tree union name.
- * decl.c (finish_struct): Don't clear DECL_FIELD_SIZE.
- * typeck.c (make_chill_struct_type): Likewise.
- (apply_decl_field_layout): General cleanup.
- Set DECL_SIZE instead of DECL_FIELD_SIZE.
-
-Sun Feb 27 16:40:33 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * actions.c (chill_convert_for_assignment): Don't use size_binop
- for things that aren't sizes.
- (expand_varying_length_assignment): Likewise.
- * convert.c (digest_array_tuple, convert): Likewise.
- * typeck.c (build_chill_slice, smash_dummy_type): Likewise.
- (build_chill_slice_with_range): Likewise.
- (build_chill_slice_with_length): Likewise.
- (build_array_from_set): Adjust types for size_binop.
- * expr.c (build_concat_expr, build_chill_repetition_op): Likewise.
- (build_chill_sizeof): Use TYPE_SIZE_UNIT.
- * tree.c (build_string_type): Pass proper type to size_binop.
-
-Sat Feb 19 18:43:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * decl.c (layout_enum): Set DECL_SIZE_UNIT.
- * satisfy.c (safe_satisfy_decl): Likewise.
-
-2000-02-15 Jonathan Larmour <jlarmour@redhat.co.uk>
-
- * lang-specs.h: Add new __GNUC_PATCHLEVEL__ define to default spec.
-
-2000-02-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * grant.c: Don't declare `version_string'.
-
-2000-02-11 Nathan Sidwell <nathan@acm.org>
-
- * decl.c (init_decl_processing): Remove duplicate decl of
- set_alignment.
-
-2000-02-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * expr.c (compare_records): Delete maximum_field_alignment declaration.
- * inout.c (inout_init): Likewise.
- (build_chill_gettextaccess): Likewise.
- (build_enum_tables): Likewise.
- * lang.c: Likewise.
- * satisfy.c (satisfy): Likewise.
- * tasking.c (build_tasking_struct): Likewise.
- (build_tasking_message_type): Likewise.
- * typeck.c (build_init_struct): Likewise.
-
- * except.c (emit_setup_handler): Make save_maximum_field_alignment
- unsigned int to match maximum_field_alignment.
- * inout.c (inout_init): Likewise.
- (build_chill_gettextaccess): Likewise.
- (build_enum_tables): Likewise.
- * tasking.c (build_tasking_struct): Likewise.
- (build_tasking_message_type): Likewise.
- * typeck.c (build_init_struct): Likewise.
-
-2000-02-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * except.c (maximum_field_alignment): Remove duplicate declaration.
-
-2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * All files: PROTO -> PARAMS.
-
-2000-01-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * lex.c: Include tm_p.h.
-
-2000-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * actions.c (update_else_range_for_int_const): Initialize
- variables `lowval' and `highval'.
- (update_else_range_for_range): Likewise for `low_range_val' and
- `high_range_val'.
-
-1999-12-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * typeck.c (apply_chill_array_layout, apply_chill_field_layout):
- Avoid the use of ANSI string concatenation.
-
- * expr.c (chill_expand_case_expr): Likewise.
-
-1999-11-23 Kaveh R. Ghazi <ghazi@caip.rutgers.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,
- get_tasking_code_name, get_struct_variable_name,
- get_process_wrapper_name, build_start_process): Likewise.
-
- * typeck.c (valid_array_index_p): Likewise.
-
-Sun Oct 31 22:33:33 1999 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (convert.o, typeck.o): Depend on output.h
- * convert.c: Include output.h.
- * typeck.c: Include output.h.
- (initializer_constant_valid_p): Delete fucntion.
- * ch-tree.h (initializer_constant_valid_p): Delete prototype.
-
-1999-10-26 Mark Mitchell <mark@codesourcery.com>
-
- * ch-tree.h (remember_end_note): Remove prototype.
- * decl.c (poplevel): Don't call remember_end_note.
-
-Fri Sep 24 10:48:10 1999 Bernd Schmidt <bernds@cygnus.co.uk>
-
- * ch-tree.h (builtin_function): Don't declare.
- * decl.c (builtin_function): New arg CLASS. Arg FUNCTION_CODE now of
- type int. All callers changed.
- Set the builtin's DECL_BUILT_IN_CLASS.
-
-1999-09-20 Nick Clifton <nickc@cygnus.com>
-
- * lang.c (lang_decode_option): Extend comment.
-
-1999-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * lex.c (maybe_downcase, getlc, handle_generic_pragma,
- check_newline): Use uppercase ctype macro from system.h.
-
-1999-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * actions.c (warn_unhandled): Use xstrdup, not xmalloc/strcpy.
-
-Fri Sep 10 10:32:32 1999 Bernd Schmidt <bernds@cygnus.co.uk>
-
- * ch-tree.h: Delete declarations for all tree nodes now moved to
- global_trees.
- * expr.c: Likewise.
- * typeck.c: Likewise.
- * decl.c: Delete their definitions.
- (init_decl_processing): Call build_common_tree_nodes and
- build_common_tree_nodes_2 instead of building their nodes here.
- Use set_sizetype instead of assigning sizetype.
-
-1999-09-08 Bruce Korb autogen@linuxbox.com
-
- * Makefile.in: Give the gperf user a hint about why "gperf -F" fails.
-
-Tue Sep 7 15:59:56 1999 Dave Brolley <brolley@cygnus.com>
-
- * parse.h: Undefine DELAY if it's defined.
- (PACK,NOPACK,POS): Remove erroneous comments regarding these tokens.
- Also, move them to their proper place alphabetically.
-
-1999-09-04 Mark Mitchell <mark@codesourcery.com>
-
- * Make-lang.in (cc1chill): Depend on ggc-callbacks.o.
- * Makefile.in (CHILL_OBJS): Add ggc-callbacks.o.
-
-1999-08-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * parse.c (language_string): Constify.
-
-1999-08-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (LIBS, LIBDEPS): Link with & depend on libiberty.a.
- Remove hacks for stuff which now comes from libiberty.
-
-1999-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * lang.c (chill_print_error_function): Constify a char*.
-
-1999-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (ch-version.c): Constify a char*.
-
- * actions.c (id_cmp, warn_unhandled, adjust_return_value,
- update_else_range_for_int_const, update_else_range_for_range,
- update_else_range_for_range_expr, update_else_range_for_type,
- compute_else_range, check_case_value,
- chill_handle_case_label_range,
- chill_handle_multi_case_label_range,
- chill_handle_multi_case_else_label, chill_handle_multi_case_label,
- chill_handle_multi_case_label_list print_missing_cases): Add
- static prototypes.
- (build_exception_variant): Cast the function argument of qsort.
- (build_rts_call, warn_unhandled, chill_convert_for_assignment,
- adjust_return_value, chill_expand_result,
- build_multi_case_selector_expression, print_missing_cases):
- Constify a char*.
- (print_missing_cases): Introduce an intermediary non-const ptr.
- Add brackets and indent.
-
- * ch-tree.h (maybe_building_objc_message_expr,
- maybe_objc_comptypes, comptypes_record_hook): Remove declarations.
- (push_handler, pop_handler): Add prototypes.
- (builtin_function, valid_array_index_p,
- build_chill_exception_decl, build_rts_call,
- chill_convert_for_assignment, display_int_cst,
- build_chill_addr_expr, check_have_mode, get_identifier3,
- build_chill_string, register_seize_path, get_unique_identifier,
- add_taskstuff_to_list, gnuchill_version): Constify a char*.
- (finish_chill_function): Add void prototype argument.
-
- * convert.c (convert_to_reference, convert_to_boolean,
- convert_to_char, base_type_size_in_bytes, remove_tree_element,
- check_ps_range, digest_powerset_tuple, digest_structure_tuple,
- digest_array_tuple, convert1): Add static prototypes.
- (base_type_size_in_bytes): Hide unused function.
- (display_int_cst, digest_array_tuple): Constify a char*.
-
- * decl.c (set_nesting_level, make_chill_variants, fix_identifier,
- proclaim_decl, maybe_acons, push_scope_decls, pop_scope_decls,
- build_implied_names, bind_sub_modules, layout_array_type,
- do_based_decl, handle_one_level, label_value_cmp,
- find_implied_types): Add static prototypes.
- (boolean_code_name, chill_tree_code_type, chill_tree_code_name):
- Constify a char*.
- (layout_chill_variants): Cast the function argument of qsort.
- (start_chill_function, fix_identifier, init_decl_processing):
- Constify a char*.
- (init_decl_processing): Prefer memcpy over bcopy to avoid casts.
- Use xcalloc instead of xmalloc/bzero.
- (builtin_function, build_chill_exception_decl,
- finish_outer_function): Constify a char*.
-
- * except.c (start_handler_array, finish_handler_array): Add static
- prototypes.
-
- * expr.c (chill_expand_expr, chill_expand_case_expr,
- check_arglist_length, internal_build_compound_expr,
- is_really_instance, invalid_operand, invalid_right_operand,
- build_chill_abstime, build_allocate_memory_call,
- build_allocate_global_memory_call, build_return_memory,
- build_chill_duration, build_chill_floatcall,
- build_allocate_getstack, build_chill_allocate,
- build_chill_getstack, build_chill_terminate, build_chill_inttime,
- build_chill_lower_or_upper, build_max_min,
- build_chill_pred_or_succ, expand_packed_set, fold_set_expr,
- build_compare_set_expr, scalar_to_string, build_concat_expr,
- build_compare_string_expr, compare_records, string_char_rep,
- build_boring_bitstring): Add static prototypes.
- (check_have_mode, chill_expand_expr, build_chill_floatcall,
- build_allocate_getstack, build_max_min, build_chill_function_call,
- expand_packed_set, build_compare_set_expr, build_chill_addr_expr,
- string_char_rep): Constify a char*.
-
- * gperf (hash, in_word_set): Add prototypes.
-
- * grant.c (newstring, strfree, append, prepend,
- grant_use_seizefile, decode_layout, grant_array_type,
- grant_array_type_selective, get_tag_value,
- get_tag_value_selective, print_enumeral, print_enumeral_selective,
- print_integer_type, find_enum_parent, print_integer_selective,
- print_struct, print_struct_selective, print_proc_exceptions,
- print_proc_tail, print_proc_tail_selective, find_in_decls,
- in_ridpointers, grant_seized_identifier, globalize_decl,
- grant_one_decl_selective, compare_memory_file, search_in_list,
- really_grant_this): Add static prototypes.
- (newstring, append, prepend, grant_use_seizefile,
- print_integer_type, decode_constant, grant_one_decl_selective,
- header_template): Constify a char *.
-
- * inout.c (add_enum_to_list, build_chill_io_list_type,
- build_io_types, declare_predefined_file, build_access_part,
- textlocation_mode, check_assoc, assoc_call, check_transfer,
- connect_process_optionals, connect_text, connect_access,
- check_access, check_text, get_final_type_and_range,
- process_io_list, check_format_string, get_max_size,
- check_exprlist): Add static prototypes.
- (declare_predefined_file, check_assoc, assoc_call, check_transfer,
- check_access, check_text, process_io_list): Constify a char*.
-
- * lang.c (deep_const_expr, chill_print_error_function): Add static
- prototypes.
-
- * lex.c (close_input_file, maybe_number, string_or_char): Constify
- a char*.
- (ch_lex_init, skip_directive, same_file, getlc, yywrap,
- yy_refill): Add static prototypes.
- (build_chill_string, same_file, register_seize_path): Constify a
- char*.
-
- * lex.h (finish_chill_seizes): Remove unused prototypes.
-
- * loop.c (build_temporary_variable, maybe_make_for_temp,
- get_unique_identifier): Constify a char*.
-
- * parse.c (ch_parse_init, check_end_label, end_function,
- build_prefix_clause, PEEK_TOKEN, peek_token_, pushback_token,
- forward_token_, require, check_token, expect, define__PROCNAME__):
- Add static prototypes.
- (build_prefix_clause, expect): Constify a char*.
- (parse_expression, parse_primval, parse_untyped_expr,
- parse_opt_untyped_expr, parse_opt_actions): Add void prototype
- argument.
- (parse_opt_name_string, parse_simple_name_string,
- parse_name_string, parse_defining_occurrence, parse_name,
- parse_optlabel, parse_opt_end_label_semi_colon, parse_modulion,
- parse_spec_module, parse_semi_colon,
- parse_defining_occurrence_list, parse_mode_definition,
- parse_mode_definition_statement, parse_synonym_definition,
- parse_synonym_definition_statement, parse_on_exception_list,
- parse_on_alternatives, parse_loc_declaration,
- parse_declaration_statement, parse_optforbid, parse_postfix,
- parse_postfix_list, parse_rename_clauses, parse_opt_prefix_clause,
- parse_grant_statement, parse_seize_statement,
- parse_param_name_list, parse_param_attr, parse_formpar,
- parse_formparlist, parse_opt_result_spec, parse_opt_except,
- parse_opt_recursive, parse_procedureattr, parse_proc_body,
- parse_procedure_definition, parse_processpar,
- parse_processparlist, parse_process_definition,
- parse_signal_definition, parse_signal_definition_statement,
- parse_then_clause, parse_opt_else_clause, parse_expr_list,
- parse_range_list_clause, pushback_paren_expr, parse_case_label,
- parse_case_label_list, parse_case_label_specification,
- parse_single_dimension_case_action,
- parse_multi_dimension_case_action, parse_case_action,
- parse_asm_operands, parse_asm_clobbers, ch_expand_asm_operands,
- parse_asm_action, parse_begin_end_block, parse_if_action,
- parse_iteration, parse_delay_case_event_list,
- parse_delay_case_action, parse_do_action, parse_receive_spec,
- parse_receive_case_action, parse_send_action, parse_start_action,
- parse_call, parse_tuple_fieldname_list, parse_tuple_element,
- parse_opt_element_list, parse_tuple, parse_operand6,
- parse_operand5, parse_operand4, parse_operand3, parse_operand2,
- parse_operand1, parse_operand0, parse_case_expression,
- parse_then_alternative, parse_else_alternative,
- parse_if_expression, parse_index_mode, parse_set_mode, parse_pos,
- parse_step, parse_opt_layout, parse_field_name_list,
- parse_fixed_field, parse_variant_field_list,
- parse_variant_alternative, parse_field, parse_structure_mode,
- parse_opt_queue_size, parse_procedure_mode, parse_program,
- parse_pass_1_2): Add static prototypes.
- (parse_process_definition): Remove extra argument in function call.
- (parse_range_list_clause): Likewise.
-
- * satisfy.c (satisfy, cycle_error_print, safe_satisfy_decl,
- satisfy_list, satisfy_list_values): Add static prototype.
- (safe_satisfy_decl): Cast DECL_TASKING_CODE_DECL() to (tree).
-
- * tasking.c (make_process_struct): Remove unused prototype.
- (validate_process_parameters, get_struct_variable_name,
- decl_tasking_code_variable, get_struct_debug_type_name,
- get_process_wrapper_name, build_tasking_enum,
- build_tasking_message_type, build_receive_signal_case_label,
- build_receive_buffer_case_label, build_receive_buffer_case_end,
- build_receive_signal_case_end): Add static prototypes.
- (struct_name, struct_debug_name, data_name, wrapper_name,
- get_struct_type_name, get_struct_debug_type_name,
- get_tasking_code_name, get_struct_variable_name,
- get_process_wrapper_name): Constify a char*.
- (validate_process_parameters, get_struct_variable_name,
- decl_tasking_code_variable): Hide unused functions.
- (build_start_process, add_taskstuff_to_list, build_queue_length):
- Constify a char*.
-
- * tree.c (make_powerset_type): Add static prototype.
- (get_identifier3, build_alias_decl, decl_check_rename): Constify a
- char*.
-
- * typeck.c (extract_constant_from_buffer,
- expand_constant_to_buffer, build_empty_string,
- make_chill_pointer_type, make_chill_range_type,
- apply_chill_array_layout, field_decl_cmp, make_chill_struct_type,
- apply_chill_field_layout): Add static prototype.
- (valid_array_index_p, extract_constant_from_buffer,
- chill_expand_tuple): Constify a char*.
- (layout_chill_struct_type): Cast the function argument of qsort.
-
-1999-08-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * actions.c (lang_identify): Constify a char*.
-
- * lang.c (chill_print_error_function): Likewise.
- (lang_init): Remove redundant prototype for `print_error_function'.
-
-1999-07-25 Richard Henderson <rth@cygnus.com>
-
- * decl.c (va_list_type_node): New.
-
-1999-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Make-lang.in (CHILL.stage1): Depend on stage1-start.
- (CHILL.stage2): Likewise for stage2-start.
- (CHILL.stage3): Likewise for stage3-start.
- (CHILL.stage4): Likewise for stage4-start.
-
-Tue May 18 00:21:34 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * lang-specs.h: Define __GNUC__ and __GNUC_MINOR__ only if -no-gcc
- was not given.
-
-1999-05-10 18:21 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
-
- * lang-specs.h: Pass -$ to the preprocessor.
-
-Tue May 4 14:52:53 1999 Dave Brolley <brolley@cygnus.com>
-
- * actions.c (chill_expand_assignment): Use powersetlen to calculate the
- length of an array of packed bits.
-
-Tue Apr 20 23:37:01 1999 Nathan Sidwell <nathan@acm.org>
-
- * Make-lang.in (ch/chill.info): Put MAKEINFO parameters in correct
- order.
-
-Wed Apr 14 21:07:30 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * config-lang.in (compilers): Add exeext.
- (stagestuff): Likewise.
-
-Fri Apr 2 15:49:44 1999 Jeffrey A Law (law@cygnus.com)
-
- * 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*.
-
-Sun Mar 28 00:30:36 1999 Jeffrey A Law (law@cygnus.com)
-
- * Make-lang.in (CHILL.dvi): New target.
- (CHILL.mostlyclean): Remove remnants of old runtime library structure.
-
-1999-02-20 Craig Burley <craig@jcb-sc.com>
-
- * Make-lang.in (CHILL.info): Depend on intermediate ch/chill.info
- target instead of the chill.texi file.
- (ch/chill.info): New target, depends on the chill.texi source file.
- Its command writes ch/chill.info instead of chill.info.
- (CHILL.install-info): Install from ch/chill.info instead of
- chill.info.
- If any ch/chill.info* files exist, delete *all* chill.info* files
- in $infodir first, not just the ones corresponding to the
- files to be installed (just in case the docs get smaller).
-
-Sun Jan 31 20:34:29 1999 Zack Weinberg <zack@rabi.columbia.edu>
-
- * decl2.c: Don't define flag_no_ident here. Don't process
- -f(no-)ident here.
- * ch-tree.h: Don't declare flag_no_ident here.
- * lang-specs.h: Map -Qn to -fno-ident.
-
-Tue Jan 19 23:24:36 1999 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (typeck.o): Depend on insn-codes.h.
- * actions.c (chill_handle_multi_case_label): Initialize "expr".
- * decl.c (poplevel): Initialize "block_previously_created".
- * expr.c (chill_expand_expr): Initialize "size0" and "size1".
- (fold_set_expr): Initialize "buffer1".
- * inout.c (process_io_list): Initialize "to_assign".
- (check_exprlist): Initialize "result".
- * parse.c (expand_expr): Declare.
- (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
- signed/unsigned comparison warning.
-
-Mon Jan 18 11:55:06 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * ch-tree.h: Remove conflicting prototypes for pedwarn,
- warning_with_decl, and make_dcl_rtl.
-
-Sun Jan 17 21:53:23 1999 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in: Do not put ^Ls at the start of a line.
-
-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.
- (lex.o): Depend on hash.h.
-
-Mon Oct 19 12:13:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (lex.o): Depend on dwarfout.h.
-
- * lang-specs.h: Add missing braces in initializer.
-
- * lex.c: Include dwarfout.h, if DWARF_DEBUGGING_INFO is defined.
-
-Thu Oct 15 09:25:21 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * expr.c (build_chill_card): Use &&, not &, when comparing truth
- values.
-
- * 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>
-
- * typeck.c (build_chill_cast): Fix typo in assignment statement.
-
- * tasking.c (build_signal_descriptor): Use IDENTIFIER_POINTER()
- when printing a `tree'.
-
-Fri Oct 9 13:01:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * ch-tree.h (build_delay_case_end): Remove unused parameter.
- (build_receive_case_end): Likewise.
- (check_queue_size): Likewise.
-
- * parse.c: Callers changed.
-
- * satisfy.c: Likewise.
-
- * tasking.c (build_receive_buffer_case_end): Remove unused
- parameter `label_cnt'.
- (build_receive_signal_case_end): Likewise.
- (build_receive_case_end): Likewise.
- (build_delay_case_end): Likewise.
- (check_queue_size): Likewise for parameter `type'.
- All callers changed.
-
-Thu Oct 8 05:57:41 1998 Jeffrey A Law (law@cygnus.com)
-
- * typeck (type_for_mode): Only return TItype nodes when
- HOST_BITS_PER_WIDE_INT is >= 64 bits.
- (type_for_size): Similarly.
- * decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
- when HOST_BITS_PER_WIDE_INT is >= 64 bits.
- (init_decl_processing): Only create TItype nodes when
- HOST_BITS_PER_WIDE_INT is >= 64 bits.
-
-Wed Oct 7 12:19:21 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (hash.h): Add -L KR-C -F ', 0, 0, 0' flags to gperf.
- (hash.h): Regenerate using gperf 2.7.1 (19981006 egcs).
-
-Thu Oct 1 10:43:45 1998 Nick Clifton <nickc@cygnus.com>
-
- * lex.c: Replace occurrences 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.
-
-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.
-
- * except.c: Include OS headers before any local ones.
-
- * typeck.c (layout_chill_range_type): Change type of variable
- `negprecision' to int.
- (apply_chill_array_layout): Initialize variables `stepsize' and
- `start_bit'.
- (layout_chill_struct_type): Change type of variable `min_align' to
- unsigned int.
- (smash_dummy_type): Change name of variable `main' to `main_tree'.
-
-Wed Sep 30 19:24:41 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * actions.c (id_cmp): Do pointer arithmetic as `long' not `int' to
- ensure enough bits for calculation.
-
- * ch-tree.h (check_text_length): Remove unused parameter.
-
- * convert.c (display_int_cst): Cast a HOST_WIDE_INT argument to
- function sprintf into the appropriate type for printing.
-
- * decl.c (print_lang_decl): Use HOST_WIDE_INT_PRINT_DEC as the
- format specifier.
- (print_mode): Likewise.
- (init_decl_processing): Cast the arguments of bcopy/bzero to char *.
-
- * grant.c (grant_array_type): Use HOST_WIDE_INT_PRINT_DEC as
- the format specifier.
-
- * inout.c (check_text_length): Remove unused parameter `type'.
- (build_chill_associate): Initialize variables `arg1', `arg2',
- `arg3', `arg4' and `arg5'.
- (build_chill_modify): Likewise.
- (scanformcont): Change type of variable `curr' to `unsigned char'.
-
- * lex.c (maybe_downcase): Cast the argument of `tolower' to
- `unsigned char'.
-
- * satisfy.c (satisfy): Remove unused parameter in call to
- `check_text_length'.
-
- * tasking.c (generate_tasking_code_variable): Pass a HOST_WIDE_INT
- as a `long' in call to function `error'.
- (decl_tasking_code_variable): Likewise.
-
-Wed Sep 30 19:03:02 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * grant.c (decode_decl_selective): Cast switch's enum argument to
- an int.
- (really_grant_this): Add default case in switch.
-
- * typeck.c (chill_resulting_class): Add default cases in switch.
- Also add `break' statements after each case.
-
-Tue Sep 29 21:37:33 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * ch-tree.h (build_compare_expr): Change first argument's type
- from `enum chill_tree_code' to `enum tree_code'.
- (build_compare_discrete_expr): Likewise.
-
- * expr.c (build_compare_set_expr): Likewise.
- (build_compare_string_expr): Likewise.
- (build_compare_expr): Likewise.
- (build_compare_discrete_expr): Likewise. Also add default case in
- switch statement.
- (compare_int_csts): Add default case in switch statement.
-
-Sun Sep 20 11:02:55 1998 Robert Lipe <robertl@dgii.com>
-
- * except.c: Include system.h.
-
- * Makefile.in (except.o): Depend on system.h.
-
-Sun Sep 20 09:25:13 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (actions.o, convert.o, decl.o, expr.o, lang.o,
- lex.o, loop.o, parse.o, satisfy.o, timing.o, tasking.o, tree.o,
- typeck.o): Depend on system.h and toplev.h.
- (except.o): Depend on toplev.h.
- (grant.o): Depend on system.h, toplev.h and output.h.
-
- * actions.c: Include system.h and toplev.h. Remove redundant
- prototypes.
- (build_cause_exception): Add default case in switch.
- (update_else_range_for_range): Add parentheses around && within ||.
- (chill_handle_multi_case_label_list): Remove unused variable
- `selector_value'.
- (print_missing_cases): Reconcile format specifiers vs arguments in
- calls to sprintf.
-
- * ch-tree.h: Don't include stdio.h. Wrap prototypes using FILE*
- with macro BUFSIZ. Add missing prototypes.
-
- * convert.c: Include system.h and toplev.h. Remove redundant
- prototypes.
- (convert): Remove unused variable `errstr'.
-
- * decl.c: Include system.h and toplev.h. Remove redundant
- prototypes.
- (builtin_scope): Add missing initializers.
- (clear_scope): Likewise.
- (allocate_lang_decl): Mark parameter `t' with ATTRIBUTE_UNUSED.
- (copy_lang_decl): Likewise for parameter `node'.
- (c_decode_option): Likewise for parameter `argc'.
- (push_extern_function): Likewise for parameter `granting'.
- (switch_to_pass_2): Hide declaration of errorcount/sorrycount.
- (pushdecl): Remove unused variable `t'.
- (lookup_name_current_level): Make static and hide.
- (lookup_name_for_seizing): Make static.
- (finish_decl): Remove unused variable `type'.
- (maybe_build_cleanup): Mark parameter `decl' with ATTRIBUTE_UNUSED.
- (complete_array_type): Mark parameters `type', `initial_value' and
- `do_default' with ATTRIBUTE_UNUSED.
- (start_struct): Mark parameter `name' with ATTRIBUTE_UNUSED.
- (start_enum): Likewise.
- (shadow_record_fields): Remove unused variables `type' and `parent'.
-
- * except.c: Include toplev.h. Remove redundant prototypes.
-
- * expr.c: Include system.h and toplev.h. Don't define NULL.
- Remove redundant prototypes.
- (internal_build_compound_expr): Mark parameter `first_p' with
- ATTRIBUTE_UNUSED.
- (build_allocate_getstack): Remove unused variable `init'.
- (build_chill_pred_or_succ): Likewise for variable `limit'.
- (varying_to_slice): Likewise for variable `doamin' [sic].
- (finish_chill_binary_op): Likewise for variables `code0' and
- `code1'. Remove unused label `finish'. Add explicit braces to
- avoid ambiguous `else'.
- (build_chill_addr_expr): Remove extra parameter in call to `error'.
- (build_chill_unary_op): Remove unused variables `class' and `type0'.
- (powersetlen): Remove unused variables `domain' and `temp'.
-
- * grant.c: Include system.h, toplev.h and output.h. Don't handle
- strchr/strrchr. Remove redundant prototypes.
- (decode_constant_selective): Remove unused variables `op' and `wrk'.
- (push_granted): Mark parameters `name' and `decl' with
- ATTRIBUTE_UNUSED.
-
- * inout.c: Include system.h and toplev.h. Remove redundant
- prototypes.
- (textlocation_mode): Use &&, not &, when comparing two truth
- values.
- (scanformcont): Remove unused label `do_the_action'.
-
- * lang.c: Include system.h and toplev.h. Remove redundant
- prototypes.
- (lookup_interface): Mark parameter `arg' with ATTRIBUTE_UNUSED.
- (maybe_objc_comptypes): Likewise for parameters `lhs' and `rhs'.
- (lang_print_xnode): Likewise for parameters `file', `node' and
- `indent'.
- (lang_decode_option): Explicitly declare `explicit_ignore_case'.
- (incomplete_type_error): Mark parameters `value' and `type' with
- ATTRIBUTE_UNUSED.
-
- * lex.c: Include system.h and toplev.h. Remove redundant
- prototypes. Don't handle strchr/strrchr. Use CAPITALIZED
- versions of ctype macros from system.h. Cast ctype arguments to
- unsigned char when necessary.
- (last_token, RETURN_TOKEN): Hide definition.
- (push_back): Remove unused function.
- (readstring): Change variable `i' to unsigned.
- (yywrap): Remove unused variable `node'.
-
- * loop.c: Include system.h and toplev.h. Remove redundant
- prototypes.
- (chill_unsigned_type): Hide prototype and definition.
- (begin_loop_scope): Remove unused variable `firstp'.
- (nonvalue_begin_loop_scope): Likewise.
-
- * parse.c: Include system.h and toplev.h. Remove redundant
- prototypes.
- (quasi_signal): Hide.
- (PEEK_TOKEN): Change return type to `enum terminal'.
- (parse_mode_definition_statement): Remove unused variable `names'.
- (parse_formpar): Remove unused parameter `in_spec_module'. All
- callers changed.
- (parse_formparlist): Likewise.
- (parse_processpar): Remove unused variable `parms'.
- (parse_definition): Add explicit braces to avoid ambiguous `else'.
- (parse_multi_dimension_case_action): Initialize variable
- `begin_test_label'. Remove unused variable `new_test'.
- (parse_case_action): Remove unused variable `caseaction_flag'.
- (parse_asm_clobbers): Remove unused variable `expr'.
- (parse_delay_case_action): Initialize variable `label_cnt'.
- (parse_action): Make function static.
- (parse_tuple_element): Remove unused variable `list'.
- (parse_primval): Add default case in switch.
- (parse_variant_alternative): Remove unused variables `x' and
- `variant_fields'.
-
- * satisfy.c: Include system.h and toplev.h. Remove redundant
- prototypes.
-
- * tasking.c Include system.h and toplev.h. Remove redundant
- prototypes.
- (data_name): Hide.
- (get_struct_variable_name): Likewise.
- (validate_process_parameters): Mark parameter `parms' with
- ATTRIBUTE_UNUSED.
- (build_start_process): Initialize variable `tuple'.
- (build_receive_buffer_case_end): Remove unused variable `buffer_ptr'.
-
- * timing.c: Include system.h and toplev.h.
- (build_after_timeout_start): Remove unused variable `goto_where'.
-
- * tree.c: Include system.h and toplev.h. Remove redundant
- prototypes.
-
- * typeck.c: Include system.h and toplev.h. Remove redundant
- prototypes.
- (extract_constant_from_buffer): Make function static. Add
- 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'.
- (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.
-
-Mon Sep 14 16:46:36 1998 Dave Brolley <brolley@cygnus.com>
-
- * typeck.c (build_chill_slice): Always use TYPE_DOMAIN to get the
- domain type of the array.
-
- * expr.c (build_chill_function_call): Remove redundant call to
- chill_convert_to_assignment
-
-Thu Sep 10 17:52:36 1998 Dave Brolley <brolley@cygnus.com>
-
- * actions.c (chill_convert_for_assignment): Make a copy of the result
- node before modifying it.
-
-Sat Sep 5 16:55:37 1998 John Carr <jfc@mit.edu>
-
- * Make-lang.in: Comment ^L characters. Sun make doesn't like them.
-
-Sat Sep 5 23:49:50 1998 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (INCLUDES): Update after recent reorganization at the
- toplevel gcc directory.
-
-Sat Sep 5 22:25:51 1998 Richard Henderson <rth@cygnus.com>
-
- * Makefile.in: Update dependencies for top-level gcc files that moved.
-
-Sat Sep 5 02:21:08 1998 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in: Tweak to avoid building runtime. It's built
- elsewhere now.
-
-Thu Sep 3 15:32:03 1998 Dave Brolley <brolley@cygnus.com>
-
- * typeck.c (layout_chill_range_type): set TYPE_SIZE_UNIT.
-
-Wed Sep 02 09:25:29 1998 Nick Clifton <nickc@cygnus.com>
-
- * lex.c (check_newline): Change how HANDLE_PRAGMA is called.
- Generate warning messages if unknown pragmas are encountered.
- (pragma_getc): New function: retrieves characters from the
- input stream. Defined when HANDLE_PRAGMA is defined.
- (pragma_ungetc): New function: replaces characters back into the
- input stream. Defined when HANDLE_PRAGMA is defined.
-
-Mon Aug 31 15:35:16 1998 Dave Brolley <brolley@cygnus.com>
-
- * decl.c (layout_chill_variants): Calculate nlables properly.
-
-Mon Jul 27 17:21:01 1998 Dave Brolley <brolley@cygnus.com>
-
- * typeck.c (apply_chill_array_layout): Don't set TYPE_SIZE of the
- element type.
-
-Mon Jul 13 14:20:12 1998 Nick Clifton <nickc@cygnus.com>
-
- * lang-options.h: Format changed to match changes in gcc/toplev.c
- to implement a --help option.
-
-Wed Jul 8 02:58:35 1998 Jeffrey A Law (law@cygnus.com)
-
- * lang.c (lang_init_options): New function.
-
-Wed Jun 10 12:08:09 1998 Dave Brolley <brolley@cygnus.com>
-
- * lang-options.h: Remove -I.
- * ch-tree.h (c_decode_option): New argc/argv interface.
- * decl.c (c_decode_option): New argc/argv interface.
- * lang.c (lang_decode_option): New argc/argv interface.
-
-Wed May 27 10:33:41 1998 Dave Brolley <brolley@cygnus.com>
-
- * actions.c (chill_handle_multi_case_label): Arguments 1 and 2 to
- chill_handle_multi_case_label_range were reversed.
-
- * Make-lang.in (chill): Use the correct gcc in the driver script.
-
-Thu May 21 14:40:44 1998 Dave Brolley <brolley@cygnus.com>
-
- * convert.c (digest_array_tuple): Move conversion to
- chill_convert_for_assignment.
-
- * actions.c (chill_convert_for_assignment): Allow conversion of array
- constructor to bitstring constructor for assignment to array of packed bits.
-
-Thu May 14 13:57:51 1998 Dave Brolley <brolley@cygnus.com>
-
- * Make-lang.in (chill-runtime): Depend on stmp-headers to build float.h.
-
-Wed May 13 14:07:51 1998 Dave Brolley <brolley@cygnus.com>
-
- * typeck.c (build_chill_slice): Adjust slice index to account for the
- lower bound of the array.
-
- * actions.c (chill_expand_assignment): Convert function arguments to the
- correct types.
- (chill_expand_assignment): Ditto.
-
-Mon May 11 16:20:57 1998 Dave Brolley <brolley@cygnus.com>
-
- * typeck.c (build_chill_slice): Propogate the TYPE_PACKED setting
- of the array_type to the slice_type.
- (build_chill_slice): Use SLICE_EXPR to represent a slice of an array
- of bits.
-
- * loop.c (build_loop_iterator): Disallow location enumeration for
- bit-packed arrays.
-
- * convert.c (digest_array_tuple): Allow conversion of an array tuple
- to a bitstring for assignment to a packed array of bits.
-
-Mon May 4 16:28:58 1998 Dave Brolley <brolley@cygnus.com>
-
- * ch-tree.def (PACKED_ARRAY_REF): New tree code.
- * typeck.c (build_chill_array_ref_1): Build PACKED_ARRAY_REF if array is packed.
- (chill_location): Handle PACKED_ARRAY_REF.
- (apply_chill_array_layout): Allow PACK for arrays of single bits.
- * expr.c (chill_expand_expr): Expand PACKED_ARRAY_REF.
- (invalid_operand): Check PACKED_ARRAY_REF operands.
- * actions.c (chill_expand_assignment): Expand PACKED_ARRAY_REF.
-
-Thu Apr 23 15:33:20 1998 Dave Brolley <brolley@cygnus.com>
-
- * typeck.c (apply_chill_field_layout): Only integral fields can be packed
- to the bit level.
-
-Tue Apr 21 14:30:10 1998 Jeffrey A Law (law@cygnus.com)
-
- * decl.c (intTI_type_node, unsigned_intTI_type_node): Define.
- (init_decl_processing): Handle TI types.
- * typeck.c (intTI_type_node, unsigned_intTI_type_node): Declare.
- (type_for_size): Handle TI types.
- (type_for_mode): Handle TI types.
-
-Mon Apr 20 13:12:26 1998 Dave Brolley <brolley@cygnus.com>
-
- * typeck.c (layout_chill_struct_type): Don't promote bitfield types to
- int.
-
- * actions.c (chill_convert_for_assignment): Check that the rhs is not
- a type declaration.
-
-Tue Apr 14 13:17:44 1998 Dave Brolley <brolley@cygnus.com>
-
- * lex.c (init_parse): Now returns char* containing the filename.
-
- * typeck.c (get_type_precision): Declare.
- (apply_chill_field_layout): Use the minimum number of bits necessary to
- represent discrete types as the natural length of the field.
-
-Thu Apr 9 12:46:55 1998 Dave Brolley <brolley@cygnus.com>
-
- * lex.c (finput): Move definition here from toplev.c
- (init_parse): New function replaces init_lex.
- (init_parse): Add code to open source file.
- (finish_parse): New function.
- (close_input_file): File was being closed more than once.
-
- * lang.c (finput): Declare.
- * ch-tree.h (init_lex): Remove.
-
-
-Wed Apr 8 14:47:33 1998 Dave Brolley <brolley@cygnus.com>
-
- * actions.c (compute_else_range): Fix loop index error.
- (chill_handle_multi_case_label_range): Move error checking to
- chill_handle_multi_case_label.
- (chill_handle_multi_case_else_label): Convert ELSE range values to
- the type of the corrersponding CASE selector.
-
-Wed Apr 8 13:02:50 1998 Jeffrey A Law (law@cygnus.com)
-
- * actions.c (sizetype_tab): Do not declare.
- * lang.c (lang_print_xnode): New function.
-
-Mon Mar 23 14:43:06 1998 Dave Brolley <brolley@cygnus.com>
-
- * grant.c (decode_layout): New function.
- (grant_array_type): Call decode_layout to export layout information to
- the grant file.
- (decode_decl): Ditto
-
-Fri Mar 20 16:06:41 1998 Dave Brolley <brolley@cygnus.com>
-
- * parse.c (parse_tuple_element): Call had arguments in wrong order.
-
-Thu Mar 19 13:42:33 1998 Dave Brolley <brolley@cygnus.com>
-
- * typeck.c (apply_chill_array_layout): Use
- TYPE_PRECISION (chill_integer_type_node) in stead of BITS_PER_WORD for
- the word size.
-
-Wed Mar 18 16:25:48 1998 Dave Brolley <brolley@cygnus.com>
-
- * typeck.c (apply_chill_field_layout): Only set DECL_BIT_FIELD for discrete
- fields.
-
- * parse.c (parse_multi_dimension_case_action): Call emit_line_note at the
- proper places.
-
-Tue Mar 17 14:16:08 1998 Dave Brolley <brolley@cygnus.com>
-
- * parse.c (gen_label_rtx): Declare before use.
- (emit_jump): Declare before use.
- (emit_label): Declare before use.
- (parse_case_label_list): Pass in CASE selector so we can mark it as having
- an (ELSE) label if necessary.
- (parse_case_label_specification): Pass in the CASE selector list so that
- the CASE selectors can be passed to parse_case_label_list.
- (parse_multi_dimension_case_action): Modify to generate branching code in
- one pass.
- (parse_case_expression): Compute (ELSE) range before generating CASE expression.
- (parse_variant_alternative): Remove error for (ELSE) specified.
-
- * expr.c (check_case_selector_list): Preserve TREE_PURPOSE of selector list.
-
- * decl.c (layout_chill_variants): Add code to check compatibility of ranges
- and discrete mode names.
-
- * ch-tree.h (ELSE_LABEL_SPECIFIED): New Chill specific flag.
-
- * actions.h (build_multi_case_selector_expression): Make it extern.
- (chill_handle_multi_dimension_case_label): Remove.
- (compute_else_ranges): New function.
-
- * actions.c (update_else_range_for_int_const): New function.
- (update_else_range_for_range): New function.
- (update_else_range_for_range_expr): New function.
- (update_else_range_for_type): New function.
- (compute_else_range): New function.
- (compute_else_ranges): New function.
- (chill_handle_multi_case_else_label): New function
- (chill_handle_multi_case_label_range): Don't generate tests for conditions
- which are always true or false.
- (chill_handle_multi_case_label): Ditto.
- (chill_handle_multi_case_label): Implement (ELSE) label support.
- (chill_handle_multi_case_label): First argument is now the selector tree not
- its VALUE.
- (chill_handle_multi_dimension_case_label): Removed.
- (build_chill_multi_dimension_case_expr): List of CASE alternatives is no longer
- reversed on entry, so reverse it here.
-
-Tue Mar 10 15:02:26 1998 Dave Brolley <brolley@cygnus.com>
-
- * actions.c (chill_handle_multi_case_label_range): Add more error checking.
- (chill_handle_multi_case_label): Implement (*) for multi dimensional CASE.
- (chill_handle_multi_case_label): Improve Error handling.
-
-Mon Mar 9 12:39:00 1998 Dave Brolley <brolley@cygnus.com>
-
- * actions.c (chill_handle_multi_case_label_range): Added.
- (chill_handle_multi_case_label): Add support for discrete ranges and
- discrete modes.
-
- * typeck.c (apply_chill_array_layout): Added more error checking.
- (apply_chill_field_layout): Added more error checking.
-
-Wed Mar 4 16:08:26 1998 Dave Brolley <brolley@cygnus.com>
-
- * convert.c (convert): Call build_simple_array_type with new argument.
-
- * ch-tree.h(build_simple_array_type): Add argument for array layout.
-
- * typeck.c (build_chill_slice): Call build_simple_array_type with new argument.
- (build_simple_array_type): Attach array layout to TYPE_ATTRIBUTES.
- (apply_chill_array_layout): New function to implement array layout.
- (layout_chill_array_type): Call apply_chill_array_layout and reset
- TYPE_ATTRIBUTES to NULL_TREE.
- (build_chill_array_type): Extend to handle one array layout per index mode.
- (smash_dummy_type): Call build_simple_array_type with new argument.
-
- * satisfy.c (satisfy): Call SATISFY on array layout tree.
-
-Wed Feb 25 14:36:41 1998 Dave Brolley <brolley@cygnus.com>
-
- * typeck.c (next_struct_offset): Added.
- (apply_chill_field_layout): New function to check and apply PACK, NOPACK,
- or POS layout to a structure field.
- (layout_chill_struct_type): Add call to apply_chill_field_layout.
-
- * satisfy.c (satisfy): Call satisfy recursively to handle the expressions
- in the field layout tree.
-
- * parse.c (pack_warn_printed): Remove.
- (nopack_warn_printed): Remove.
- (step_warn_printed): Remove.
- (pos_warn_printed): Remove.
- (parse_opt_layout): Remove warnings about POS, STEP, PACK and NOPACK usage.
-
- * decl.c (grok_chill_fixedfields): Check for POS specified for a list of
- field declarations.
-
-Thu Feb 19 17:33:06 1998 Dave Brolley <brolley@cygnus.com>
-
- * parse.c (parse_opt_layout): Generate syntax errors in pass 1 only.
- (parse_opt_mode): Removed incorrect comment about association of array
- layouts with nested array elements.
- (parse_opt_mode): Allow for one layout per index mode specified.
-
-Wed Feb 18 23:48:57 1998 Richard Henderson <rth@cygnus.com>
-
- * Make-lang.in (cc1chill): Kill lingering bc-opcode.h dependency.
-
-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
- unimplemented (ELSE) label.
- (parse_case_expression): Add code to handle multi dimensional case
- expression.
-
- * expr.c (check_case_selector_list): Fixed to return a list of the
- selectors which were checked.
- (chill_expand_case_expr): Remove "sorry" message for multi dimension
- case.
- (chill_expand_case_expr): Reverse order of case alternatives.
- (chill_expand_case_expr): Add "error" message for multiple case
- selectors.
-
- * actions.h (build_chill_multi_dimension_case_expr): Added.
-
- * actions.c (build_multi_case_selector_expression): Renamed from
- build_multi_case_expression.
- (chill_handle_multi_dimension_case_label): Call above function by its
- new name.
- (build_chill_case_expr): Don't reverse the list elements here. It may
- not be necessary.
- (build_chill_multi_dimension_case_expr): New function implements multi
- dimensional case expression.
-
-Thu Feb 12 15:44:50 1998 Dave Brolley <brolley@cygnus.com>
-
- * parse.c (parse_case_action): Implement multi-dimension CASE action.
- (parse_multi_dimension_case_action): Added.
- (parse_single_dimension_case_action): Added based on code moved from
- parse_case_action.
-
- * expr.c (check_case_selector_list): Added.
-
- * ch-tree.h (check_case_selector_list): Added.
-
- * actions.h (chill_handle_single_dimension_case_label): Added.
- (chill_handle_multi_dimension_case_label): Added.
-
- * actions.c (chill_handle_single_dimension_case_label): Added.
- (chill_handle_multi_case_label): Added.
- (chill_handle_multi_case_label_list): Added.
- (build_multi_case_expression): Added.
- (chill_handle_multi_dimension_case_label): Added
-
-Fri Feb 6 16:43:41 1998 Dave Brolley <brolley@cygnus.com>
-
- * actions.c (sizetype_tab): Fix declaration to match gcc changes.
-
-Thu Feb 5 14:03:00 1998 Dave Brolley <brolley@cygnus.com>
-
- * decl.c (chill_tree_code_type): Change this to be an array of char like
- the tree_code_type in the rest of gcc.
-
- * ch-tree.def (chill_tree_code_type): See decl.c.
-
-Thu Jan 29 15:34:18 1998 Dave Brolley <brolley@cygnus.com>
-
- * tasking.c (error_with_decl): Correct prototype.
- (build_gen_ptype): Reverse arguments.
-
- * lang.c (chill_real_input_filename): Add definition.
- (chill_print_error_function): Correct second argument.
- (lang_init): Set chill_real_input_filename.
-
- * expr.c (NULL): Protect definition with #ifndef.
-
- * 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
- if the directory change fails, the rule will not loop.
-
-Mon Mar 3 12:08:19 1997 Fred Fish <fnf@cygnus.com>
-
- * Make-lang.in (CHILL_FLAGS_TO_PASS): Remove extraneous leading
- spaces and use single tab character on some lines.
- (cc1chill): Ditto.
-
-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.
-
- * 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.
-
- * lex.c (init_lex), lex.h: Define and initialise RID_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.
-
- * 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.
-
- * 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>
-
- * convert.c (display_int_cst): Check that val is INTEGER_CST.
- (digest_array_tuple): Some extra error checks (i.e. that indexes
- are constant). If dynamic mode, result is not constant.
-
-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 ({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
- 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
- __FUNCTION__ in C.
- (parse_proc_body): Add call to define__PROCNAME__.
-
- * typeck.c (chill_equivalent): Take care of NEWMODE'd procedure
- modes on one side and procedures on the other side..
-
-Wed Jul 24 01:13:51 1996 Wilfried Moser <moser@rtl.cygnus.com>
-
- * typeck.c: Replace all local variables and arguments named `index'
- with `idx', `index' gets replaced by `strchr' which makes debugging
- somehow difficult.
- (valid_array_index_p): New argument to indicate that we are processing
- LENGTH (varying string) on the lefthand side of an assignment. The
- index check is different in this case.
- (build_chill_cast): In case of expression conversion do an OVERFLOW
- check with the limits of the target mode.
-
- * ch-tree.h: New prototype for valid_array_index_p.
-
- * actions.c (expand_varying_length_assignment): Add new argument to
- call to valid_array_index_p to indicate we are processing
- LENGTH on the lefthand side of an assignment.
-
- * loop.c: Rename loop_stack to loopstack to avoid clashes with
- global variable ../stmt.c:loop_stack.
-
-Tue Jun 18 23:04:06 1996 Per Bothner <bothner@deneb.cygnus.com>
-
- * expr.c (resolve_component_ref): Set TREE_SIDE_EFFECTS properly.
-
-Mon Jun 10 15:01:51 1996 Per Bothner <bothner@deneb.cygnus.com>
-
- * typeck.c (build_chill_reference_type): Copy novelty for reference.
- * satisfy.c (satisfy): If REFERENCE_TYPE, copy novelty.
-
-Thu May 30 04:55:27 1996 Wilfried Moser <moser@rtl.cygnus.com>
-
- * typeck.c (valid_array_index_p): For varying character strings
- we must check if the index is less then the actual length instead
- of less equal.
-
-Wed May 15 06:07:10 1996 Wilfried Moser <moser@rtl.cygnus.com>
-
- * ch-tree.h: Add prototype for test_range.
-
- * inout.c (process_io_list): Fix duplicate function call if
- writetext argument is a function returning a varying string.
-
-Tue May 14 21:08:47 1996 Per Bothner <bothner@deneb.cygnus.com>
-
- Re-do string comparisons. Old way could re-use temporary
- (SAVE_EXPR created for an argumnet is variable) prematurely.
- * ch-tree.def (STRING_EQ_EXPR, STRING_LT_EXPR): New codes.
- * decl.c (init_decl_processing): Remove __eqstring, __gestring,
- __gtstring, __lestring, __ltstring, __nestring declarations.
- * expr.c (build_char_array_expr): Rename to build_compare_string_expr.
- Create STRING_EQ_EXPR, STRING_LT_EXPR nodes, instead of CALL_EXPRs.
- (chill_expand_expr): Implement STRING_EQ_EXPR, STRING_LT_EXPR.
- (build_compare_expr): Use new build_char_array_expr name.
-
-Mon Apr 8 14:08:30 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- Cleanup of April 5 fix:
- * actions.c (test_range): New function.
- (check_range): Simplify to use test_range.
- * convert.c (digest_powerset_tuple): Move error message from here ...
- (check_ps_range): ... to here. Also, simplify to use test_range.
-
-Fri Apr 5 03:41:05 1996 Wilfried Moser <moser@rtl.cygnus.com>
-
- * convert.c (check_ps_range): New function to perform range check
- of powerset tuple elements. This is quite the same as check_range,
- however, the actions on rangefail are different.
- (digest_powerset_tuple): Call check_ps_range.
-
- * loop.c (build_loop_iterator): Chaeck if location enumeration
- is requested for BOOLS(n) and print an error message.
-
-Wed Mar 6 17:46:48 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- * parse.c (parse_primval): Emit error if !ignore (before: pass==2).
-
- Implement parameterised array and string modes (using LANG_TYPE).
- * parse.c (parse_opt_mode): Handle parameterized arrays and strings.
- * grant.c (decode_mode): Support extended use of LANG_TYPE.
- * satisfy.c (cycle_error_print): Ignore non-decls in chain.
- (safe_satisfy_decl): No error if non-decl (pointer type) in cycle.
- (satisfy): Return immediately if laid out non-pointer type.
- (satisfy case LANG_TYPE): Handle paramertised mode.
- (satisfy case POINTER_TYPE/REFERENCE_TYPE): Push type on chain;
- return immediately if already in chain.
- * typeck.c (smash_dummy_type): Handle parameterized modes and CHAR(N).
- Change return type (can now return error_mark_node).
- (build_readonly_type): Return return value from smash_dummy_type.
- * ch-tree.h: Change smash_dummy_type return type.
-
-Tue Mar 5 22:31:20 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- * typeck.c (build_chill_slice): Re-do index_type calculation.
- * typeck.c (layout_chill_range_type): Use compare_int_csts rather
- than tree_int_cst_lt to avoid signed/unsigned problems.
-
- * typeck.c (copy_novelty): Use copy_node rather than build_type_node.
- * typeck.c (smash_dummy_type): Use copy_novelty for NEWMODE of range.
-
- * decl.c (init_decl_processing): More portable sizetype initialization.
-
- * tree.c (build_string_type): Generalize to also create bitstrings.
- Return error_mark_node if an argument is an ERROR_MARK.
- (build_bitstring_type): Simplify - just call build_string_type.
-
-Tue Mar 5 03:48:32 1996 Wilfried Moser <moser@blues.cygnus.com>
-
- * actions.c (warn_unhandled): Add missing assignment.
-
- * loop.c (build_loop_iterator): In case of IN, check if
- expression has a mode, otherwise make an error.
-
-Mon Mar 4 23:12:03 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- * convert.c (digest_powerset_tuple): Check tuple elements
- for compatibility; if compatible, call convert.
-
-Thu Feb 29 23:39:54 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- Simplify NOVELTY representation.
- * ch-tree.h (CH_NOVELTY): Re-implement as plain TYPE_CONTEXT.
- (CH_NOVELTY_FLAG): Removed. (Just use CH_NOVELTY.)
- * decl.c (push_modedef): Make copy even for SYNMODE.
- but not for internal typedefs (indicated by make_newmode==-1).
- * tasking.c: Call push_modedef with make_newmode==-1.
- * typeck.c (chill_novelty): Remove.
- (smash_dummy_type): Removed unused event/buffer stuff. Update.
- * grant.c (decode_decl), inout.c (build_io_types),
- expr.c (build_concat_expr), typeck.c (build_chill_slice, copy_novelty),
- tasking.c (build_instance_type): Simplify using new CH_NOVELTY.
-
- Solidify READ mode handling.
- * decl.c (do_decl, push_syndecl, start_chill_function):
- Possibly set TREE_READONLY for a VAR_DECL, CONST_DECL, or PARM_DECL.
- * typeck.c (build_chill_slice): Set TREE_READONLY appropriately.
- (build_chill_array_ref_1, build_chill_bitref): Likewise.
- (build_chill_cast): Set TREE_READONLY depending on result type (only).
- * convert (convert_from_reference, convert): Likewise.
- * expr.c (resolve_component_ref): Set TREE_READONLY appropriately.
- (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
- outer scope. Also call save_if_needed.
- * decl.c (shadow_record_fields); Fix and simplify.
-
-Tue Feb 27 22:19:40 1996 Per Bothner <bothner@cygnus.com>
-
- * convert.c (display_int_cst): Gereralize to wider range of ints.
-
-Thu Feb 22 06:12:59 1996 Wilfried Moser <moser@rtl.cygnus.com>
-
- * convert.c (digest_array_tuple): Take care of type == error_mark_node.
-
- * decl.c (do_decl): In case of chill_varying_type_p, check if
- type of fixed part is error mark and do nothing in this case.
-
- * lex.c (convert_bitstring): Don't complain when length of
- bitstring is 0 (BOOLS(0) is a valid mode).
-
- * tree.c (layout_powerset_type): Add check for TYPE_MAX/MIN_VALUE
- (domain) is error mark.
-
- * typeck.c (layout_chill_range_type): If lowvalue or highvalue ==
- error_mark_node, just return.
-
-Tue Feb 20 00:01:10 1996 Wilfried Moser <moser@rtl.cygnus.com>
-
- * parse.c (parse_variant_alternative): When checking for ELSE take
- care of tagless variants.
-
-Mon Feb 19 05:54:45 1996 Wilfried Moser <moser@rtl.cygnus.com>
-
- * parse.c (parse_case_action): Check if ELSE was specified
- in a case label list (this is only valid for array tuples).
- (parse_case_expression): Deto.
- (parse_variant_alternative): Deto.
-
-Tue Feb 13 17:08:16 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- * typeck.c (chill_location): Cleanup. Neither SLICE_EXPR nor
- BIT_FIELD_REF are referable, even if their base strings are.
-
-Fri Feb 9 02:25:33 1996 Wilfried Moser <moser@rtl.cygnus.com>
-
- * actions.c (chill_expand_result): Do CH_FUNCTION_SETS_RESULT after
- checking the expression.
-
- * convert.c (convert): Set TREE_CONSTANT when taking the
- address of a function.
-
- * decl.c (start_chill_function): Check if the mode is really
- a mode to avoid subsequent segfaults.
-
- * typeck.c (string_assignment_condition): Add checking of
- bitstring length.
-
-Thu Feb 8 01:37:59 1996 Wilfried Moser <moser@rtl.cygnus.com>
-
- * actions.c (build_cause_exception): Print warning of unhandled
- exception only once for each exception.
-
-Mon Feb 5 22:17:13 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- * tree.c (discrete_count), ch-tree.h: New function.
- * expr.c (build_concate_expr, build_chill_repetition_op,
- chill_expand_expr): Use discrete_count; make sure arguments
- to size_binop are sizetype.
- (powersetlen): Trvialize using discrete_count.
-
- * inout.c (process_io_list): Use new assign_temp function.
- * inout.c (build_enum_tables): Avoid taking address of array_ref,
- which sometimes gets optimized to a constant.
-
- * expr.c (finish_chill_unary_op): Call convert_to_class on argument.
- Remove some obsolete TREE_UNSIGNED stuff.
- * lex.c (convert_integer): Removed more TREE_UNSIGNED stuff.
-
-Thu Feb 1 15:11:20 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * lex.c (check_newline): Return result of HANDLE_PRAGMA.
-
-Wed Jan 31 17:13:25 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- * decl.c (char_array_type_node, wchar_array_type_node): Removed.
- (init_decl_processing): Remove array_domain_type; don't set
- char_array_type_node or wchar_array_type_node.
- * decl.c (init_decl_processing): Use fixup_unsigned_type to
- simplify code to create boolean_type_node and char_type_node.
-
-Mon Jan 29 14:20:10 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * lex.c (check_newline): Pass character after `#pragma' to
- HANDLE_PRAGMA. Don't call get_directive_line if at end of line.
-
-Fri Jan 26 05:56:27 1996 Wilfried Moser <moser@rtl.cygnus.com>
-
- * expr.c (build_chill_function_call): Add check and error for
- actual argument is a TYPE_DECL.
-
- * parse.c (parse_set_mode): Print a warning if the set mode contains
- numbered and unnumbered set elements.
-
-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.
-
-Mon Jan 15 06:21:52 1996 Wilfried Moser <moser@rtl.cygnus.com>
-
- * actions.c (chill_expand_assignment): Add check for lefthand side
- of an assignment is a location.
-
- * ch-tree.def: Name of SET_IN_EXPR is really "set_in_expr" and
- not "concat_expr".
-
- * expr.c (is_really_instance): New function to check if a datum
- is really an instance. CH_IS_INSTANCE_MODE seems to be to weak
- for this case.
- (build_chill_component_ref): call is_really_instance.
-
-Wed Jan 10 13:47:14 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- * ch-tree.h (TYPE_ARRAY_MAX_SIZE): Removed; now in ../tree.h.
-
-Mon Jan 8 15:29:20 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- * expr.c (build_char_array_expr): Add save_if_needed's if varying.
- Also, remove unused len0 and len1.
-
-Mon Dec 11 17:36:44 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * inout.c (build_chill_associate, assoc_call, build_chill_readrecord,
- build_chill_getassociation, build_chill_getusage,
- build_chill_gettextrecord, build_chill_gettextaccess: Simplify
- - modify TREE_TYPE of CALL_EXPR, instead of building a CONVERT_EXPR.
-
- * parse.c (parse_action): Minor simplification.
-
-Thu Dec 7 00:02:47 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * parse.c (parse_action): In case of CALL, do a check if there
- is really a function call.
-
-Tue Dec 5 05:06:02 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * convert.c (display_int_cst): Fix printing of control sequence.
-
-Thu Nov 30 21:07:57 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * grant.c (decode_constant, decode_constant_selective): Make work
- for REAL_IS_NOT_DOUBLE case.
-
- * decl.c (CHILL_INT_IS_SHORT): New macro.
- (init_decl_processing): Use CHILL_INT_IS_SHORT.
- Change name of integer_type_node from _cint to long.
-
-Mon Nov 27 17:07:05 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * loop.c (top_loop_end_check): Check while condition *after*
- getting next powerset element.
-
-Mon Nov 27 05:29:52 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * parse.c (parse_receive_case_action): Fix typo in error message.
-
- * convert.c (display_int_cst): Format characters like strings in
- grant.c(decode_constant).
-
- * grant.c: Remove the old forbid stuff.
-
- * lex.c (readstring): Fix reading of '^^'.
-
- * parse.c (parse_procedure_mode): nreverse param_types.
-
-Thu Nov 23 05:39:57 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * actions.c (chill_expand_assignment): Check for assigning to
- location with non-value mode.
-
- * ch-tree.h: New macro CH_TYPE_NONVALUE_P.
- Add new and change some prototypes.
-
- * decl.c (init_nonvalue_struct): New function to generate
- initialisation code for non-value structs.
- (init_nonvalue_array): New function to generate initialisation
- code for non-value array's.
- (do_decl): Call one of the above mentioned functions in case
- we have a mode with the non-value property.
- (start_chill_function): Print error message if a non-value mode
- gets returned without LOC and check for arguments of non-value
- modes only gets passed by LOC.
-
- * grant.c (print_proc_tail): Fix for procedure returning LOC.
-
- * inout.c (build_io_types): Set CH_TYPE__NONVALUE_P on
- association_type_node.
- (invalidate_access_recordmode): New function to set the
- record mode of an ACCESS to error_mark_node in case of
- record mode has the non-value property.
- (build_text_mode): Set CH_TYPE_NONNVALUE_P.
- (build_access_mode, build_chill_gettextaccess): Deto.
- (check_exprlist): Correct processing of repetition factor.
-
- * lex.c (readstring): Correct processing of control
- sequences of the form '^([H | D | O | B]'xx)'.
-
- * loop.c: Cleanup iterator handling (done by Per).
- (nonvalue_begin_loop_scope, nonvalue_end_loop_scope): New
- functions for starting and ending a loop scope in case
- of initialising an array with non-value property.
-
- * parse.c (check_end_label): Remove '\n' from error message.
- (parse_loc_declaration): Print error in case of loc-identity
- declaration without initialisation or with keyword INIT.
- (parse_do_action): Clean up iterator handling (done by Per).
-
- * satisfy.c (safe_satisfy_decl (case TYPE_DECL)): Print an error
- message in case of TYPE_DECL is a signal and the mode has the
- non-value property.
- (satisfy (case ARRAY_TYPE)): Set CH_TYPE_NONVALUE_P of the
- the array type if the array element mode has the non-value
- property.
- (satisfy case RECORD_TYPE)): Set CH_NONVALUE_P on the record
- type if one of the fields have the non-value property. If the
- record is a buffer mode and the element mode of the buffer has
- the non-value-p., invalidate it (see
- tasking.c (invalidate_buffer_element_mode). Same for access modes.
-
- * tasking.c (build_signal_descriptor): If the signal type have
- the non-value property, do nothing.
- (build_receive_signal_case_label): Don't do an assignment if the
- signal type have the non-value property.
- (build_receive_buffer_case_label): Add check for buffer element
- mode is ERROR_MARK.
- (expand_send_buffer): Deto.
- (build_buffer_type): Set CH_TYPE_NONVALUE_P on buffer mode.
- (invalidate_buffer_element_mode): New function to set type of
- buffer element mode to error_mark_node.
- (build_event_type): Set CH_TYPE_NONVALUE_P on event mode.
-
-Wed Nov 15 13:26:20 1995 Jeffrey A Law (law@cygnus.com)
-
- * inout.c (intsize_of_charsexpr): Move declaration to top
- of file to avoid error from solaris2.5 cc.
-
-Thu Nov 9 02:50:40 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * satisfy.c (satisfy): For a RECORD_TYPE, which is an ACCESS or TEXT
- mode, temporarily reset maximum_field_alignment to 0 before
- layouting it to be compatible with the runtime library.
-
- * inout.c (build_chill_gettextaccess): Deto.
-
-Mon Nov 6 04:12:06 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * decl.c (do_decl): If type is READonly, add check if an
- ASSOCIATION, ACCESS, TEXT, BUFFER, or EVENT will be declared
- and print an error if this is true. Variables of this modes
- may not be declared READonly.
- Add check for mode is one of the above and an init value was
- 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.
- (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,
- TEXT, BUFFER, or EVENT may be passed only by LOC. Add this check.
- (declare_predefined_file): Move to inout.c.
- (init_decl_processing): Add definitions for new built-in's.
- (finish_outer_function): Build a constructor only if
- build_constructor is set.
-
- * except.c: On Linux native, setjmp is __setjmp.
-
- * expr.c (build_chill_component_ref): New function. It gets called
- from parse.c instead of build_component_ref. Functions checks if the
- user tries to access a field of an ACCESS, ASSOCIATION, BUFFER,
- EVENT, INSTANCE, or TEXT mode, which actually is not allowed.
- (build_chill_floatcall): New function to resolve CHILL's floating
- point builtin calls (SIN, COS, TAN, etc.).
- (build_allocate_getstack, build_chill_allocate, build_chill_getstack,
- build_chill_terminate): New functions to resolve CHILL's ALLOCATE,
- GETSTACK, and TERMINATE built-in's.
- (build_generalized_call): Process new built-in's.
-
- * grant.c (decode_mode): Add processing of ACCESS and TEXT modes.
- (decode_mode_selective): deto.
-
- * 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.
-
- * lex.h (enum rid): Add RID_ASSOCIATION.
-
- * parse.c: New flag build_constructor to indicate if a constructor
- should be generated at the end of compilation or not. See
- decl.c(do_decl).
- (parse_begin_end_block): Don't emit a line note.
- (parse_primval): Call build_chill_component_ref instead of
- build_component_ref.
- (parse_opt_mode): Process ACCESS modes, ASSOCIATION modes, TEXT
- modes, USAGE modes, WHERE modes.
-
- * satisfy.c (safe_satisfy_decl): Check if a SYN is of mode ASSOCIATION,
- 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
- of ! BYTES_BIG_ENDIAN.
- (build_chill_cast): Implement representation conversion between
- INT's and REAL's.
- (chill_similar): Add check of ACCESSes.
- (layout_chill_range_type): Check for real ranges and print
- sorry message.
-
- * Make-lang.in: Change compiler version.
- chill also depends on Makefile.
-
- * chill.in: Process command line option -Xlinker like -Tdata.
-
- * ch-tree.h: New macros CH_IS_ASSOCIATION_MODE, CH_IS_ACCESS_MODE,
- 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.
- 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
- to generated SPEC MODULE.
-
-Wed Oct 4 18:16:44 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * decl.c (pop_chill_function_context): Remove some bogosity.
-
-Wed Oct 4 05:14:00 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * grant.c (print_integer_selective): In case of a RANGE of
- a SET mode, try to find and grant the parent mode.
- (grant_seized_identifier): Don't write it out, if the identifier
- doesn't have a seize file (it may come from a SPEC MODULE
- defined in the compilation unit).
-
-Fri Sep 22 14:04:40 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * actions.c (check_non_null): Wrap expr in SAVE_EXPR if needed.
-
-Wed Sep 20 13:51:54 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * expr.c (force_addr_of): Optimize an INDIRECT_REF using
- convert_to_pointer rather than convert (which in case of
- a REFERENCE_TYPE would losingly call convert_from_reference).
-
-Wed Sep 20 04:03:58 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * inout.c (build_chill_writetext): In case of character string:
- Add processing of a concatenation including varying character
- strings.
- (intsize_of_charsexpr, get_max_size): New functions to determine
- the maximum size of varying character strings.
-
- * grant.c (decode_constant, decode_constant_selective): Add
- processing of COMPONENT_REF.
-
- * satisfy.c (satisfy (case COMPONENT_REF)): Correct handling
- for SYNONYM's with STRUCT mode.
-
-Mon Sep 18 17:25:11 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * expr.c (force_addr_of): Optimize of value is INDIRECT_REF.
- * typeck.c (build_chill_slice): Call mark_addressable.
-
-Mon Sep 18 14:38:15 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * expr.c (chill_expand_expr): Make a copy before calling __psslice
- if the array is neither referable nor BLKmode.
- (build_set_expr): Renamed to ...
- (build_compare_set_expr): Allow one opperand to be boolean.
- (build_compare_expr): Check both operands for SET_EXPR,
- before checking for discrete types (for -fold-strings).
-
-Fri Sep 15 11:35:43 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * satisfy.c (safe_satisfy_decl): For a CONST_DECL, set TREE_TYPE
- to error_mark_node or error.
-
-Fri Sep 15 00:26:02 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * grant.c (decode_constant_selective): Add processing of
- TREE_OPERAND (val, 0).
-
-Wed Sep 13 14:24:12 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * ch-tree.h (CH_IS_INSTANCE_MODE): Redefine to use CH_SIMILAR.
- * convert.c (convert): Use CH_IS_INSTANCE_MODE.
- * inout.c (build_chill_writetext): Likewise.
- * tasking.c (build_receive_case_start, build_delay_case_start): Ditto.
- * parse.c (parse_start_action): Remove redundant tests.
- * tasking.c (build_start_process): Also test that optset is instance.
- (build_copy_number, build_proc_type, expand_send_signal): Use
- 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
- to remove gratuitous gawk dependency.
-
-Mon Sep 11 17:26:53 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * typeck.c (build_chill_modify_expr): Use force_addr_of.
- (mark_addressable): Handle INDIRECT_REF of ADDR_EXPR.
-
- * typeck.c (check_case_value), ch-tree.h: Moved to ...
- * actions.c (check_case_value): ... here. Also check for
- compatibility with selector (which is passed as extra argument).
- (chill_handle_case_label_range): Take selector argument,
- and use it to call check_case_value.
- (chill_handle_case_label): Take extra selector argument.
- * ch-tree.h (chill_handle_case_labe): Add prototype.
- * except.c expr.c, parse.c: Remove chill_handle_case_label prototypes.
- * actions.c, except.c, expr.c, parse.c: Pass extra selector
- argument to function calls as needed.
-
-Mon Aug 28 02:47:54 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * grant.c (decode_constant_selective): Fix a bug in writing items
- to grant file.
-
-Thu Aug 24 04:52:28 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * parse.c (parse_case_expression): Print warning only in
- pass 1.
-
- * actions.c (print_missing_cases): Correct printing of
- character ranges.
-
-Wed Aug 23 15:26:12 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * parse.c (parse_case_label_list): Take extra parameter to
- indicate if we're parsing a tuple or a case-label-spec.
- If former, don't allow '(' EXPR ')' ',' but backup instead.
- (parse_case_label_specification, parse_tuple_element):
- Pass appropriate new argument to parse_case_label_list.
-
-Wed Aug 23 06:08:28 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * inout.c (build_chill_readtext): Add processing of BOOL's and
- CHARS(n).
-
- * grant.c (decode_constant): Process nonprintable characters
- in a STRING_CST.
-
-Fri Aug 11 15:26:13 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * except.c (initialize_exceptions): Name setjmp "setjmp" and not
- "__builtin_setjmp" (which is not recognized by expand_call).
-
-Wed Aug 9 23:35:36 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * loop.c (end_loop_scope): Need to call kept_level_p,
- in argument to poplevel.
-
-Wed Aug 9 05:48:30 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * Make-lang.in (CHILL.install-common): Don't install chill-cross (this
- file might be empty). Install chill.install instead.
-
-Tue Aug 8 21:46:30 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * loop.c (end_loop_scope): Do poplevel *after* expand_end_bindings.
-
-Tue Aug 8 00:51:09 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * tasking.c (build_process_header): Also set DECL_ASSEMBLER_NAME
- of PARAM_DECL, since otherwise dbxout_symbol_name may barf.
-
- * decl.c (start_chill_function): Likewise ...
-
-Mon Aug 7 18:35:35 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * tasking.c (build_process_wrapper): Also set DECL_ASSEMBLER_NAME
- of PARM_DECL, since otherwise dbxout_symbol_name may barf.
-
-Mon Jul 31 14:32:33 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * loop.c: Re-written implementation of powerset iteration.
- (declare_temps): iter_var is now integer index into bitstring,
- and powerset_temp just uses save_expr (normally needs no temp).
- (top_loop_end_check): Pass index to start searching (from iter_var)
- to library function, instead of dependning on latter to clear old bits.
- (increment_temps): UNless DOWN, increment iter_var.
- * decl.c (init_decl_processing): Declare new types for
- __ffsetclrpowerset and __flsetclrpowerset (now misnamed...).
-
-Mon Jul 31 12:47:28 1995 Per Bothner <bothner@cygnus.com>
-
- * convert.c (digest_array_tuple): Set TREE_STATIC if possible.
-
-Fri Jul 28 05:11:56 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * lex.c (readstring): Process integer literals starting with
- H', D', or B' within a control sequence.
-
-Thu Jul 27 23:08:51 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * parse.c (parse_do_action): Don't call push_action, but defer
- push_handler until begin_loop_scope.
- Call parse_opt_handler here, to move handler scope inside loop block.
- (parse_action): After do_action, nothing to do now.
- * loop.c (begin_loop_scope): Also call push_handler here.
- (declare_temps): Copy derived flag to user_var.
- (declare_temps): For POWERSET, always copy to temporary (even if
- constant), since the runtime clears bits from it.
-
- * expr.c (build_chill_sizeof): Use convert_to_class.
- * satisfy.c (safe_satisfy_decl): Cleanup handling of CONST_DECL -
- 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.
- (fold_set_expr): Simplify accordingly.
- (build_concat_expr): Constant fold bitstring CONCAT_EXPRs.
-
-Thu Jul 13 12:21:22 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * typeck.c (build_chill_slice): Use build1 instead of build.
- * typeck.c (xtract_constant_from_buffer): Pass correct precision
- to lshift_double.
-
- * typeck.c (expand_constant_to_buffer): Handle RANGE_EXPR index.
- * convert.c (digest_array_tuple): Generate RANGE_EXPR as index
- for tuples with ranges.
-
-Thu Jun 29 23:41:15 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * typeck.c (build_chill_slice): Re-implement to use casts
- instead of build_chill_array_ref_1 (which doesn't always work).
- * convert.c (convert): Remove old bugs code.
-
-Tue Jun 27 05:00:04 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * parse.c (parse_if_action): Do PUSH_ACTION before parsing the
- expression so that a possible handler at the if action will
- be found.
- (parse_proc_body): New argument to indicate if the function
- raises exceptions or not. In case the function will raise
- exception: start a handler, parse the function and generate
- 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
- definition.
-
- * ch-tree.h: Add prototype for chill_reraise_exceptions.
-
- * decl.c (build_chill_function_type): When the function (type)
- raise an exception, generate two new arguments (additional to the
- formal parameters), the filename and linenumber of the caller.
- (start_chill_function): likewise...
-
- * expr.c (build_chill_function_call): If the called function raises
- exceptions, give current filename and linnumber as aditional
- arguments.
-
- * actions.c (build_cause_exception): Handle case when function
- propagates the exception.
-
- * grant.c (print_proc_tail, print_proc_tail_selective): If the
- function(type) raises exceptions, don't process the last to
- parmeters of the formal argument list, they are compiler
- generated.
-
- * typeck.c (chill_similar): In case of FUNCTION_TYPE: check if
- the exception lists are equal.
-
-Thu Jun 22 19:27:47 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * loop.c (flag_local_loop_counter): Change default to 1.
- (end_loop_scope): Set 'keep' parameter in poplevel call.
- (declare)_temps): Don't set IDENTIFIER_LOCAL_VALUE, since that
- is handled (correctly!) by pushdecl.
- (begin_loop_scope): Call pushlevel here,
- * parse.c (parse_do_action): Move pushlevel so only called for WITH.
- * decl.c (struct scope): Remove n_incomplete field and its uses.
- (pushdecl): Re-write to use proclaim_decl. Remove old C-isms.
- (init_decl_processing): Re-name integer_type_node as "_cint" to
- remove complaint from pushdecl about chill_integer_type_node as "int".
-
-Tue Jun 20 18:15:58 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * Make-lang.in (chill-runtime): Restore patch to disable building of
- runtime libraries for cross compilers. This patch should remain
- until a build of a freshly checked out devo "just works".
-
-Mon Jun 19 06:01:42 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * Make-lang.in: Update GNUCHILL_VERSION to 1.4.4.
-
- * decl.c (init_decl_processing): Remove builtin function
- __cause_exception. New builtin functions __cause_ex1 and
- __unhandled_ex.
-
- * except.c (is_handled): Return 0 when no handler found,
- 1, if the handler is in local scope and 2, if function
- may propagate the exception.
-
- * actions.c (build_cause_exception): New argument to
- indicate if a warning should be printed when
- causing an unhandled exception. Call is_handled here.
-
- * ch-tree.h: Change prototype for build_cause_exception.
- 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
- necessary 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.
-
- * parse.c (parse_on_exception_list): Fis constructing of
- exceptions list.
-
-Wed Jun 14 15:21:54 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * typeck.c (valid_array_index_p): Check for syntax error, where
- index is a mode, rather than a value.
-
- * expr.c (build_chill_binary_op_1): Remove unused function.
-
-Sat Jun 10 11:36:52 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * except.c (is_handled): New function.
- Various fixes here and there to make it work.
-
- * parse.c (parse_param_name_list): Set DECL_ASSEMBLER_NAME.
- (Otherwise dbxout may crash.)
-
- * satisfy.c (satisfy case FUNCTION_TYPE): Check for non-type result.
- * decl.c (start_chill_function): If result type was error_mark,
- kludge type chill_os result_decl to avoid extra errors.
- * actions.c (chill_expand_result, chill_expand_return): If type of
- chill_result_decl is error_mark, do nothing.
-
- * typeck.c (chill_similar): Fix thinko in recent change.
-
- * config-lang.in (diff_exclude): Remove ch/lex.c - now it's a
- true source file, and is never longer generated with [f]lex.
-
- * regression.sh: Pass -s to make clean (to make it silent).
- Explicitly call gawk, instead of depending of '#!' to work.
- Add --objdir flags. Never send mail to bill.
-
-Thu Jun 8 15:08:35 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * typeck.c (chill_similar): Add extra parameter. Use to to prevent
- infinite recursion.
- (chill_equivalent, chill_l_equivalent): Also add new parameter.
- * ch-tree.h (CH_SIMILAR, CH_EQUIVALENT): Modify to match.
-
-Tue Jun 6 17:14:49 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * loop.c (declare_temps): If -flocal-loop-counter, make sure to
- pushdecl the new variable (created with decl_temp1).
- And fix the type of the local variable for powerset iteration.
-
-Tue Jun 6 15:07:19 1995 Per Bothner <bothner@cygnus.com>
-
- * typeck.c (mark_addressable): Handle ADDR_EXPR inside
- NOP_EXPR inside INDIRECT_EXPR. For TRUTH_ANDIF_EXPR,
- TRUTH_ORIF_EXPR, and COMPOUND_EXPR mark operand 1, not operand 0
- (which is used for range-checks and suchlike).
-
-Thu Jun 1 02:45:54 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * expr.c (build_set_expr): Do some optimizations for LE_EXPR and
- GE_EXPR (don't do invert_truthvalue, just switch operands).
-
-Wed May 31 14:00:38 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * lang-options.h: New file.
- * lang-specs.h: New file.
-
-Wed May 24 01:45:18 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * actions.c (assign_stack_temp): Remove unneeded declaration.
-
-Tue May 23 00:17:38 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * parse.c (parse_on_exception_list): Return list of exception
- names in pass 1, not in pass 2. (Return non-NULL dummy if pass 2.)
- (parse_on_alternatives): Call chill_handle_on_labels even if ignoring.
- (parse_opt_handler): Likewise for chill_start_default_handler.
- * except.c (push_handler): Clear on_alt_list only if pass 1.
- (chill_handle_on_labels): Build on_alt_list in pass 1,
- retrieve it in pass 2.
-
- Fix so that decl_temp1 does not expand_decl_init, which calls
- free_temp_slots, which loses in the middle on an expression.
- * decl.c (finish_decl): Don't call expand_decl_init.
- (do-decl): Do initialization assignment even if stack variable.
- * parse.c (parse_loc_declaration): Call free_temp_slots.
-
- * decl.c (finish_decl), ch-tree.h: Remove last two always-NULL
- parameters. Cleanup never-used code.
- * decl.c, except.c: Update calls to finish_decl.
-
- * decl.c (case_else_node): Define new variable.
- (init_decl_processing): Initialize it.
- (make_chill_variants): If variant label is case_else_node (i.e. it
- is (ELSE):), treat that as an ELSE variant.
- * ch-tree.h (case_else_node): Declare case_else_node.
- * parse.c (parse_case_label): Use case_else_node.
-
-Mon May 22 10:18:11 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * grant.c (print_proc_tail): Also call print_proc_exceptions.
- (decode_decl): Don't explicitly call print_proc_exceptions for
- FUNCTION_DECL.
- (Net effect is that now exceptions are printed for FUNCTION_TYPE too.)
-
- * actions.c (chill_convert_for_assignment): Use save_if_needed,
- instead of save_expr, in case value is a reference.
-
- * typeck.c (build_chill_slice): Fix old thinko (missing call to
- build_pointer_type).
-
- * actions.c (size_int): Remove unused and conflicting prototype.
-
-Wed May 17 16:23:20 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * actions.c (chill_convert_for_assignment): Call save_expr if
- range_checking (twice).
-
-Tue May 16 11:33:41 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * typeck.c (layout_chill_range_type): Re-organize error checking.
- Add extra parameter to indicate if non-constant bounds are allowed.
- If bounds are bad, set them to the min_value of the parent.
- * ch-tree.h (layout_chill_range_type): Update declaration.
- * satisfy.c (satisfy): Update call of layout_chill_range_type.
- * typeck.c (build_chill_range_type): Likewise.
- * tree.c (build_string_type): Likewise.
-
-Tue May 16 00:37:51 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * expr.c (build_chill_sizeof): Fix bug in case of SIGNAL.
-
-Mon May 15 12:54:32 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * satisfy.c (satisfy): Supress error message for REF <error_mark>.
- * decl.c (push_modedef): Check for TREE_CODE != ERROR_MARK, instead
- of against error_mark_node. (smash_dummy_type can copy error marks.)
- (finish_decl): Simplify C-derived check for incomplete type,
- and suppress if it is an ERROR_MARK.
- Don't call rest_of_decl_compilation if type is an ERROR_MARK.
-
-Sun May 14 22:52:40 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * convert.c (convert): Handle array types with different modes.
-
-Thu May 11 15:52:12 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * loop.c (build_loop_iterator): Handle the case of a non-local
- loop counter having reference type.
-
-Thu May 11 07:04:29 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * tasking.c (build_copy_number, build_gen_code, build_gen_inst,
- build_gen_ptype, build_proc_type): Set CH_DERIVED_FLAG on result
- to avoid erros when assigning to (comparing with) NEWMODEd INT's.
-
-Mon May 8 15:27:16 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * expr.c (build_chill_card): Do constant folding, if possible.
- (build_max_min): Do constant folding for MIN/MAX of powersets.
-
-Mon May 8 06:57:21 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * expr.c (build_chill_sizeof): Add corect processing of a
- SIGNAL definition without data.
-
-Sat May 6 16:27:10 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * Make-lang.in (maintainer-clean): Renamed from realclean.
-
-Tue May 2 06:16:23 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * parse.c (parse_asm_action): Do PUSH_ACTION unconditionally,
- otherwise "handler stack" will get out of sync.
-
-Mon Apr 24 09:51:07 1995 Per Bothner <bothner@rtl.cygnus.com>
-
- Fixes to support module-level non-static temporary variables.
- * parse.c (parse_loc_declaration): If all_static_flag and not
- resursive, tell do_decls to make new decl static.
- * decl.c (do_decl): Don't use maybe_static function to force static.
- (do_decl): Don't let initialization count as "using" the variable.
- (maybe_static): Removed.
- (finish_decl): Call expand_decl and expand_decl_init if needed
- (as it will be for non-static temporaries).
-
-Fri Apr 21 21:02:30 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * convert.c, expr,c typeck.c (expand_decl): Remove usused declaration.
-
-Fri Apr 21 02:27:12 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * expr.c (build_set_expr): Fix thinko: GE(x,y) is not eqivalent to
- LT(y,x) its rather equivalent to NOT (LT(x,y)). Same is true for
- GT(x,y), its not equiv. to LE(y,x), its equiv. to NOT (LE(x,y)).
-
-Thu Apr 20 15:29:05 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * parse.c (yytext, finput): Remove unused declarations.
-
- * parse.c (proc_action_level): New variable.
- (parse_proc_body): New function. Common code from
- parse_procedure_definition and parse_process_definition moved here.
- Save, set, and restore proc_action_level from action_nesting_level.
- (parse_action case RETURN): Pass proc_action_level to
- expand_goto_except_cleanup.
-
-Thu Apr 20 06:02:20 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * grant.c (really_grant_this): Add processing of LABEL_DECL's
- (don't grant them).
-
-Tue Apr 18 18:16:28 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * lex.c ( convert_bitstring): Use BYTES_BIG_ENDIAN rather
- than BITS_BIG_ENDIAN to layout bits within bitstring.
- * typeck.c (expand_constant_to_buffer, extract_constant_from_buffer):
- Likewise.
-
-Sun Apr 16 19:55:51 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * decl.c (finish_chill_function): If currently global_function_decl,
- don't set outer_function to global_function_decl.
-
-Wed Apr 12 22:45:06 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * decl.c (start_chill_function): Normal functions are nested.
- (finish_chill_function): No longer takes a 'nested' parameter.
- Normal functions are nested.
- Never call permanent_allocation, since it does little good (all normal
- functions are nested), and trashes some things we need.
- (finish_outer_function): Update call to finish_chill_function.
- * grant.c (chill_finish_compile): Likewise.
- * tasking.c (build_process_wrapper): Likewise.
- * parse.c (end_function): Likewise.
- * ch-tree.h (finish_chill_function): Update declaration.
-
- * parse.c (parse_asm_clobbers): Re-enable.
- (expand_asm_operands): function.
- (parse_asm_action): Re-enable. Don't do anything in pass 1.
-
- * typeck.c (build_chill_slice): Do constant folding.
- Also, work around problem where expand_expr constant folds ARRAY_REF.
- (sort_constructor): Remove unused function.
-
- * expr.c (chill_expand_expr case CONCAT_EXPR): Make sure we
- emit_block_move if needed with correct size.
-
- * inout.c (build_chill_io_list_type): Simplify.
-
- * lex.c (check_newline): Uncomment some dwarf stuff,
- which needs get_directive_line, which we no longer have.
-
-Wed Apr 5 16:05:15 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * Makefile.in (C_OBJS, xcc1chill): Removed. We no longer
- link cc1chill with ../c-typeck.o ../c-aux-info.o ../c-common.o.
-
- * expr.c (build_chill_component_ref): Renamed to build_component_ref.
- (chill_truthvalue_conversion): Renamed to truthvalue_conversion.
- * decl.c, expr.c, inout.c, loop.c, parse.c, tasking.c, timing.c,
- typeck.c: Update accordingly.
- * typeck.c (valid_array_index_p): We only need to save_expr (index)
- if we're range-checking.
- * typeck.c (unsigned_type, signed_type, signed_or_unsigned_type,
- mark_addressable, initializer_constant_valid_p, check_case_value,
- type_for_size, type_for_mode): New functions, copied from
- ../c-common.c and ../c-typeck.c.
-
- * lang.c (incomplete_type_error): New. (Was in c-common.o.)
- * decl.c (constant_expression_warning): New. (Was in c-common.o.)
-
- * lang.c (string_index_type_dummy): Remove definition from here.
- * tree.c (string_index_type_dummy): Define here instead.
- * lang.c (lang_init): Move init of string_index_type_dummy
- (which is too late) from here ...
- * decl.c (init_decl_processing): ... to here.
-
- * decl.c (signed_boolean_type_node): New variable.
- (init_decl_processing): Initialize it.
-
- * parse.c: Comment out ASM action support, for now.
-
- * loop.c (maybe_skip_loop): Make return void, not int.
- Use build_compare_discrete_expr.
- (increment_temps): Use chill_expand_assignment.
-
-Thu Mar 30 23:28:28 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * decl.c (do_decl): If default-initializing variable-length
- string to "" (or []), make it lifetime_bound.
-
-Thu Mar 30 02:51:59 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * parse.h, hash.h, gperf: New compiler directives
- EMPTY_ON and EMPTY_OFF.
-
- * lex.c: New variables empty_checking and runtime_checking_flag.
- (ch_lex_init): Initialize empty_checking and range_checking
- when switching from pass 1 to 2.
- (read_directive): Add processing of EMPTY_OFF/ON.
-
- * expr.c (build_chill_indirect_ref): New argument do_empty_check
- to indicate if null pointer checking should be done or not.
- It's not always necessary to do a null pointer check.
-
- * decl.c (lookup_name): Add argument to call to
- build_chill_indirect_ref.
- (shadow_record_fields): ...
- * parse.c (parse_primval): ...
- * tasking.c (build_process_wrapper): ...
- (build_receive_buffer_case_label): ...
-
- * 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
- when enabled (empty_checking != 0).
-
-Wed Mar 29 15:18:23 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * actions.c (chill_expand_assignment): Add 'else' so we don't do
- regular assignment in addition to spacial assignment (e.g. for slices).
-
- * ch-tree.h (convert_to_discrete): Add declaration.
- * typeck.c (convert_to_discrete): New function.
- (valid_array_index_p): Use convert_to_discrete. Also simplify.
- (build_chill_slice): Say sorry if variable-length bitstring.
- (build_chill_slice_with_length): Re-do bounds check.
- * expr.c (check_case_selector): Re-write to use convert_to_discrete.
- (build_chill_num, build_chill_pred_or_succ): Use convert_to_discrete.
-
- * decl.c (do_decl): Don't do redundant chill_convert_for_assignment.
-
-Wed Mar 29 00:00:29 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * expr.c (build_chill_num): need_unsigned have to be set for
- characyer strings of length 1 too. Happens when compiling
- with -fold-strings and do NUM(a(i)).
-
- * parse.c (parse_loc_declaration): Print error message only
- in pass 1.
- (parse_mode): Likewise ...
-
- * tasking.c (build_tasking_message_type): Temporarily reset
- maximum_field_alignment to get proper aligned temp. variables
- gets passed to runtime system.
-
-Tue Mar 28 00:08:06 1995 Per Bothner <bothner@cygnus.com>
-
- * typeck.c (my_build_array-ref): Merged into build_chill_array_ref_1.
- But don't convert index to integer_type_node. And we don't need to
- check the we're given an array.
- * typeck.c (valid_array_index_p): If flag_old_strings, convert
- chars(1) to char and bools(1) to bool before index checking.
-
-Sun Mar 26 22:42:39 1995 Per Bothner <bothner@cygnus.com>
-
- * ch-tree.h (struct module): Added next module field.
- * decl.c (first_mdoule, next_module): New global variables.
- (switch_to_pass_2): Re-initialize next_module.
- (push_module): In pass 2, reuse the same module objects from pass 1.
-
- * decl.c (declare_predefined_file): Set DECL_IN_SYSTEM_HEADER.
-
- * typeck.c (valid_array_index_p): Do range check on original index,
- before we convert to domain type.
-
-Fri Mar 24 11:43:39 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * parse.c (parse_fixed_field): New function.
- (parse_variant_field_list): New function replaces parse_simple_fields.
- (parse_variant_alternative, parse_field): Update to use new functions.
- (parse_field): Error message if neither CASE nor NAME.
-
- * actions.c (check_non_null): New function - checks for NULL pointers.
- * ch-tree.h (check_non_null): New declaration.
- * tasking.c (expand_send_signal): Call check_non_null.
- * expr.c (build_chill_indirect_ref, build_chill_function_call): Same.
- * lex.h (enum rid): Add RID_EMPTY.
- * lex.c (init_lex): Initialize ridpointers[RID_EMPTY].
-
- * lex.c (read_directive): Remove 2 calls of to_global_binding_level
-
-Wed Mar 22 16:36:46 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * tasking.c (tasking_list): Change to chain of TREE_VEcs, rather than
- chain of (nested) TREE_LIST nodes.
- (TASK_INFO_PDECL, TASK_INFO_ENTRY, TASK_INFO_CODE_DECL,
- TASK_INFO_STUFF_NUM, TASK_INFO_STUFF_TYPE): New macros.
- (tasking_setup, tasking_registry, add_taskstuff_to_list): Use them.
-
- * ch-tree.h (C_TYPE_FIELDS_READONLY): Rename to TYPE_FIELDS_READONLY.
- (TYPE_READONLY_PROPERTY): New macro, to match Z.200 concept.
- * typeck.c (build_chill_modify_expr): Don't check for read-only-ness,
- since it is redundant for chill_expand_assignment and breaks
- reach-bound initialization in do_decl.
- (my_build_array_ref): Simplify by using TYPE_READONLY_PROPERTY.
- (layout_chill_array_type): Set TYPE_FIELDS_READONLY if appropriate.
- * actions.c (chill_expand_assignment): Check TYPE_READONLY_PROPERTY
- instead of TREE_READONLY of the target's type.
- * expr.c (build_chill_function_call): Likewise.
- * inout.c (build_chill_readtext): Likewise.
- * decl.c (do_decl): Likewise, to check if init is required.
-
- * typeck.c (build_chill_bitref): Removed unused RANGE_EXPR hack.
-
-Wed Mar 22 07:52:52 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * tasking.c (build_start_process): Get a unique identifier for
- the start arguments.
-
-Tue Mar 21 07:36:40 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * expr.c (fold_set_expr): At label build_result: Add setting unused
- bits to 0. This is the same as the runtime library does.
-
- * parse.c (expect): Function returns now int, 0, if the expected
- token was not got, 1 when it was found.
- (parse_synonym_definition): In case of syntax error (missing =),
- set expr to NULL_TREE and mode to error_mark to avoid subsequent
- segfaults.
-
- * chill.texi: Add chapter about differences to Z.200/1988.
-
-Mon Mar 20 18:01:11 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * lang.c (chill_print_error_function): New function, to report
- module name if not inside a function.
- (lang_init): Set print_error_function to chill_print_error_function.
-
- * tasking.c (max_queue_size, buffer_element_mode): Cleanup
- to remove unreachable code.
-
- * grant.c (chill_finish_compile): Avoid doing a lookup_name
- to find init function (which got broken by recent nesting re-org).
-
- * decl.c (poplevel): Push and pop function context around
- call to output_inline_function (as done for C and C++).
-
-Thu Mar 16 17:56:07 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * parse.c (parse_pass_1_2): If unknown top-level token, skip pass 2.
-
-Wed Mar 8 13:54:33 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * Make-lang.in (chill-runtime): Temporarily disable building of
- runtime libraries for cross compilers.
-
-Mon Mar 6 23:36:19 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * parse.c, decl.c: Remove use of FUNCTION_NEEDS_STATIC_CHAIN.
-
- * configure: Merge in tolerance for new flags (e.g. --x-libraries).
-
-Sat Mar 4 15:47:35 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * expr.c (build_chill_arrow_expr): Error if pass == 1.
-
-Thu Mar 2 19:28:07 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * decl.c (do_decl): Setting seen_action must be done in pass 1.
- (save_decl): Don't set DECL_CONTEXT to global_function_decl.
- (start_chill_function): Simplify due to above change.
-
- * parse.c (parse_case_label): Hack to distinguish (ELSE) from (*).
- * grant.c (decode_constant): Emit ELSE in case label.
-
- * parse.c (serious_errors): New global variable.
- * parse.c (to_global_binding_level): Set serious_errors.
- (parse_pass_1_2): Exit after pass 1 if serious_errors > 0.
- * lex.c (readstring): Recover from unterminstaed control sequence.
-
-Tue Feb 28 17:08:08 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- Re-write of module-level actions. No longer generate a module
- function for module-level actions. Instead, put them inside
- a new global dummy function. Nest everything logically inside it.
-
- * lex.h, grant.c (chill_module_name): Removed declaration.
- * grant.c (write_spec_module): Instead use current_module->name.
- * grant.c (chill_start_module_code, chill_finish_module_code):
- Removed.
- * grant.c (chill_finish_compile): Make rtl for global function.
-
- * actions,c (push_action): Don't call chill_start_module_code.
- * expr.c (build_chill_function_call, build_generalized_call):
- Likewise.
- * parse.c (INIT_ACTION): Likewise.
-
- * parse.c (seen_action): New variable.
- * parse.c (end_function): Always call pop_chill_function_context.
- (parse_procedure_definition): Always call push_chill_function_context.
- (parse_modulion): Parse optional handler.
- (parse_modulion, parse_spec_module): Do find_granted_decls.
- (parse_action): Set seen_action if global and a real action.
- ([arse_program): Call start_outer_function and finish_outer_function.
-
- * ch-tree.h: Appropriate updates.
-
- * tasking.c (generate_tasking_code_variable): Make it lifetime-bound.
- (build_process_header): Always push_chill_function_context;
- we are now always nested.
- (build_process_wrapper): Always pop_chill_function_context.
-
- * tasking.c (build_start_process): Only expand_start_bindings and
- expand_end_bindings if pass 2.
-
- * decl.c (global_function_decl): New variable.
- (do_decl): Implement reach-bound initialization of static variables.
- (start_chill_function): Set DECL_CONTEXT to NULL if
- it would be global_function_decl (so as to not confuse gcc backend).
- (start_chill_function, finish_chill_function): If compiling
- global_function_decl in pass 2 and !seen_action, suppress it.
- (set_module_name): New function.
- (global_bindings_p): Re-defined to check against global_function_decl.
- (start_outer_function, finish_outer_function): New functions.
-
-Tue Feb 28 16:00:03 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * typeck.c (build_chill_modify_expr): Inline logic from
- chill_expand_array_assignment,
- * actions.c (chill_expand_array_assignment): Removed.
- (chill_expand_assignment): Remove call to removed function.
-
- * lex.c (reinit_parse_for_function): Removed empty unused function.
- * decl.c (start_chill_function): Don't call removed function.
-
-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.
- Fix calculation of mainsrcdir. Host canon_* variables
- to merge in build-make (as in ../configure).
-
-Sun Feb 26 18:59:02 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * typeck.c (expand_constant_to_buffer): Use new function
- get_set_constructor_bytes.
-
-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
- in pass 1.
-
- * chill.texi: Add chapter about compiler directives.
-
-Tue Feb 14 16:45:19 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * decl.c (start_chill_function): Set FUNCTION_NEEDS_STATIC_CHAIN
- unless nested.
-
- * decl.c (decl_temp1): Make lifetime_bound iff static.
-
-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
- grant file.
- (write_spec_module): Add call to really_grant_this.
-
-Fri Jan 27 00:06:12 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * actions.c (check_expression): Apply Per's patch.
- (chill_expand_result): New argument to indicate if we come
- from a RETURN or RESULT action. Change various error messages.
-
- * ch-tree.h: New macro CH_USE_SEIZEFILE_RESTRICTED.
- New argument for chill_expand_result.
-
- * chill.in: In case of -fgrant-only, clear library, libpath and
- startfile to avoid warnings from gcc.
-
- * gperf, hash.h: New compiler directive USE_SEIZE_FILE_RESTRICTED.
-
- * parse.h (enum terminal): Add USE_SEIZE_FILE_RESTRICTED.
-
- * grant.c (decode_decl): Don't write USE_SEIZE_FILE directive
- and subsequent SEIZEs to grant file, if the seize file is
- used restricted.
-
- * lex.c (read_directive): Process new compiler directive
- USE_SEIZE_FILE_RESTRICTED.
- (handle_use_seizefile_directive): Same as above.
- (yywrap): Don't write USE_SEIZE_FILE directive to grant file
- if this seize file is used restricted.
-
- * parse.c (parse_action, case RETURN): Change RETURN expr action
- to RESULT expr; RETURN. This enables range checking and
- exception delivery in case of rangefail.
-
-Tue Jan 17 07:38:27 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * decl.c (init_decl_processing): Add definition of
- library function __inbitstring (see expr.c).
-
- * expr.c (chill_expand_expr case SET_IN_EXPR): Call function
- __inpowerset fir POWERSET's and function __inbitstring for
- BITSTRING's. In case of POWERSET's we must not do a rangecheck,
- in case of BITSTRING's we have to do one.
- (build_compare_expr): Fix typo CH_DERIVED_FLAG (tmp); (warning
- statement with no effect).
-
-Fri Jan 13 13:35:30 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * actions.c (check_expression): Simplify result.
-
- * ch-tree.h (SET_CH_NOVELTY_NONNIL): New macro.
- * expr.c, timing.c, typeck.c: Use SET_CH_NOVELTY_NONNIL.
-
- * typeck.c (valid_array_index_p), ch-tree.h: Change interface
- to return modified index expression. Call error if out-of-range.
- * actions.c, typeck.c: Modify
- for new valid_array_index_p interface.
-
- * actions.c (build_chill_slice): Copy novelty of index type.
-
-Fri Jan 13 13:04:41 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * convert.c (digest_array_tuple): Allow mode name in array
- tuple label. Print error message instead of aborting.
-
- * parse.c (parse_body): Error message only if pass 1.
-
- * decl.c (check_identifier), ch-tree.h: Remove. Unused.
-
-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.
-
-Tue Jan 10 17:23:55 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * loop.c (declare_temps): Remove bogus prohibition against
- iterating over BOOL arrays.
-
- * parse.c (parse_semi_colon): Make it a pedwarn (instead of an
- error) if a semi-colon is missing before an END.
- (parse_action): Likewise.
- * parse.c (parse_modulion): Allow an ON-handler to follow.
-
- * parse.c (parse_set_mode): Use parse_expression to get
- values for number set elements.
-
- * expr.c (build_compare_expr): Make sure result has
- CH_DERIVED_FLAG set, since it is supposed to be BOOL-derived.
- (finish_chill_binary_op): Likewise for IN_EXPR.
-
-Tue Jan 10 04:46:42 1995 Wilfried Moser <moser@rtl.cygnus.com>
-
- * actions.c (lookup_and_expand_goto, lookup_and_handle_exit): Add
- checking the argument.
- (chill_expand_assignment): Take care of a newmoded dst_offset
- when calling __pscpy and a newmoded from_pos when calling
- __setpowersetbits.
-
- * 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
- pass 1.
-
-Tue Jan 3 19:56:36 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * typeck.c (build_chill_array_ref_1): Use varying_to_slice
- instead of building a VRAY_ARRAY_REF node.
- * ch-tree.def (VARY_ARRAY_REF): Removed.
- * actions.c (chill_expand_assignment): Will never call
- expand_assignment_to_varying_array for a VARY_ARRAY_REF, so don't.
- (expand_assignment_to_varying_array): Removed.
- * convert.c (convert): Remove unneeded VARY_ARRAY_REF support.
- * expr.c (chill_expand_expr): Likewise.
-
-Tue Jan 3 19:50:18 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * parse.c (parse_iteration): Set step_value to NULL if missing.
- * loop.c (ITER_TYPE): Remove DO_RANGE.
- (build_loop_iterator): Implement old DO_RANGE in terms of DO_STEP.
- (begin_loop_scope): Don't return on error.
- (build_loop_iterator): Calculate loop variable type using
- resulting classes (as in Z200), rather than precision.
-
- * loop.c (initialzie_iter_var, bottom_loop_end_check): For DO_STEP,
- make iter_var one less to avoid overflow.
- * loop.c (build_loop_iterator): If !flag_local_loop_counter,
- declare a new variable if needed, as allowed by Z200 (1984).
-
- * ch-tree.h (ch_class): Add typedef.
-
- * typeck.c (chill_resulting_class): New function.
- (chill_root_resulting_class): Remove.
- * ch-tree.h (CH_RESULTING_CLASS): New macro.
- (CH_ROOT_RESULTING_CLASS): Re-implement using CH_RESULTING_CLASS.
-
-Tue Jan 3 19:36:27 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * actions.c (build_cause_exception, expand_cause_exception), ch-tree.h:
- Change interface to take IDENTIFIER tree node, rather char char*.
- (check_expression): Change (simplify) callers appropriately.
- * parse.c (parse_action), typeck.c (valid_array_index_p): Likewise.
- * lex.h (enum rid): Add RID_ASSERTFAIL.
- * lex.c (init_lex): Enter RID_ASSERTFAIL.
- * parse.c (parse_action case ASSERT): Fix thinko TRUTH_ANDIF_EXPR
- to TRUTH_ORIF_EXPR. Use RID_ASSERTFAIL.
-
- * typeck.c (discrete_type_p): Re-implement using INTEGRAL_TYPE_P.
-
-Tue Jan 3 19:20:35 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- Move checking for modeless tuples in invalid contexts from parser
- to semantic function check_have_mode (for better error recovery):
- * expr.c (check_have_mode), ch-tree.h: New function.
- * satisfy.c (safe_satisfy_decl): Use check_have_mode.
- * expr.c (build_compare_expr, finish_chill_binary_op,
- finish_chill_unary_op): Likewise.
- * parse.c (parse_primval): Don't complain about mode-less tuple here.
-
-Tue Jan 3 17:36:48 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * expr.c (varying_to_slice): Support varying arrays whose
- lower bound is non-zero.
-
- * parse.c (parse_body): Allow (with warning) definition to
- follow action.
-
- * expr.c (check_case_selector), ch-tree.h: New function.
- (chill_expand_case_expr): Use it.
- * parse.c (parse_case_action): Likewise.
-
-Fri Dec 23 00:47:54 1994 Wilfried Moser <moser@rtl.cygnus.com>
-
- * actions.c (chill_expand_return): Change error message.
-
- * ch-tree.h: Change prototypes of do_decl and do_decls.
-
- * convert.c (convert): Add missing initialisation of
- variable orig_e_constant.
-
- * decl.c: Change all calls to do_decl.
- (maybe_static): New function to process the ALL_STATIC_ON/OFF
- compiler directives.
- (do_decls): New argument.
- (do_decl): New argument and process reachbound and lifetime
- bound initialisation.
-
- * gperf, hash.h: Add compiler directives ALL_STATIC_ON and
- ALL_STATIC_OFF.
-
- * grant.c: Change all calls to do_decl.
-
- * lex.c (read_directive): Process ALL_STATIC_ON/OFF compiler
- directive.
-
- * parse.c (parse_loc_declaration): Pass lifetime_bound flag to
- do_decls.
-
- * parse.h (enum terminal): Add ALL_STATIC_ON and ALL_STATIC_OFF.
-
- * tasking.c: Change all calls to do_decl.
-
-Mon Dec 19 23:13:58 1994 Wilfried Moser <moser@rtl.cygnus.com>
-
- * parse.c (parse_procedure_definition): Save chill_at_module_level
- flag, set ot to 0 and restore it at the end of function.
- A sequence BEGIN x: PROC () RETURN; END x; END; at module level
- have produced an error.
-
- * expr.c (build_chill_repetition_op): Fix typo in error message.
-
-Tue Dec 13 12:26:38 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * actions.c (expand_assignment_to_varying_array): Fix thinko:
- build_chill_array_ref -> build_chill_array_ref_1.
-
-Sun Dec 11 23:04:27 1994 Per Bothner <bothner@rtl.cygnus.com>
-
- * actions.c (chill_expand_assignment): Simplify the lhs if it is
- a COMPOUND_EXPR, so we can better handle SLICE_EXPR in lhs.
-
-Thu Dec 8 13:45:38 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * loop.c, ch-tree.h (build_loop_iterator): Fix to return void.
- If start_exp is ERROR_MARK, return.
- * expr.c (build_generalized_call): More robust on syntax errors.
-
-Tue Dec 6 02:33:23 1994 Wilfried Moser <moser@rtl.cygnus.com>
-
- * inout.c (build_chill_readtext): In case of reading a SET mode
- pass ignore_case flag to runtime library.
-
-Tue Nov 29 14:41:38 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * parse.c (parse_receive_case_action): Print error only if pass==1.
- * decl.c (push_scope_decls): Use error_with_file_and_line
- to get correct line number of SEIZE.
-
-Mon Nov 28 16:59:18 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * expr.c (resolve_component_ref): Call fold on result.
-
- * expr.c (resolve_component_ref): Use check_expression.
- * actions.c (chill_convert_for_assignment): Likewise.
- * actions.c (cond_exception), ch-tree.h: Removed.
- * actions.c (check_expression): First part of COMPOUND_EXPR
- should be boolean_type_node; void_type_node loses in SAVE_EXPRs.
-
- * actions.c (chill_convert_for_assignment):
- Check string_assignment_condition for varying strings too.
-
- * typeck.c (build_chill_cast): If the types have different sizes,
- don't allow nondiscrete->discrete conversion, and only allow
- discrete->nondiscrete if input expression is constant.
-
- * typeck.c (chill_similar): Don't use losing array_type_nelts.
-
- * ch-tree.h (ELSE_VARIANT_NAME): New.
- * convert.c, decl.c, grant.c: Use ELSE_VARIANT_NAME.
- * decl.c (handle_one_level): Recurse on ELSE_VARIANT_NAME too.
-
- Reduce dependencies on ../c-typeck.c:
- * expr.c: Fix c_expand_start_case -> expand_start_case.
- Fix c_expand_expr_stmt -> expand_expr_stmt.
- (build_chill_indirect_ref): Call convert instead of build_c_cast.
- * loop.c (bottom_loop_end_check): Don't use build_modify_statement.
- * expr.c, except.c, typeck.c: Don't call default_conversion.
- * typeck.c (string_assignment_condition): Fix build_component_ref ->
- build_chill_component_ref.
- * decl.c: Fix build_indirect_ref -> build_chill_indirect_ref (twice).
- * decl.c: Don't set unused constructor_no_implicit (from c-typeck.c).
- * decl.c: Don't call declare_function_name.
-
- * parse.c: Don't always keep a valid token in terminal_buffer[0].
- The extra look-ahead may have made the parser faster, but caused
- some problems synchronizing with the lexer. Specifically:
- (PEEK_TOKEN): Now calls an optimized variant of peek_token_(0).
- (next_token_): Don't call peek_token_. Renamed to forward_token_.
- (NEXT_TOKEN): Renamed to FORWARD_TOKEN.
- (parse_program): Don't call yylex yet.
-
- * parse.c (parse_action): Re-do case ASSERT.
- Fix c_expand_expr_stmt -> expand_expr_stmt.
-
- * lex.l: Re-written to not use [f]lex, and renamed to ...
- * lex.c: ... new lexer.
- * Makefile.in, Make-lang.in: Remove [f]lex crud.
-
- * lex.h (enum rid), lex.c (init_lex): Added RID_ELSE.
-
-Tue Nov 22 15:19:03 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * Make-lang.in: Let chill-runtime depend on $(GCC_PASSES).
-
-Fri Nov 18 14:27:32 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * parse.c (parse_structure_node): Simpler, and more robust.
-
-Wed Nov 16 14:40:52 1994 Ian Lance Taylor (ian@cygnus.com)
-
- * lex.l (convert_bitstring): Check BITS_BIG_ENDIAN at run time,
- not at compile time.
- * typeck.c (expand_constant_to_buffer): Likewise.
- extract_constant_from_buffer): Likewise.
-
-Tue Nov 15 14:41:53 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * convert.c (convert): Call build_chill_range_type rather than
- build_index_2_type (which has obstack and canonicalization problems).
- * expr.c (build_chill_pred_or_succ): Convert expr to root class
- before arithmetic.
- * loop.c (declare_temps): If location iterated over is not
- a location, make a temporary variable for it.
-
-Mon Nov 14 16:33:47 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * typeck.c, ch-tree.h (chill_equivalent): Change to return
- a tree (a Boolean expression). Also, add some missing tests.
- * ch-tree.h (CH_EQUIVALENT): Modify accordingly.
-
- * expr.c (chill_expand_expr case CONCAT_EXPR): When the 2nd operand
- is an UNDEFINED_EXPR, handle mode-mismatch with whole expr.
- Also, replace MEM (which is not a mode) by Pmode.
-
- * ch-tree.h, typeck.c (chill_comptypes): Removed.
- * convert.c (convert): Remove calls to chill_comptypes.
-
-Fri Nov 11 13:06:29 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * grant.c (write_grant_file): Call pfatal_with_name instead
- of abort when something goes wrong when opening or writing
- the grant file.
- unlink grant file if something goes wrong during writing
- (i.e. device full).
-
- * Make-lang.in (CHILL_SRCS): Add timing.c
-
- * ch-tree.h: Add prototype for chill_tasking_type_node.
- * lex.l (equal_number): Use chill_tasking_type_node instead of
- integer_type_node for converting the result.
- Print error messages in pass 2, in pass 1 no error will be
- detected.
- * tasking.c: New variable chill_tasking_type_node for all
- generated tasking related variables.
- Use chill_tasking_type_node instead of chill_unsigned_type_node.
-
- * expr.c (chill_expand_expr): Apply Per's change.
-
- * expr.c (build_chill_sizeof): In case of error just
- return error_makr_node.
- Set CH_DERIVED_FLAG at the result.
-
- * timing.c (build_after_timeout_start): Clear the the timeout
- level to know if we are in the action part of AFTER statement
- or in the TIMEOUT part.
-
- * typeck.c (build_chill_slice_with_length): Convert the class
- of the result to class of first value in expression.
-
- * 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
- compound expr.
-
-Fri Nov 4 12:00:54 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * expr.c (build_chill_function_call): Don't set TREE_TYPE
- of assignment to void_type_node - it confuses save_expr.
- * decl.c (init_decl_processing): Removed unused code.
- * parse.c: Changes to avoid warnings.
-
- * grant.c (chill_finish_module_code): Minor simplification.
- * lex.l (readstring): Set *len to 1 on error.
-
-Thu Nov 3 01:05:17 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * grant.c (decode_decl): Add granting of BASED declarations.
-
-Wed Nov 2 12:14:31 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * expr.c (build_chill_lower_or_upper): Take more care to
- ensure result has the right class.
- (build_chill_pred_or_succ): Be more careful to get the right
- resulting class, and check bounds using *root* mode.
-
- * typeck.c (build_chill_slice_with_range): Check that array
- really is an array or string.
- (build_chill_slice_with_length): Likewise.
-
- * typeck.c (extract_constant_from_buffer): Fix calculation of
- SET_TYPE size. (Cannot depend on 1-byte TYPE_PRECISION field.)
-
-Wed Nov 2 05:33:03 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * Make-lang.in: Change version of compiler.
-
- * ch-tree.h: Add new prototypes.
-
- * decl.c (init_decl_processing): Remove timing related
- initialisations. Add call to timing_init.
-
- * parse.c (parse_action): Process AFTER action.
-
- * tasking.c (build_receive_case_start,
- build_receive_signal_case_label, build_receive_buffer_case_label,
- build_delay_case_start, build_delay_action, expand_send_buffer):
- Add processing of timesupervision.
- (tasking_init): Change definitions of runtime functions.
-
- * timing.c (timing_init): New function for initialisation of
- timing related stuff.
- (build_cycle_start, build_cycle_end): Changed due to
- implementation of timesupervision.
- (build_after_start, build_after_timeout_start, build_after_end):
- Implement the AFTER action.
- (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
- bitstring with orig_len!=1. Also, call build_boring_bitstring
- if original string was all ones, using one range. Also:
- Cannot use one-bit TYPE_PRECISION to get bitstring length.
-
-Tue Oct 25 14:11:07 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * convert.c (convert): When converting BOOL constant to
- bit-string, bit_one_node and bit_zero_node were switched.
- * actions.c (chill_expand_assignment): Use force_addr_of,
- not build_chill_addr_expr - latter yields bogus error.
-
-Fri Oct 21 14:26:52 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * expr.c (build_chill_indirect_ref): Check for POINTER_TYPE (only)
- after converting from REFERENCE_TYPE.
- * expr.c (build_compare_expr): Convert to common mode *after*
- we've checked compatibility.
-
-Fri Oct 21 02:29:15 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * lex.l (check_newline): Use getc instead of getlc to read
- the filename in a # line name directive to avoid possibly
- downcaseing of a filename.
-
-Thu Oct 20 05:37:17 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * expr.c (build_chill_indirect_ref): Add check for really
- dereferencing a pointer.
-
- * convert.c (convert): Take care of TREE_CONSTANT of a
- SYNONYM having mode ARRAY () VARYING something.
-
-Mon Oct 17 02:30:38 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * 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.
-
- * expr.c (build_chill_num): Set CH_DERIVED_FLAG at the result
- of NUM. NUM delivers the INT derived class.
-
- * grant.c (write_spec_module): Add writing of
- <> USE_SEIZE_FILE "x.grt" <>
- SEIZE ALL;
- to generated grant file.
-
-Thu Oct 13 14:45:12 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * convert.c (convert_from_reference): Make non-static.
- * ch-tree.h (convert_from_reference): Add prototype.
- * parse.c (parse_name): If the decl is a REFERENCE_TYPE, just
- call convert_from_reference - and not a full-scale convert.
-
- * convert.c (convert): Only call digest_array_tuple if ARRAY_TYPE.
- * typeck.c (chill_expand_tuple): Print error if type is
- neither array, struct, or powerset.
-
- * expr.c (chill_expand_expr cases CONCAT_EXPR, SET_*_EXPR,
- UNDEFINED_EXPR): Call preserve_temp_slots for temp targets.
- If target is not MEM, make temp (even if not REG) to simplify
- - and don't copy original target to temp target first. (Not needed.)
-
- * lang.c (maybe_objc_comptypes): Just return -1.
-
-Wed Oct 12 12:24:20 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * tasking.c (tasking_setup): Fix breakage from previous check-in.
-
-Tue Oct 11 16:00:37 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * actions.c, convert.c, except.c, expr.c, inout.c, loop.c, tasking.c,
- timing.c, typeck.c: Change build1 (ADDR_EXPR, ptr_type_node, XX)
- to force_addr_of (XX). Add call to mark_addressable where needed
- for other calls to build 1 (ADDR_EXPR, TYPE, XX).
-
-Thu Oct 6 06:36:28 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * inout.c (build_chill_writetext): Remove processing
- of POWERSET's.
-
-Tue Oct 4 14:08:26 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * convert.c (convert): If flag_old_strings, support converting
- CHARS(1) and BOOLS(1) to INT.
-
-Fri Sep 30 01:44:51 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * inout.c (build_chill_readtext): Add check for item is
- referable and not READonly. Add processing of BITSTRINGs.
-
-Mon Sep 26 16:19:36 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * expr.c (build_chill_descr): Add missing call to mark_addressable.
- * loop.c (toop_loop_end_check): Replace build1 (ADDR_EXPR ...)
- with call to force_addr_of (which calls mark_addressable).
- * expr.c (build_chill_descr, build_chill_inttime): Likewise.
- * inout.c (build_chill_writetext): Likewise.
-
-Mon Sep 26 05:19:21 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * grant.c (print_struct): Move printing of VARYING from
- here ...
- * grant.c (grant_array_type): ... to here.
-
-Mon Sep 26 00:09:08 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-tree.h (force_addr_of): New prototype.
- * expr.c (force_addr_of): Call mark_addressable. Make non-static.
- * inout.c (build_chill_writetext): Use force_addr_of.
-
-Sun Sep 25 23:41:59 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * except.c (push_handler), actions.h: Removed unused parameter.
- * actions.c (push_action): Remove unused paramater.
- * parse.c, actions.c: Remove no-longer-used parameter to
- calls to push_handler and push_action.
-
- * decl.c (push_extern_process): Only build types in pass 1.
- * tasking.c (build_process_header): Only build types in pass 1.
- * tasking.c (build_start_process): Do pushdecl/popdecl etc
- even after an error (to maintain consistency between passes).
-
- * convert.c (convert_to_boolean): Allow any integral input type.
-
-Sat Sep 24 22:47:54 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * typeck.c (extract_constant_from_buffer): Add (somewhat kludgey)
- support for UNION_TYPE. (Patch from Wilfried.)
- Also, reverse RECORD_TYPE constructor list.
-
-Fri Sep 23 19:06:39 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * expr.c (build_concat_expr): Fix calculation of result_size.
-
-Wed Sep 21 00:54:21 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- Give up on trying to use the cleanup mechanism in stmt.c to
- make sure the exception handler get unlinked on goto/exit/return.
- Instead, do it ourselves. (Much simpler.)
- * except.c, ch-tree.h (action_nesting_level): New global.
- * ch-tree.h (DECL_ACTION_NESTING_LEVEL): New macro.
- * decl.c (define_label): Set DECL_ACTION_NESTING_LEVEL.
- * except.c (expand_goto_except_cleanup): New function.
- (cleanup_chain): New variable.
- (push_handler, pop_handler): Adjust action_nesting_level.
- (emit_setup_handler): Push cleanup.
- (chill_finish_on): Pop cleanup.
- * actions.c (lookup_and_expand_goto, lookup_and_handle_exit):
- Call expand_goto_except_cleanup.
- * parse.c (parse_action): Before RETURN, call
- expand_goto_except_cleanup.
-
-Mon Sep 19 00:59:54 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * lex.l (equal_number): Make sure converted synonym
- is on permanent obstack.
- * typeck.c (extract_constant_from_buffer): Fix INTEGER_TYPE
- loop to traverse in big-endian order.
-
-Sat Sep 17 20:48:37 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * typeck.c (build_chill_cast): Call mark_addressable.
- * expr.c (build_chill_function_call): Call mark_addressable.
-
-Thu Sep 15 23:47:01 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * typeck.c (expand_constant_to_buffer): Fix an endian-ness
- problem for INTEGER_CST.
- (extract_constant_from_buffer): Likewise.
-
-Thu Sep 15 22:59:04 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * decl.c (pushlevel): Do different things depending on
- actual parameter.
- * decl.c, parse.c, tasking.c: Change argument to to pushlevel to 1.
- * actions.c (push_action): Take new parameter.
- * except.c (push_handler): Likewise.
- * parse.c: Change calls to push_action and push_handler.
- * loop.c (begin_loop_scope): Always call expand_start_bindings.
- * loop.c (end_loop_scope): Always call expand_end_bindings.
- * except.c (emit_setup_handler): Add a cleanup to
- unlink from exception stack if we return/exit/goto from here.
- * loop.c (begin_loop_scope): Move pushlevel from here ...
- * parse.c (parse_do_action): ... to here.
-
- Clean up do-decl interface (for decl_temp1).
- * parse.c (parse_loc_declaration): If global_bindings_p (),
- treat as static.
- * decl.c (do_decl): Don't test global_bindings_p ().
-
- * decl.c (keep_next_level_flag, keep_next_if_subblocks):
- Not used. Removed.
- (struct scope::keep, scope::keep_if_subblocks): Likewise.
- (keep_next_level): Likewise.
- (kept_level_p, pushlevel, poplevel): Simplify.
-
- * decl.c (init_decl_processing): Don't call init_iterators.
- * Makefile.in (C_OBJS): Don't get ../c-iterator.o - not needed.
-
-Thu Sep 15 05:54:11 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * lex.l (readstring): Add processing of control sequence
- in character string literals. The granting mechanism writes
- this to grant files.
-
-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,
- issue a warning.
-
-Mon Sep 12 13:15:09 1994 Per Bothner (bothner@cygnus.com)
-
- * grant.c (write_spec_module): Add cast, to avoid PCC warning.
- * grant.c (header_template): Don't use ANSI-specific string
- literal concatenation.
-
-Fri Sep 9 01:53:30 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * tasking.c (get_process_wrapper_name): New function.
- (add_taskstuff_to_list): Add a new argument, which is
- the entrypoint of a process.
- (build_process_header): Change PROCESS arguments to be
- 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
- arguments of the PROCESS. This wrapper will call the
- PROCESS (see build_process_wrapper).
- (build_process_wrapper): New function (see above).
- (build_start_process): Change processing of arguments.
- (tasking_setup): Add processing of a different entry point
- in case of PROCESSes.
-
- * parse.c (parse_process_definition): Add call to
- build_process_wrapper.
- * parse.c (end_function): Remove the poplevel() call.
- build_process_header no longer makes the corresponding
- pushlevel().
-
- * grant.c (print_proc_tail): Remove special processing
- of PROCESSes, they look now like normal functions.
-
- * decl.c (init_decl_processing): Add declaration of memcmp
- function.
-
- * ch-tree.h: Add new prototype for build_process_wrapper,
- change prototypes for add_taskstuff_to_list and
- build_process_header.
-
- * 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
- 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
- generated.
- * Makefile.in (GNUCHILL_VERSION): Remove it, its defined in
- Make-lang.in.
-
- * chill.in: In case of -fgrant-only pass "-S -o /dev/null"
- to the compiler to avoid generation of an object file.
-
-Thu Sep 8 12:07:28 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * convert.c (display_int_cst), ch-tree.h: New function.
- * convert.c (digest_array_tuple): Use digest_int_cst to
- provide better error messages. Return error_mark_node on error.
- * grant.c (decode_const): Simplify by using digest_int_cst.
- * grant.c (format_character, find_assoc): Removed.
-
- * decl.c (do_decl): Add missing TREE_CHAIN.
-
- * decl.c (finish_incomplete_decl): Removed.
- (init_decl_processing): Don't set incomplete_decl_finalize_hook.
- (finish_decl): Remove old C-specific code to deduce size of
- array from initialization.
- (complete_array_type): Just make it abort.
-
- * except.c (finish_handler_array): Avoid calling C-specific kludge
- complete_array_type.
-
- * convert.c (digest_constructor): Rename, and re-write to:
- (digest_array_tuple, convert): No longer use the code in
- ../c-typeck.c; use a Chill-only implementation (sigh).
-
- * typeck.c (chill_expand_tuple): Remove unneeded call to
- complete_array_type.
-
- * expr.c (fold_set_expr), grant.c (decode_constant),
- typeck.c (expand_constant_to_buffer): Update name of called
- function unpack_set_constructor to get_set_constructor_bits.
- * expr.c (powersetlen ): Remove redundant call to convert.
-
- * ch-tree.h (unpack_set_constructor): Removed obsolete declaration.
-
- * inout.c (build_chill_writetext): Handle 64-bit integer literals
- by trying to convert them to a smaller type.
-
- * lex.l (convert_number): Always use long long type (possibly
- unsigned) to avoid problems with constant folding truncation.
-
-Mon Sep 5 08:08:22 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * ch-tree.h (enum chill_built_in_function): Add BUILT_IN_QUEUE_LENGTH.
- Add new prototype (see tasking.c).
-
- * expr.c (build_generalized_call): Add processing of
- BUILT_IN_QUEUE_LENGTH.
-
- * tasking.c (build_queue_length): New function.
-
- * tasking.c (tasking_init): Add new external function definition.
-
-Thu Sep 1 15:38:00 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * lex.l (default_lex): New function. Progress towards
- getting rid of [f]lex.
-
- * lex.l (convert_number): Use mul_double and add_double.
- Set result type to a reasonable type in which the literal
- will fit. Give error message if literal is too big.
-
- * lex.l (equal_number): Switch (temporarily) to permanent obstack.
-
- * typeck.c (build_chill_slice_with_range): Check for empty
- slice *after* we have checked for upper/lower limit in range.
-
- * grant.c (decode_mode): Remove unused code. (BOOL and
- CHAR ranges are represented as INTEGER_TYPEs.)
-
- * tasking.c (build_process_header): Add missing call to
- expand_start_bindings.
- * parse.c (end_function): Add missing expand_end_bindings.
-
-Wed Aug 31 17:25:14 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * decl.c (init_decl_processing): Set set_alignment.
-
-Tue Aug 30 16:40:46 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * actions.c (print_missing_cases, check_missing_cases,
- BITARRAY_TEST, BITARRAY_SET): New functions and macros,
- to check for completeness of case actions and expressions.
- * decl.c (c_decode_option, init_decl_processing):
- Don't set warn_switch.
- * expr.c (chill_expand_case_expr): Call check_missing_cases
- instead of check_for_full_enumeration_handling.
- * parse.c (parse_case_actions): Call check_missing_cases.
-
- * expr.c (build_chill_binary_op): Remove some dead code.
- * expr.c (chill_truthvalue_conversion): Call build_chill_binary_op
- instead of build_binary_op.
- * ch-tree.h (binary_op_error, build_binary_op): Unused. Removed.
-
- * parse.c (end_function): Use kept_level_p in parameter to
- poplevel. This reverts a June 13 change.
-
-Fri Aug 26 11:50:19 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
-
- * configure: Ignore --without, as ../configure does.
-
-Wed Aug 24 01:17:28 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * lex.l: Change rule for decimal numbers to allow identifiers
- to start with an underscore (_).
-
-Fri Aug 19 16:38:12 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * tasking.c (build_receive_signal_case_label): Remove backwards
- chill_convert_for_assignment (which converted whatever garbage
- was in the *target* to the type of the signal argument!).
-
-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.
-
-Thu Aug 18 13:39:51 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * typeck.c (build_init_struct): Temporarily reset
- maximum_field_alignment to 0, so that the compiler-built
- data structures needed by the RTS can be independent of -fpack.
-
-Wed Aug 17 23:48:33 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * parse.c (parse_primval, expect, parse_on_exception_list):
- Print error message only in pass 2.
-
-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.)
-
- * ch-tree.def (SLICE_EXPR): New tree-code.
- * typeck.c (build_chill_slice): For building a slice of a
- bit-string, just generate a SLICE_EXPR.
- * decl.c (init_decl_processing): Declare __pscpy.
- * actions.c (chill_expand_assignment): Handle a SLICE_EXPR
- on the LHS of assignment, by calling __pscpy.
- * expr.c (chill_expand_expr): Handle SLICE_EXPR (as a RHS
- value) by using __psslice to copy slice to a temp.
-
-Wed Aug 17 05:52:44 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * Make-lang.in: Change version of GNUCHILL compiler to 1.4.1.
- * expr.c (build_chill_length): Enable LENGTH built-in to process
- Buffers and Events too (Z.200/1992).
- * lex.l (yywrap): Always set yyin to finput and/or grt_in. On
- a linux system the previous version was not able to run.
- * tasking.c: Correct processing of infinite buffer- and event-length
- to avoid RANGEFAIL warning.
-
-Thu Aug 11 11:46:55 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * parse.c (parse_if_expression_body): Don't call the C-specific
- build_conditional_expr. Just do build_nt (COND_EXPR, ...).
- * convert.c (convert): Convert a COND_EXPR by converting
- each branch.
-
- * convert.c (convert): Don't call convert before
- convert_to_reference. It's apt to do weird and unneedful things.
- * convert.c (convert): If the expression is varying, just call
- varying_to_slice, which simplifies quite a bit.
-
- * ch-tree.h (varying_to_slice): Add prototype.
- * typeck.c (varying_to_slice): Remove prototype.
-
- * satisfy.c (satisfy): Move case PAREN_EXPR from type 'e'
- to type '1'.
-
- * except.c (emit_setup_handler): Temporarily reset the
- maximum_field_alignment to zero so the compiler's exception
- data structures can be compatible with the run-time system,
- even when we're compiling with -fpack.
-
- * expr.c (compare_records): Call saved_if_needed on operands.
-
- * expr.c (build_set_expr case NE_EXPR): Don't use __nepowerset
- which has been reimplemented to just call __eqpowerset and
- invert the result. Inline this new implementation by
- handling as EQ_EXPR, and inverting the result.
- * decl.c (init_decl_processing): Don't define unused __eqpowerset.
-
- * typeck.c (valid_array_index_p): The TRUTH_ANDIF_EXPR has
- type boolean_type_node, not void_type_node. (Fixing this
- avoids a crash in the back-end.)
-
- * grant.c (decode_constant): In a CALL_EXPR, if the argument
- list is not a TREE_LIST (as in string repetiation), don't
- emit parentheses.
-
-Wed Aug 10 13:13:55 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * decl.c (proclaim_decl): Use CH_DECL_ENUM to check that a
- CONST_DECL is from a SET definition. (This is safer than
- checking that the type is ENUMERAL_TYPE, because synonym
- definitions may have a NULL TREE_TYPE.)
- Also, if we have duplicate enums whose types are identical,
- this is an error.
- * decl.c (proclaim_decl, pushdecllist, push_scope_decls): Add
- an extra 'quiet' parameter, which is true if we're called from
- bind_sub_modules. (In that case an error message about duplicated
- decls would be repeated later, so suppress it.)
-
- * parse.c (stmt_count): Removed, not used.
- (INIT_ACTION): Call emit_line_note only if !ignoring.
- (parse_begin_end_block): Do INIT_ACTION even if ignoring.
-
-Fri Aug 5 12:39:11 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * parse.c (parse_untyped_expr): Add missing semi-colon.
-
-Thu Aug 4 17:40:38 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * parse.c (parse_untyped_expr): Fix various problem for the
- case that we see a '(': Add missing 'case' keyword.
- Only recurse if '(' is followed by 'if', 'case' or '[',
- and in that case emit a pedwarn (and do a missing NEXT_TOKEN).
-
- * parse.c (parse_send_action): Remove extra nreverse.
-
-Thu Jul 28 04:00:11 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * 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)
-
- * parse.c (parse_untyped_expr): Added missing "case" before LPRN.
- Added a missing call to `require' as well.
-
-Tue Jul 19 10:30:12 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
-
- * lex.l (yywrap): Define as yywrap_chill to avoid conflicts with
- the extern declaration in the flex skeleton.
-
-Mon Jul 18 23:06:04 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * tasking.c (build_copy_number, build_proc_type, expand_send_signal):
- Check the type of the instance expr using CH_COMPATIBLE,
- and not just == instance_type_node. (This allows
- the expression to have mode READ INSTANCE).
- * tasking.c (build_instance_type): Give instance_type_node
- a non-null novelty (i.e. different from a struct).
- * tasking.c (build_receive_case_start, build_delay_case_start):
- Check that for a location using CH_LOCATION_P.
-
-Mon Jul 18 13:22:23 1994 Jim Wilson (wilson@sphagnum.cygnus.com)
-
- * expr.c (finish_chill_unary_op): Use TREE_SET_CODE not TREE_CODE
- to modify a tree code.
-
-Mon Jul 18 11:24:57 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * convert.c (digest_structure_tuple): Fix thinko in TREE_CODE
- comparison.
-
-Mon Jul 18 05:40:15 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * decl.c (warn_bad_function_cast): Define so cc1chill will link.
-
-Thu Jul 14 18:37:18 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * parse.c (parse_send_action): Do tree_cons *before* checking
- for end of loop.
-
-Mon Jul 11 15:33:52 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * convert.c (digest_structure_tuple): Don't use convert to
- coerce initial value, use chill_convert_for_assignment instead.
- (Thus we also get range_checking.)
-
- * expr.c (build_chill_card): Use force_addr_of instead of
- build_chill_addr_expr.
-
- * loop.c (build_temporary_variable): Stylistic tweak.
- * loop.c (maybe_make_for_temp): Initialize temp using
- explicitly, not using assignment. Avoids a problem if
- the expression is read-only.
- * typeck.c (smash_dummy_type): Always used the saved TYPE_NAME
- and CH_NOVELTY_FLAG.
-
-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.
-
-Mon Jun 27 11:29:18 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * tree.c (save_if_needed), ch-tree.h: New function.
- * typeck.c (build_chill_slice_with_range,
- build_chill_slice_with_length): Call save_if_neeed on array arg.
- * expr.c (varying_to_slice): Re-write to use save_if_needed.
-
- * typeck.c (extract_constant_from_buffer): Handle BOOLEAN_TYPE.
-
-Mon Jun 27 01:11:10 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * inout.c (build_chill_io_list_type): Change layout of __tmp_WIO_list
- that it is always the same, regardless if compiled with -fpack
- or not.
-
-Tue Jun 14 16:44:14 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * lex.l (yywrap): Kludge to work around mis-synchronization
- between lexer (which read ahead) and parser: Don't emit
- (left-over) uze_seizefile directives at the end of file.
-
- * typeck.c (build_chill_array_ref): Allow the derived
- array indexing syntax for arrays of bit strings.
- Add a comment explaining why.
-
- * typeck.c, ch-tree.h (string_assignment_condition): Change
- the interface. Return a boolean expression (which can be
- used in a conditional at run-time); never expand anything.
-
- * actions.c (chill_convert_for_assignment): Check
- string_assignment_condition here, rather than in callers.
- * actions.c (chill_expand_assignment): Don't need to check
- string_assignment_condition here.
- * expr.c (build_chill_function_call): Likewise.
- * satisfy.c (safe_satisfy_decl): Update accordingly.
- * decl.c (do_decl): Simplify testing and conversion by
- deferring everything to chill_convert_for_assignment.
-
- * parse.c: Combine the two variables 'ignore_exprs' and
- 'ignore_actions' into one variable called 'ignoring'.
- * ch-tree.h: Add 'extern int ignoring'.
- * actions.c, except.c, parse.c, tasking.c, timing.c, typeck.c:
- Rename ignore_actions and ignore_exprs to ignoring.
- Remove unneeded extern declarations.
- * expr.c (build_chill_indirect_ref, build_chill_component_ref,
- build_chill_arrow_expr, build_generalized_call, build_delay_action,
- build_buffer_type, build_event_type): I changed my mind. It is
- cleaner to check for 'ignoring' in the parser, rather than here.
- * parse.c (parse_action, parse_primval, parse_opt_mode):
- 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.
-
- * grant.c (static char* current_grant_modename): Removed.
- * grant.c (decode_decl case CONST_DECL): Remove error message.
-
- * Make-lang.in (CHILL_SRCS): Add $(srcdir)/ch/parse.c.
- * Makefile.in: Fix dependencies for parse.o.
- Remove some duplicate dependencies for $(TREE_H).
-
-Mon Jun 13 14:25:50 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * typeck.c (build_chill_cast): Allow a value cast between
- non-discrete object of the same size, but with a pedwarn.
- * typeck.c (bit_string_assignment_condition,
- char_string_assignment_condition): Merge near-duplicate functions
- and place the code in string_assignment_condition.
-
- * decl.c (parm_flag, declare_parm_level, in_param_level_p):
- Removed. Not used.
- * decl.c (start_chill_function, finish_chill_function): Make
- parameter level have same nesting level as body, as required by Z200.
- * decl.c (switch_to_pass_2): Always exit if an error has been found.
- * decl.c (pop_module): Copy DECL_SEIZEFILE to a new ALIAS_DECL
- generated from GRANT ALL.
- * decl.c (lookup_name_for_seizing): Don't seize from
- the nesting level of builtins (predefined objects).
- * decl.c (lookup_name_for_seizing): Make more robust on error.
-
- * decl.c (start_chill_function): MAKE DECL_NAME (chill_result_decl)
- be 'RESULT' (or 'result'). This makes it more accessible from gdb.
- Also, use do_decl to declare it, so that debugging symbols are
- generated. And, re-arrange so that actions that need to
- be done both passes (such as push_levels) use the same code.
-
- * parse.c (get_type_of): If ignore_exprs, don't lookup name.
- * parse.c (end_function): Fix poplevel params.
- * parse.c (expect): Don't read forwards on an error.
- * parse.c (parse_field): Don't define two tag_list locals!
- * parse.c (parse_pass_1_2): Better error message.
-
- * parse.c (parse_mode, parse_opt_mode): Have parse_mode call
- parse_opt_mode, rather than vice versa. If parse_opt_mode
- returns NULL_EXPR, then parse_mode gives an error.
- Change parse_opt_mode (and any functions it calls) to only
- return NULL_TREE if there is no mode (even on ignore_exprs).
- (parse_set_mode, parse_structure_mode, parse_procedure_mode):
- Never return NULL_EXPR.
- * tasking.c (build_buffer_type, build_event_type): Return
- void_type_node instead of NULL_EXPR if ignore_exprs is true.
-
- * parse.c (parse_synonym_definition): Call parse_untyped_expr
- only if we have a mode.
- * parse.c (parse_send_action): Parse list of untyped_expr's,
- rather than a list of (typed) expressions.
- * parse.c (parse_primval): Emit error if '[' seen without
- preceding mode name. (If this is to be allowed, call
- parse_untyped_expr instead.)
-
- * parse.c (parse_array_index): Renamed to ...
- (parse_index_mode): ... to match Z200 terminology.
- Re-write to resolve some of the nastier ambiguities,
- and allow things like ' CHAR(10) : CHAR(20) '.
-
- * parse.c (parse_tuple_element): Change interface to return
- reversed list, so don't call nreverse.
- * parse.c (parse_tuple): No longer nreverse element list here.
- * parse.c (parse_opt_element_list): Do nreverse here instead.
- * parse.c (parse_case_label_list): Call nreverse at end.
-
-Fri Jun 10 15:36:22 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * typeck.c (chill_similar): Remove bogus "else".
-
-Wed Jun 8 00:01:40 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-tree.h (TYPE_ARRAY_MAX_SIZE): New macro (and comment)
- to make it clearer that we are using TYPE_MAX_VALUE in a special way.
- * typeck.c (build_chill_slice): Use TYPE_ARRAY_MAX_SIZE.
- * expr.c (chill_expand_expr case CONCAT_EXPR): Likewise.
- * convert.c (convert): When converting a fixed string/array
- to varying, and we need padding, set the TYPE_ARRAY_MAX_SIZE
- of (the type of) the padding.
- * convert.c (convert): If the concatenation is non-constant, use
- the low-level 'build' to set the type of the result (which is usually
- a fixed-size array) rather than depend on build_chill_binary_op
- to figure it out (it's unable to simplify the size to a constant).
-
-Mon Jun 6 18:16:57 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * lang.c (lang_decode_option): Let -fspecial_UC imply
- -fno-ignore-case without requiring it explicitly.
- * lang.c (lang_decode_option): Support (experimentally)
- the -fpack and -fno-pack flags.
-
-Thu Jun 2 20:49:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * configure: Add support for --program-prefix and --program-suffix.
-
-Tue May 31 18:12:00 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * convert.c (digest_constructor): Check that initial value
- is compatible with element mode before calling convert.
- * typeck.c (chill_compatible): A string mode is not compatible
- with an untyped constructor.
- * decl.c (do_decl): Clean up error messages. Use error_with_decl.
-
- * ch-tree.h: Fix inconsistencies: bool_true_node ->
- boolean_true_node, and bool_false_node -> boolean_false_node.
- * typeck.c (valid_array_index_): Minor simplification.
-
-Tue May 31 04:33:28 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * inout.c (build_chill_writetext): Add correct processing
- of POWERSET RANGE (setmode).
-
- * lex.l (same_file): Add searching for file(s) in
- seize_path_list.
-
-Fri May 27 14:22:42 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Make-lang.c (CHILL.mostlyclean, CHILL.distdir): Don't list
- yacc/bison output files, since the grammer is no longer in yacc.
- * config-lang.in (diff_excludes): Likewise.
-
-Thu May 26 16:38:13 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * gperf, hash.h, lex.l, parse.h: Rename PROCESS_TYPE token
- (in some files spelled PROCESS_TYPE_ to avoid clashes
- with the PROCESS_TYPE tree_code) to PROCESS_TYPE_TOKEN.
-
-Thu May 26 02:18:28 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * timing.c (build_cycle_start): Change call to __define_timeout.
- * decl.c (init_decl_processing): Change definitions of
- __define_timeout and __wait_timeout.
-
-Wed May 25 11:53:09 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- Replace yacc-based parser with a recursive-decent parser.
- (This may seem backwards, but Chill [like C++] is not a
- language that is remotely LALR(1). Using a R-D parser
- allows us to use look-ahead and to back-up to resolve the
- difficult ambiguities.)
- * parse.y: Removed.
- * parse.c, parse.h: New files, containing new r-d parser.
- * Makefile.in: Update accordingly.
- * actions.c (chill_convert_for_assignment): Don't return
- NULL_EXPR if ignore_exprs is true. It simplifies the parser
- if we consistently reserve NULL_EXPR for a missing expression.
- * expr.c (build_chill_function_call): Likewise.
-
- * lex.l: Tweaks for new parser.
- * lex.l (prepare_paren_colon, paren_paren_colon_level,
- paren_level): Ugly hack no longer needed.
-
- * expr.c (build_chill_function_call): Cleanup.
- Call chill_convert_for_assignment to convert IN/INOUT
- paramaters on both input and output. For LOC parameters,
- give error if actual is a non-referable location.
- * actions.c (convert_for_assignment): Add new parameter (a
- "place" string used in error messages).
- * actions.c (adjust_parm_or_field): Removed.
- * actions.c (chill_expand_assignment): Take just a single LHS,
- and move support for multiple assignments to ...
- (expand_assignment_action): ... here. Some cleaning up.
- * timing.c (build_cycle_start): Adjust accordingly.
- * actions.c (expand_assignment_to_varying_array): Likewise.
- * tasking.c (many places): Ditto.
- * ch-tree.h: Fix declarations appropriately.
-
- * parse.c (parse_defining_occurrence_list): Return a single
- IDENTIFIER_NODE (instead of a singleton list) in the common
- case. Minor complication to save a minor amount of space.
- * decl.c (do_based_decls): Move guts of code into ...
- (do_based_decl): ... this new function.
- * decl.c (do_decls): Handle either IDENTIFIER_NODE or a TREE_LIST.
- * decl.c (push_syndecl): Replace by ...
- (push_syndecl): ... (which only supports a single name).
- (push_modedef): Only handle a single name.
- * tasking.c (build_process_header, build_signal_struct_type):
- Adjust accordingly.
-
- * expr.c (build_generalized_call): Handle string repetition.
- * expr.c (build_chill_repetition_op): Change interface.
- * grant.c (decode_constant): Allow parameter list to be
- a non-TREE_LIST. (Used for string repetition.)
-
-Wed May 25 11:28:48 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * lex.l (make_identifier): Replaced by ...
- (read_identifier, handle_name): ... new functions.
- * lex.l: Parse an identifiers using read_identifier using
- read_identifier and handle_name, rather than having [f]lex
- do it. (One reason is that lex uses a fixed-size buffer.)
-
- * lex.l (read_directive, skip_directive): New functions.
- Use them to parse compiler-directives, instead of rather
- ugly and useless use of lexer start conditions.
-
-Tue May 24 22:36:51 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * decl.c (unnamed_module_number): Renamed to ...
- (module_number): .. and make non-static.
- (push_module): Always increment module_number.
- * lex.l (yywrap): Print warning if no modules seen.
-
- * decl.c (pop_module): Don't set DECL_SEIZEFILE of granted
- decl to current_seizefile_name (which is unreliable).
- * 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).
-
-Fri May 20 15:21:26 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- Cleanup to remove need for variables in common storage.
- * decl.c: Remove unused use of current_obstack.
- * actions.c (maybe_chill_check_decl): Remove unused function.
- * actions.h, lang.c: Remove uses of doing_chill_thang.
- * ch-tree.h (void_list_node): Make extern (rather than common).
- * decl.c (void_list_node): Add definition.
-
-Thu May 19 06:54:56 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * configure (build): Build canon_host and canon_target
- to pass it to all subsequently generated Makefiles (needed
- for testsuite/execute in case of cross build).
-
-Wed May 18 13:27:12 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * grant.c (decode_mode): Remove. It checks the TYPE_NAME of
- the input type, which loses with the no-longer-new 2-pass
- implementation, since the input "type" could be an IDENTIFIER_NODE.
- * grant.c (raw_decode_mode): Rename to decode_mode.
-
-Tue May 17 13:19:52 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * typeck.c (chill_location): Neither a STRING_CST nor a
- CONSTRUCTOR is a location.
- * typeck.c (chill_root_mode): Convert a function to a
- pointer-to-function.
- * expr.c (build_chill_indirect_ref, build_chill_component_ref,
- build_chill_arrow_expr): If ignore_exprs, return operand
- rather than NULL_EXPR. This makes it easier for the parser to
- distinguish missing expressions.
- * expr.c (build_max_min): Convert the lower bound of a
- set to a long before calling run-time routine.
- * expr.c (build_chill_pred_or_succ): Use discrete_type_p
- to check the argument type.
- * expr.c (build_chill_arrow_expr): If argument is not a location,
- do a predwarn if it is a STRING_CST or has function type.
-
-Tue May 17 06:05:13 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * configure (build): Remove building of canon_host and canon_target.
- It doesn't work in any case.
-
-Mon May 16 02:10:35 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * configure (build): Build canon_host and canon_target
- to pass it to all subsequently generated Makefiles (needed
- for testsuite/execute in case of cross build).
- * Make-lang.in (chill-runtime): Change chill to CHILL in the case
- statement to build chill-runtime automatically.
-
-Mon May 9 15:30:08 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * Makefile.in (FLAGS_TO_PASS): Define.
- (OBJDEPS): Define.
- (../cc1chill): Depend on $(OBJDEPS) $(C_OBJS).
- * Make-lang.in (cc1chill): Delete dependency on $(OBJS) $(BC_OBJS).
- (CHILL.mostlyclean): Use `mostlyclean' as recursive target.
-
-Sun May 8 13:05:00 1994 Per Bothner (bothner@cygnus.com)
-
- * Make-lang.in (cc1chill): Should not depend on libgcc.a.
-
-Thu May 5 18:58:22 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * decl.c (copy_lang_decl): New (dummy) function.
-
-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.
-
- * parse.y (optsigdest): Force ignore_exprs to 0 while parsing
- the (signal-)name.
-
- * decl.c (build_chill_function_type): Don't call layout_type
- (since that may prevent parameter or result types being
- 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).
-
- * parse.y (get_type_of): Handle TYPE_DECL (again).
- * parse.y (optresultspec): Call build_chill_reference_type, rather
- than build_reference_type (which incorrectly sets TYPE_SIZE).
- * parse.y (range_or_mode): Rename to plain range, since it
- no longer matches modename.
- * actions.c (chill_handle_case_label_range): New function, with
- functionality moved out of chill_handle_case_label.
- * actions.c (chill_handle_case_label): Handle here the case that
- the label_value is a TYPE_DECL (modename). Also clean up some.
- * typeck.c (build_chill_slice_with_length): Convert max_index
- to the type of min_value. (Old code broke on varying strings.)
-
-Sun May 1 13:53:36 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * Makefile.in (BC_OBJS): Delete all references
- (OBJS): Cat ../stamp-objlist to get language independent files.
- (../cc1chill): Delete dependency on $(OBJS).
- * Make-lang.in (cc1chill): Depend on stamp-objlist.
-
-Sat Apr 30 14:50:15 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * lex.h, lex.c: Remove lastiddecl.
- * lex.l (name_type_signal): Simplify. We no longer check for
- TYPENAME or SIGNALNAME (which was unreliable with two passes).
- Also rename to make_identifier.
- * parse.y: Cleaned up grammar to not need SIGNALNAME or TYPENAME.
- * Makefile.in (stamp-parse); One conflict fewer!
- * parse.y (rccase_label_flag): Moved to tasking.c.
- * parse.y (rccase_label): Move most of the logic to
- build_receive_case_label in tasking.c.
- * parse.y (sendaction): Re-write to not depend on SIGNALNAME.
-
- * parse.y (name): Do name lookup here (and not in location).
- * parse.y: Replace most uses of NAME by higher-level non-terminals:
- simple_name_string, name_string, defining_occurrence, or name.
-
- * tasking.c (build_receive_signal_case_label,
- build_receive_buffer_case_label): New functions, split out from
- build_receive_case_label.
- * tasking.c (build_receive_case_label): Change parameters
- and return type. Moved stuff here (from the parser).
- * tasking.c (struct rc_state_type): Removed had_errors.
- Return error_mark_node instead.
- * tasking.c (build_rccase_set_error), ch-tree.h: Removed.
-
- * expr.c (build_generalized_call): If func is a signal type,
- call build_signal_descriptor.
-
- * parse.y (arrayindex): Renamed to index_mode, to match Z.200.
- * parse.y (ioindexmode): Removed; use index_mode instead.
- * expr.c (build_generalized_call): If args is a RANGE_EXPR,
- we have either a slice or a range mode, depending on func.
- * parse.y (index_mode): If we got an 'expr', only allow a name,
- or a range mode.
- * parse.y (call): A slice with both end points can be a range
- mode, so defer handling to build_generalized_call (or index_mode).
-
- * typeck.c (build_chill_slice_with_length): Fix type-checking.
- * typeck.c (chill_novelty): Undo (part of) change of April 28:
- The novelty of a range mode is the novlety of the parent.
- * typeck.c (chill_root_mode): Don't return integer_type_node
- if argument has non-nil novelty.
-
- * decl.c (global_bindings_p): Return -1 as true, for the sake
- of variable_size (in ../stor-layout.c).
-
-Fri Apr 29 13:42:43 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * parse.y: Remove TYPENAME and modename. These are now plain
- NAMEs. Modify parsing actions appropriately.
- * expr.c (build_generalized_call): Handle the case that
- TREE_CODE (func) == TYPE_DECL (as in a cast).
- * lex.l (name_type_signal): Never return TYPENAME.
- * parse.y (get_type_of): If pass 1, just return the argument.
-
- * decl.c (do_decl): If an initializer has the wrong type,
- replace it by NULL_TREE, to avoid subsequent errors.
-
-Thu Apr 28 15:21:56 1994 Wilfried Moser (moser@rtl.cygnus.com)
-
- * Makefile.in: Add new file timing.c to rules.
- * timing.c: New file. Implements the timing actions AT,
- CYCLE and AFTER.
- * decl.c (init_decl_processing): Add new builtin function
- descriptions.
- * expr.c (build_chill_indirect_ref): Change error message and
- add check agains an IDENTIFIER_NODE.
- * gperf, hash.h: Change EVENT_CODE, BUFFER_CODE to IGNORED_DIRECTIVE.
- They are no longer needed.
- * grant.c (print_integer_type): Add processing of builtin types
- DURATION and TIME.
- * lex.l: Remove processing of directive EVENT_CODE & BUFFER_CODE.
- * parse.y (timingactions): split up to afteraction, ataction
- and cycleaction.
- * parse.y (afteraction): New rule.
- * parse.y (ataction): New rule and put actions in.
- * parse.y (cycleaction): New rule and put actions in.
- * 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
- PROCESS or a SIGNAL.
- * tasking.c (struct rc_state_type): Add new fields for easier
- error processing.
- * tasking.c (build_receive_case_if_generated), ch-tree.h: New function.
- * tasking.c (build_rccase_set_error), ch-tree.h: New function.
- * tasking.c (build_receive_case_label): Add processing of BUFFER's.
- * tasking.c (build_receive_buffer_case_end, build_receive_signal_case_end):
- New functions to process the end of a RECEIVE CASE action in case
- of BUFFER's and SIGNAL's.
- * tasking.c (build_receive_case_end): Do only general processing and
- call one of the above mentioned functions.
- * tasking.c (build_delay_case_start, build_delay_case_label,
- build_delay_case_end): Rewritten due to new implementation of events.
- * tasking.c (build_delay_action): Rewritten due to new implementation
- of EVENT's.
- * tasking.c (expand_send_buffer), ch-tree.h: New function.
- * timing.c (build_at_action, build_cycle_start, build_cycle_end),
- ch-tree: New functions.
-
-Thu Apr 28 14:11:29 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * typeck.c (smash_dummy_type): Handle the special case of a
- NEWMODE of a range mode, as required by Z200, by creating a
- new parent mode with the new novelty (and casting the min
- and max of the range to teh new parent mode).
- * typeck.c (chill_novelty, chill_root_mode): Remove special
- kludges for of NEWMODE ranges.
- * expr.c (build_chill_lower_or_upper): New function, combining
- the "guts" of build_chill_lower and build_chill_upper.
- * expr.c (build_chill_lower_or_upper): Simplify; no longer
- need to kludge the novelties.
-
- * typeck.c (valid_array_index_p): A string index expression
- need not be Compatible with the index type; only similar.
-
- * decl.c (layout_chill_variants): If error seen, skip stuff
- (rather than aborting or crashing).
- * decl (push_modedef): If newdecl's type is an error mark,
- continue rather than aborting.
-
-Thu Apr 28 02:07:42 1994 Doug Evans (dje@cygnus.com)
-
- * Make-lang.in: Update of directory reorg from fsf.
- * config-lang.in: Ditto.
-
-Mon Apr 25 13:09:46 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * typeck.c (chill_similar): Check RECORD_TYPEs properly,
- * convert.c (convert): If all else fails, just call convert1.
- Thus we can now convert RECORD_TYPEs (assuming they are similar).
-
- * parse.y, lex.l: Remove BUFFERNAME (use location/expr instead).
- * parse.y: Re-do BUFFER handling (similar to previous EVENT change).
- * grant.c (raw_decode_mode): Re-do BUFFER mode handling.
- * ch-tree (lang_type_record): Removed max_queue_size field.
- * tasking.c (build_buffer_type): Re-write.
- * tasking.c (max_queue_size): Fix to support buffer modes.
- * tasking.c (buffer_element_mode), ch-tree.h: New function.
- * tasking.c ch-tree.h (expand_send_buffer): Now has 3 parameters.
- * parse.y (modename): No longer match SIGNALNAME. Instead, add it
- to name and simple_name_string. This removes a reduce/reduce conflict.
- * Makefile.in (stamp-parse): Expect fewer conlicts.
-
- * lex.l (yywrap): Move check for circularly seizeing current
- grant-file from here ...
- * lex.l (handle_use_seizefile_directive): ... to here.
- This is to avoid calling stat on a not-yet written grantfile,
- now that we're using same_file (which calls stat).
- * grant.c (set_use_this_gf): Removed.
- * grant.c (set_default_grant_file): Set grant_file_name here,
- because we need it earlier (due to above lexer change).
-
- * typeck.c (layout_chill_struct_type): Remove useless code to
- remove zero-width bitfield (which messes up CONST_DECLs).
-
-Sat Apr 23 13:16:39 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in (check): Assure that 'ld' is available before checking.
-
-Thu Apr 21 13:23:54 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * grant.c (print_an_int): Removed.
- (raw_decode_mode): Generalized to use decode_constant
- instead of print_an_int.
- (decode_constant): Print directly, instead of calling print_an_int.
- * parse.y (event_list): Fix syntax.
- * parse.y (optqueuesize): Default is NULL_TREE, not zero.
- * tasking.c (check_queue_size): New function, for error checking.
- * ch-tree.h: Add declaration for check_queue_size.
- * satisfy.c (satisfy case RECORD_TYPE): Satisfy constant fields
- (used for queue size of EVENT and BUFFER), and call check_queue_size.
-
-Tue Apr 19 13:42:41 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- Re-implement EVENT modes to support general EVENT objects
- (and not just EVENT names), according to Z200. (Not finished!)
- * tasking.c, ch-tree.h (max_queue_size): New function.
- * parse.y (dcalternative, event_list, event_list_head): New
- implementation of DELAY CASE, avoiding parsing ambiguities.
- (call, locdec, delayaction): Remove old EVENTNAME kludges.
- * lex.l (name_type_signal): Remove EVENTNAME recognition.
- * tasking.c (build_event_type): Re-written.
- * typeck.c (chill_similar), decl.c (print_lang_type):
- Use new max_queue_size function.
- * typeck.c (layout_chill_struct_size): Ignore CONST_DECL.
- * tasking.c (build_delay_action): Preliminary changes - just to
- make it compile. FIXME!
- * grant.c (raw_decode_mode): Use new max_queue_size function.
- Move EVENT support from LANG_TYPE to RECORD_TYPE.
- * ch-tree.h (process_event_decls): Removed.
-
-Tue Apr 19 11:44:01 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * regression.sh: Complete previous change - eliminate all
- references to objdir as a user parameter.
-
-Mon Apr 18 10:17:55 1994 Bill Cox (bill@cygnus.com)
-
- * Makefile.in (check): Simplified regression.sh call.
- * regression.sh: Change command-line parsing. Default
- srcdir to the script's path. Calculate objdir
- internally - don't pass it in.
-
-Thu Apr 14 13:30:19 1994 Wilfried Moser (moser@phishhead.cygnus.com)
-
- * expr.c (build_chill_duration): Add range checking.
-
- * lex.l (init_lex): Add predefined names DURATION and TIME.
- * lex.h (enum rid): Add RID_DURATION and RID_TIME.
- * ch-tree.h: Add prototypes and externals.
- * decl.c (init_decl_processing): Add builtin function
- descriptions.
- * expr.c (build_generalized_call): Add processing of some
- builtin's.
- * expr.c (build_chill_abstime): New function to process builtin
- ABSTIME.
- * 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.
- * expr.c (build_chill_duration): New function to process builtin's
- MILLISECS, SECS, MINUTES, HOURS and DAYS.
-
-Tue Apr 12 11:55:45 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * lex.l (chill_same_grant_file): Rename to same_file. Change to
- take two files names rather than two DECLs. Also check that the
- filesystems (st_dev) are equal. Finally, make static.
- * lex.l (handle_use_seizefile_directive): Check for duplicate
- USE_SEIZE_FILE directives using same_file.
- * decl.c (pop_module): Remove dubious call to chill_same_grant_file.
-
-Sun Apr 10 17:19:56 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * decl.c, ch-tree.h (chill_result_decl): New variable. Used to
- store RESULT value. (Cannot use DECL_RESULT; see comment in decl.c.)
- * actions.c (chill_expand_result, chill_expand_return):
- Use chill_result_decl appropriately.
- * ch-tree.h, decl.c, actions.c (saved_result_rtx): Removed.
- Subsumed by chill_result_decl.
-
- * expr.c (chill_expand-expr case CONCAT_EXPR): Generate temporary
- using the mode of the result type, and don't assume it is BLKmode.
-
-Fri Apr 8 17:46:13 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * actions.c (chill_expand_assignment): Check for compatibility
- _after_ "expanding out" a binary operation. This fixes
- the case "STRING //:= CHAR".
-
- * lex.l (equal_number): Convert symbol to integer_type_node, to
- force the value to be INT-derived (and avoid novelty conflicts).
-
-Mon Apr 4 22:06:31 1994 Per Bothner (bothner@cygnus.com)
-
- * ch-tree.h (CH_FUNCTION_SETS_RESULT): New flag.
- * ch-actions.c (chill_expand_return), ch-tree.h: Extra
- parameter, indicates if implicit return at end of function.
- * ch-parse.y: Modify accordingly.
- * ch-actions.c (chill_expand_return): Various improvements.
-
- * decl.c, ch-tree.h (result_never_set): New variable.
- * actions.c (chill_expand_result, chill_expand_return): Clear it.
- * ch-parse.y (end_function): Warn if no RETURN or RESULT action.
-
- * decl.c, ch-tree.h (saved_result_rtx): New variable.
- * decl.c (start_chill_function): Use saved_result_rtx as return
- value if there is a RESULT in a REG that might get clobbered.
- * 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):
- Don't use. Only define first two to allow linking with ch-typeck.c.
-
- * typeck.c (chill_l_equivalent): Add forward declaration.
-
-Fri Apr 1 11:02:27 1994 Wilfried Moser (fs_moser at rcsw47)
-
- * lex.l (readstring): Handle control sequence in all cases (Z.200
- 5.2.4.4 page 54).
-
-Fri Apr 1 13:11:27 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * configure: Simplify and fix the logic for looping through
- sub-directories.
-
-Thu Mar 31 18:59:57 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-tree.h (CH_L_EQUIVALENT): Moved from typeck.c.
- * typeck.c (chill_similar): Add support for checking
- FUNCTION_TYPEs for similarity. Also, treat
- pointer-to-function-type the same as function-type.
-
-Thu Mar 31 11:22:56 1994 Wilfried Moser (fs_moser at rcsw47)
-
- * ch-tree.h: Change prototype of function expand_send_signal.
- * parse.y: Change calls to expand_send_signal.
- * tasking.c (expand_send_signal): Change handling of optsetto
- argument. New argument signame to get a possible destination
- process for the signal.
-
-Wed Mar 30 14:54:48 1994 Wilfried Moser (fs_moser at rcsw1j)
-
- * tasking.c (make_process_struct): Change error message in case of
- a process argument has other attribute then IN or LOC.
- * tasking.c (build_start_process): Add check that the optset is
- referable in case it is specified (this makes
- noncompile/start_.ch working).
-
-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.
- * ch-tree.h: Change prototype for build_chill_readtext.
- * decl.c (init_decl_processing): Add builtin_function _readstring,
- _readunixstd and READTEXT.
- * expr.c (build_generalized_call): Add processing of READTEXT.
- Delete handling of no longer valid builtin_functions.
- * gperf: Remove keyword READTEXT.
- * parse.y: Remove token READTEXT.
- * inout.c (build_chill_io_list_type): Add building type for
- READTEXT.
- * inout.c (build_chill_readtext): Implement the function
- (partial).
- * inout.c (build_chill_writetext): Do some cleanups.
-
-Tue Mar 29 12:30:59 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * typeck.c (build_chill_cast): Re-arrange, to support casts
- of const integer to type of different size, if there is
- an integral type of the desired size: Go through the
- const conversion code.
-
- * actions.c (adjust_parm_or_field): Move support for LOC to ...
- * expr.c (build_chill_function_call): ... here.
- Fix a number of bugs in OUT/INOUT handling.
-
- * ch-tree.h, actions.c (adjust_parm_or_field), grant.c (print_struct),
- parse.y (location), typeck.c (chill_comptypes): Remove unused
- support for ENCAPSULATED_ARRAY_P.
- * typeck.c (build_chill_array_parm_type), ch-tree.h: Remove; unused.
-
- * 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
- identifiers of the form "<...>" to "__..." for better portability.
-
- * actions.c (adjust_parm_or_field): Remove extraneous
- call to build_chill_repetition_op.
- * expr.c (build_chill_function_call): Some simplifictions
- (since neither valtail nor typetail can be NULL).
- Clean up error message for OUT//INOUT not location to use only 1 line.
- Add error message for OUT/INOUT if type is READonly.
- * typeck.c (build_chill_modify_expr): Simplify.
-
-Sun Mar 27 19:30:25 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in: Clean up generally. Assure that
- runtime is built before running regressions.
- Build correct parameters to regression.sh.
- Remove a lot of 'clean' cruft.
- * Make-lang.in, config-lang.in: New files for
- subdirectory architecture.
-
-Sat Mar 26 10:39:12 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in (check): Build correct parameters for regression.sh.
-
-Fri Mar 25 10:13:06 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * configure: Also mark regression.awk3 as executable.
- * regression.sh: Add comments about command-line options.
- Calculate srcdir correctly, defaulting to the script's path.
- Add OPT flag to pass to the Makefiles, to specify the
- compiler's optimization level, and -O and -O2 options.
- Delete GLOBAL flag and tests. Use a different make.log
- file for optimized and unoptimized test results. Add the
- compiler's host and target triples to the report header.
-
-Wed Mar 23 21:41:26 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * expr.c (build_chill_function_call): Handle INOUT and OUT
- parameters better (for the rangefail test, at least).
-
-Wed Mar 23 14:13:45 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * regression.sh (srcdir, objdir): Fixed hard-wired paths.
- (grep args): Changed [XYZ-] to [-XYZ] for SCO.
-
-Wed Mar 23 13:34:18 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * expr.c (build_generalized_call): Revert previous change.
- To do this correctly, we need a new parsing mechanism, and
- C++ initializer technology.
-
-Wed Mar 23 09:34:50 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * expr.c (build_generalized_call): Be sure we're inside the
- module-level function before calling build_gen_inst, for
- example.
-
-Wed Mar 23 09:34:50 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * regression.sh (dodirectory): Count the gcov and abort tests
- among the .dat files.
-
-Tue Mar 22 15:39:38 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * satisfy.c (safe_satisfy_decl): When checking that a SYN
- value fits in a specified discrete type, don't convert first,
- and use compare_int_csts instead of tree_int_cst_lt.
-
-Tue Mar 22 15:25:38 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * configure: Generate better .gdbinit files.
-
-Tue Mar 22 11:59:38 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * actions.c (check_range): Don't emit dynamic checks
- if not current_function_decl.
-
- * parse.y (arrayindex): Allow expr (error is emitted
- at semantic level if not the NAME of a type).
- * typeck.c (build_chill_cast): Re-enable some casts.
- * satisfy.c (safe_satisfy_decl): Remove redundant CONST check.
-
-Tue Mar 22 11:46:28 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * configure: Access the utils directory correctly.
- * expr.c (build_compare_expr): Reenable compatibility test.
-
-Tue Mar 22 11:24:45 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * typeck.c (valid_array_index_p): Call
- build_compare_discrete_expr instead of build_compare_expr.
- * typeck.c (build_chill_cast): Improve logic.
- * satisfy.c (safe_satisfy_decl): Simplify test.
-
-Tue Mar 22 10:17:58 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * actions.c (chill_expand_assignment): Correct detection of
- 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.
- * satisfy.c (safe_satisfy_decl): Correct range-checking code.
-
-Mon Mar 21 16:25:07 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in: Correct prediction of grammar conflicts.
- * actions.c(check_range): Fix reference to NULL_TREE pointer.
- And allow compile-time errors even if range_checking is off.
- * parse.y: Clean up some comments.
- * satisfy.c (safe_satisfy_decl): Add range-check for a SYN's value.
-
-Mon Mar 21 13:29:23 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * typeck.c (layout_chill_range_type): Instead of tree_int_cst_lt
- use compare_int_csts (which is more robust when signedness differs).
- Also, convert the bounds *after* doing range checking.
-
- * ch-tree.def (SET_IN_EXPR): New.
- * 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:
- Use SET_IN_EXPR in place of IN_EXPR.
-
- * expr.c (build_compare_discrete_expr), ch-tree.h: New function,
- with code moved from build_compare_expr.
- * expr.c (build_compare_expr): Re-enable compatibility test.
-
-Mon Mar 21 11:02:33 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in: Rewrite byacc related rules.
- * actions.c (chill_convert_for_assignment): Use the
- referenced type only for generating range checks.
- * configure: Add 'utils' directory to SUBDIRS variable.
-
-Sun Mar 20 21:49:59 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * actions.c (check_range): Call build_compare_expr rather than
- build_binary_op.
- (adjust_parm_or_field): Call convert_for_assignment rathern than
- convert, to get the range-checking.
- * expr.c (build_chill_pred_or_succ): Fix up rangefail code.
- Generate a compile-time message if possible.
- (build_compare_expr): Comment out compatibility test - should
- not be needed in here. Fix a couple of typos. Add some types
- to some build calls.
-
-Sun Mar 20 11:48:10 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * decl.c (init_decl_processing): Clean up parameter type
- list for __setbitpowerset,
-
- * typeck.c (chill_compatible_classes): Allow the M-reference
- to be compatible with the N-value class, with suitable M and N.
- * typeck.c (build_chill_slice): Don't smash a void TREE_TYPE.
- (We don't need to, and it causes confusion.)
-
- * expr.c (build_compare_expr): Fix thinko. Add save_exprs.
-
- * expr.c (build_compare_expr): Fix a transcription bug
- (for converting NULL INSTANCEs). Also #include convert.h.
-
- * expr.c (compare_int_csts): New. Compare INTEGER_CSTs.
- Works even if their types have different TREE_UNSIGNED.
- * expr.c (finish_chill_binary_op): Moved code dealing with
- the comparison operators from here ...
- * expr.c (build_compare_expr): ... to new function here.
- Also, for discrete types, tries to Do The Right Thing, even for
- differing values of TYPE_PRECISION and TREE_UNSIGNED.
- the code from lay
- * ch-tree.h: Declare new functions.
- * typeck.c (valid_array_index_p): Various cleanups,
- including using new build_parse_expr.
- * parse.y: Use new build_compare_expr.
-
- * inout.c (build_chill_writetext): Handle REFERENCE_TYPE args.
-
-Sun Mar 20 08:54:27 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * 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_expand_assignment): Call build_chill_array_ref
- to get runtime index checking.
- (expand_varying_length_assignment): Use new interface
- 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.
- * expr.c (build_chill_pred_or_succ): Fix cond tree
- to have consistent operand types.
- * typeck.c (valid_array_index_p): Change interface to pass
- validity conditions back on caller's TREE_LIST. We
- cannot link the conditions to anything which a
- layout_type routine will expand, since that will occur
- before the exception handler is set up.
- Change calls to valid_array_index_p also.
-
-Fri Mar 18 14:40:50 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * actions.c, except.c, loop.c, tasking.c: Call
- build_chill_function_call instead of the C-specific
- build_function_call.
- * except.c (initialize_exceptions): Fix parmtype of __builtin_setjmp.
- * loop.c (top_loop_end_check): Coerce library function arg.
- * convert.c, expr.c: Re-write to avoid calls to C-specific
- function build_unary_op (e.g. by calling build1 directly).
-
- * typeck.c (chill_equivalent): Change to force failure
- for non-matching integral types (even if not ranges).
-
- * typeck.c, ch-tree.h (build_chill_slice): Make non-static.
- * expr.c (varying_to_slice): Call build_chill_slice (and not
- build_chill_slice_with_length, which does bunches of range
- checking and does not allow the length to be zero).
- * convert.c (convert): Fix off-by-one error.
- * actions.c (chill_expand_array_assignment): Minor cleaning up.
-
-Fri Mar 18 00:12:48 1994 Per Bothner (bothner@deneb.cygnus.com)
-
- * decl.c (init_decl_processing): __lepowerset and __ltpowerset
- take *two* pointer parameters, not one.
- * satisfy.c (satisfy): Only call the appropriate layout routine
- if TYPE_SIZE is 0 (i.e. type hasn't already been laid out).
- * typeck.c (build_chill_slice_with_length): Fix Bill's previous fix.
-
-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.
- * typeck.c (build_chill_slice_with_length): Restore dynamic range
- checking, so it doesn't obscure the CONSTANTness of the length.
-
-Wed Mar 16 17:23:31 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * typeck.c (build_chill_slice), expr.c (chill_expand_expr
- [case CONCAT_EXPR]): Remove kludge setting slice size upper bound
- in TYPE_LANG_SPECIFIC, and restore kludge setting it in MAX_VALUE.
- * typeck.c (build_chill_slice): Use TYPE_MAX_VALUE of
- array_type if needed for size upper bound of slice_type.
- * expr.c (build_concat_expr): Improve calculation of size upper bound.
-
- * 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
- 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. ??)
-
- * expr.c (build_chill_function_call): Cleanup so it doesn't
- call build_function_call (in c-typeck.c).
- * typeck.c, expr.c: Use build_chill_function_call instead of
- build_function_call (in c-typeck.c).
-
- * parse.y (discrete_mode): Move some of the rules from
- non_array_mode into new non-terminal.
- (arrayindex): Use discrete_mode (with NAME and TYPENAME) to
- avoid some misparses.
- * ch-tree.h (SLICE_PTR, SLICE_LENGTH): Removed; unused.
- * convert.c (digest_structure_tuple): Add missing parameter.
- * decl.c (comptypes): Remove unused prototype.
- * decl.c (build_chill_function_type): Handle NULL return_type
- correctly (convert to void_type_node).
- * decl.c (init_decl_processing): layout boolean_type_node *after*
- we've set it's TYPE_MIN_VALUE and TYPE_MAX_VALUE.
-
-Wed Mar 16 16:08:22 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-tree.h: Add prototype.
- * convert.c (convert): Correct calculation of padding length.
- * decl.c (grok_chill_fixedfields): Move ignore_exprs test to
- parse.y where it belongs. This permits the removal of a kludge
- in make_process_struct.
- * lex.l, parse.y: Call to_global_level for several errors. Add
- code to output error in only one pass.
- * tasking.c (make_process_struct): Delete kludge inserted on
- March 8.
- (build_receive_case_end): Add Wilfried's check for errors.
-
-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.
- * 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
- the novelty of the input parameter.
- (varying_to_slice): Use CH_NOVELTY macro rather than calling
- chill_novelty directly.
- * grant.c (newstring): Make len unsigned and cast xmalloc parameter
- to unsigned.
- (print_integer_type): Pass string value as APPEND's second parameter.
- (decode_decl): Pass a boolean expression as print_proc_tail's
- first parameter.
- (chill_finish_module_code): Make xmalloc's parameter unsigned.
- * lex.l: Pass sizes to xmalloc as unsigned ints. Pass second
- parameter to in_word_set as unsigned.
- * loop.c (build_loop_start): Check top_loop_end_check return value.
- * parse.y: Add casts to int for third do_decls parameter, fifth
- 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_p): Add function, call it everywhere that an
- array index is checked.
- (build_chill_slice): Restore old functionality where varying_to_slice
- is called to handle slices of varying arrays, rather than handling
- handling them here.
- (build_chill_slice_with_range, build_chill_slice_with_length):
- Check range limits for TREE_CONST before calling tree_int_cst_lt.
- Delete now-obsolete checks of constant indices.
-
-Mon Mar 14 17:26:51 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * parse.y (modeless_expr): New rule to allow ([...]) and (if...)
- to count as untyped_exprs. (This is not really permitted by the
- Blue Book, but has been requested by customers.)
-
-Thu Mar 10 10:11:02 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * chill.texi: Document new command-line options.
- * expr.c (build_chill_num): Set unsigned parameter for
- type_for_size call correctly (unsigned for enums).
- * lang.c (lang_decode_option): Add command-line options to
- enable/disable runtime range-checking.
- * lex.l: Eat more whitespace.
-
-Thu Mar 10 09:41:37 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in: Have rules to make parse.h, y.tab.c and other
- 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
- new permanent_allocation flag.
- (poplevel): Return early, avoid a seg fault.
- * 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.
- (chill_same_grant_file): Reindent.
- Generally handle whitespace differently.
- * regression.prpt: Print ten PR numbers per line. The report's
- getting too long.
-
-Wed Mar 9 09:58:51 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * decl.c (do_decl): Suppress the string-assignment-condition
- error - it was too often seen.
- * expr.c (expand_chill_expr): In CONCAT_EXPR, when argument has a
- runtime-changing length (as in a slice), get the parent array's
- allocation size from its type tree.
- * typeck.c (build_chill_slice): Support VARYING arrays. Pass
- parent array's static allocation size along in the slice type.
-
-Wed Mar 9 08:54:24 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * lex.l (name_type_signal): Avoid dereferencing a NULL TRE_TYPE.
-
-Tue Mar 8 11:51:10 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * expr.c (build_chill_sizeof): Fix typo in error msg, add
- some whitespace.
- * lex.l (name_type_signal): Add debug output.
- * parse.y (call): Allow EVENTNAME and BUFFERNAME parameters
- to a call, so that SIZE () works on them.
- * tasking.c (make_process_struct): Force ignore_exprs non-zero
- when processing a SEIZEd PROCESS declaration. This prevents
- grox-fixed_fields from returning a NULL, and indirectly protects
- the chill_integer_type_node tree from corruption.
-
-Mon Mar 7 19:14:05 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * 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,
- chill.regress.cron: Move to utils subdirectory.
- * 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
- from complaining about an empty string type's
- bounds (0:-1).
-
-Mon Mar 7 09:06:39 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in (compiler): Restore this target.
- (OBJS, BC_OBJS): Delete unused variables.
- Add $(FLAGS_TO_PASS) to sub-make invocations.
- * ch_decomment.l, ch_makedepend, chill.patches, printf.c,
- tcov.awk, tcov.el, tcov.sh: Move to utils subdirectory.
-
-Sat Mar 5 18:37:50 1994 Jim Wilson (wilson@sphagnum.cygnus.com)
-
- * except.c (finish_handler_array): When computing address of
- the array ex_decl, don't call build_array_ref.
-
-Sat Mar 5 17:43:36 1994 Jim Wilson (wilson@sphagnum.cygnus.com)
-
- * loop.c (declare_temps): Force powerset temp to memory.
-
-Fri Mar 4 11:20:44 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * typeck.c (layout_chill_range_type): Convert highval and
- lowval to a common type before range-checking them.
-
-Fri Mar 4 11:20:44 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-tree.h: Add loop-related prototypes.
- * decl.c, grant.c: Fix -Wall violations.
- * parse.y: Fix format of %type directives.
-
-Fri Mar 4 10:04:18 1994 Wilfried Moser (fs_moser at rcsw1h)
-
- * Makefile.in: Update version number.
- * expr.c: Fix a comment.
- * inout.c (build_chill_writetext): Add handling of a REAL.
- * lex.l (INITIAL): Remove all code to discard 'header lines'.
- no longer needed.
- * parse.y (optheader): Remove - it's obsolete, as is the
- HEADEREL token definition.
-
-Fri Mar 4 09:41:18 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * addtest: Fix suffix removal when suffix is .c186.
- * regression.sh: Allow for underscores on PR filenames.
- * typeck.c: Check in the rewrite mentioned earlier.
-
-Thu Mar 3 09:42:10 1994 Wilfried Moser (fs_moser at rcsw1h)
-
- * tasking.c (build_process_header): Build a debug structure
- for easier access to PROCESS parameters.
-
-Thu Mar 3 09:42:10 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * typeck.c (*string_assignment_condition): Complete rewrite
- of a verbose first draft.
-
-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.
- (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
- reference_type on the LHS. Delete conversions subsumed by
- convert_for_assignment.
- * ch-tree.h: Delete parameters from prototypes.
- * decl.c (print_lang_decl): Print out signal flag.
- (push_extern_function, start_chill_function): Delete
- 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.
- * regression.sh (checkprms): Skip PRMS discrepancies if we
- can't access PRMS for some reason.
- * satisfy.c: Correct indentation.
- * tasking.c (build_process_header): Delete extra parameters
- passed to push_extern_function and start_chill_functions.
-
-Wed Mar 2 10:33:50 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * addtest: Require a fill filename. Be more careful about
- adding the same test twice.
- * expr.c: Add FIXME to comment.
- * regression.sh: Add configure script call.
-
-Tue Mar 1 16:24:20 1994 Wilfried Moser (fs_moser at rcsw1h)
-
- * Makefile.in: Change version of chill to 1.1.2
- * inout.c: Add processing of SET and POWERSET types to WRITETEXT.
-
-Tue Mar 1 07:34:56 1994 Bill Cox (bill@rtl.cygnus.com)
-
- 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
- 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.
- * 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
- 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
- CH_RETURNS_LOC flag.
- (optresultattr): Code keywords as a bitmask.
- * tasking.c (build_process_header): Add new parameter to
- start_chill_function call.
-
-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
- doesn't exist.
-
-Fri Feb 25 14:48:48 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in (check): Force the building of ../gcov and
- ../xgcc before testing. Move the printf dependency here
- since we don't need it until we're testing.
- * addtest: Strip suffix from each input filename.
- * decl.c (do_decl): Correct error checking. Call
- string_assignment_condition for some of it.
- * tasking.c (build_gen_inst): Add ability to pass an integer
- for either the process ID or the copy number. If a number
- is passed, range-check it against the CHILL unsigned type
- limits.
- (build_buffer_descriptor): Add draft code to check the buffer
- name for correctness.
-
-Wed Feb 23 15:07:12 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- New cleaner solution to the following problem:
- Chill allows an action to be followed by an ON-handler.
- But we don't know if an action has a handler until we've parsed
- its end, yet we want to generate extra code to set up an
- exception handling contour only if needed. The old solution
- would generate code for the action into an rtl sequence, and then
- splice in the exception-setup code if we later found we needed it.
- This has a few problems (for example it confuses the management
- of stack temporaries), and is ugly. Now that the compiler is 2-pass
- we have a cleaner solution: In pass 1, we remember which actions
- were followed by ON-handlers. In pass 2, we use this information
- to generate appropriate code before an action.
- * except.c (push_handler, pop_handler): In pass 1, set up data
- structures (global_handler_list) to remember if an action has an
- ON-handler. In pass 2, digest this information, and setup
- handler if needed.
- * except.c, actions.h (pop_handler): Take an extra int arg.
- * except.c (emit_setup_handler): New function, with code (moved
- from chill_start_on) to emit code before an action that has a handler.
- * except.c (except_init_pass_2): New function.
- * parse.y (pass1_2): Call except_init_pass_2 before pass 2.
- * parse.y (POP_UNUSED_ON_CONTEXT): Don't call pop_sequence.
- * parse.y: Invoke POP_UNUSED_ON_CONTEXT and POP_USED_ON_CONTEXT
- in pass 1 as well as pass 2.
- * parse.y (BEGIN ... END): Re-arrange logic to avoid block_stack
- (local to ../stmt.c) getting out of sync.
- * actions.c (push_action): Don't need to emit a NOP,
- now that we're no longer moving sequences around.
- * actions.c (push_action): Call push_handler even in pass one.
-
-Wed Feb 23 11:06:14 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * decl.c (do_decl): Check for possible overflow in initializing
- a declared variable.
- * expr.c (build-chill_indirect_ref): Add error message for
- a syntax error that C programmers converting to CHILL are
- quite likely to make.
- * satisfy.c (safe_satisfy_decl): Keep yesterday's change from
- seg-faulting.
-
-Tue Feb 22 17:54:43 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in: Use $(CC) rather than FLAGS_TO_PASS, which isn't
- defined. Build chill script differently, and build an install script.
- Add an action to run the regression test.
- * actions.c (chill_expand_assignment): Change
- string_assignment_condition call.
- * ch-tree.h: Add prototype.
- * expr.c (build_chill_function_call): Change
- string_assignment_condition call.
- * satisfy.c (safe_satisfy_decl): Add check that string INIT value
- will fit in the declared mode.
- * typeck.c (string_assignment_condition): Add flag to disable
- runtime code generation. Add code to generate runtime test.
-
-Mon Feb 21 14:04:20 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in (check): Add target to trigger a regression test.
-
-Mon Feb 21 13:54:20 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * decl.c (do _based_decls): Add error check for
- decls BASED on a PROC or PROCESS name.
-
-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,
- return if process name unknown.
-
-Mon Feb 21 14:29:41 1994 Wilfried Moser (fs_moser at rcsw47)
-
- * 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)
-
- * tasking.c (build_gen_inst): Output correct
- constructor for GEN_INST.
-
-Mon Feb 21 08:14:59 1994 Wilfried Moser (fs_moser at rcsw47)
-
- * lex.l (yywrap): Fix punctuation error.
-
-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
- sources.
- * 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)
-
- * actions.c (expand_chill_assignment): Add call to test the
- string assignment condition.
- * expr.c (build_chill_function_call): Add call to test the
- string assignment condition.
- * regression.awk2: Report WITHDRAWN PRs as well.
- * regression.sh: Delete extra commentary about FEEDBACK PRs.
- * typeck.c (string_assignment_condition): Add function to
- perform the check.
-
-Fri Feb 18 16:30:40 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * regression.awk1, regression.awk3: Recognize 'withdrawn' PRs
- and exclude them from the regression test report. Mark them
- in the list of PRs as 'W' status.
-
-Thu Feb 17 09:13:42 1994 Wilfried Moser (fs_moser at rcsw47)
-
- * Makefile.in: Define a version number. Build chill script
- differently. Makefile depends upon ../configure, not configure.
- * chill.in: Define some new flags.
-
-Wed Feb 16 19:44:33 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * grant.c (decode_constant): Restore a 'return result' statement
- that seems to have gotten lost.
-
-Wed Feb 16 12:37:44 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-tree.h (various STRING-type macros): Use new TYPE_STRING_FLAG.
-
- * typeck.c (make_chill_array_type): Remove unused args.
- Simplify to build only one-dimensionsal arrays, so change
- index list to single index. Call layout_chill_array_type
- if pass!=1. And rename to: build_simple_array_type.
- * typeck.c (layout_chill_array_type): Only recurse
- if TREE_TYPE has not been laid out.
- * typeck.c (build_chill_array_type): Update accordingly.
- * typeck.c (build_chill_slice): Replace calls to build_array_type
- (which does hash-canonicalization, which breaks if we later set
- the TYPE_STRING_FLAG) by calls to build_simple_array_type.
- * convert.c (convert): The same.
-
- * grant.c (decode_constant): Clean up. Remove remnants of switch
- on TREE_TYPE of the value, and fold those cases into first switch.
-
-Wed Feb 16 09:12:21 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in: Add printf as a dependency of ../cc1chill.
- * regression.sh: Make srcdir and objdir really work.
-
-Wed Feb 16 09:12:21 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * expr.c (build_char_array_expr): Fix spelling
- error in error msg.
- * tree.c (build_string_type): Make check for overlarge
- string more robust.
-
-Wed Feb 16 02:37:43 1994 Mike Stump (mrs@cygnus.com)
-
- * grant.c (decode_constant): Remove useless tests
- for STRING_TYPE (which isn't used by anyone, including CHILL).
-
-Tue Feb 15 15:35:07 1994 Bill Cox (bill@cygnus.com)
-
- * build-release: Add refinements to checkout commands.
- * decl.c (init_decl_processing): Move initialization of
- chill_unsigned_type_node before 1st call to build_string_type.
- * tree.c (build_string_type): Add compile-time test of string
- allocated length.
- * typeck.c (layout_chill_range_type): Add compile-time range limit
- checking.
-
-Tue Feb 15 08:55:37 1994 Bill Cox (bill@cygnus.com)
-
- * Makefile.in: Add stamp-chill-objs as a dependency of ../cc1chill.
- * regression.sh: Rename test directory names.
-
-Mon Feb 14 09:24:16 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in: Change interface with parent directory's
- Makefile, decoupling the lists of each others' files.
-
-Mon Feb 14 09:24:16 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * lex.l: Delete obsolete comment.
- * tasking.c (expand_send_signal): Add a type to the OPTSENDTO
- instance constructor.
-
-Mon Feb 14 04:04:16 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * lex.l (maybe_number): Add octal to numbers
- handled by Feb 1 change.
-
-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.
- * loop.c, parse.y: Rewrite to set up correct loop scope.
- Fix error path where loop variable not declared.
-
-Fri Feb 11 11:12:29 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in: Add rule to build printf. Make it a dependency
- of ../cc1chill.
- * printf.c: New tool for regression testing script.
- * regression.sh: Look for print in ${objdir}.
-
-Thu Feb 24 17:31:12 1994 Wilfried Moser (fs_moser at rcsw1j)
-
- * tasking.c (build_gen_inst): Allow integer expression as argument
- 1 to this function. This was a change request to get rid of
- unsupported value conversion from INSTANCE to ARRAY (0:1) UINT
- or STRUCT (t UINT, c UINT).
-
-Thu Feb 10 09:49:31 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * regression.awk3: Recognize upper-case PRMS state names.
-
-Wed Feb 9 15:26:19 1994 Bill Cox (bill@cygnus.com)
-
- * parse.y (dowithaction): Allow EXIT from DO WITH.
-
-Tue Feb 8 13:13:54 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * configure: Change to require grant.c for evidence that we've
- found the source directory.
- * decl.c (init_decl_processing): delete unused builtin_slice
- function declaration.
- * expr.c (chill_expand_expr): Calculate powerset's length
- correctly, calling powersetlen to do it.
- * regression.sh: Replace BASE references with objdir references.
- * typeck.c (build_chill_slice): Build the compound expression
- in the right order.
-
-Mon Feb 7 15:56:07 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * expr.c (build_chill_lower, build_chill_upper): Handle
- LOC parameter types.
- * regression.sh: Correct path to executable sub-shell-scripts.
-
-Mon Feb 7 11:33:47 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * regression.sh: Pervasive changes to allow for separate
- source and object directories.
-
-Wed Feb 2 17:5620 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * decl.c (find_implied_typed): Delete obsolete reference to
- PROCESS_TYPE.
- * ch-tree.def (PROCESS_DECL, PROCESS_TYPE): Delete - they're
- obsolete.
-
-Wed Feb 2 13:37:56 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in: Delete bogus runtime/Makefile lines.
- * configure: Build testsuite directory.
-
-Wed Feb 2 13:37:56 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * configure: Correct srcdir for chill.examples directory.
-
-Wed Feb 2 11:24:57 1994 Wilfried Moser (fs_moser at rcsw47)
-
- * ch-parse.y (rule call): Add
- BUFFERNAME LPRN untyped_expr RPRN
- to enable generating a descriptor same as for SIGNALS.
- * ch-tasking.c (generate_tasking_code variable,
- decl_tasking_code_variable): Implement overflow check of
- taskingcode in case a tasking code is specified with the
- compiler directives SIGNAL_CODE, BUFFER_CODE, EVENT_CODE or
- PROCESS_TYPE.
-
-Wed Feb 2 09:31:37 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * 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)
-
- * expr.c (string_char_rep): Process STRING_CST correctly.
-
-Tue Feb 1 15:29:28 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * expr.c (build_boring_bitstring): New function.
- * expr.c (build_chill_repetition_op): Fix a number of bugs in
- implementation of bitstring repetition.
- Also, implement repetition of Booleans.
-
-Tue Feb 1 15:28:21 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * configure: Delete code to check for gas or ld. Add code to
- store a config.status file in each configured subdirectory.
- * expr.c (): Spell concatbitstring as concatps, which is the
- runtime routine name.
- * regression.sh: Force use of GNU make.
-
-Tue Feb 1 15:22:12 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * tasking.c: Mark compiler-generated temps to prevent
- GRANTing them.
-
-Tue Feb 1 17:38:51 1994 Wilfried Moser (fs_moser at rcsw1j)
-
- * lex.l (equal_number): Improve check for number after = in a
- compiler directive.
- * tasking.c (build_tasking_struct): Make field TaskValue
- pointer to chill_unsigned_type_node.
- * tasking.c (generate_tasking_code_variable): Declare tasking
- code variable as chill_unsigned_type_node.
- * tasking.c (decl_tasking_code_variable): Declare tasking
- code variable as chill_unsigned_type_node.
-
-Mon Jan 31 14:01:58 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * addtest (update_Makefile): No longer build actions - they're
- now in pattern rules.
- * ch_makedepend: Do the grep first, to avoid processing non
- USE_SEIZE_FILE lines.
- * configure: Pervasive rewrite to support configuring regression
- test directories.
-
-Mon Jan 31 04:35:53 1994 Michael Tiemann (tiemann@blues.cygnus.com)
-
- * typeck.c (build_chill_slice): Compute EXTENT correctly.
-
-Sun Jan 30 14:33:12 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * tasking.c (build_gen_inst): Return a typed tuple with
- INSTANCE type.
-
-Sun Jan 30 12:01:07 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * actions.c (chill_expand_assignment): Recognize LENGTH builtin
- in the left hand side, pass it to
- expand_varying_length_assignment.
- (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
- VARYING array.
- * parse.y (assignaction): Delete code to recognize LENGTH
- on left-hand-side.
- * typeck.c (validate_varying_array_ref): Correct misleading comment.
-
-Sat Jan 29 10:54:06 1994 Michael Tiemann (tiemann@blues.cygnus.com)
-
- * typeck.c (build_chill_slice): Pass a valid identifier to
- `get_unique_identifier'.
-
- * convert.c (convert): Rename LENGTH variable to MAXIDX, and
- use correct value for VAR_LENGTH when initializing a varying array.
-
- * decl.c (do_decl): Set DECL_COMMON.
-
- * actions.c (check_range): Temporarily inhibit warnings so the
- compiler doesn't warn the user about useless range checks that it
- might create. It's far easier for the compiler to figure out that
- a range check need not be done than it is for us to try to figure
- it out for ourselves.
-
- * expr.c (build_concat_expr): Generalize to handle bitstrings.
- (scalar_to_string): New function.
- (chill_expand_expr): Handle SET_TYPEs in CONCAT_EXPR by using new
- library call (__concatbitstring).
-
-Sat Jan 29 08:43:54 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * ch_makedepend: Fix the 'sed' command so that seize file
- name can be delimited by double quotes as well as apostrophes.
-
-Thu Jan 27 17:26:19 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * typeck.c (my_build_array_ref): Do constant folding.
-
-Thu Jan 27 16:24:24 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * actions.c, actions.h, ch-tree.h, chill.texi, convert.c,
- decl.c, except.c, expr.c, grant.c, inout.c, lang.c,
- lex.h, lex.l, loop.c, parse.y, tasking.c, tasking.h,
- tree.c, typeck.c: New 'Copyright' line for 1994.
-
-Thu Jan 27 14:12:07 1994 Mike Stump (mrs@cygnus.com)
-
- * configure: Don't configure this directory with this configure,
- just subdirectories and cleanup.
- * Makefile.in (Makefile): Run config.status in parent directory,
- if we need rebuilding.
-
-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!
-
-Thu Jan 27 10:37:33 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * expr.c (build_concat_expr): Fix SunOS portability problem.
-
-Wed Jan 26 14:57:39 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * convert.c (digest_powerset_tuple): New function, used to set
- TREE_CONSTANT and TREE_STATIC properly.
- (digest_structure_tuple, convert (NULL to instance, non-varying
- to varying)): Set TREE_CONSTANT and TREE_STATIC when appropriate.
- * expr.c (varying_to_slice): Preserve novelty of slice type.
- * expr.c (build_concat_expr): Make sure class of result is
- correct (including correct novelty).
- * satisfy.c (safe_satisfy_decl): If value of CONST_DECL is
- not TREE_CONSTANT, emit an error.
- * typeck.c (build_chill_slice): Preserve novelty of result.
- * typeck.c (build_chill_slice): Simplify for varying argument
- (by using varying_to_slice).
- * typeck.c (expand_constant_to_buffer, extract_constant_from_buffer):
- New functions.
- * typeck.c (build_chill_cast): Use above new functions to convert
- constant expressions.
- * typeck.c (copy_novelty), ch-tree.h: New function.
- * chill.texi: Update for new constant conversion semantics.
-
-Tue Jan 25 14:00:02 1994 Wilfried Moser (fs_moser at rcsw1j)
-
- * ch-decl.c (init_decl_processing): Add new builtin function
- DESCR. Add call to build_chill_descr_type.
- * ch-expr.c: Add function build_chill_descr_type, which actually
- 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).
- * ch-expr.ch (build_generalized_call): Add processing of DESCR
- builtin.
- * ch-grant.c: Add code to avoid producing of unnecessary grant
- files.
- * ch-tree.h: Add enum for builtin function DESCR. Add prototype
- for build_chill_descr.
- * ch-inout.c (build_chill_io_list_type): Change generation of the
- type passed to runtime library according to the new definition.
- * ch-inout.c (build_chill_writetext): Change processing of format
- string that a character constant is allowed as format string if
- compiler gets called with -fold-strings option.
- * ch-inout.c (build_chill_writetext): Change processing of
- integers in case NEWMODE x = INT.
- * ch-inout.c (build_chill_writetext): Remove processing of ranges.
- * ch-inout.c (build_chill_writetext): Add processing of
- bitstrings.
-
-Tue Jan 25 09:07:10 1994 Mike Stump (mrs@cygnus.com)
-
- * Makefile.in (all, OBSTACK): Build interesting things be default,
- and make sure we include OBSTACK.
-
-Sun Jan 23 12:35:38 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * grant.c (decode_constant): Handle RANGE_EXPR.
- Simplify handling of CONSTRUCTOR.
-
- * typeck.c (build_chill_slice): Use build_chill_array_ref_1,
- not build_chill_array_ref.
-
-Sat Jan 22 16:23:30 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * parse.y: Generate a RANGE_EXPR (instead of a confusing
- TREE_LIST) to indicate a range in case and tuple lables.
- * actions.c (chill_handle_case_label), convert.c (digest_constructor):
- Update accordingly to handle these RANGE_EXPRs.
- * satisfy.c (satisfy): Don't call finish_chill_binary_op
- for a RANGE_EXPR.
-
-Fri Jan 21 15:39:36 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * expr.c (force_addr_of): New function, to encapsulate passing
- by reference a powerset or string to a library function.
- * expr.c (build_min_max, build_set_expr): Use force_addr_of.
- * expr.c (chill_expand_expr case CONCAT_EXPR): Fix passing of
- rtl modes. (Old code fails on 64-bit Alpha.)
- * expr.c (build_chill_function_call): Remove bogues check for
- READonly variable passed as parameter.
- * expr.c (build_set_expr): Merge common code.
- * parse.y (string repetition): Fix logic for 2-pass scheme.
- * expr.c (finish_chill_binary_op), grant.c (decode_constant),
- satisfy.c (satisfy): Handle REPLICATE_EXPR.
- * chill.texi: Fix typo.
-
-Mon Jan 17 13:55:48 1994 Jim Wilson (wilson@sphagnum.cygnus.com)
-
- * Makefile.in (INCLUDE): Add -I$(srcdir)/ch so that toplevel
- tree.c can find ch-tree.h.
-
-Sat Jan 15 15:34:11 1994 Mike Stump (mrs@rtl.cygnus.com)
-
- * configure: Fix problem so that building in a separate directory
- works.
-
-Sat Jan 15 09:51:02 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in: Recurse down into runtime to
- create its Makefile, and to clean up.
- * configure: Recurse into runtime to make its Makefile.
-
-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
- gcc/configure.
- * addtest (update_ChangeLog): Fix insertion
- of the '*'.
- * regression.sh: Add global option to suppress results of
- proprietary tests.
- * 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,
- lang.c, lex.h, lex.l, loop.c, parse.y,
- satisfy.c, tasking.c, typeck.c: Latest
- versions from the repository.
-
-Fri Jan 14 12:28:39 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * addtest: Fix insertion of line into ChangeLog.
- * configure: Add a script.
- * Makefile.in: Hack from ../Makefile.in
- * actions.c, convert.c, decl.c, expr.c, grant.c, inout.c,
- * lex.l, loop.c, parse.y, satisfy.c, typeck.c: Latest sources.
-
-Mon Jan 10 11:38:07 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * build-release: Rewrite for easier tailoring.
-
-Wed Jan 5 08:38:21 1994 Bill Cox (bill@cygnus.com)
-
- * actions.c, convert.c, decl.c, except.c, expr.c,
- inout.c, loop.c, parse.y, satisfy.c, typeck.c:
- Current versions from devo/gcc.
-
-Wed Dec 29 14:07:10 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * addtest: Don't add comment headers to source or .dat files
- if they're already present.
-
-Wed Dec 29 13:15:11 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * mktg_leads: New file.
- * regression.sh, regression.awk2: Updated status report scripts.
- * addtest: New script to add a test to a directory.
- * ch_makedepend: Add full path to ch_decomment.
- * actions.c, convert.c, decl.c, expr.c, grant.c, inout.c,
- lex.l, loop.c, parse.y, satisfy.c, tasking.c, typeck.c:
- Updated copies of actual sources.
- * chill.brochure, chill.texi: Update with current status.
- * cpy.sh: Script for updating copies of sources.
- * chill.patches: New script for creating a patch release.
- Pretty rough.
-
-Wed Dec 8 09:35:54 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * build-release: Delete lots of unused regression-testing cruft.
- * chill.brochure: Initial draft of marketing brochure.
- * chill.patches: Preliminary script for building patch sets
- for CHILL.
- * tcov.awk, tcov.el, tcov.sh: New files. Script, tools for
- building a tcov report on the CHILL compiler.
-
-Sun Nov 21 08:34:33 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * 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
- Makefiles.
- * gperf, hash.h: New files about lexer tokens.
- * regression.sh: Delete notes justifying non-summing
- report rows.
- * regression.awk2: Report PRMS status when there are
- missing test results.
- * regression.awk3: Add #! line, so this can be used separately.
- * Other files: latest versions copied from devo/gcc.
-
-Sat Oct 30 15:02:24 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * chill.texi: Add new node about conversions.
-
-Fri Oct 29 14:17:31 1993 Bill Cox (bill@cygnus.com)
-
- * chill.regress.cron: Change path to executable, enable PR report.
- * regression.awk2: Add terminating periods to messages.
- * regression.sh: Change path to testsuites. Add disclaimer at end
- of report. Print explicit lists of resolved/unresolved PRs.
-
-Thu Oct 28 09:22:20 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * regression.sh: More PR-related status is printed.
-
-Thu Oct 21 19:24:02 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * regression.sh: Simplify the paths, make the source
- and test files accessed separately from the executables.
-
-Wed Oct 20 16:35:30 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * regression.sh: Finally fix the file-delete problem.
- Thanks, Jeffrey!
- * build-release: Make more verbose, fix comment.
-
-Mon Oct 18 00:21:24 1993 Bill Cox (bill@cygnus.com)
-
- * regression.sh: Build linker if -U option. Put stderr
- into make.log files, too. Also report on Z.200 examples.
- * regression.awk3: New script to help build release note.
-
-Fri Oct 15 16:33:54 1993 Bill Cox (bill@cygnus.com)
-
- * regression.sh, regression.prpt: Output PR status only
- conditionally. Add command-line flag for CVS updates.
-
-Thu Oct 14 07:53:59 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * regression.sh: Count PRs accurately.
- * Makefile.in: New file.
-
-Sat Oct 9 19:46:58 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * regression.awk?: Add program fragments for
- report of PRMS/test exceptions.
- * regression.sh: Add options and PRMS reports.
-
-Fri Oct 8 06:44:41 1993 Bill Cox (bill@rtl.cygnus.com)
-
- Create chill frontend directory, populate it.
- Later, the chill-specific frontend files will be moved here.
-
- * chill: Moved here from gcc directory.
- * chill.regress.cron: Add crontab file for regression tests.
- * regression.sh: Add regression test control script.
-
-#
-# What follows is a copy of the former devo/gcc/ChangeLog.Chill file,
-#
-Sat Jan 15 14:54:07 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-*.*: All of these files are now moved to the ch subdirectory.
- Further update changes should be recorded in the ch/ChangeLog file.
-
-Fri Jan 14 21:09:44 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * c-typeck.c, ch-actions.c, ch-convert.c, ch-decl.c, ch-except.c,
- ch-satisfy.c, ch-typeck.c: Undo all of initializer-related changes
- that Tiemann did earlier this month.
- * c-typeck.c (really_start_incremental_init): Save
- constructor_elements and (old value of) constructor_stack
- on constructor_stack, to allow for nested initializers.
- * ch-convert.c (digest_constructor): If we need a varying
- array, and have a constructor (for the array elements),
- make sure to use convert so that the constructor gets
- wrapped in an implicit record constructor.
- * ch-decl.c (do_decl): If there is no initializer for a
- varying array (or bitstring), create default constructor.
-
- * ch-expr.c (build_chill_lower): Fix thinko for ARRAY_TYPE.
- * ch-satisfy.c (safe_satisfy_decl): Make sure that we make
- original decl to check if we need to make an rtl.
-
- * ch-typeck.c (build_chill_array_ref_1), ch-tree.h: New function
- which does the actual work for build_chill_array_ref (which
- now just loops over an argument list).
- * ch-actions.c, ch-expr.c, ch-inout.c: Use build_chill_array_ref_1
- instead of build_chill_array_ref where appropriate.
- * ch-actions.c, ch-expr.c, ch-typeck.c: Make operand 1 of a
- VARY_ARRAY_REF is a single index, not an index list.
-
- * ch-grant.c (__init_list): Renamed to _ch_init_list, to
- avoid a conflict on the Alpha.
-
-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
- whitespace.
- (convert_number): Allow for uppercase hex digits.
-
-Tue Jan 11 19:43:55 1994 Bill Cox (bill@cygnus.com)
-
- * ch-actions.c (lookup_and_handle_exit): Correct
- conditional so error messages are output.
- * ch-expr.c (build_chill_addr_expr): Add error message.
- * ch-grant.c (chill_finish_module_code): Avoid abort by
- giving the init_list constructor a type.
- (chill_finish_compile): Delete unused code.
- * ch-lex.l: Make most build_init_2 calls from the
- permanent obstack, so that enumeration values endure.
- * ch-loop.c (build_chill_iterator): Add several error
- messages.
-
-Tue Jan 11 12:31:55 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-expr.c, ch-typeck.c: Rewrite some instances of
- 'struct ch_class class = chill_expr_class (expr);' to
- 'struct ch_class class; class = chill_expr_class (expr);'
- to work around a bug in /usr/ucb/cc on SunOS4.
-
-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
- expand_packed_set call.
- * ch-grant.c: Move extern declaration to ch-tree.h.
- * ch-lex.l (convert_bitstring): Also output the bitstring
- if yydebug is set.
- * ch-tree.h: Add prototype.
-
-Mon Jan 10 11:29:41 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-inout.c: Fix comment.
- * ch-tree.h: Add prototype.
-
-Sun Jan 9 18:22:22 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-tree.h (chill_expr_class): New prototype.
- * ch-expr.c (build_chill_pred_or_succ, build_chill_unary_op):
- Convert result to correct class.
- * ch-expr.c (build_chill_repetition_op): Preserve CH_DERIVED_FLAG.
- Also, fix some bugs for bitstrings (with ranges).
-
- (Patches from Tiemann.)
- * ch-convert.c (convert1): New function to force TREE_TYPE.
- (convert): Use convert1 where appropriate.
- * ch-typeck.c: Formatting change.
- * ch-parse.y (build_chill_constructor): Fix thinko.
-
- * ch-expr.c (varying_to_slice): If array is not referable,
- call save_expr on it, rather than stabilize_reference.
- * ch-satisfy.c (safe_satify_decl, for CONST_DECL):
- Don't force value to value class if mode is not explicitly
- specified. Also, make sure convert etc is only done once.
-
-Sat Jan 8 16:37:10 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-decl.c (build_chill_function_type): Don't call
- build_function_type, because it does hash canonicalization,
- which once in a while looses badly.
- * tree.c (build_function_type): Remove no-longer-needed test
- for doing_chill_thang.
-
- * ch-tree.h (CH_DERIVED_FLAG): New flag.
- * ch-tree.h (enum ch_expr_class): Renamed to ch_class_kind.
- (struct ch_class): New type, used to represent a Chill
- 'class' as a first-class value.
- (CH_ROOT_RESULTING_MODE): Replaced by CH_ROOT_RESULTING_CLASS.
- * ch-typeck.c (chill_expr_class): Change interface to return
- a struct ch_class.
- (chill_compatible, chill_compatible_classes): Update accordingly.
- (chill_root_resulting_mode): Replace by ....
- (chill_root_resulting_class): ... new function.
- * ch-convert.c (convert_to_class): New function.
- * ch-decl.c (layout_enum): Mark enum values with CH_DERIVED_FLAG.
- * ch-lex.l (string_or_int): Rename to string_or_char.
- * ch-lex.l (build_chill_string, string_or_char, convert_bitstring,
- convert_float, convert_number): Set CH_DERIVED_FLAG for literals.
- * ch-expr.c (finish_chill_binary_op): Use convert_to_class.
- * ch-satisfy.c (safe_satisfy_decl): For CONST_DECL, make sure
- DECL_INITIAL gets set to result of convert.
- Also, clear CH_DERIVED_FLAG for SYN value.
- * expr.c (store_constructor): If a [power]set is exactly one
- word long, use single-word move.
-
-Sat Jan 8 08:38:29 1994 Michael Tiemann (tiemann@blues.cygnus.com)
-
- * c-typeck.c (chill_initializer_constant_valid_p): Fix typo.
-
-Wed Jan 5 05:18:46 1994 Michael Tiemann (tiemann@blues.cygnus.com)
-
- * ch-typeck.c (build_chill_slice_with_length): Test that ARRAY is of
- ARRAY_TYPE before assuming so. Also, subtract 1 from LENGTH in
- computation of SLICE_END.
-
- * ch-typeck.c (chill_location): Treat CONSTRUCTORs like STRING_CSTs.
-
- * ch-expr.c (build_chill_indirect_ref): Handle MODE == NULL_TREE.
-
- * ch-expr.c (fold_set_expr): Handle OP1 == NULL_TREE (which happens
- for unary set operations).
-
- * ch-expr.c (build_chill_array_expr): Take new argument FORCE. All
- callers changed. All callers changed.
-
- * ch-convert.c (digest_structure_tuple): Handle SELECTED_VARIANT
- being NULL_TREE until we've started walking the list of values via
- the loop over VARIANTs.
-
- * ch-parse.y (build_chill_constructor): If we see an IDENTIFIER_NODE,
- treat it as an enum value (and hence constant). Also, only set
- TREE_STATIC if the constructor is indeed constant.
- * c-typeck.c (chill_initializer_constant_valid_p): If we see a
- VAR_DECL, test the TREE_CONSTANT field of the DECL_INITIAL, don't
- recurse on the DECL_INITIAL.
-
-Wed Jan 5 01:24:50 1994 Bill Cox (bill@cygnus.com)
-
- * Makefile.in: Add CHILL to LANGUAGES variable.
- * ch-actions.c (check_range): Call build_binary_op instead of
- fold, build to get the common types chosen.
- (cond_range_exception, cond_overflow_exception,
- cond_type_range_exception): Delete, obsolete.
- (chill_convert_for_assignment): Enable this, get particular
- about when to generate rangecheck code.
- * ch-expr.c (build_chill_function_call): Sketch in where to
- perform chill_convert_for_assignment on actual parameters.
- (build_chill_addr_expr): Correct compiler warning.
- * ch-loop.c (build_chill_iterator): Add runtime check for
- negative loop step expression.
- * ch-tree.h: Add prototype.
- * ch-typeck.c (chill_max_vary_array_ref): Correct misunderstanding.
- A varying array's length field counts the NUMBER of active array
- array entries, not the byte-length of them.
-
-Tue Jan 4 17:57:39 1994 Michael Tiemann (tiemann@blues.cygnus.com)
-
- * ch-decl.c (do_decl): Call `suspend_momenary' if the
- converted constructor must live on the permanent_obstack.
- * ch-convert.c (convert): When building a new SET_TYPE
- constructor, re-set the TREE_CONSTANT and TREE_STATIC bits.
- * c-typeck.c (chill_initializer_constant_valid_p): Handle VAR_DECLs.
-
- * ch-typeck.c (chill_location): CONSTRUCTORS that are static
- are locations.
- * ch-satisfy.c (safe_satisfy_decl): Convert DECL_INITIAL of CONST_DECL
- on permanent_obstack if necessary.
-
- * ch-convert.c (digest_structure_tuple): When building a new SET_TYPE
- constructor, re-set the TREE_CONSTANT and TREE_STATIC bits.
-
- * ch-decl.c (do_decl): Fix handling of REFERENCE_TYPEs which
- the patch below helped to mess up.
-
- * ch-expr.c (build_chill_arrow_expr): Call `mark_addressable'.
- (build_chill_addr_expr): Take new argument ERRORMSG.
- All callers changed. Also, call `build_chill_addr_expr' where
- we used to call `build1 (ADDR_EXPR, ptr_type_node, ...)' since
- that now calls `mark_addressable' automagically.
-
- * ch-decl.c (do_decl): Keep OPT_INIT in DECL_INITIAL if possible.
- This is needed because variables may appear in initialization
- statements, and their DECL_INITIALs are their values at
- initialization time.
- * ch-convert.c (digest_structure_tuple,digest_constructor): Changed
- to handle VAR_DECLs as initializers.
-
- * ch-convert.c (digest_structure_tuple): Copy elements of INITS so
- they aren't destroyed for later use.
-
-Tue Jan 4 15:25:30 1994 Bill Cox (bill@cygnus.com)
-
- * ch-expr.c (chill_expand_expr): Correct check-range lo_limit
- parameter for varying_array_ref calculations.
- (build_chill_indirect_ref): Prevent seg fault due to syntax error.
- * ch-typeck.c (build_chill_slice_with_range): Correct issuance
- of bogus error in votrics.
- (build_chill_slice_with_length): Change for debug tracability.
-
-Tue Jan 4 02:43:37 1994 Michael Tiemann (tiemann@blues.cygnus.com)
-
- * ch-convert.c (digest_structure_tuple): Fix phasing problem in
- handling variant record initializers.
- (various places): Change `pop_init_level' calls to match
- `push_init_level' wrt implicit variable.
-
- * ch-typeck.c (build_chill_slice): Convert the dynamic max index to
- `integer_type_node' before using it in comparisons. FIXME: should
- this be done in `chill_max_vary_array_index' by default?
-
-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,
- 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.
- * ch-typeck.c (build_chill_slice_with_length,
- build_chill_slice_with_range): Add lots of compile-time
- parameter range checking.
-
-Mon Jan 3 21:49:04 1994 Michael Tiemann (tiemann@blues.cygnus.com)
-
- * ch-convert.c (digest_structure_tuple): Call `push_init_level' with
- implicit==0 everywhere, not 1.
- (digest_constructor): Ditto.
-
- * ch-actions.c (check_range): Permit limits to be NULL_TREE.
- Also, hack out some dead code.
- * ch-typeck.c (build_chill_slice): Check varying and non-varying
- slice constructs for range failures.
- (build_chill_slice_with_range): Reindented, but not changed.
-
- * ch-typeck.c (chill_max_vary_array_index): New function.
- * ch-expr.c (chill_expand_expr): Call it.
-
- * ch-decl.c (var_data_id, var_length_id): New variables.
- (init_decl_processing): Initialize them. All calls to
- get_identifier (VAR_LENGTH or VAR_DATA) are now replaced
- by references to these variables. This simplifies the code
- w/o obscuring anything.
-
-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-decl.c (init_decl_processing): Add filename, linenumber
- parameters to setbitpowerset prototype.
- * ch-expr.c (build_chill_function_call): Error when passing a
- READonly location as a LOC or INOUT parameter.
- * ch-parse.y (mode): Correct code marking type as readonly.
-
-Mon Jan 3 19:03:55 1994 Michael Tiemann (tiemann@blues.cygnus.com)
-
- * ch-actions.c (chill_expand_assignment): Disable code that defeats
- building varying array references.
- * ch-expr.c (chill_expand_expr): Add rangecheck code to
- VARY_ARRAY_REF case.
- * ch-typeck.c (build_chill_array_ref): Don't call an `expand_'
- function (in this case, `validate_varying_array_ref') when we're
- doing a `build_' operation.
-
- * 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.
- * ch-convert.c (digest_structure_tuple): Switch to permanent_obstack
- if we need to build a CONSTRUCTOR for a SET_TYPE initializer.
- (digest_structure_tuple): If TREE_VALUE (VALUE) == NULL_TREE, don't
- call CH_COMPATIBLE or try to convert it to TREE_TYPE (FIELD). This
- can happen when constructors are output incrementally.
- * c-typeck.c (initializer_constant_valid_p): Handle SET_TYPEs.
- * varasm.c (output_constant): Handle NOP_EXPRs in SET_TYPE
- CONSTRUCTORS.
-
-Sun Jan 2 08:17:09 1994 Michael Tiemann (tiemann@blues.cygnus.com)
-
- * ch-convert (digest_structure_tuple): Handle SET_TYPEs. Also, call
- `convert' so we can handle INSTANCE types (and other anomolies)
- correctly.
-
- * ch-convert.c (digest_structure_tuple): Fixed variant
- structure initialization. Also fixed a typo (TYPE_NAME
- was being used on a FIELD_DECL instead of DECL_NAME).
- * c-typeck.c (initializer_constant_valid_p): Pass missing
- ENDTYPE argument on recursive call.
- (set_init_field): New function, needed by ch-convert.c change above.
-
- * ch-decl.c (layout_chill_variants): Added a FIXME next to an
- almost certain typo.
-
- * ch-expr.c (build_chill_arrow_expr): Call `build1' and set
- TREE_CONSTANT for static references.
- * ch-except.c (chill_start_on): Change calls to
- `build_unary_op' (which is C-specific) to `build_chill_arrow_expr'
- which has CHILL semantics.
- * ch-convert.c (convert): Ditto (albeit in some disabled code).
-
-Sat Jan 1 21:26:43 1994 Michael Tiemann (tiemann@blues.cygnus.com)
-
- * ch-satisfy.c (safe_satisfy_decl): Reorder conditional test of
- TREE_CODE of DECL in case it's altered by actions in the switch.
-
- * ch-satisfy.c (satisfy): Undo abort added earlier on 1 Jan. CVS log
- mentions where to find code that triggers this case.
-
- * ch-actions.c (adjust_parm_or_field): Handle CONSTRUCTORS here as
- well.
-
- * ch-convert.c (digest_structure_tuple): Push to permanent_obstack if
- we're dealing with a CONSTRUCTOR that is TREE_PERMANENT.
- (digest_constructor): Ditto.
-
-Sat Jan 1 10:29:19 1994 Michael Tiemann (tiemann@blues.cygnus.com)
-
- * ch-parse.y (handleraction,resultaction,assignaction,call): Modified
- so that CONSTRUCTORS are properly handled before being used.
-
- * ch-convert.c (chill_start_init): New function. All callers to
- `start_init' changed to call this function instead.
- (digest_struct_tuple): Defend against initialization machinery
- mucking with CONSTRUCTOR_ELTS of CONSTRUCTORs by grokking both
- IDENTIFIER_NODEs and FIELD_DECLs in the TREE_PURPOSE slots. This is
- needed because CONSTRUCTORS stored in DECL_INITIALs of CONST_DECLs
- can be refered to throughout the compilation unit. Also remove an
- extraneous call to `process_init_element' erroneously added to the
- variant record sub-loop.
- (digest_constructor): Propagate TREE_CONSTANT and TREE_STATIC to
- CONSTRUCTORS of SET_TYPE.
- * ch-parse.y (build_chill_constructor): Refix typo. Also set
- TREE_STATIC if at top level.
-
- * ch-expr.c (build_chill_arrow_ref): Fix yet another case of
- 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
- field initializations so that the compiler can deduce what variant
- initializations to assume.
-
- * ch-satisfy (safe_satisfy_decl): Turn on initialization machinery
- when we push into a scope that has a DECL with a CONSTRUCTOR as its
- DECL_INIT.
-
- * ch-parse.y (build_chill_constructor): Change the name of the
- parameter to something more meaningful. Fix typo. Also, handle case
- where element is an untyped CONSTRUCTOR.
-
- * ch-except.c (finish_handler_array): Set TREE_CONSTANT on
- constant ADDR_EXPRs.
- (chill_start_on): Call `build_unary_op' to set TREE_CONSTANT
- on JBUF_REF (instead of calling `build1' which does not).
-
- * ch-convert.c (convert): Test LENGTH instead of NEEDED_PADDING.
-
- * ch-typeck.c (chill_expand_tuple): Deleted.
- * ch-parse.y (primval rule): Don't call `chill_expand_tuple';
- instead, use initialization machinery for CONSTRUCTORS that
- come through here.
- * ch-except.c (finish_handler_array): Ditto for CONSTRUCTORS
- that are created here.
- * ch-satisfy (satisfy): Abort in case we would have called
- chill_expand_tuple. FIXME: some other code is needed here,
- but I don't know what yet.
-
- * ch-parse.y (build_chill_constructor): New function to
- propagate TREE_CONSTANT bits to CONSTRUCTORS.
- (untyped_expr rule): Use it.
- (primval rule): Use it.
-
- * ch-decl.c (do_decl): Call `finish_init'.
- * ch-convert.c (convert): If we spontaneously create a CONSTRUCTOR in
- this function, make sure the initialization machinery is set up.
-
- * ch-convert.c (digest_structure_tuple, digest_constructor): Add
- missing prototypes.
-
-Fri Dec 31 11:31:01 1993 Michael Tiemann (tiemann@blues.cygnus.com)
-
- * ch-grant.c (chill_finish_module_code): Mark ADDR_EXPR built by hand
- as being TREE_CONSTANT. Otherwise it gets bounded by the initializer
- code.
-
- * ch-decl.c (do_decl): Change in CONSTRUCTOR handling due to...
- * ch-convert.c (digest_structure_tuple,digest_constructor): Mostly
- rewritten to work with GCC's initialization code. The basic change
- was to keep the initializers in sync with the initialization
- machinery that `process_init_element' imposes. Both of these
- functions now return `void'.
- * ch-convert.c (convert): Changed calls to `digest_...' functions.
-
- FIXME: the code handling UNION_TYPE (and variant records) has not
- been tested yet.
-
-Fri Dec 31 15:32:56 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-lex.l (convert_number): Output the converted number if
- yydebug is enabled.
- * ch-parse.y (signaldef): Set ignore_exprs correctly for a
- SIGNAL declaration.
-
-Fri Dec 31 13:17:48 1993 Bill Cox (bill@cygnus.com)
-
- * ch-parse.y: Cleanup handling of RETURN actions, to distinguish
- a RETURN without a value (which cannot have an exception
- handler) from a RETURN with a value (which can). Eliminate
- some shift/reduce and reduce/reduce conflicts.
-
-Thu Dec 30 17:42:32 1993 Michael Tiemann (tiemann@blues.cygnus.com)
-
- * ch-inout.c (build_chill_writetext): Deal with 2 cases where
- types returned from `type_for_size' are not expected. FIXME.
- * ch-decl.c (init_decl_processing): Mark `char_type_node' unsigned.
- This is required when range checking is enabled.
-
-Thu Dec 30 14:28:25 1993 Bill Cox (bill@rtl.cygnus.com)
-
- DELAY CASE works now.
- * ch-decl.c (init_decl_processing): Move rest of tasking-related
- initialization into tasking_init().
- * ch-parse.y (delaycaseaction): Pervasive additions/corrections.
- (optsetprio): New non-terminal.
- * ch-tasking.c (get_task_name): Delete, obsolete.
- (build_instance_type): build pointer to instance type also.
- (build_receive_case_start): Cleanup per -Wall messages.
- (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,
- correct its functioning.
- (build_delay_case_end): Correct the code.
- (tasking_init): Lots of tasking-related code moved here from
- init_decl_processing.
- * ch-tree.h: Update, add prototypes.
-
-Wed Dec 29 10:13:10 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-expr.c (build_chill_indirect_ref): Revert change which
- failed full regression testing.
- * ch-lex.l (name_type_signal): Add debug output.
- * ch-parse.y (structured_variable): Add a debug variable.
-
-Wed Dec 29 02:05:51 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-decl.c (get_next_decl): Revert change which failed full
- regression testing.
-
-Tue Dec 28 18:20:14 1993 Bill Cox (bill@rtl.cygnus.com)
-
- DELAY actions work now.
- * ch-decl.c: Correct spelling in comments.
- (get_next_decl): NULL out the decl's TREE_CHAIN before returning
- it, to prevent accidental access to the remembered_decls.
- (init_decl_processing): Add wait_event to runtime functions.
- * ch-expr.c (build_chill_indirect_ref): Prevent a syntax error from
- becoming a seg fault.
- * ch-grant.c: Correct a comment.
- * ch-loop.c: Delete/correct comments.
- * ch-parse.y (delaycaseaction): Add push/poplevel calls. Turn 'sorry'
- into rough draft of actual code.
- (delayaction): Don't make a new scope here, use get_unique_identifier
- instead.
- (locdec): process event decls here, too.
- (mode): Add code to forbid READonly EVENT and BUFFER decls. Delete
- code which required EVENTs and BUFFERs to be declared at global scope.
- (simple_name_string): Add an EVENTNAME.
- * ch-satisfy.c (safe_satisfy_decl): Prevent a syntax error from
- becoming a seg fault.
- * ch-tasking.c (tasking_setup): Add the event queue's max. length
- as the 'entry_point' parameter in the list.
- (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_label, build_delay_action,
- process_event_decls): Added functions.
- * ch-typeck.c (chill_similar): Allow all integers of differing
- precisions to be similar.
-
-Thu Dec 23 18:00:40 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * gcc.c (CHILL SPECS): Delete references to -M -MM -MD -MMD
- options. Delete C-specific defines. Disable piping from
- pre-processor to cc1chill (even if -pipe is specified), since cc1chill
- rewinds its input for its second pass. Piping still works
- from cc1chill to as.
-
-Thu Dec 23 12:31:55 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-tasking.c (decl_tasking_code_variable): Assure that the
- tasking_code variable is allocated on the permanent obstack.
- (tasking_setup): Lots of changes - handle EVENT/BUFFER max.
- queue length (passed as the entry_point parameter).
- Other changes to variable names to increase 'self-documentation'
- the only kind GNU CHILL will get, for a while..
-
-Wed Dec 22 10:46:31 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-decl.c (do_seize): Delete - it's unused. Fix comments.
- * ch-loop.c (build_chill_iterator): Convert BY expression
- so loop involving a SET works. Additional errors generated
- for numbered SET expression as start or end expression.
- * ch-tree.h: Prototypes for future DELAY functions.
- * ch-typeck.c: Standard indentation.
-
-Tue Dec 21 15:30:57 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-actions.c (build_cause_exception): New function.
- (expand_cause_exception): Re-write to use build_cause_exception.
- (check_expression, check_range): New functions.
- (chill_convert_for_assignment): New function.
- * ch-expr.c (build_chill_pred_or_succ): New function.
- (build_chill_succ, build_chill_pred): Removed.
- (build_generalized_call): Use build_chill_pred_or_succ.
- * ch-lex.h, ch-lex.l (init_lex): Add RID_OVERFLOW and RID_RANGEFAIL.
- * ch-lex.l (init_lex): Use new macro to make more terse.
- * ch-typeck.c (chill_equivalent): New function.
- Also check that ranges have the same bounds.
- * ch-typeck.c (my_build_array_ref): Add optional range-checking.
- * ch-typeck.c (chill_location): Handle COMPOUND_EXPR properly.
- Return 2 if also a referable.
- * ch-typeck.c (chill_referable): Re-define to use chill_location.
- * ch-tree.h (CH_EQUIVALENT): Re-defined to use chill_equivalent.
-
- * dbxout.c (dbxout_type): Output the type attribute "@S;" to
- distinguish a string from a char array, and to distinguish a
- bitstring from regulat (power)set. (Needed for Chill.)
- * dbxout.c (dbxout_type): Only check for baseclasses in
- type.binfo is a vector. (It is used in Chill for tagged unions.)
-
-Fri Dec 17 09:56:07 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-actions.c, ch-convert.c, ch-decl.c, ch-expr.c,
- ch-grant.c, ch-inout.c, ch-loop.c, ch-parse.y,
- ch-satisfy.c, ch-tasking.c, ch-tree.h, ch-typeck.c:
- Fix -Wall problems.
- * ch-actions.c (chill_expand_assignment): Error if assigning
- a value to a BUFFER or EVENT variable.
- * ch-expr.c (invalid_left_operand): Delete, unused.
- * ch-grant.c (tasking_setup): Call build_enum_tables.
- * ch-inout.c (get_final_type_and_range, build_enum_tables,):
- New functions.
- (build_chill_writetext): Lots of changes to support other
- basic CHILL data types.
- * ch-loop.c (build_chill_iterator): Lots of new code to check
- the expressions in a STEP loop.
- * ch-tasking.c (rc_state): Add fields to flag SIGNAL and BUFFER
- names in receivecasealternative. Generate error messages
- if they're mixed in the same receive case.
- (process_buffer_decl): Renamed from build_buffer_decl.
- * ch-tree.h: Fix prototypes.
- * ch-typeck.c (smash_dummy_type): Handle all four kinds of LANG_TYPE
- correctly. Thanks Per!
-
-Wed Dec 15 15:05:56 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-decl.c (push_scope_decls): Re-arrange some more, so
- that normal SEIZES (without ALL) are handled before SEIZE ALL.
-
-Wed Dec 15 13:01:22 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-loop.c (declare_temps): Calculate end-of-array pointer
- using correct type (NOT chill_integer_type).
- (begin_chill_loop): Build loop-bypass expression in the
- type of the start expression, not in the unsigned type.
-
-Tue Dec 14 15:41:32 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-decl.c (push_scope_decls): Re-arrange so that normal
- (non-seize) declarations are proclaim_decl'd *before* we
- handle the ALIAS_DECLs for seizes. The advantage is
- that we can now test for (an approximation) to the
- 'seizeable' concept, thus avoiding duplicate definitions
- when a module has both GRANTs and SEIZE ALL.
-
- * ch-expr.c (build_chill_arrow_expr): No longer re-write
- addr-of-conversion to pointer-conversion-of-addr.
- * ch-expr.c (build_chill_addr_expr): Re-write to just use
- build_chill_arrow_expr.
-
-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-tree.h (chill_root_resulting_mode): Fix typo (missing '_').
-
- * ch-expr.c (finish_chill_binary_op): Use CH_ROOT_RESULTING_MODE
- macro (which works on expressions), rather than CH_RESULTING_MODE
- (which works on modes, and isn't quite correct).
- * ch-tree.h (CH_IS_BOUND_REFERENCE_MODE): New macro.
- * ch-typeck.c (chill_read_compatible, chill_compatible):
- Use the new macro, which handles NEWMODEs of PTR correctly.
- * ch-typeck.c (chill_similar): Return 1 rather than 0 for
- dynamic-length array (and string) types (e.g. slices).
- * ch-typeck.c (chill_root_mode): If the mode has a Novelty,
- just return it as is. (This is still not 100% correct for
- NEWMODE of RANGEs, but is close enough.)
-
-Mon Dec 13 16:27:06 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-parse.y (locdec): Avoid passing IDENTIFIER_NODEs to
- build_buffer_decl, which then seg faults.
- * ch-tasking.c (build_buffer_descriptor): Move declaration
- of bufdecl closer to its use.
-
-Mon Dec 13 14:57:55 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-actions.c (chill_expand_result): Use expand_expr_stmt
- to avoid C-specific conversions.
- * ch-lex.l (name_type_signal): Rewrite to support BUFFERs and EVENTs.
- * ch-parse.y (sendaction): Delete unused statement, use the 'name'
- variable.
- * ch-tasking.c: Use expand_expr_stmt to avoid C-specific
- conversions.
- (build_buffer_decl): Save the tasking_code_variable's decl
- in the buffer decl tree.
- (build_buffer_descriptor): Real, working version.
-
-Mon Dec 13 03:13:36 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-decl.c (print_lang_identifier): Delete code
- to print buffer size - it's no longer kept here.
- * ch-parse.y (expand_send_buffer): Renamed from
- build_send_buffer.
- (locdec): Enable building of a buffer decl.
- (optresultspec, optresultattr): Add optional
- result attributes such as LOC. Semantics
- 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,
- job of classifying expressions. Thanks, Per.
-
-Mon Dec 13 00:59:30 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-typeck.c (chill_expr_class): Return CH_DERIVED_CLASS
- for bitstring constants.
- * ch-typeck.c (chill_novelty): The novelty of an (unnamed)
- range mode is that of its parent mode; the novelty of READ M
- is that of M.
-
-Sat Dec 11 15:14:41 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-expr.c (varying_to_slice): Call stabilize_reference
- rather than save_expr.
- * ch-typeck.c (build_chill_slice): Don't emit warning
- if array is a SAVE_EXPR (it is effectively referable).
- * ch-typeck.c (chill_root_resulting_mode): Handle
- correctly the case that one operand is DERIVED and one is VALUE.
-
-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.
- * 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.
-
-Wed Dec 8 18:02:26 1993 Bill Cox (bill@rtl.cygnus.com)
-
- Parse and grant BUFFER modes.
- * ch-grant.c (raw_decode_mode): Format BUFFER, EVENT modes.
- Moved from decode_decl.
- * ch-parse.y: Fix several sorry() messages.
- * ch-tasking.c (build_buffer_type): Use a LANG_TYPE to pass the
- info.
-
-Wed Dec 8 12:59:54 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-actions.c (chill_expand_assignment): In a multiple
- assignment, check that all the targets are equivalent.
-
- * ch-typeck.c (chill_l_equivalent, CH_L_EQUIVALENT): New function
- and macro to (partially) implement the relation l-equivalent.
- * ch-typeck.c (chill_read_compatible): Implement at least
- initial check of read-only-ness.
- * ch-typeck.c (build_readonly_type): Fix thinkos.
-
-Wed Dec 8 09:11:46 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-decl.c (pop_module): Only warn about duplicate grant
- statements if they inhabit different files, by examining
- inode numbers. Only report compatibility problems in pass 1.
- * ch-lex.l (chill_same_grant_file): New function to support the
- above test.
-
-Tue Dec 7 17:10:36 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-decl.c (start_chill_function): Handle attributes in pass 1,
- rather than in pass 2. (It seems to make more sense that way.)
- * ch-parse.y (procedureattr): Build attribute list if pass != 2.
-
- * ch-parse.y (mode): Don't call build_readonly_type in pass 2.
-
-Mon Dec 6 14:35:31 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- This implements NOVELTY and READONLY checking.
- * ch-tree.def: Added comment about use of LANG_TYPE.
- * ch-typeck.c (build_readonly_type, smash_dummy_type): New functions.
- * ch-tree.h: New prototypes.
- * ch-decl.c (push_modedef): If newmode, lazily "copy" the given mode
- immediately (even if it's just a type name), using a LANG_TYPE.
- * ch-parse.y (mode): Call build_readonly_type to handle READ.
- * ch-decl.c (find_implied_types), ch-grant.c (raw_decode_mode),
- ch-satisfy.c (satisfy): Handle a LANG_TYPE.
- * ch-decl.c: Remove chill_modes_equiv and other unused junk.
- * ch-satisfy.c (safe_satisfy_decl/CONST_DECL): Better
- mode compatibility checking for SYN declarations.
-
- * ch-typeck.c (chill_similar): Be more general when checking set
- modes for similarity - specifically support calling chill_similar
- BEFORE the modes have been satisfied (needed by proclaim_decl).
- * ch-decl.c (proclaim_decl): Allow duplicate definitions
- of set elements of similar set modes.
-
- * ch-parse.y (caseaction): Call language-independent
- expand_start_case rather than c_expand_start_case (which
- doesn't allow chars or booleans).
-
-Sat Dec 4 22:16:19 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * 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
- current_module->is_spec_module instead.
- * ch-tasking.c (build_buffer_decl, build_buffer_descriptor):
- Delete quasi_decl flag. Look at current_module
- instead.
- * ch-tree.h: Take quasi_decl flag out of buffer
- related prototypes.
- * ch-typeck.c (valid_array_index, chill_similar):
- Comment out runtime range checking for now.
- * expr.c (store_constructor): Fix word-size set problem.
- * varasm.c (emit_set_data): Fix word-size set problem.
-
-Wed Dec 1 19:08:12 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-actions.c: Delete unused prototype for build_compound_expr.
- * ch-loop.c (begin_chill_loop): Convert operands of the conditional
- expression to lp->iter_type before expanding it. Prevents an abort
- deep in expand_expr and friends.
-
-Wed Dec 1 17:00:44 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-actions.c (chill_expand_assignment): Comment out strange
- test and its error message.
- * ch-loop.c (begin_chill_loop): Correct call to generate conditional
- jump around the loop.
- * ch-typeck.c (build_chill_slice): Call correct temporary generator.
-
-Wed Dec 1 14:19:51 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-actions.c (cond_exception): Clarify that it generates
- an exception if the given expression is TRUE. Make it so, Number One.
- * ch-decl.c (DOLLARS_IN_IDENTIFIERS): Disable these.
- (print_lang_type): Print max queue size.
- Add casts to DECL_TASKING_CODE_DECL references. Fixes a
- portability problem.
- (init_decl_processing): Add filename and linenumber arameters
- to tasking and memory-allocate runtime prototypes.
- * ch-expr.c (finish_chill_binary_op): Check for division
- by a constant zero. Replace build_temporary_variable
- calls with decl_temp1 calls, to decouple from ch-loop.c.
- (build_chill_succ, build_chill_pred): Sketch code to generate
- exceptions. Add error check for numbered set.
- (build_generalized-call): Correct call for return_memory.
- Standardize whitespace before left parens.
- * ch-grant.c: Use new macro for checking for BUFFER mode.
- * ch-lex.l (name_type_signal): Add attempts to recognize BUFFER
- and EVENT names.
- * ch-loop.c (build_temporary_variable): Make static, unavailable
- to outsiders.
- (declare_temps): Make user's variable for him/her, in the
- true Z.200 case, where it hasn't previously been declared.
- (begin_chill_loop): simplify control flow a bit.
- * ch-parse.y (quasi_locdec): Set/reset quasi_flag.
- (rccase_label): Delete bogus error checks. Rough draft of
- BUFFER-related code.
- (assertaction): Remove logical negation - it's now in cond_exception.
- (locdec): Sketch of buffer-related code.
- (non_array_mode): Add EVENT and BUFFER modes here. Add setting of
- set-numbered flag for pred and succ functions.
- (optqueuesize): Default to integer_zero_node.
- (simple_name_string): Add BUFFERNAME.
- * ch-tasking.c: Add casts to DECL_TASKING_CODE_DECL references.
- (build_chill_start_process, expand_send_signal,
- build_receive_case_start, build_send_buffer): Add filename, linenumber parameters
- to tasking-related runtime calls. Sketches of BUFFER mode
- processing.
- * ch-tree.h: Remove left-hand-side cast in DECL_TASKING_CODE_DECL
- macro, for portability to non-gcc compilers. Add prototypes
- for buffer-related functions.
- * ch-typeck.c: Replace build_temporary_variable calls with
- decl_temp1 calls, to decouple from ch-loop.c.
- (chill_similar): Add tests for BUFFER and EVENT modes.
-
-Wed Dec 1 14:05:26 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-actions.c (malloc prototype): Remove; can cause conflicts.
-
-Wed Dec 1 09:49:58 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-grant.c (raw_decode_mode): Process a REFERENCE_TYPE.
-
-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
- lex-only list.
- (quasi_locdec): Set/reset quasi_decl flag.
- * ch-tasking.c (build_start_process, expand_send_signal,
- build_receive_case_start, build_send_buffer): Add filename. linenumber to
- (build_buffer_decl, build_buffer-type): New rough-draft functions.
- generated runtime routine call.
- * ch-tree.h (CH_IS_BUFFER_MODE, CH_IS_EVENT_MODE): New macros
- to mark a synchronization mode. Update the prototypes.
- * ch-typeck.c (chill_similar): Check EVENT or BUFFER modes for
- similarity.
-
-Tue Nov 30 09:51:47 1993 Doug Evans (dje@canuck.cygnus.com)
-
- * cccp.c (main): Add missing chill sanitization.
-
-Sun Nov 28 15:50:10 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-loop.c (initialize_iter_var): Build count expression
- more robustly.
- (bottom_loop_end_check): Call emit_line_note.
- (end_chill_loop): Delete emit_line_note call.
- * ch-parse.y (doaction): Move DO keyword
- after end_chill_loop call.
-
-Wed Nov 24 08:49:07 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * c-typeck.c (c_expand_start_case): Back out previous
- change.
-
-Tue Nov 23 12:33:50 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * c-typeck.c (c_expand_start_case): Allow any CHILL discrete
- type as a CASE label.
-
-Tue Nov 23 11:37:42 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-decl.c (grok_chill_variantdefs): Use NULL as the name
- of variant fields (not __CASE or anything based on it).
- * ch-decl.c (handle_one_parent), ch-expr.c (compare_records):
- Don't check for field name __CASE.
-
-Tue Nov 23 09:37:54 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-decl.c (grok_chill_variantdefs): Use a unique dummy
- name for the FIELD_DECL.
- * ch-parse.y (optstartset): More error tests.
- * ch-tasking.c (make_process_struct): Only report error in pass 1.
- (build_start_process): Remove bogus restriction, allowing
- an INSTANCE expression as the optset parameter.
-
-Mon Nov 22 17:56:34 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-tree.h (expand_function_end): Now is takes parameters, not 2.
- * ch-decl.c (finish_chill_function): Add 3rd parameter to
- call of expand_function_end.
-
- * ch-expr.c (chill_expand_expr): For set and strings ops,
- if target is in a register, use a stack temporary (since we must
- take its address). (Similar to Oct 29 change for store_constructor.)
- * ch-expr.c (resolve_component_ref): Fix variant field lookups.
-
-Mon Nov 22 14:23:13 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-expr.c (chill_expand_expr): Assure that emit_library_call
- parameter 1 and its mode are always in sync.
- (build_chill_pred, build_chill_succ): Allow pred/succ of a
- pointer.
- * ch-loop.c (chill_unsigned_type): New function, used instead of
- unsigned-type, since it understands the chill_integer_type.
- (decl_iteration_var): Delete, use build_temporary_variable
- instead.
- (declare_temps): Use lp->iter_type for the temp evaluations.
- (initialize_iter_var): More careful calculation, to handle
- MININT to MAXINT loops w/o overflow/underflow.
- (begin_chill_loop): Use the original start/end expressions
- for the loop bypass test.
-
-Mon Nov 22 14:02:06 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-typeck.c (build_chill_slice): If the argument is
- is constant, use a read-only static variant, as the
- existing algorithm assumes addressability.
- * ch-typeck.c (chill_compatible): De-reference reference types.
- * ch-typeck.c (layout_chill_range_type): Set TREE_UNSIGNED.
-
-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
- filename, linenumber to call.
- * ch-loop.c: Complete rewrite for maintainability.
-
-Sat Nov 20 17:30:05 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-except.c: Make it so that (by default at least) the
- code to push/pop the __exceptionStack is done using library
- functions __ch_link_handler and __ch_unlink_handler. This
- provides better flexibility (for e.g. multi-threading).
-
- * ch-decl.c (layout_chill_variants): Allow (useless) selectors
- even for tag-less variants.
-
-Fri Nov 19 14:32:20 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-decl.c (init_decl_processing): Add memmove builtin
- function definition.
- * ch-actions.c (chill_expand_array_assignment): Use memmove
- call to copy an array or slice across the assignment.
-
-Wed Nov 17 18:23:15 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-satisfy.c (satisfy): If a CONTRUCTOR already has a
- TREE_TYPE, temporarily clear it before calling chill_expand_tuple,
- to force expansion (processing of the elements).
- * ch-grant.c (decode_constant): If a tuple (CONTRUCTOR) has
- a mode, write it out.
- * ch-decl.c (init_decl_processing): Add some missing inits.
-
-Wed Nov 17 17:13:20 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-loop.c: Fix unterminated strings in design comments.
- Add enumeration to the iterator structure for type of loop.
- unused for now.
-
-Wed Nov 17 16:40:05 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-decl.c (init_decl_processing): Add long parameters to lots
- 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
- as runtime parameters, for better error messages.
- * ch-loop.c: general pre-rewrite cleanup.
- * expr.c (store_constructor): Rewrite set interface to
- setpowersetbits for long bitnumbers, rather than shorts.
-
-Tue Nov 16 13:41:12 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-expr.c (build_chill_function_call): Stop generating empty
- copyback statements, which lead to a seg fault.
-
-Tue Nov 16 12:20:17 1993 Per Bothner (bothner@cygnus.com)
-
- * ch-satisfy.c (satisfy): If satisfying a type whose
- TYPE_MAIN_VARIANT is not itself, also satisfy the TYPE_MAIN_VARIANT.
- * ch-actions.c (build_exception_variant): Remove some crud.
- * ch-actions.c (build_exception_variant), ch-tree.h, ch-decl.c:
- Remove unused first argument.
- * ch-decl.c (start_chill_function): Call build_exception_variant
- in pass 1, not in pass 2.
-
-Tue Nov 16 11:10:03 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-decl.c (shadow_record_fields): Call new function
- build_chill_arrow_expr, which returns a ptr-to-a-type.
- * ch-expr.c (build_chill_arrow_expr): New function, works like
- build_chill_addr_expr used to do, returning a typed ptr.
- (build_chill_addr_expr): Now returns unbound ref - analogous
- to C 'void *'.
- * ch-parse.y (PREDEF_MODEDECL): Delete unused token.
- (operand6): Call build_chill_arrow_expr. Reindent a bit.
- * ch-tree.h (build_chill_arrow_expr): New prototype.
-
-Mon Nov 15 16:38:28 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * stor-layout.c (layout_type): If a SET_TYPE needs more than
- INT_TYPE_SIZE bits, use BLKmode (and never DImode).
-
- * ch-decl.c (start_chill_function): Set DECL_CONTEXT of params.
-
-Mon Nov 15 14:49:17 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-decl.c (init_decl_processing): Move tasking stuff (__whoami
- build_function_call, etc.) to tasking_init.
- * ch-gperf, ch-hash.h: Add ASM keyword.
- * ch-parse.y: Add ASM statement rules.
- (format_str, text_arg): Delete last rules for WRITETEXT, READTEXT.
- * ch-tasking.c: Move tasking stuff here.
-
-Sun Nov 14 15:50:34 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-parse.y (mode2): Split into array_mode and non_array_mode
- to resolve layout ambiguity.
- * ch-parse.y (checked_name): Remove. Use name_string instead.
- * ch-parse.y (variantdef): Don't crash if no tag fields.
- * ch-typeck.c (build_chill_array_type): If varying_p,
- actually do build_varying_struct here (rather than in ch-parse.y).
-
-Fri Nov 12 15:37:45 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-satisfy.c (safe_satisfy_decl): Don't mangle function-local
- static names. (Let make_decl_rtl generate a unique name.)
-
-Sun Nov 14 13:15:26 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-expr.c (build_chill_lower, cuild_chill_upper):
- Rewrite for modes, values, etc.
- * ch-inout.c (build_chill_writetext): Add ability
- to write out characters.
- * ch-satisfy.c (safe_satisfy_decl): Don't mangle function-local
- static names. (Let make_decl_rtl generate a unique name.)
- * varasm.c (unpack_set_constructor): Subtract
- lower domain value from a bit's index value,
- to match the runtime and allow powersets
- with negative lower bounds.
-
-Fri Nov 12 14:00:48 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-inout.c (build_chill_writetext): Save reserved words in
- uppercase if -fspecial_UC was specified.
-
-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.
- * ch-typeck.c (build_chill_slice): Changed to support the above.
-
-Fri Nov 12 12:07:28 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-convert.c (convert): Fall through & convert a VARY_ARRAY_REF.
- * ch-expr.c (build_generalized_call): Start module before a
- writetext action, so its variables are inside the module-level
- function.
- * ch-loop.c (init_loop_counter): Correct for_u_bound computation
- for enumeration loop on a varying array.
-
-Thu Nov 11 07:49:53 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * cccp.c (main): Disable trigraphs for CHILL.
- * ch-decl.c (grok_chill_fixedfields): Add special_UC
- to conditional to determine case of reserved words.
- Make PACK/UNPACK warning more specific.
- * ch-expr.c (build_generalized_call): Enable recognition
- of WRITETEXT call here.
- * ch-gperf, ch-hash.h: Remove WRITETEXT as a reserved
- 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_generalized_call. Add code to format
- integers.
- * ch-lang.c (lang_decode_option): Add special_UC and
- special_LC flags and logic to interlock with
- ignore_case flag.
- * ch-lex.l: Add special_UC to conditionals
- to determine case of reserved words.
- * ch-parse.y: Delete WRITETEXT as reserved word.
- * ch-tasking.c: Add special_UC to conditionals
- to determine case of reserved words.
- (build_instance_type): Make components of INSTANCE
- unsigned 16-bit integers.
- * ch-tree.h (build_chill_writetext): Fix prototype.
- * ch-typeck.c (build_chill_array_type): Make PACK
- /UNPACK warning more specific.
- * toplev.c (lang_options): Add -fspecial_LC
- and -fspecial_UC flags.
-
-Wed Nov 10 02:29:53 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in: Move ch-hash.h from ch-lex.o
- rule to ch-lex.c rule, so flex is rerun.
- * ch-actions.c (chill_expand_assignment): Error if
- user tries to assign to a LHS function.
- * ch-decl.c (grok_chill_fixedfields): Use of PACK
- /UNPACK is only a warning.
- (init_decl_processing): Add ADDR as a builtin function.
- * ch-expr.c (build_generalized_call): Add ADDR
- as a builtin function.
- (build_chill_addr_expr): Sanity check parameters.
- * ch-gperf: Remove ADDR as a reserved word,
- make ASM into one.
- * ch-hash.h: gperf'd version of the above.
- * ch-inout.c (chill_stdio_p): Recognize upper/lower
- case file names.
- * ch-lex.l: Make ignore-case work. Downcase
- 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.
- (primval): Delete ADDR reference. It's now only
- predefined, not reserved.
- * ch-tree.h: Add BUILT_IN_ADDR as a predefined.
- * ch-typeck.c (build_chill_array_type): Just
- a warning for PACK/UNPACK usage.
- * toplev.c: Add -fignore-case and -fno-ignore-case.
-
-Tue Nov 9 15:07:02 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-actions.c: Reindent for readability.
- * ch-convert.c (convert): Turn a NULL keyword into [0, 0] for
- a conversion to INSTANCE.
- * ch-decl.c: Change special_UC to ignore_case everywhere.
- (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.
- (build_generalized_call): Add lots of builtin functions.
- * ch-gperf (backwards, duration, inttime, null): Delete them.
- * ch-hash.h: New version.
- * ch-inout.c: Change special_UC to ignore_case everywhere.
- * ch-lang.c: Delete special_UC flag.
- * ch-lex.l: Change special_UC to ignore_case everywhere.
- * ch-loop.c (high_domain_value, low_domain_value): Change
- interfaces to build_chill_upper and built_chill_lower.
- * 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.
- * ch-tree.h: Add lots of builtin functions to the enumerator.
-
-Mon Nov 8 18:08:27 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-tasking.c (tasking_init): Disable last-minute change for now.
-
-Mon Nov 8 17:30:22 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in: New commands to build ch-hash.h. Add ch-lex.h to
- dependencies where it's used.
- * ch-decl.c (init_decl_processing): Build predefined constants
- for TRUE, FALSE and NULL. Add declaration for abs builtin
- 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
- 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 -
- these are only predefined, not reserved.
- * ch-hash.h: Check this into repository, even though it's derived
- from ch-gperf, for those users who don't have gperf.
- * ch-inout.c (build_chill_io_list_type): Use the special_UC flag
- to refer to the IO types. Standardize the indentation.
- * 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
- procedures and their parameters.
- * ch-tasking.c (tasking_init): Build predefined functions
- for COPY_NUMBER, GEN_CODE, GEN_INST, and GEN_PTYPE. Not
- complete yet. Change interface to builtin handlers to accept
- just an expression list.
-
-Wed Nov 3 18:07:08 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in: Debug, activate rule to make CHILL hash table.
- * ch-actions.c: Compress parameter type lists per standard.
- * ch-decl.c: Correct spelling in comment, compress parameter lists.
- (init_decl_processing): Check special_UC flag to build builtin
- function declarations.
- * ch-expr.c (route_to_predefined_function): Check for upper OR
- lowercase function names.
- * ch-gperf: Update the list of keywords.
- * ch-inout.c (build_chill_io_list): Check for special_UC flag
- to build I/O list type. Compress parameter lists.
- (chill_stdio_p): Check for special_UC flag in recognizing
- file streams.
- * ch-lang.c (lang_decode_option): Add command-line options
- for upper-case keywords and user labels.
- * 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.
- * ch-parse.y (variantdef, case_expr): Report 'sorry' for use of
- multiple selector expressions.
-
-Sat Oct 30 01:06:19 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-expr.c (compare_record, finish_chill_binary_op): Compare
- STRUCTs (and INSTANCEs) for equality.
- * ch-expr.c (invalid_operand): New functions, combines most of
- the functionality of invalid_left_operand and invalid_right_operand.
- * ch-convert.c (digest_constructor): Set TREE_CONSTANT if it is.
-
-Sat Oct 30 11:12:47 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in (chill): Add back in the commands to build chill
- (the script) from chill.in.
-
-Fri Oct 29 16:25:38 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * expr.c (store_constructor): If SET_TYPE target is in a register,
- use a stack temporary (since we must take its address).
-
- * ch-expr.c (build_allocate_global_memory_call,
- build_allocate_memory_call): Cast argument pointer to PTR,
- if needed (using location cast). Also, some other cleanups.
- * ch-parse.y (bracketed_action): Re-arrange things so that
- a handler following BEGIN END comes before the final poplevel.
- * ch-typeck.c (build_chill_cast): Just return if already correct type.
-
- Re-do DO WITH so that build_component_ref for is done lazily
- (at each reference) instead of eagerly (at the beginning
- of DO WITH). This is needed for tagged variants,
- * ch-tree.def (WITH_DECL): New declaration tree code.
- * ch-decl.c (lookup_name): Recognize WITH_DECLs.
- * ch-decl.c (handle_one_level): Variant parts are currently
- indicacted with '__CASE'. Recognize that.
- Generate a WITH_DECL (instead of ALIAS_DECL) for each field name.
-
-Thu Oct 28 22:17:41 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-expr.c (build_chill_length), ch-typeck.c (build_chill_cast):
- Remove some old crud.
- * ch-typeck.c (build_chill_cast): Another attempt at a
- compromise between robustness and generality for casts.
- Location conversions are now less likely to confuse things.
- * ch-parse.y (optactions): Allow further optactions following
- an initial semicolon.
- * ch-parse.y: Add error messages on EVENT and BUFFER.
-
- * ch-decl.c, ch-expr.c, ch-parse.y, ch-typeck.c:
- Undo some of the Oct 27 changes.
-
- Convert (some) builtin functions previously using reserved
- names to be just predefined.
- * tree.h (enum builtin_in_function): Added END_BUILTINS at end.
- * ch-decl.c: Add predefines for allocate_memory,
- allocate_global_memory, return_memory, writetext.
- * ch-expr.c (check_arglist_length): New function.
- * ch-expr.c (build_generalized_call): If "function" is
- a builtin, build the appropriate tree.
- * ch-parse.y, ch-lex.l: No longer recognize many pre-defined
- functions at the lexer/parser level.
- * ch-tree.h (enum chill_built_in_function): New type.
-
-Thu Oct 28 16:43:36 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-expr.c (allocate_memory, allocate_global_memory):
- 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.
-
-Wed Oct 27 08:25:56 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-expr.c (build_max_min): Error for passing empty tuple
- as the argument.
-
-Wed Oct 27 08:25:56 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-decl.c (init_decl_processing): Make allocate
- builtins have a pointer-to-pointer-to-void
- first parameter, rather than a reference parameter.
- * ch-expr.c (build_allocate_memory_call,
- build_allocate_global_memory_call): Do automatic
- ADDR () on the first parameter, for backward
- compatibility.
- * ch-grant.c (grant_one_decl): Don't grant if
- DECL_SOURCE_LINE is zero.
- (start_chill_module_code): Set DECL_SOURCE_LINE
- to zero so that module-level function isn't granted.
- * ch-parse.y (handleraction): Add return_memory action.
- * ch-typeck.c (chill_similar): Allow a void_type
- to be similar to anything. This makes allocate_memory
- and return_memory pointer parameters slide through.
-
-Tue Oct 26 00:12:19 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-typeck.c (build_chill_array_ref): Check for and complain
- if there are more index expressions than the array rank.
-
- * ch-actions.c (chill_expand_assignment): Emit appropriate
- error message if RHS of multiple assignment is tuple/case/if.
- * ch-tree.def (CONCAT_EXPR): Change TREE_CODE_CLASS from
- 'e' to the more specific '2'. (Fixes a satisfy bug.)
-
-Thu Oct 21 17:25:33 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-parse.y: Revert experimental error-generating change
- that was checked in by mistake.
-
-Thu Oct 21 12:15:30 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-satisfy.c (safe_satisfy_decl): Satisfy the hidden tasking
- code variables associated with a process or signal.
- (Apparently I forgot to actually check these in last time.)
- * ch-tasking.c: Replace last calls to get_tasking_code with
- working references to DECL_TASKING_CODE_DECL.
-
-Thu Oct 21 10:27:42 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-satisfy.c (safe_satisfy_decl): Satisfy the hidden tasking
- code variables associated with a process or signal.
- * ch-tasking.c (build_gen_inst, build_gen_ptype): Use the decl's
- tasking_code_decl pointer, rather than trying to look it up
- in the hash table or linked scope list.
-
-Wed Oct 20 09:52:44 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-actions.c (lookup_and_handle_exit): Only output error message
- in pass 1.
- * ch-convert.c (convert): Correct conversion of VARYING array to/
- from non-VARYING one.
- * ch-decl.c (print_lang_decl): Add debug output for DECL_TASKING_CODE_DECL
- field in the node.
- (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
- 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
- of each pass, or we lose the fact that the user did or did not
- 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.
- (sigdef): Comment out special handling for external signals.
- Chain tasking_variable_decl onto signal structure decl, for
- easier non-symbol-table access later.
- * ch-tasking.c (generate_tasking_code_variable): Do work in both
- passes, using do_decl so we can pass the pass 2 value of the
- process_type or signal_code to it. Only update the process_type
- if the incoming pointer isn't null and pass == 2. Use a new
- parameter to know whether to include an init expression.
- (build_process_header): Attach tasking-code_variable to process
- function_decl for easy access later, not through the hash table.
- (build_start_process): Get tasking_code_variable out of the process'
- 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
- 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.
-
-Tue Oct 19 17:39:40 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-lex.l (equal_number): If the "number" is a CONST_DECL,
- return its DECL_INITIAL.
- * ch-satisfy.c (safe_satisfy_decl): Change logic for rtl
- generation for decls to not use DECL_ASSEMBLER_NAME.
- * ch-decl.c: Set DECL_ASSEMBLER_NAME to DECL_NAME.
- This matches C, and allows dbxout to emit proper user-level names.
- (It would be cleaner to fix dbxout to use DECL_NAME ...)
- * ch-decl.c (outer_decls): New global list of the decls granted
- into the outer scope.
- (pop_module): Change code that grants into outer scope accordingly.
- (lookup_name_for_seizing): Similarly update.
- (push_scope_decls): Handle SEIZE ALL from the global scope
- by searching outer_decls.
- * ch-grant.c (grant_array_type): Fix thinko.
- * ch-inout.c (build_chill_writetext): Remove excessive TREE_TYPE.
-
-Mon Oct 18 15:57:00 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * varasm.c (output_constructor): Add support for non-zero
- lower array bound.
- * c-typeck.c (output_init_element): Revert recent changes.
- * varasm.c (emit_set_data): Fix emitting set constant data.
- * ch-lex.l (yywrap): Reset line number to 0, not 1.
- It sets incremented to 1 by check_newline.
- * ch-tree.h: Restore old version.
- * ch-expr.c (finish_chill_binary_op): Convert TRUNC_DIV_EXPR
- to RDIV_EXPR if an operand is floating. (This functionality
- got dropped when hacking finish_chill_binary_op).
-
- * ch-actions.c (build_chill_case_expr): Set type to NULL_TREE.
- not error_mark_node.
- * ch-actions.c (chill_expand_assignment): Allow such borderline
- constructs as: LHS OR:= [X].
- * ch-convert.c (convert): Hande CASE_EXPR (and COND_EXPR)
- with unknown (NULL_EXPR) type, not just CONSTRUCTORS.
- * ch-decl.c (do_decl): Remove CONSTRUCTOR kludge.
- * ch-typeck.c (chill_compatible): Allow expr to have NULL mode
- if it's a CASE_EXPR or COND_EXPR (and not just CONSTRUCTOR).
-
-Mon Oct 18 13:20:53 1993 Ken Raeburn (raeburn@rover.cygnus.com)
-
- * c-typeck.c (output_init_element): Limit previous changes to
- ARRAY_TYPE and SET_TYPE initializers.
-
-Sun Oct 17 23:15:00 1993 Bill Cox (bill@cygnus.com)
-
- * c-typeck.c (output_init_element): Handle NULL domain case.
- * 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
- commented-out code as example for assignment of module address to its
- init_list entry.
-
-Sun Oct 17 15:16:54 1993 Bill Cox (bill@cygnus.com)
-
- * ch-convert.c: Move semicolon to separate line - easier to see.
- * ch-decl.c (do_decl): Handle untyped_expr initializers by
- simply using the variable's declared type - no compatibility
- check can be made if the expression has no type.
- * ch-expr.c (expand_packed_set): Fix endless loop - increment
- the loop variable.
- (fold_set_expr): Fix two other endless loops by passing
- correct parameters to unpack_set_constructor.
- * varasm.c: Standardize 'for' loop.
-
-Sun Oct 17 12:16:21 1993 Bill Cox (bill@cygnus.com)
-
- * c-typeck.c (output_init_element): Handle initializer for
- array with non-zero lower index bound.
-
-Sat Oct 16 16:48:48 1993 Per Bothner (bothner@cygnus.com)
-
- * ch-expr.c (finish_chill_binary_op): Use TREE_SET_CODE
- to change TREE_CODE.
-
-Sat Oct 16 08:07:17 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-expr.c (finish_chill_binary_op): Disable
- rough-draft code, not intended for release.
-
-Fri Oct 15 21:44:11 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
-
- * expr.c (store_constructor): use PROTO for pack_set_constructor
-
-Fri Oct 15 10:30:09 1993 Bill Cox (bill@cygnus.com)
-
- * ch-expr.c (finish_chill_binary_op): Activate some
- type-setup code.
- * expr.c (store_constructor): Subtract arrays minimum element.
- Makes orientexpress work.
-
-Fri Oct 15 09:26:24 1993 Bill Cox (bill@cygnus.com)
-
- * ch-convert.c, ch-expr.c: Add externs so it'll compile.
- * ch-tree.def: Add BASED_DECL definition.
-
-Thu Oct 14 13:20:02 1993 Bill Cox (bill@cygnus.com)
-
- * 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.
-
-Thu Oct 14 13:08:07 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * expr.c (store_constructor): Use a (usually) more efficient
- algorithm for setting SET types.
-
-Thu Oct 14 13:08:07 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- Changes to better support 1984 version of Chill, which doesn't
- really distinguish BOOL and BITS(1) or CHAR and CHARS(1).
- * ch-lang.c, toplev.c, ch-tree.h (flag_old_strings): New flag.
- * ch-typeck.c (chill_similar): Support flag_old_strings.
- * ch-convert.c (convert_to_boolean): Generalize code to
- convert singleton bitstring to Boolean.
- * ch-convert.c (convert): Use string_one_type_node.
- * ch-convert.c (convert): Add code to convert Boolean to BOOLS(1).
- * ch-convert.c (convert): In code that converts fixed string to
- varying use new 'e' variable, rather than original 'expr' variable.
- Allows cascaded conversions: CHAR -> CHARS(1) -> varying CHARS.
- * ch-decl.c (string_type_node, const_string_type_node,
- int_array_type_node), ch-tree.h: Removed.
- * ch-decl.c (string_one_type_node, bitstring_one_type_node,
- bit_zero_node, bit_one_node), ch-tree.h: New globals tree nodes.
- * ch-decl.c (init_decl_precessing): Remove some junk.
- * ch-expr.c (build_generalized_call): If flag_old_strings,
- treat string index as string slice. Also, better error checking.
-
- Added support for (some kinds of) BASED declarations.
- * ch-tree.def (BASED_DECL): New tree code.
- * ch-decl.c (lookup_name): Implement BASED_DECL using
- build_chill_indirect_ref.
- * ch-decl.c (do_based_decls): Make a BASED_DECL.
- * ch-parse.y: Call do_based_decls for DCL ... BASED(...).
- * ch-satisfy.c (safe_satisfy_decl): Handle BASED_DECL.
-
- Improve handling of set binary operations.
- * ch-expr.c (expand_packed_set): New function.
- (fold_set_expr): Re-write. Simpler, more general algorithm.
- (build_set_expr): Only used for comparsions now.
- (finish_chill_binary_op): Handle set ops better (more directly).
- (fold_set_and, fold_set_diff, fold_set_eq, fold_set_or,
- fold_set_ne, fold_set_xor): Removed. No longer needed.
-
- * ch-decl.c: Remove calls to allocate_lang_decl.
- * ch-tree.c (build_string_type): If const length, layout immediately.
-
-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
- parameter.
- * ch-tasking.c (get_tasking_code): Search tasking_list for
- tasking code name match. Can't use lookup_name.
- (get_task_name): New function.
- (generate_tasking_code_variable): Return if pass 1.
- Always update *tasking_code_ptr.
- (build_process_header): Add new add_taskstuff_to_list
- parameter.
- (tasking_setup): New code to unpack the tasking
- 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
- parameter.
-
-Mon Oct 11 14:54:50 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in (cc1chill): Also link in $(BC_OBJS).
-
-Mon Oct 11 06:28:39 1993 Doug Evans (dje@canuck.cygnus.com)
-
- * ch-decl.c (flag_allow_single_precision): New global,
- from ss-931002 merge.
-
-Sun Oct 10 09:11:52 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * Makefile.in: Remove references to chill.in and
- ch-hash.h. Remove bogus cc1chil : chill
- dependency.
-
-Fri Oct 8 16:00:04 1993 Bill Cox (bill@cygnus.com)
-
- * 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.
- (decl_temp1): Add parameter to signal 'make this external'.
- (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
- 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.
- * ch-parse.y (quasi_signaldef): Clear quasi_signal flag here,
- for easier maintenance.
- (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
- to make the variable public (visible to linker).
- (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
- 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.
- Add parameter to decl_temp1 call.
- (expand_send_signal, build_receive_case_start,
- build_receive_case_end, build_buffer_descriptor): Add parameter
- to decl_temp1 call.
- * ch-tree.h: Add parameter to decl_temp1 proto.
- * chill: Add new CHILL frontend directory
-
-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
- force a one-time action.
- * ch-tree.h (build_chill_slice): Delete proto since function went static.
-
-Mon Oct 4 13:52:36 1993 Bill Cox (bill@cygnus.com)
-
- * ch-decl.c (decl_tasking_code_var): Use do_decl, since we're
- called here in both passes. Set DECL_ASSEMBLER_NAME.
- (lookup_name_for_seizing): Move NULL test forward to prevent
- seg fault.
- * ch-expr.c (finish_chill_binary_op): Mode access to TREE_CODE
- to prevent a seg fault in telebras/dynsto.ch. Make indentation
- changes.
- * ch-tasking.c (build_signal_struct): Rename to build_signal_struct_type.
- (build_send_signal): Rename to expand_send_signal.
- (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-tree.h: Rename functions, add return values.
-
-Mon Oct 4 15:43:56 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-convert.c (digest_constructor): Convert element to element_type.
- * ch-parse.y (end_function): Use DECL_ARGUMENTS to check
- for parameterless process.
-
-Fri Oct 1 13:57:30 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-typeck.c (chill_location): New function.
- Based on lvalue_p, but also handle Chill-specific VARY_ARRAY_REF.
- * ch-typeck.c, ch-tree.h (CH_LOCATION_P), ch-convert.c: Use
- chill_location instead of lvalue_p.
-
-
-Fri Oct 1 11:28:42 1993 Bill Cox (bill@cygnus.com)
-
- * ch-convert.c (convert): Back out Michael's changes, unintentionally
- checked in.
- * ch-lex.l (handle_use_seizefile_directive): No longer downcase
- seize file names.
- * ch-parse.y (sendaction): Fix a couple of seg faults. Comment out
- SEND BUFFER processing for now.
- * ch-tree.h: Fix comment.
-
-Thu Sep 30 17:00:42 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-tree.h (CH_CHARS_ONE_P, CH_BOOLS_ONE_P): New macros,
- for recognizing singleton strings.
- * ch-tree.h (MARK_AS_STRING_TYPE): New macro.
- * ch-tree.c (build_string_type, build_bitstring_type),
- ch-convert.c (convert): Use it.
- * ch-typeck.c (build_chill_slice): Take length rather than upper
- bound. This makes it easier to recognize that A(X UP LENGTH)
- really has fixed length. Also, if the argument is string,
- mark the slice as a string too. Also, handle varying strings.
-
- * ch-typeck.c (conflate_singleton_strings): New global.
- * ch-typeck.c (chill_similar): If conflate_singleton_strings is
- set (as it currently is), allow CHARS(1)/BOOLS(1) to be similar
- to CHAR/BOOL, as required by the 1984 version of Z.200.
- * ch-convert.c (convert_to_char): Convert CHARS(1) to CHAR.
- * ch-convert.c ( build_array_type_for_scalar): If input is string,
- so is output.
- * ch-convert (maybe_turn_scalar_into_arra), ch-tree.h: Removed.
- * ch-convert.c (convert): Convert CHAR to CHARS(1).
-
- This fixes 'X // := Y' and is also a general simplification.
- * ch-actions.c (chill_expand_assignment): Convert 'LHS OP := RHS'
- to 'LHS := LHS OP RHS' (using stabilize_reference on LHS).
- Also, call save_expr on RHS if a multiple assignment.
- * ch-parse.y (assignaction): Therefore, no longer need to call
- stabilize_reference on RHS.
- * ch-typeck.c (build_chill_modify_expr), ch-tree.h: Remove
- modifycode parameter. Make it the caller's responsibility to
- handle <assigning operator>.
- * ch-actions.c, ch-decl.c, ch-except.c, ch-expr.c, ch-grant.c,
- ch-loop.c: Fix calls to build_chill_modify_expr accordingly.
-
-Wed Sep 29 18:02:55 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-lang.c (string_index_type_dummy), ch-tree.h: New variable.
- * ch-decl.c (integer_minus_one_node), ch-tree.h: New variable.
-
- * ch-parse.y (arrayindex: modename): Remove useless code.
- * ch-satisfy.c (satisfy): Don't gag on string_index_type_dummy,
- * ch-tree.c (build_string_type): Pass string_index_type_dummy as
- the parent type of the index range.
- * ch-typeck.c (layout_chill_range_type): Recognize and handle
- string_index_type_dummy - specifically allow an empty range.
-
-Wed Sep 29 13:36:23 1993 1993 Bill Cox (bill@cygnus.com)
-
- * ch-convert.c (convert_to_reference): Check for loc-identity
- mismatches correctly (and remove one of those chill_compatible
- calls).
- * ch-decl.c (decl_tasking_code_var): New function, called from
- push_extern_process and push_extern_signal.
- * ch-parse.y (end_function): Delete parameter. Check current_function_decl
- whether it's actually a process, and whether it has parameters.
- Make Michael's change simplifying the pass 2 test, preventing a seg
- fault.
- (procedure, process): Change calls to end_function, remove
- code saving value from build_process_header. Delete redundant chill_
- 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
- names. Add the CH_VARYING_ARRAY_TYPE macro, call it from
- all relevant places.
- * ch-typeck.c: Use the new macro. Cast TREE_CODEs to chill_tree_code.
-
-Wed Sep 29 13:07:43 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-convert.c (convert_to_reference): Remove redundancies.
- * ch-convert.c (convert): Handle convert_to_reference
- with a recursive convert call.
- * ch-decl.c (do_decl): Add missing compatibility-checking
- of initializer (don't depend on convert).
-
-Tue Sep 28 00:02:25 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-tree.h (CH_LOCATION_P): New macro.
- * ch-typeck.c (layout_chill_range_type): Fix call to
- type_for_size, when figuring out a defaulted parent type.
- * ch-expr.c (build_chill_lower, build_chill_sizeof): Check
- for TREE_CODE_CLASS != 't' rather than == 'd'.
- * ch-expr.c (build_chill_function_call): Use CH_LOCATION_P
- to check for location, rather than TYPE_CODE_CLASS == 'd'.
-
- * ch-tree.c (build_string_type): Make 2-pass safe. Also,
- change parameter to be length, not index type.
- * ch-parse.y (mode2), ch-expr.c (build_concat_expr), ch-lex.l
- (build_chill_string): Modify callers of build_string_type accordingly.
- * ch-lex.l (check_newline): Don't look for # directive inside a
- C-style comment.
- * ch-grant.c (grant_array_type): Make more robust for char-
- and bit-strings (allow non-constant sizes). Change parameters
- and return types. (raw_decode_mode): Use grant_array_type
- for bitstrings. (otherwise): Fix grant_array_type callers.
-
-Mon Sep 27 16:57:57 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- Remove changes of Sep 15.
- * ch-tree.h (CH_SINGLETON_DOMAIN): Removed.
- * ch-typeck.c (chill_similar): Don't allow a singleton
- powerset to be similar to its domain.
- * ch-convert.c (convert_to_boolean): Don't convert a singleton
- SET_TYPE constructor to a Boolean.
-
- * ch-actions.c (chill_expand_assignment): Handle IN_EXPR on
- LHS of assignment, which is what we're current (temporarily?) using.
-
-Mon Sep 27 06:01:57 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-actions.c, ch-convert.c, ch-decl.c, ch-expr.c,
- ch-grant.c, ch-inout.c, ch-parse.y, ch-satisfy.c,
- ch-tasking.c, ch-tree.c, ch-tree.h, ch-typeck.c:
- -Wall cleanup. Add prototypes where missing.
- Delete unused variables. Cast uses of tree_codes
- to chill_tree_code, which they are.
-
-Sun Sep 26 13:09:57 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-decl.c (do_decl): Save initializer in pass zero
- case also.
- * ch-lex.l: Fix comments, indentation.
- * ch-parse.y: Standardize error messages to use
- uppercase for CHILL keywords rather than quoting them.
- Suggestion from docs department.
- * ch-tasking.c: Pervasive changes to get processes to
- compile and START.
- * ch-tree.h: Delete prototypes for functions whic
- I made static inside ch-tasking.c.
-
-Sun Sep 26 02:40:02 1993 Michael Tiemann (tiemann@blues.cygnus.com)
-
- * ch-lex.l (yywrap): Call `check_newline' in case the file
- started with a line directive.
-
-Sat Sep 25 13:54:41 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-decl.c: Expand pre-amble comment.
- * ch-decl.c (struct scope, push_module): Use new field
- tail_chain_module to build child-module list in order.
- (Just to make compiler debugging a little less confusing.)
-
- * ch-decl.c (struct scope): New field weak_decls.
- * ch-decl.c (find_implied_types): New interface. Now pre-pend
- new enum types to a given input list. This makes it easier to
- avoid duplicates, which should at least be more efficient.
- Also, handle FUNCTION_DECL.
- * ch-decl.c (bind_saved_names): Removed. Distribute its
- functionality over new functions (push_scope_decls, pop_scope_decls,
- build_implied_names, bind_sub_modules). The goal (which seems to
- have been more-or-less attained) was to fix weak name handling.
- * ch-decl.c (poplevel): Use new function pop_scope_decls.
-
- * ch-tasking.c (build_signal_struct, build_tasking_message_type):
- Use build_decl directly, rather than grok_chill_fixedfields
- (which depends on ignore_exprs and has more overhead).
- * ch-tasking.c (build_signal_struct): Construct the type
- only in pass 1.
- * ch-typeck.c (build_chill_slice): Use my_build_array_ref rather
- than build_array_ref (which does C-specific "optimizations").
- (Hence move my_build_array_ref up earlier in the file.)
-
-Sat Sep 25 03:47:28 1993 Michael Tiemann (tiemann@blues.cygnus.com)
-
- * ch-tasking.c: Declare static variable `void_ftype_void'.
- (chill_tasking_init): Initialize `void_ftype_void' here.
- (build_tasking_struct): Use, don't declare `void_ftype_void'.
- (generate_tasking_code_variable): Call `do_decl', not
- `decl_temp1' to declare TASKING_CODE_NAME.
- (tasking_setup): Drop into 1-pass mode so that all
- tasking-related declarations are installed in the global
- scope. Use correct CHILL types for initializers (since
- ptr_type_node doesn't have the right meaning for CHILL).
- Also, call `do_decl' instead of `decl_temp1' for
- `init_struct'.
- (add_taskstuff_to_list): Set TASKING_LIST in pass 1 to keep
- `chill_finish_compile' in sync between passes.
-
- * ch-decl.c (do_decl): Set DECL_ASSEMBLER_NAME for
- declarations on pass zero. Keep obstacks in sync, and always
- call `finish_decl' for pass zero declarations.
- (push_chill_extern_function): Keep obstacks in sync, and always
- call `finish_decl' for pass zero declarations.
- (build_enumerator): Ditto.
- (grok_chill_variantdefs): Change PASS test to exclude only
- pass one.
- (finish_struct): Ditto.
- * ch-expr.c (build_chill_component_ref): Ditto.
- (build_chill_binary_op): Ditto.
- * ch-tree.c (build_powerset_type): Ditto.
- (build_bitstring_type): Ditto.
- * ch-typeck.c (build_chill_range_type): Ditto.
- (build_chill_struct_type): Ditto.
-
- * ch-decl.c (build_chill_exception_decl): Clarify reasons for
- extra pushing and popping of obstacks.
-
- * ch-inout.c (build_chill_io_list_type): Call `satisfy_decl'
- on IO_DESCRIPTOR. This causes IO_DESCRIPTOR to be laid out.
-
- * ch-grant.c (chill_finish_compile): Clear out both
- MODULE_INIT_LIST and TASKING_LIST if either contains stuff
- from pass one.
-
- * ch-parse.y (rccase_label): Add NAME rules so that pass one
- works w/o knowing we're parsing a signal. Simplify SIGNALNAME
- rules since we only get SIGNALNAME tokens in pass two.
- (sendaction): Ditto.
- * ch-lex.l (name_type_signal): Enable returning SIGNALNAME and
- BUFFERNAME on pass two. The grammar now handles this.
- * ch-decl.c (lookup_remembered_decl): Deleted.
-
-Fri Sep 24 15:27:13 1993 Bill Cox (bill@cygnus.com)
-
- * ch-decl.c (lookup_remembered_names): Removed. It was being
- misused in ch-lex.l.
- * ch-lex.l (name_type_signal): Revert last change. Basically,
- we cannot use the C typedef/variable name trick in CHILL, due
- 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.
-
-Fri Sep 24 11:01:31 1993 Michael Tiemann (tiemann@blues.cygnus.com)
-
- * ch-decl.c (do_decl, push_chill_extern_function): Change pass
- checks so the pass == 0 case is handled for built-in types.
- (push_modedef): Add check for error_mark_node.
- (lookup_remembered_decl): New function.
- (pushlevel, poplevel) Change pass checks.
- (pushdecl): Check type as well for NULL.
- (build_enumerator): Handle pass == 0 case.
- * ch-lex.l: Use lookup_remembered_decl to get lastiddecl
- during pass 1.
- * ch-parse.y: Set pass to zero to indicate initial decl processing.
- Replace NAME references with SIGNALNAME references.
- (startaction): Only check copy number if not ignoring actions.
- Always call build_chill_start_process.
- (optstartset): Don't lookup the instance name.
- * ch-tasking.c (generate_tasking_code_variable): Replace
- do_decl call with decl_temp1 call.
- (build_chill_start_action): Check for ignore_actions here.
- (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):
- Use the new struct.
-
-
-Fri Sep 24 04:19:15 1993 Michael Tiemann (tiemann@blues.cygnus.com)
-
- * ch-tasking.c (build_chill_receive_case_start): `namedecl'
- should be a _DECL, not an IDENTIFIER_NODE.
-
-Thu Sep 23 18:18:24 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-decl.c (find_implied_types): Handle VAR_DECLs.
-
- * ch-decl.c (print_lang_identifier): Print IDENTIFIER_OUTER_VALUE.
- * ch-actions.c (chill_expand_result): Allow value-less RETURN.
- * ch-expr.c (resolve_component_ref): Recognize error_mark.
-
- * ch-convert.c (digest_constructor): Handle a nested powerset tuple.
- * ch-satisfy.c (satisfy): Use return value of layout_chill_range_type.
- * ch-typeck.c (chill_similar): Repeatedly get parent modes
- of ranges, not just once.
- * ch-typeck.c (chill_root_resulting_mode), ch-tree.h: New function.
- * ch-typeck.c (layout_chill_rang_type): Re-do type-checking
- to follow Blue Book better (check for Compatibility).
-
- * ch-tree.h (CH_ROOT_RESULTING_MODE): New macro.
- * ch-lex.l (use_seizefile_name, current_seizefile_name), ch-tree.h:
- New variables. The latter replaces in_seizefile.
-
- Changes to store in the new DECL_SEIZEFILE field each seize
- ALIAS_DECL the name in the most recent use_seize_file directive.
- (This requires that use_seize_file directives written to the
- grant file be written before the SEIZEs that need it.)
- Allow clashing declarations granted into the global scope
- (produce a warning), but remember the seizefile case from
- (using the DECL_SEIZEFILE field of the grant ALIAS_DECL).
- The a SEIZE will select the granted decl that matches its
- DECL_SEIZEFILE (in other words: grants from the most recent
- use_seize_file will be preferred).
- * ch-tree.h (DECL_SEIZEFILE), ch-tree.def: New macro.
- * ch-tree.h (global_value, IDENTIFIER_GLOBAL_VALUE): Renamed
- to outer_value, IDENTIFIER_OUTER_VALUE.
- Changes to cause the use_seize_file directives to be written
- out in order as they're seen in source.
- * ch-lex.l (files_to_seize, next_file_to_seize, last_file_to_seize):
- Changed to have type TREE_LIST of pointer to IDENTIFIER_NODE.
- * ch-lex.l (handle_use_seizefile_directive): Modify appropriately.
- Don't call grant_use_seizefile.
- * ch-lex.l (mark_use_seizefile_written): New function.
- * ch-grant.c (decode_decl): Write out use_seize_file directive,
- if needed, before writing a seize declarations.
- * ch-decl.c (pop_module): Handle decls granted into the global
- module specially, setting IDENTIFIER_OUTER_VALUE.
- * ch-decl.c (lookup_name_for_seizing): Check IDENTIFIER_OUTER_VALUE.
-
-Thu Sep 23 19:05:37 1993 Bill Cox (bill@cygnus.com)
-
- * ch-decl.c (push_chill_extern_process): Delete unused variables,
- declare the process' tasking_code variable as external.
- * ch-parse.y (process): Force ignore_exprs to FALSE while parsing
- the process header.
- * ch-tasking.c (sigdef): Move resetting of quasi_signal from here
- to (signaldef).
- * ch-tree.h: Add prototype.
- * expr.c (store_constructor): Emergency first-aid. Rewrite later.
-
-Thu Sep 23 12:57:53 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-expr.c (build_chill_function_call): Move possible call to
- chill_start_module_code until we know we're not calling a builtin.
- * ch-decl.c (save_expr_under_name): Use pushdecllist,
- not proclaim_decl (which provide for popping the decl).
- * ch-parse.y (optname): Also allow TYPENAME.
-
-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_function.
- (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.
- * ch-grant.c (print_proc_tail, print_proc_exceptions): Standardize
- function headers.
- (decode_constant): Make sure that alpha operators are surrounded
- with whitespace.
- * ch-parse.y: Spell Z.200 correctly in comments.
-
-Wed Sep 22 10:42:31 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-expr.c (build_chill_addr_expr), ch-tree.h: New function.
- * ch-parse.y, ch-decl.c (shadow_record_fields): Use it.
- * ch-lex.l (handle_use_seizefile_directive): Don't emit
- use_seize_file directive if in_seizefile.
-
- * ch-convert.c (digest_structure_tuple): Fix code that checks
- for excess init values.
- * ch-decl.c (layout_chill_variants): Move increment of nlabels
- inside the proper loop.
- * ch-grant.c (print_struct): Add missing loop for tag_list.
- (print_struct): Look for variant fields by checking for a
- UNION_TYPE, not a NULL name, since we must use a dummy name.
- * ch-parse.y (structured_variable): Various fixing.
- * ch-decl.c (shadow_record_fields): Rename arg decl -> struct_val.
-
- * ch-satisfy.c (safe_satisfy_decl): Disable copying of modes
- for NEWMODE (and hence novelty checking), until we figure out
- a better way.
-
- * ch-except.c (finish_handler_array): Use null_pointer_node,
- not integer_zero_node (which fails to type-check).
-
- * c-typeck.c (get_constructor_element_type): New function.
- * ch-tree.h (CH_NOVELTY_FLAG): Now also used in TYPE_DECLs.
- (CH_NOVELTY): Redefined to call new function chill_novelty.
- (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-expr.c (resolve_component_ref, build_chill_component_ref):
- New functions. Handle 2-pass and variant records.
- * ch-parse.y (primval DOT name): Use instead of build_component_ref.
- * ch-satisfy.c (satisfy, case COMPONENT_REF):
- New case, call resolve_component_ref.
-
- * ch-expr.c (build_generalized_call): Extract single arg from
- arg list before calling build_chill_cast.
-
- * ch-parse.y (defining_occurrence_list): New non-terminal.
- Use it to replace locnamelist, synnames, and modenames.
- * ch-parse.y: Re-write parsing of variant records.
-
- * ch-decl.c (grok_chill_variantdefs): Now return a FIELD_DECL
- rather than just its type.
- * ch-inout.c (build_chill_io_list_type), ch-parse.y:
- Change callers appropriately.
-
- * ch-tree.h (TYPE_TAG_VALUES): Add an extra level of TREE_LIST,
- to support multiple tag fields.
- * ch-grant.c (print_struct), ch-decl.c (layout_chill_variants):
- Support multiple tag fields.
-
- * ch-convert.c (remove_tree_element, digest_structure_tuple):
- New functions, to digest structure tuples, without calling the
- code in c-typeck.c. Handles variant tuples and tags (partially).
- * ch-convert.c (digest_constructor, convert): Call
- digest_structure_tuple when appropriate.
- * ch-convert.c (digest_constructor): Re-arrange a bit.
-
- * ch-decl.c (push_modedef): Defer copying of tree until ...
- * ch-satisfy (safe_satisfy_decl): ... here.
-
- * ch-decl.c (getdecls): Add kludge to help dbxout_init.
-
-Tue Sep 21 14:19:11 1993 Bill Cox (bill@cygnus.com)
-
- Partial tasking update - not done yet.
- * ch-actions.c: Comments, indentation.
- * ch-decl.c (push_chill_extern_process): No longer need to
- reformat the arg list for make_process_struct.
- (pop_module): Don't seg fault on null DECL_NAME.
- (handle_one_level): Error, not warning if tree not recognized.
- (shadow_record_fields): Rename formal param for readability.
- * 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
- 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.
- * 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
- doing the type's layout.
- (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.
- 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.
- * gcc.c (SPECS): Add recognition for the '.chi' CHILL suffix.
-
-Mon Sep 20 12:00:24 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-typeck.c (classify_chill_expr): An expression with a
- REFERENCE_TYPE still has VALUE class, even if an ADDR_EXPR.
- * ch-actions.c (adjust_parm_or_field):, ch-tree.h: Change last
- parameter, so we can reliably recognize LOC parameters.
- * ch-tasking.c, ch-expr.c: Change callers appropriately.
-
-Sun Sep 19 22:26:25 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-tree.h (CH_READ_COMPATIBLE, CH_REFERABLE): New macros.
- * ch-typeck.c (chill_referable, chill_read_compatible): New functions.
- * ch-typeck.c (chill_compatible): Allow un-resolved CONSTRUCTOR
- (with NULL TREE_TYPE), when reasonable. (Simplifies callers.)
- Also, handle case of expr being of reference class.
- * ch-actions.c (adjust_parm_or_field): Major re-arrange
- to handle conversions and LOC args better.
- * ch-actions.c (chill_expand_assignment): Simplify conversions.
- * ch-expr.c (build_chill_function_call): If needed, call
- chill_start_module_code.
- * ch-decl.c (declare_predefined_file): New function, used
- to pre-define stdin, stdout, and stderr.
- * ch-inout.c (chill_stdio_p): Change names of predefined
- files from chill-stdin etc to plain stdin (and change their types).
- * ch-lex.l: Remove some obsolete stuff.
- * ch-convert.c (convert): Move conversion from reference to
- to beginning of convert() so other conversion can work better.
- Also, remove bogus direct setting of TREE_TYPE.
-
-Fri Sep 10 12:23:41 1993 Wilfried Moser (fs_moser@cygnus.com)
-
- * Makefile.in: Change installation of the chill script. gcc will
- be called always with the full path. That made problems when
- somebody was using chill but didn't have the installation
- directory in PATH.
- * ch-parse.y: Change parsing of WRITETEXT action.
- * ch-tree.h: Add some new prototypes according to the
- (partial) implementation of WRITETEXT.
- * ch-typeck.c: Add new function chill_varying_string_type_p. This
- functions checks a type for being CHAR(n) VARYING.
- * ch-decl.c (init_decl_processing): Add new built-in functions
- _writestring and _writeunixstd.
- Add call to build_chill_io_list_type in ch-inout.c.
- * ch-inout.c (build_chill_writetext): Add some code there.
- Add new function build_chill_io_list_type.
- Add new static function chill_stdio_p. This function checks
- the text argument for being chill_stdin, chill_stdout or
- chill_stderr.
-
-Fri Sep 17 22:02:04 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-decl.c (push_modedef): Fix TYPE_MAIN_VARIANT thinko.
-
-Thu Sep 16 18:38:53 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-decl.c (allocate_lang_decl): Do nothing.
- * ch-tree.h (struct lang_decl, DECL_GRANT_FILE, DECL_SEIZE_FILE):
- No longer used; remove.
-
- * ch-tree.h (TYPE_TAG_FIELD renamed to TYPE_TAGFIELDS), ch-grant.c
- (print_struct), ch-parse.y (opttagfield -> opttagfields), ch-decl.c
- (make_chill_variants, layout_chill_variants): Add (initial) part
- of support for multiple tags.
- * ch-decl.c (lookup_tag_fields): New function.
- * ch-parse.y (stmt_count): Not used; removed.
- * ch-parse.y (mode2): Clear current_fieldlist before
- parsing STRUCT fields; restore afterwards.
-
- * ch-parse.y (push_action): Moved to ch-actions.c.
-
-Wed Sep 15 18:19:37 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-convert.c (convert_to_boolean): Convert a SET_TYPE
- constructor to a boolean.
-
-Wed Sep 15 17:52:10 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-decl.c (push_modedef): Enable novelty-setting code.
- * ch-tree.h (CH_SINGLETON_DOMAIN): New macro.
- * ch-typeck.c (chill_similar): Add checking of singleton
- powerset against its base type.
-
-Tue Sep 14 17:11:52 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * ch-actions.c (adjust_parm_or_field): Create a
- temporary for an non-referencable actual parameter
- passed to a LOC formal parameter.
- (chill_expand_assignment): Correct compatibility checking.
-
- * ch-decl.c (push_modedef): Set up a type's NOVELTY value.
- * ch-parse.y (opsigdest): Only check for process name
- in pass 2, when we know.
- * ch-tree.h (CH_NOVELTY_FLAG, CH_NOVELTY): Define.
- * ch-typeck.c: Fix comment.
-
-Mon Sep 13 17:33:11 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * ch-grant.c (lookup_decl_in_process, register_decl_as_output,
- decl_seen_p, processed_decls, allocated, nr_decls): Removed
- no-longer-useful functions and variables that used to guard
- against writing a decl multiple times. Since we now just
- go through the decl list linearly, that is no longer an issue.
- * ch-satisfy.c (safe_satisfy_decl): Handle missing current_module.
-
- * ch-decl.c (start_chill_function): Clear DECL_ASSEMBLER_NAME.
- Don't make TREE_PUBLIC. Don't generate rtl yet.
- * ch-decl.c (pop_module): If a decl is granted, set TREE_PUBLIC,
- and its DECL_ASSEMBLER_NAME.
- * ch-decl.c (fix_identifier): New function.
- * ch-grant.c (grant_one_decl): Don't set TREE_PUBLIC.
- * ch-tree.h (struct module): New field prefix_name.
- * ch-satisfy.c (safe_satisfy_decl): If assembler_name isn't
- set, prefix it by the module name(s).
- * ch-satisfy.c (safe_satisfy_decl, case FUNCTION_DECL):
- Call make_function_rtl if needed and !LOOKUP_ONLY.
- * ch-typeck.c (chill_similar): Flesh out substantially.
- * ch-typeck.c (chill_compatible): Re-structure.
-
- * ch-actions.c (adjust_parm_or_field): Use CH_COMPATIBLE
- instead of chill_comptypes to compare actual and formal.
-
-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.
- (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.
- * ch-tree.c (build_bitstring_type): Don't try to fold non-constant
- size if pass==1 (since it may be an unsatisfied name).
-
-
-Sun Sep 12 18:06:23 1993 Bill Cox (bill@rtl.cygnus.com)
-
- 2-pass fixes for processes. Partially done.
- * ch-actions.c (chill_expand_assignment): Add real
- novelty-checking sketch, $ifdef'd out for now.
- * ch-decl.c: Generally fix indentation. Move tasking
- init code from init_decl_processing to ch-tasking.c.
- Delete ObjC-related cruft. More accurate parameter name
- for shadow_record_fields. Move debug_scope before
- its first call.
- * ch-expr.c (build_chill_function_call): Return if not
- pass 2.
- * ch-grant.c (print_proc_tail): Avoid trying to format
- a VOID return type, or using a NULL pointer.
- (decode_decl): Minor changes for PROCESS arg access.
- * ch-lang.c (lang_decode_option): Use -itu flag to
- enable 'pedantic' mode.
- * ch-lex.l (init_lex): Initialize compiler-directive
- variable trees.
- (name_type-signal): Disable the returning of SIGNAL and BUFFER
- name tokens.
- * ch-parse.y (rccase_label_flag): Renamed from rccase_ifs.
- All uses renamed also.
- (end_function): Always poplevel, not just in pass 2.
- (quasi_pdef): Check for end-label matching.
- (quasi_formparlist): Write more clearly.
- (rcaltlist, optelsercvcase, optstartset): Add ignore_actions
- guards.
- (rccase_label, sendaction): Use NAME, not SIGNALNAME
- or BUFFERNAME.
- (process): Handle like procedure.
- (mode): Add SIGNAL as a generic signal parameter. This
- is a client-specific extension, so pedantic is checked.
- &nb