| 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 occurances of HANDLE_SYSV_PRAGMA with |
| HANDLE_GENERIC_PRAGMAS. |
| (handle_generic_pragma): New function: Parse generic pragmas. |
| |
| Wed Sep 30 20:22:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * parse.c (emit_label): Fix return-type of prototype. |
| |
| 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 dependancies 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 dependancy. |
| |
| Wed Feb 18 17:35:05 1998 Dave Brolley <brolley@cygnus.com> |
| |
| * parse.c (parse_field): Get rid of warning for multiple case selectors. |
| |
| * decl.c (layout_chill_variants): Fix loop indexing error. |
| |
| Mon Feb 16 15:54:47 1998 Dave Brolley <brolley@cygnus.com> |
| |
| * parse.c (parse_case_expression): Remove code which checked for |
| 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 seperate 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): Dont 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 |
| neccessary to form a prober grant file. This will shorten |
| grant files and speed up compilation. |
| (decode_constant_selective, decode_mode_selective, |
| get_type_selective, decode_decl_selective, |
| grant_array_type_selective, get_tag_value_selective, |
| print_enumeral_selective, print_integer_selective, |
| print_struct_selective, print_proc_tail_selective, |
| grant_one_decl_selective): New functions. |
| |
| * lex.c (yywrap): Remove writing of not yet written USE_SEIZE_FILE |
| directives to grant file. |
| |
| * 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. |
| * ch-tasking.c: Pervasive rewrites for 2-pass. Still not done. |
| * ch-tree.h (CH_NOVELTY): Make it an lvalue. |
| * ch-typeck.c: Fix comment. |
| |
| Sun Sep 12 15:03:21 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * c-typeck.c (digest_init): Compare types using comptypes |
| instead of comparing pointers. (Helps Chill front end.) |
| * ch-expr.c (finish_chill_binary_op): |
| * ch-typeck.c (build_chill_array_ref, build_chill_bitref), |
| ch-expr.c (finish_chill_binary_op): For now, prefer IN_EXPR |
| over BIT_FIELD_REF because of various problems with BIT_FIELD_REF |
| (incomplete support for variable fields, and possible bug in |
| optimize_bit_field_compare). |
| * ch-expr.c (finish_chill_binary_op): Fix type-checking |
| and appropriately coerce operands for IN_EXPR and comparsions. |
| * expr.c (expand_expr, case ARRAY_REF): Coerce lower bound (if |
| non-zero) to sizetype before subtraction. |
| * expr.c (expand_expr): Remove Chills-specific calls to |
| __inpowerset from case BIT_FIELD_REF to case IN_EXPR. |
| |
| Fri Sep 10 15:47:52 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-tree.def (UNDEFINED_EXPR): New kind of expression. |
| * ch-grant.c (decode_constant), ch-expr.c (chill_expand_expr), |
| ch-convert.c (convert): Handle UNDEFINED_EXPR. |
| |
| * ch-expr.c (build_char_array_expr): Move CONCAT_EXPR support to ... |
| * ch-expr.c (build_concat_expr): ... here. |
| Now also folds concatenation of STRING_CST and UNDEFINED_EXPR. |
| Also, make result varying only if one of the operands are. |
| |
| * ch-expr.c (build_chill_binary_op): Move stuff from here to ... |
| * ch-expr.c (finish_chill_binary_op): ... here, as needed for |
| proper 2-pass split. Also, clean up and simplify heavily. |
| |
| * ch-tree.h (enum ch_expr_class): The 5 kinds of expression classes. |
| * ch-typeck.c (classify_chill_expr): New function: Determine |
| class of expression. |
| * ch-typeck.c (chill_compatible_classes): Re-structure; fix |
| asymmetry bugs. |
| * ch-tree.h (CH_CLASS_IS_XXX): Re-define to use classify_chill_expr. |
| |
| * ch-convert.c (maybe_turn_scalar_into_array): Complain |
| unless scalar is a char constant (and we want a string). |
| * ch-convert.c (convert): New code for converting to variable |
| string/array. Avoid type errors by padding (with an UNDFIEND_EXPR). |
| * ch-typeck.c (chill_expand_tuple): Don't do conversion to |
| varying type here; that is handled by convert now. |
| * ch-decl.c (digest_constructor): Moved to ... |
| * ch-convert.c (digest_constructor): ... here. |
| * ch-decl.c (do_decl): Simplify; just use convert for initializer. |
| * ch-decl.c (chill_digest_init): Merged into convert, and removed. |
| * ch-decl.c (init_decl_processing): Set constructor_no_implicit flag. |
| * ch-except.c (finish_handler-array), ch-decl.c (finish_decl): |
| Replace chill_digest_init by convert. |
| * ch-actions.c (chill_expand_array_assignment): Simplify; use convert. |
| * ch-lex.l (build_chill_string): Make string type be derived |
| from integer, not sizetype, because upper bound can be -1. |
| |
| Thu Sep 9 18:21:46 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-typeck.c (my_build_array_ref): Delete pedantic |
| C-specific error message. |
| |
| Thu Sep 9 17:44:20 1993 Jeffrey Wheat (cassidy@eclipse.cygnus.com) |
| |
| * gcc.c: pass {I*} spec to cc1chill. Fixes -Ifoo not working problem. |
| |
| Thu Sep 9 12:22:22 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-typeck.c (build_chill_array_ref): Remove redundant and |
| broken call to my_build_array_ref. |
| |
| Wed Sep 8 13:03:49 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-except.c (finish_handler_array), ch-decl.c (finish_decl): |
| Don't use store_init_value, since it calls digest_init instead |
| of chill_digest_init. |
| * ch-except.c (finish_handler_array): Use build1 (ADDR_EXPR, ...) |
| instead build_unary_op to avoid C-specific optimizations. |
| * ch-typeck.c (my_build_array_ref): Don't use default_conversion |
| to convert array to pointer. |
| * c-typeck.c (process_init_default): New function, to support |
| default values for array tuples in Chill. |
| * c-typeck.c (default_conversion): Don't convert array to pointer |
| if compiling Chill. |
| * ch-decl.c (digest_constructor): New function; used to be guts |
| of chill_digest_init. Now recursive, to handle nested tuples. |
| |
| * ch-decl.c (chill_digest_init): Handle struct labels. |
| * ch-grant.c (get_tag_value): Use decode_constant in general case. |
| * ch-grant.c (decode_constant): Add support for lots of missing |
| binary and unary operators. |
| |
| Wed Sep 8 10:11:04 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-lang.c: Look for '-I' option for seize file path. |
| * ch-lex.l: Fix comment about above option. |
| |
| Wed Sep 8 00:37:32 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-satisfy.c: Move code to set (and restore) file-and-line |
| from satisfy_decl to safe_satisfy_decl, for the sake of satisfying |
| alias decls that refer to real decls with errors. |
| * ch-actions.c (lang_init): Move to ch-lang.c. |
| * ch-decl.c (init_decl_processing): Move code to initialize |
| file-and-line from here ... |
| * ch-lang.c (lang_init): ... to here, to avoid clobbering. |
| |
| * ch-decl.c (chill_digest_init): Add support for SET_TYPE, |
| and index values. |
| * ch-typeck.c (chill_expand_typle): Just call chill_digest_init. |
| * c-typeck.c: Fix various things that got broken |
| in the latest merge. |
| |
| Tue Sep 7 15:45:58 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-decl.c (build_enumerator): Handle a "unnamed set element" |
| (obsolete feature) by generating a dummy name. |
| * ch-decl.c (finish_decl): Call rest_of_decl_compilation with |
| "correct" value of top-level (to get better debugging output). |
| * ch-decl.c (bind_saved_names): Allow a null DECL_NAME. |
| |
| Tue Sep 7 15:48:35 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (chill_expand_return): Correct breakage |
| due to recent fsf merge. |
| |
| Tue Sep 7 11:16:10 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * .cvsignore: Add multilib.h. |
| * ch-decl.c (chill_digest_init): New function. Calls were |
| changed, since it has fewer parameters than old digest_init. |
| * ch-parse.y (untyped_expr, primval, tupleelement): Calls to |
| new init stuff. |
| (elementlist): Delete unused code. |
| * ch-satisfy.c (safe_satisfy_decl): Just return if decl == NULL. |
| * ch-tasking.c (build_tasking_enum): Attempt to adapt to 2-pass. |
| * ch-tree.h: Delete digest_init prototype. |
| * ch-typeck.c (digest_init): Much new code. |
| |
| Tue Sep 7 12:06:28 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c, ch-parse.y, ch-tree.h, ch-typeck.c: Revert |
| files to their pre-init-change state. |
| |
| Mon Sep 6 15:28:27 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| Preliminary adaptation to rms' new initializer code. |
| * ch-decl.c (do_decl): Call chill_digest_init, not |
| digest_init, which rms made static. |
| * ch-expr.c (chill_truthvalue_conversion): Delete C- |
| specific code. |
| * ch-loop.c (init_loop_counter): Indent for readability. |
| * ch-parse.y (untyped_expr, primval, tupleelement): Call new init code. |
| * ch-tree.h: Prototype changes for new init code. |
| * ch-typeck.c (chill_expand_tuple): Call new init code. |
| * chill.texi: Add necessary '-f' prefix on options. |
| |
| Wed Sep 1 13:21:53 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-convert.c (build_array_type_for_scalar), |
| ch-tasking.c (build_chill_receive_case_end): Index type |
| specification is now chain of types (not chain of TREE_LIST). |
| * ch-satisfy.c (satisfy): Don't try to satisfy the |
| abstract_origin of an ALIAS_DECL if DECL_POSTFIX_ALL. |
| * ch-expr.c (build_chill_binary_op): If pass 1, do NOT |
| call finish_chill_binary_op. |
| * ch-parse.y (arrayindex): Simplify. |
| |
| Tue Aug 31 14:57:35 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c (print_lang_decl): Print weak-name status. |
| (print_lang_identifier): Print signal_data as T or F. |
| * ch-lex.l (convert_bitstring, convert_charliteral, |
| convert_float, convert_number): Pass string directly to convert |
| as a parameter. Return token code consistently, return 0 |
| for error. |
| (equal_number): Parse differently, allowing hex, binary |
| and octal constants. |
| * ch-parse.y (dowithaction, structured_variable): Only |
| push/pop scopes once per DO WITH. |
| (structured_variable_list): Check ignore_actions flag here. |
| * gcc.c: Delete 'traditional' from string, add 'itu' |
| as the standard flag's name. |
| |
| Mon Aug 30 15:12:26 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-typeck.c, ch-tree.h (build_chill_range_type): Take 3 |
| parameters instead of 2 (explicit low and high bounds). |
| * ch-parse.y (arrayindex): Build range type from low:high. |
| (rangesize, optrangesize): Removed. |
| (where appropriate): Use new build_chill_range_type interface. |
| * ch-grant.c: Clean up writing of range and array types. |
| * ch-satisfy.c (satisfy): Don't ignore the return value of |
| layout_chill_array_type. (It may be an error mark.) |
| * ch-typeck.c (build_chill_array_type): Simplify. |
| * ch-typeck.c (layout_chill_array_type): Clean up checks. |
| |
| Fri Aug 27 12:55:59 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-decl.c (decl_temp1): Set DECL_ASSEMBLER_NAME. |
| (push_chill_extern_function) Don't set current_function_decl. |
| * ch-parse.y (tupleelement): Don't wrap index is a TREE_LIST |
| (i.e. a range), don't wrap a PAREN_EXPR around it. |
| * ch-grant.c (decode_constant): For tuple CONSTRUCTORs, |
| add support for ranges in purpose. |
| |
| Wed Aug 25 16:58:13 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * .cvsignore: Add g++.sum |
| * ch-actions.c (chill_expand_result): Stop building a temp. |
| Assign the expression directly into function's DECL_RESULT. |
| * ch-decl.c: Add formfeeds. |
| (start_chill_function): Don't need to zero DECL_RESULT's pointer any more. |
| (push_chill_function_context): Delete C pedwarn message. |
| * ch-expr.c: Move builtin functions together. |
| * ch-parse.y (end_function): Delete unused code. |
| Reformat %union for readability. Delete _MAX and _MIN |
| tokens. |
| |
| Wed Aug 25 13:24:06 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (get_result_tmp_name): Delete unused function. |
| (chill_expand_result, chill_expand_return): Rewrite for |
| 2-pass. |
| * ch-decl.c (start_chill_function): NULL out the RESULT_DECL's |
| chain field, so we can make a temp, evaluate a RESULT action's |
| expression into it, and hang it on here. |
| * ch-parse.y (end_function): Look for RESULT temps to emit. |
| (assertaction): Indentation. |
| |
| Wed Aug 25 08:34:36 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-lex.l, ch-parse.y: Delete CONTINUE_EVENT token. |
| It wasn't used anyway. |
| |
| Tue Aug 24 17:51:18 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (chill_expand_result, chill_expand_return): |
| No need to make a temp for the value, just use DECL_RESULT. |
| |
| Tue Aug 24 16:38:24 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-tree.c (layout_powerset_type): Remove redundant code. |
| Generalize (in error message) to also handle bitstrings. |
| * ch-tree.c (build_bitstring_type): Remove all layout-like |
| stuff, and defer that to layout_powerset_type. |
| * ch-expr.c (chill_expand_expr): For various SET_xxx_EXPRs, |
| allocate stack temp for target using correct mode. |
| |
| Tue Aug 24 10:27:19 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c, ch-decl.c, ch-except.c, |
| ch-grant.c, ch-lang.c, ch-loop.c, ch-tree.h, |
| ch-typeck.c: Change build_modify_expr calls to |
| build_CHILL_modify_expr calls. |
| * ch-expr.c (build_chill_modify_expr): Adapted from |
| build_modify_expr in c-typeck.c. |
| |
| Mon Aug 23 16:48:39 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c, ch-convert.c, ch-decl.c, ch-expr.c, |
| ch-grant.c, ch-lang.c, ch-lex.l, ch-loop.c, |
| ch-satisfy.c, ch-tasking.c, ch-tree.c, ch-typeck.c: |
| Major re-allocation of functions to files. |
| |
| Mon Aug 23 12:15:11 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| Thanks for the tip, Jim. |
| * Makefile.in: Add dependency lines for ch-except.o and |
| ch-satisfy.o. Correct dependency lines for ch-convert.o, |
| ch-expr.o, ch-inout.o, and ch-loop.o. |
| (chill, install-common): Add clean-up commands. |
| |
| Sat Aug 21 17:11:26 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c (get_type_precision): New function. |
| (layout_enum): Call it. |
| * ch-tree.c (layout_powerset_type, build_bitstring_type): |
| Call it. |
| |
| Sat Aug 21 13:59:40 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c (init_decl_processing): Define setbitpowerset |
| runtime function. |
| * ch-expr.c (chill_expand_assignment): Call setbitpowerset |
| to set a bit. |
| * ch-parse.y: Indentation. |
| |
| Fri Aug 20 17:29:56 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-parse.y: Delete unused %type declaration. |
| * ch-tasking.c (build_signal_struct): Delete return, since |
| function returns void. |
| * ch-typeck.c: Indent to standard. |
| * stor-layout.c: Fix comment. |
| * toplev.c: Change -L option ti -I. |
| * varasm.c (emit_set_data): Align set constant to word |
| boundary. |
| |
| Fri Aug 20 08:20:07 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c: Fix indentation, comments. |
| * ch-decl.c (push_chill_extern_signal): Use same interface |
| as build_signal_struct. |
| * ch-parse.y (quasi_signaldef): Move build_signal_decl |
| here to sigdef. Add quasi_signal to distinguish contexts |
| where sigdef gets used. |
| * ch-tasking.c: Replace make_signal_struct and build_signal_decl |
| with build_signal_decl, which doesn't loop through a |
| TREE_LIST. |
| * ch-tree.h: Fix protos. |
| |
| Wed Aug 18 17:36:53 1993 Bill Cox (bill@cygnus.com) |
| |
| * ch-actions.c: Fix comments. |
| * ch-decl.c (push_modedefs): Return the new decl. |
| (shadow_record_fields): Move pushlevel (0) calls into |
| the grammar, so they'll get done in both passes. |
| * ch-parse.y (dowithaction): Always compute & save # of |
| 'with' variables seen (both passes), and always pop that |
| number of levels. |
| (structured_variable_list): Always chain variables into a list. |
| (structured_variable): Put pushlevel here (from shadow_record_fields). |
| * ch-tasking.c: Indentation fixes. |
| * ch-tree.h: Change proto. |
| * chill.texi: Add Blue Book section numbers to unimplemented |
| features list. |
| |
| Wed Aug 18 15:48:43 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-actions.c (build_generalized_call): New function. |
| Classifies semantically (if pass 2) this that look like calls. |
| * ch-parse.y (call): Invoke build_generalized_call. |
| * ch-parse.y (sigdef): Use defining_occurrence instead of NAME. |
| * ch-parse.y (opt_untyped_exprlist): New non-terminal. |
| * ch-satisfy.c (satisfy): Handle CALL_EXPR. |
| |
| Tue Aug 17 16:36:15 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-decl.c (find_implied_types): Handle INTEGER_TYPEs (ranges). |
| |
| Mon Aug 16 18:07:36 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-tree.h (TUPLE_NAMED_FIELD): New macro. |
| * ch-parse.y (labelled structure tupleelement): |
| Set TUPLE_NAMED_FIELD flag. |
| * ch-grant.c (decode_constant): Check for TUPLE_NAMED_FLAG. |
| * ch-satisfy.c (satisfy): Check for TUPLE_NAMED_FLAG. |
| Do satisfy the elements of a CONSTRUCTOR even if call |
| chill_expand_tuple isn't correct. |
| * ch-satisfy.c (satisfy): Satisfy TYPE_TAG_VALUES of a RECORD_TYPE. |
| * ch-parse.y (label_spec): Defer any semantic checking until ... |
| * ch-decl.c (layout_chill_variants): ... here. |
| Also make sure to call layout_type on the union type. |
| * ch-decl.c (bind_saved_names): For weak names, allocate an |
| ALIAS_DECL, rather than a CONST_DECL. |
| |
| Add support for implied (weakly visible) names. |
| * ch-tree.h (DECL_WEAK_NAME): New macro. |
| * ch-satisfy.c (satisfy of IDENTIFIER_NODE): Don't complain |
| if lookup_name fails if LOOKUP_ONLY - name might be weakly visible. |
| * ch-decl.c (proclaim_name): Handle DECL_WEAK_NAME appropriately. |
| * ch-decl.c (concat_lists, find_implied_types): New functions. |
| * ch-decl.c (bind_saved_names): Search for implied names. |
| * ch-tree.h (C_DECL_VARIABLE_SIZE): Removed. |
| * ch-lang.c (layout_chill_struct_type): Don't use |
| C_DECL_VARIABLE_SIZE. |
| |
| Mon Aug 16 16:10:43 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c: Delete extra space in error message. |
| * ch-parse.y: Fix comment. |
| * expr.c (store_constructor): Avoid passing NULL to convert, |
| and getting back an error_mark_node and trying to process |
| *that* node. |
| |
| Mon Aug 16 14:41:29 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-decl.c: Add more overview comments. |
| * ch-decl.c (proclaim_decl): New function. |
| * ch-decl.c (temp_pushdecl, struct shadowing): Removed. |
| * ch-decl.c (bind_saved_names): Remove blevel parameter; |
| use current_scope global instead. Do some other cleanups. |
| * ch-decl.c (save_expr_under_name): Create an ALIAS_DECL. |
| * ch-decl.c (pushdecllist, save_expr_under_name): Use proclaim_decl. |
| * ch-satisfy.c (satisfy, safe_satisfy_decl): Be more careful |
| to not do inappropriate things (e.g. type layout) if LOOKUP_ONLY. |
| |
| * chill.texi: Start collecting Chill documentation here. |
| * ch-parse.y (mode): Ignore READ specifier, for now. |
| |
| Mon Aug 16 11:13:07 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (chill_comptypes): Correct handling reference |
| of type 1. |
| (build_chill_length, build_chill_num, |
| build_chill_sizeof): Convert result to CHILL integer. |
| (build_chill_function_call): Clean up INOUT and OUT |
| parameter handling. |
| * ch-decl.c (build_chill_function_type): Handle INOUT and |
| OUT parameters. |
| * ch-loop.c: Fix up comments. |
| * ch-parse.y: Fix up comments. |
| |
| Sun Aug 15 15:06:01 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_lower, build_chill_upper): |
| Re-write, mostly to delete bogus ENUMERAL_TYPE handling. |
| * ch-decl.c (save_expr_under_name): New function to save |
| addressing expressions for DO WITH and DO FOR handling. |
| (handle_one_level): Call new function. |
| * ch-loop.c (init_loop_counter): Call it here, too. |
| Check lp->user_var before passing it to lookup_name. |
| (high_domain_value, low_domain_value): Correct call |
| to build_chill_upper and build_chill_lower. |
| (begin_chill_loop, end_chill_loop): Move pushlevel, |
| poplevel up into the grammar, so they're done in both |
| passes. |
| * ch-parse.y (doaction): Unconditionally make a scope |
| for a loop, pop it later. |
| (controlpart, iteration): Save return from |
| build_chill_iterator. |
| * expr.c: Readability changes. |
| |
| Sat Aug 14 19:42:32 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-expr.c (chill_expand_case_expr): Complete rewrite |
| for 2-pass. About 1/2 the size, too. |
| * ch-parse.y (actionlabel): Unconditionally do INIT_ACTION. |
| This assures that a label preceding a module's first action |
| is enclosed in the module-level function that's generated. |
| |
| Sat Aug 14 14:56:07 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| Re-implement how EXIT is done. |
| 'LABEL: BEGIN ... EXIT LABEL; ... END' is converted to |
| 'LABEL: BEGIN ... GOTO EXIT!LABEL; ... EXIT!LABEL: ; END'. |
| Hence we no longer need any support for EXIT in stmt.c. |
| * stmt.c (stamp_nesting_label, expand_exit_labelled): Removed. |
| * ch-actions.c (lookup_and_handle_exit): Handle like 'GOTO EXIT!name'. |
| * ch-tree.c, ch-tree.h (munge_exit_label): New function. |
| * ch-parse.y: Re-write bracked actions to support EXIT new way. |
| * ch-decl.c, ch-loop.c: Remove calls to stamp_nesting_level. |
| * ch-parse.y: Replace SC by new token semi_colon, which |
| resets the 'label' global. Also make sure that label gets |
| reset whenever we might start a new action statement. |
| * ch-parse.y (possibly_define_exit_label): New function. |
| |
| * ch-except.c (chill_start_on): Wrap an ADDR_EXPR round the jmpbuf. |
| * ch-grant.c (chill_finish_compile): Make sure |
| get_file_function_name is only called once. |
| * ch-expr.c (chill_expand_array_assignment): Use store_expr, |
| instead of incorrectly calling emit_block_move. |
| |
| * ch-parse.y (procedure): Call push_chill_function_context |
| in *both* passes (if nested). |
| * ch-parse.y (primval): Call get_type_of before chill_expand_type. |
| * ch-parse.y (tupleelement): Only build PAREN_EXPR during pass 1. |
| |
| Fri Aug 13 16:36:36 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| Re-implement GRANT and SEIZE, to support prefixes and prefix |
| rename. All of the Blue Book semantics for these should |
| now work (except FORBID). |
| * ch-tree.def, ch-tree.h (DECL_OLD_PREFIX, DECL_NEW_PREFIX, |
| DECL_POSTFIX, DECL_POSTFIX_ALL): New ALIAS_DECL layout and macros. |
| * ch-tree.c (get_identifier3, build_alias_decl, decl_old_name, |
| decl_check_rename): New functions. |
| * ch-lex.h, ch-lex.l, ch-grant, ... (grant_all_seen): Removed. |
| * ch-satisfy.c (satisfy_decl): Handle SYN initialized with tuple. |
| * ch-satisfy.c (satisfy_decl): Set DECL_ASSEMBLER_NAME here ... |
| * ch-decl.c (pushdecllist): ... instead of here, which is too late. |
| * ch-grant.c (decode_prefix_rename): New function. |
| Use to print out GRANT and SEIZE statements. |
| * ch-decl.c (ALL_POSTFIX): New global variable. |
| * ch-decl.c (bind_saved_names, pop_module): Change to use new |
| ALIAS_DECL layout, and support general prefix rename and ALL. |
| * ch-decl.c (various places): Don't barf if DECL_ANME is NULL. |
| * ch-parse.y (build_prefix_clause): New function (handle PREFIXED). |
| * ch-parse.y (optprogendname, optname): Rename to opt_end_label. |
| * ch-parse.y: Add support for compound name strings, but defer |
| using all over teh place, due to parser ambiguities. |
| Howver, do use defining_occurrence where appropriate. |
| * ch-parse.y: Re-write syntax and semantics of GRANT and SEIZE |
| statements to support Blue Book functionality. Neato! |
| |
| Fri Aug 13 17:10:52 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c: Redo decl_temp1 calls to save resulting decl. |
| * ch-decl.c (decl_temp1): Rewrite to return generated decl. |
| (decl_temp): Deleted. |
| * ch-loop.c: Redo decl_temp1 calls to save resulting decl. |
| * ch-satisfy.c (safe_satisfy_decl): Reorder switch for |
| readability, add comment. |
| * ch-tasking.c: Redo decl_temp1 calls to save resulting decl. |
| * ch-tree.h: Delete decl_temp proto, change decl_temp1. |
| |
| Fri Aug 13 13:39:59 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c (decl_temp): Break the chain of decls. This |
| prevents an infinite loop. |
| * ch-lang.c (make_chill_pointer_type): Fix compiler warning. |
| * ch-lex.l (equal_number): Check passes in looking up a |
| symbolic value. |
| * ch-parse.y: Fix comments. |
| * ch-tasking.c (tasking_setup): Only act in pass 2. |
| (make_signal_struct, build_signal_decl, |
| build_chill_receive_case_label): Don't go indirect |
| thru NULL decl pointer. |
| |
| Thu Aug 12 11:02:34 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (route_to_predefined_function): New function called |
| from build_chill_function_call, to call the proper predefined routine. |
| (build_chill_card, build_chill_length, build_chill_lower, |
| build_chill_max, build_chill_min, build_chill_num, |
| build_chill_pred, build_chill_sizeof, build_chill_succ, |
| build_chill_upper): Rewritten to run only in pass 2. |
| * ch-decl.c (init_decl_processing): Build predefined functions for card, |
| length, lower, max, min, num, pred, sizeof, succ and upper. Delete |
| unused builtin_function calls. |
| * ch-grant.c (chill_finish_module_code): Save current_function_decl |
| before calling finish_chill_function, and use that to build the |
| initializer structure. |
| * ch-lex.l: Remove following tokens, since they're now just predefined, |
| not reserved: card, length, lower, max, min, num, pred, sizeof, succ |
| and upper. |
| * ch-loop.c: Readability, indentation changes. |
| * ch-parse.y: Delete tokens for card, length, lower, max, min, num, pred, |
| sizeof, succ and upper. Delete special rules for calls to these. |
| Delete mode_location and upper_lower_arg non-terminals. |
| (pmodearg): Eliminate convolutions. |
| (call): Add rule for typename parameter. |
| * ch-tasking.c: Readability changes. |
| * ch-tree.h: Add prototypes. |
| |
| Thu Aug 12 00:38:17 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-decl.c (save_decl): Set DECL_CONTEXT (decl). |
| * ch-grant.c (chill_finish_module_code): Call |
| finish_chill_function with nested==0. |
| * ch-tree.h, ch-decl.c, ch-tasking, ch-parse.y: Rename |
| {push,pop}_c_function_context to {push,pop}_chill_function_context. |
| * ch-parse.y (end_function): If nested, call |
| pop_chill_function_context regardless of which pass we're in. |
| |
| Wed Aug 11 02:34:02 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-actions.c (finish_chill_binary_op): Handle error marks. |
| * ch-decl.c (do_decl): Laying out decl and generating rtl |
| is too late to do here (if there are forward references), so ... |
| * ch-satisfy.c (satify_decl): ... do it here instead. |
| * ch-decl.c (finish_enum): Fixup types of enum decls now. |
| * ch-satisfy.c (safe_satisfy_decl): New routine. Supports |
| checking illegal cyclic definitions. |
| All *satisfy* routines now take a 'chain' parameter (instead |
| of 'lookup_only') used for checking cycles. |
| * ch-satisfy.c (satisfy_decl): Return DECL_INITIAL if appropriate. |
| * ch-satisfy.c (satisfy): Lots of little fixes. |
| |
| * ch-lex.l (init_lex): Make all the standard ridpointers be |
| lowercase, so that lookup_name on lower-cased user input |
| will find the standard types. |
| * ch-lex.l: Remove all the standard types, in effect |
| converting them from reservered anmes to predefined names. |
| * ch-lex.l, ch-parse.y: Remove PREDEF_MODEDECL - no longer used. |
| * ch-grant.c (gfile): Rename to grant_file_name. |
| * ch-lex.l (yywrap): Don't try to seize current grant_file_name. |
| |
| * initname.c: Removed. get_file_function_name is now in tree.c |
| * Makefile.in (CHILL_OBJS): Remove initname.o |
| |
| * ch-decl.c (do_decl): New function, based on loop body of do_decls, |
| * ch-decl.c (do_decls): Just call do_decl. |
| * ch-grant.c (chill_finish_module_code): Minor cleasnups. |
| Use new do_decl routine. Clear init_entry_decl's source line. |
| * ch-grant.c (print_proc_tail): Fix for new param list structure. |
| * ch-parse.y (whatpdef): Removed. Cleaned up procedure |
| and process, allowing proper end-label-checking. |
| * ch-typeck.c (build_chill_cast): Remove decl->type conversion. |
| |
| Wed Aug 11 00:33:44 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-decl.c (layout_enum): Don't call rest_of_type_compilation. |
| |
| * ch-lex.l (RETURN_PREDEF): Don't call lookup_name. |
| * ch-expr.c (build_chill_indirect_ref): Call get_type_of. |
| * ch-parse.y (call): Call get_type_of before build_chill_cast. |
| |
| Tue Aug 10 21:33:10 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-actions.c (build_char_array_expr): If a concat operand is |
| a constant char, convert it to a STRING_CST. |
| * ch-decl.c (finish_decl): Call rest_of_decl_compilation |
| with toplev=0. |
| * ch-typeck.c (build_chill_cast): Allow type to be TYPE_DECL. |
| |
| * ch-parse.y (actionlabel): Call define_label in both passes. |
| * ch-actions.c (lookup_and_expand_goto, lookup_and_handle_exit): |
| New functions, using lookup_name to find LABEL_DECLs. |
| * ch-parse.y (GOTO, EXIT): Use above new functions. |
| * ch-tasking.c (struct rc_state_type *current_rc_state): |
| Use to store state for the current receive case statement. |
| (build_chill_receive_case_start, build_chill_receive_case_end): |
| Don't generate temporary LABEL_DECL; just use gen_label_rtx. |
| * ch-decl.c: Remove all stuff dealing with specific label scopes, |
| including functions push_label_level, pop_label_level. |
| * ch-decl.c (define_label): Re-write for 2-pass. |
| * ch_tree.h (lang_identifier): Removed label_value. |
| * ch-tree.h (IDENTIFIER_LABEL_VALUE): Removed. |
| |
| * ch-parse.y (modename): Changed to yield identifier, not type. |
| This allows following changes, which work better for 2-pass: |
| (location): primval ARROW optmodename -> primval ARROW optname. |
| (primval): Tuple can now be prefixed by unsatisfied name. |
| |
| * ch-actions.c (chill_grant_only): Renamed to grant_only_flag. |
| * ch-lex.l (yywrap): Don't read seizefiles if grant_only_flag. |
| * ch-decl.c (switch_to_pass_2): Exit if grant_only_flag, |
| |
| * ch-satisfy.c (satisfy): Support CONSTRUCTOR, REFERENCE_TYPE. |
| * ch-satisfy.c (satisfy_decl, satisfy): Kludge around |
| to a TYPE_DECL can be simplified to its type. |
| * ch-expr.c (build_chill_indirect_ref): New function. |
| * ch-lex.l (prepare_paren_colon): Make kludge even uglier, |
| since the left paran might already have been seen. |
| * ch-lang.c (make_chill_pointer_type): Allow parameter |
| to select pointer or reference type. |
| (build_chill_reference_type): New function. |
| Either function: Be more careful (in case arg is identifier). |
| * ch-except.c (initialize_exceptions): Make |
| exception_stack_decl be public. |
| * ch-actions.c (build_char_array_expr): Can only |
| constant fold if operands are STRING_CST. |
| * ch-grant.c (raw_decode_mode): Allow TYPE_DECL. |
| (chill_finish_compile: Set TREE_PUBLIC of init function to 1. |
| |
| Tue Aug 10 17:55:12 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_char_array_expr): Set array sizes correctly. |
| * ch-decl.c: Fix comment. |
| * ch-parse.y (pmodearg): Build tree_list in all cases. |
| * varasm.c (assemble_tasssking_entry): Delete unused code. |
| |
| Tue Aug 10 13:58:21 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_char_array_expr): save/restore |
| a tree's constant status. |
| (build_chill_binary_op): Don't convert an expression |
| if the type we're converting to is NULL. |
| * ch-convert.c (maybe_turn_scalar_into_array): New functions. |
| Call it from convert, and from .. |
| * ch-expr.c (chill_expand_assignment): call new function. |
| Move convert code earlier, too. |
| * ch-decl.c (lookup_name): Delete bogus error message. |
| * ch-tree.h (CH_NOVELTY, SCALAR_P): Handle NULL_TREE. |
| Add protos. |
| * ch-typeck.c (valid_array_index): Comment out some strange code |
| which now seg faults. |
| (chill_expand_tuple): Re-enable prepending of VARYING |
| length to a tuple. |
| (chill_similar): Return FALSE if either mode is NULL_TREE. |
| |
| Tue Aug 10 07:29:31 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c: Delete proto for unused function shadow_tag_warned. |
| Add commented-out calls to pushtag, in case we decide later |
| to fill in TYPE_STUB_DECL for dbxout. |
| * ch-lang.c (build_chill_struct_type): Add commented-out |
| calls to pushtag, in case we decide later to fill in |
| TYPE_STUB_DECL for dbxout. |
| |
| Mon Aug 9 23:09:08 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-decl.c (chill_seize): Don't get_next_next in pass 2. |
| * ch-decl.c (get_next_decl): Skip ALIAS_DECLs. |
| * ch-decl.c (bind_saved_names): Handle SEIZE ALL. |
| * ch-lang.c (layout_chill_struct_type): Don't call |
| rest_of_type_compilation - it crashes without a TYPE_STUB_DECL. |
| * initname.c (get_file_function_name): Get new file and |
| function for language-independent constructor name generation. |
| * ch-grant.c (get_init_function_id): Removed. |
| * ch-grant.c (chill_finish_compile): Call get_file_function_name |
| instead of get_init_function_id. |
| |
| Mon Aug 9 18:33:36 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c: Formfeeds and comments. |
| * ch-parse.y (quasi_formpar): Treat just like real formpar. |
| Eliminate restriction on single name. |
| (pmodearg, pmodearglist): Remove ignore_exprs stuff. |
| |
| Mon Aug 9 17:21:14 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-lex.h (enum rid), ch-lex.l (init_lex): Added RID_ALL. |
| * ch-lang.c (build_chill_pointer_type): Layout the pointer type, |
| if the pointee is laid out, even if pass==1. |
| * ch-parse.y: Set ignore_exprs=(pass=2) for entire spec module. |
| |
| Mon Aug 9 15:44:01 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| This version compiles the 5-line program. Thanks, Per! |
| * ch-decl.c (print_lang_decl, print_lang_identifier): |
| Add appropriate calls to indent_to(). Rename reverse_scopes |
| to switch_to_pass_2, and wait to set pass = 2 until |
| here. |
| * ch-grant.c (chill_finish_module_code): Set module_init_list |
| non-NULL in pass 1; in pass2, chain on the module_init |
| structure's decl. |
| (chill_finish_compile): Clear module_init_list to NULL. |
| * ch-parse.y (quasi_formparlist): Rewrite to avoid seg fault. |
| Rename reverse_scopes to switch_to_pass_2, delete setting |
| of pass = 2. |
| * ch-tree.h: Rename reverse_scopes proto. |
| |
| Mon Aug 9 13:21:34 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-decl.c (build_enumerator): If name is NULL, |
| don't call save_decl or get_next_decl. |
| * ch-decl.c (layout_enum): Fix calculation of next value. |
| * ch-grant.c (print_enumeral): Re-do for new 2-pass scheme. |
| * ch-grant.c (decode_constant): Better CONSTRUCTOR support. |
| |
| Mon Aug 9 11:59:12 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c, ch-convert.c, ch-decl.c, ch-grant.c, |
| ch-lang.c, ch-parse.y, ch-tree.h: gcc -Wall cleanup. |
| Lots of new prototypes. |
| |
| Mon Aug 9 01:00:33 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-lex.h: Remove unused RID_'s. Make sure RID_MAX is last. |
| * ch-decl.c (init_decl_processing): Moved ridpointers |
| initialization to init_lex(). Use them consistently. |
| * ch-lex.l (RETURN_PREDEF): New macro. Uses ridpointers |
| for all preferedined types. |
| * ch-lex.l (init_lex): Upper case all RIDs, so grantfiles |
| (and error messages?) will use uppercase. |
| * ch-decl.c (build_chill_enumerator): Merged into build_enumerator. |
| * ch-lang.c (finish_chill_enum): Merged into ... |
| * ch-decl.c (finish_enum): .... this function. |
| * ch-decl.c (layout_enum): New function. Does all the pass-2 |
| stuff for enumerations. |
| * ch-decl.c (finish_enum, start_enum): Only trivial pass-1 stuff. |
| * ch-satisfy.c (satisfy): Support ENUMERAL_TYPE. Improve ranges. |
| * ch-parse.y: Check ignore_exprs instead of ignore_decls when |
| parsing and building types. |
| |
| Sun Aug 8 16:26:40 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-lex.h: Add some missing RID_'s. |
| * ch-decl.c (init_decl_processing): |
| |
| Sun Aug 8 15:32:54 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-grant.c (module_has_actions): Delete this and all |
| references. It was a botch. |
| (chill_finish_module_code): Move finish_chill_function_call inside |
| the test whether actions were found at module level. |
| Use current_function_name in the initializer build, |
| and init_entry_id in the module_list setup. |
| (chill_finish_compile): Call lookup_name to get the |
| decl from a module_init_list entry. |
| * ch-parse.y: Revert module_has_actions additions. |
| * ch-satisfy.c (satisfy): After satisfying the type referenced |
| by a pointer_type, call layout type for the pointer. |
| * ch-tasking.c (tasking_registry): Only active in pass 2. |
| * ch-typeck.c: Call build_chill_pointer_type everywhere. |
| |
| Sun Aug 8 13:13:29 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-tree.def (PAREN_EXPR): New unary op: '(' EXPR ')'. |
| * ch-parse.y (primval): If pass 1, generate PAREN_EXRR. |
| * ch-satisfy.c (satisfy): Reduce PAREN_EXPR to its operand. |
| * ch-grant.c (decode_const): Handle PAREN_EXPR. |
| * ch-decl.c (pop_module): Fix think. Inprove error message. |
| |
| Sun Aug 8 10:31:04 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| Generally, replace 'function' with 'procedure' |
| and 'type' with 'mode' in error/warning messages. |
| * ch-actions.c: See Generally. Fix up 'too many' and 'too few' error msgs. |
| * ch-decl.c: See Generally. |
| (init_decl_processing): Call build_tasking_enum from here. |
| Now, it doesn't need a flag to do its work only once. |
| Also, build the TaskingStruct decl here. |
| * ch-grant.c: Remove references to `current_grant_file'; |
| there's now only one. See Generally. Do gcc -Wall cleanup. |
| * ch-lex.l: Remove references to `current_grant_file' |
| and delete USE_GRANT_FILE token. |
| * ch-parse.y: Remove call to build_tasking_enum, and its extern. |
| * ch-tasking.c (tasking_setup): Move TaskingStruct build |
| to init_decl_procesing. Delete build_tasking_enum calls. |
| * ch-tree.c: See Generally. |
| * ch-tree.h: Add proto for build_tasking_struct. |
| |
| Sun Aug 8 08:59:23 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c: Make unnamed_module_number static, reset it to zero |
| before pass 2, so same module names get generated in both passes. |
| (push_module): Return user name or generated name. |
| (init_decl_processing): Build __tmp_initializer_type. |
| Code moved from chill_finish_module_code. |
| * ch-grant.c: New flag module_has_actions. Set TRUE by push_actions, |
| used, reset by chill_finish_module_code. Replaces test of |
| module_function_name. Shuffled finish-up code to end of module. |
| (chill_finish_module_code): Use global_bindings_p to determine |
| 'nested' parameter for finish_chill_function. Use new |
| module_has_actions flag to trigger generation of module_init list |
| entry. We now can handle not only multiple modules per file, |
| but modules nested inside functions (I think). |
| * ch-lang.c (build_chill_pointer_type): Restore missing assignment. |
| * ch-parse.y (push_actions): Set module_has_actions flag. |
| (modulion, spec_module): Save possibly-generated module name |
| returned by push_module. |
| * ch-satisfy.c (satisfy): Put switch cases into alpha order, add |
| case for POINTER_TYPE. |
| * ch-tasking.c: Replace build_pointer_type calls with |
| build_chill_pointer_type calls. |
| * ch-tree.h: Fix, add prototypes. |
| |
| Sat Aug 7 17:32:22 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-parse.y: Remove many useless tests for ignore_decls. |
| * ch-parse.y: Remove obsolete support for _EXTERN and _INIT. |
| * ch-parse.y: Reset ignore_exprs while parsing declarations, |
| but handle initializers appropriately. |
| * ch-grant.c (decode_constant): Update (for 2-pass) support |
| for CONSTRUCTOR and SET_TYPE. |
| * ch-grant.c (chill_initializer_name): Renamed to |
| module_function_name. |
| * ch-grant.c (function_generated): Removed; |
| use module_function_name != NULL instead. |
| * ch-tree.h, ch-parse.y: Removed unused current_locnamelist. |
| * ch-decl.c (push_modedef): Simplify to take just one mode. |
| * ch-tasking.c (make_process_struct, make_signal_struct): |
| Change calls to push_modedef correspondingly. |
| * ch-tree.c (build_powerset_type): Move the stuff that's |
| suitable for pass 1 into new function make_powerset_type, |
| and that for pass 2 into new function layout_powerset_type. |
| * ch-lang.c: Move pass-1 stuff from build_chill_pointer_type |
| into new function make_chill_pointer_type, and split |
| build_chill_struct_type into make_chill_struct_type |
| and layout_chill_struct_type. |
| * ch-decl.c (grok_chill_variantdefs): Similarly split up |
| into make_chill_variants and layout_chill_variants. |
| * ch-satisfy.c (satisfy): Add support for SET_TYPE, and UNION_TYPE. |
| Call layout_chill_struct_type for RECORD_TYPE. |
| |
| Sat Aug 7 09:59:55 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| Fixup previous check-in. |
| * ch-decl.c: Restore unnamed_module_number, which *was* |
| used after all. |
| * ch-grant.c (get_init_function_id): Return type s.b. tree. |
| |
| Sat Aug 7 09:28:17 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c (print_lang_decl, print_lang_type): Add |
| correct parameter list. Add print statements for |
| nesting_level, signal_dest, buffer_size, and the |
| signal_data flag. |
| (decl_temp, decl_temp1): Delete unused code. |
| (init_decl_processing): Call build_instance_type and |
| build_tasking_type in both passes. |
| Generally change current_scope comparisons against |
| global_scope to global_biidings_p calls. |
| * ch-except.c (push_handler): Add space before parameter paren. |
| * ch-grant.c (chill_start_module, chill_finish_module, |
| chill_finish_compile): Complete re-write for 2-pass and |
| multiple modules per source file. |
| * ch-parse.y (pass1_2): Call chill_finish_compile once each pass. |
| * ch-tasking.c: Diffused small adaptations to 2-pass. |
| * ch-tree.h (print_lang_decl, print_lang_type): Correct |
| the prototypes. |
| (chill_finish_module_code): Add module name parameter. |
| * ch-typeck.c: Fix comments, add whitespace. |
| |
| Fri Aug 6 12:17:07 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-decl.c (temp_pushdecl, bind_saved_names): The simple-minded |
| way I allocated the shadow_list on an obstack was too fragile, |
| so just use xmalloc/free instead. |
| |
| Fri Aug 6 08:31:49 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-satisfy.c (satisfy): Satisfy TYPE_MIN_VALUE and |
| TYPE_MAX_VALUE for vanilla integer type. Only need |
| to satisfy TREE_TYPE for integer range type. |
| |
| Fri Aug 6 00:53:11 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-lang.c (build_chill_range_type): Split up into two new |
| functions (make_chill_range_type, layout_chill_range_type); |
| only former part is done in pass 1. |
| * ch-lang.c (build_chill_array_type): Split up in the same |
| way (yielding make_chill_array_type, layout_chill_array_type). |
| * ch-satisfy.c (satisfy): Handle array and range types. |
| * ch-tree.h (TYPE_RANGE_PARENT): Removed. Not used. |
| * ch-parse.y (mode2): Handle optional rangesize. |
| |
| Thu Aug 5 15:13:42 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-grant.c (print_an_int): Re-enable (but don't search for SYN). |
| * ch-grant.c (raw_decode_mode): Support printing |
| of an IDENTIFIER_NODE (unresolved type name). |
| * ch-grant.c (decode_constant): Support printing of an unresolved |
| IDENTIFIER_NODE, as well as some kinds of binary operations. |
| * ch-grant.c (grant_one_decl): Don't call globalize_decl. |
| |
| * ch-grant.c (decode_decl): Add support for ALIAS_DECLs |
| (from SEIZEs and GRANTs). |
| * ch-grant.c: Remove support for multiple grantfiles. |
| * ch-grant.c, ch-parse.y: Removed grant_count, for now at least. |
| * ch-lex.h (in_seizefile): Moved to ch-tree.h. |
| * ch-tree.h (CH_DECL_SEIZED), ch-tasking.c, ch-decl.c: Removed. |
| * ch-tree.h (CH_DECL_GRANTED): Added. |
| * ch-actions.c (build_chill_exception_decl): Use |
| IDENTIFIER_LOCAL_VALUE, not obsolete IDENTIFIER_GLOBAL_VALUE. |
| * ch-grant.c (write_grant_file -> write_spec_module): Rename. |
| Change to accept list of remember_decls and granted_decls. |
| |
| Thu Aug 5 11:58:21 1993 Stan Shebs (shebs@rtl.cygnus.com) |
| |
| * expr.c: Remove no-longer-used PROCESS_DECL tree type. |
| |
| Thu Aug 5 10:03:27 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c (init_decl_processing): Only build types |
| in pass 2, since dbxout machinery is only ready for |
| output then. |
| * ch-grant.c (chill_finish_module_code): Do most of the |
| work in pass 2. |
| |
| Thu Aug 5 06:54:10 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-parse.y (receivecaseaction): Pass label-group |
| numbers around. |
| * ch-tasking.c (build_chill_receive_case_start): |
| Generate unique labels for each case, pass back |
| the label-group's number. |
| (build_chill_receive_case_end): Accept label-group |
| number from parser, use it to build labels |
| * ch-tree.h: Change prototypes. |
| |
| Wed Aug 4 13:21:13 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-decl.c (decl_temp1): Call finish_decl(). |
| |
| * ch-grant.c (chill_start_module_code): Don't call |
| push_c_function_context - not needed since we're not nested. |
| * ch-grant.c (chill_finish_module_code): Call finish_chill_function |
| with nested=0, not 1 (twice). |
| * ch-grant.c (chill_finish_module_code): Clear function_generated. |
| |
| Tue Aug 3 20:06:22 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-decl.c (push_chill_extern_function): Set TREE_PUBLIC. |
| |
| Tue Aug 3 19:08:51 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_function_call): Handle parameter |
| attributes better - LOC still not handled. |
| * ch-tree.def: Amplify comment. |
| |
| Tue Aug 3 18:07:36 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-lex.l (handle_use_seizefile_directive): Update |
| next_file_to_seize correctly. |
| * ch-actions.c (build_chill_abs): Create an ABS_EXPR, not an rts_call. |
| |
| Tue Aug 3 14:03:50 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| First Aid, not real long-term fixes... |
| * ch-decl.c (pop_module, lookup_name_for_seizing): Check |
| current_module pointer for NULL before using it. |
| (init_decl_processing): Set up wchar_type_node before using it. |
| * ch-grant.c (chill_finish_module_code): Don't build |
| initializer_type or initializer_decl until pass 2. |
| * ch-lex.l: Readability - single statement per line. |
| * ch-tasking.c (make_process_struct): Hide get_parm_info |
| call inside #ifdef for now. |
| |
| Tue Aug 3 09:59:23 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c (pushdecllist): Add forward decl. |
| * ch-parse.y (handler): Add rules which allo |
| empty onalternativelist. |
| * ch-tasking.c (get_tasking_code_name): Add |
| cast of alloca() result. |
| |
| Tue Aug 3 00:11:40 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-lex.l (handle_use_seizefile_directive): Make files_to_seize |
| a queue. Check for duplicate use_seizefile-s immediately. |
| * ch-lex.l (yywrap): Use this more portable mechanism, |
| rather than the flex-specific <<EOF>>. Also, clear saw_eof. |
| * ch-lex.l: Don't call push_module/pop_module automatically. |
| * ch-decl.c (push_chill_extern_function: Modify for 2-pass. |
| |
| Mon Aug 2 14:24:59 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-parse.y: Rename actionstatement -> nonempty_actionstatement. |
| New actionstatement is now nonempty_actionstatement | SC. Use |
| where appropriate. This is closer to Blue Book terminology. |
| |
| * ch-tree.def (ALIAS_DECL): New tree type. |
| * ch-decl.c: Merged all the code we need (I hope) from c-decl.c, |
| which is no longer used for cc1chill. |
| * c-decl.c: Remove all Chill-related code. |
| * Makefile.in (CHILL_OBJS): Don't use c-decl.o. |
| * ch-decl.c: No longer use IDENTIFIER_GLOBAL_VALUE anywhere. |
| Introduce a 'nesting_level' level concept instead. |
| * ch-decl.c: Merged push_scope into pushlevel; pop_scope into |
| poplevel; struct scope and struct binding_level. |
| * ch-decl.c: Other major name lookup algorithm changes. |
| * ch-tree.h (struct lang_identifier): Remove granted_value field. |
| * ch-tree.h (IDENTIFIER_GRANTED_VALUE macro): Removed. |
| * ch-tree.h (DECL_NESTING_LEVEL): New macro. |
| * ch-satisfy.c (satisfy, satisfy_decl): New 'lookup_only' arg. |
| * ch-tree.h (struct module): New fields nesting_level, granted_decls. |
| * ch-grant.c (seize_implied_names, do_seize, chill_seize): Move ... |
| * ch-decl.c: ... here. |
| * ch-grant.c (start_chill_function2): Remove. |
| * ch-grant.c (chill_start_module_code): Now called in both passes. |
| * ch-actions.c (lang_init): Code moved to ... |
| * ch-decl.c (init_decl_processing): ... here. |
| * ch-actions.c (chill_expand_result, chill_expand_return): |
| Handle being called during pass 1. |
| * ch-lex.l (name_type_signal): Don't try lookup_name during pass 1. |
| * ch-parse.y (PUSH_ACTION, push_action): Is now invoked during |
| both passes, for the sake of chill_start_module_code. Change all |
| actions rules to invoke PUSH_ACTION unconconditionally. |
| * ch-parse.y, ch-decl.c (push_module): Module label is now optional. |
| |
| Mon Aug 2 15:02:32 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * expr.c (store_constructor): Convert library function |
| parameters to proper integer precision before calling |
| emit_library_call. |
| |
| Mon Aug 2 08:46:06 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-grant.c (seize_implied_names): Check POWERSET's |
| base type for names to seize. |
| |
| Fri Jul 30 19:59:30 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-tree.h: Delete unused definition of JOINER |
| macro. Expand comment about INSTANCE_TYPE. |
| |
| Thu Jul 29 14:57:11 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-convert.c (unreferenced_type_of): New function. |
| (convert): Call new function. |
| |
| Thu Jul 29 07:34:57 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-lex.l: Allow C-style comments before the module |
| header. Use #undef to assure that strchr isn't a |
| macro (portability), and remove the extra paren- |
| theses in its extern name. |
| (check_newline): Call getlc less often, so that user |
| labels aren't lowercased before their time. Add BEGIN |
| INITIAL before starting pass 2, so the header is |
| correctly ignored. |
| |
| Wed Jul 28 14:23:24 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-grant.c (chill_start_module_code): Cast alloca() |
| return value. |
| |
| Wed Jul 28 12:39:51 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) |
| |
| * ch-grant.c: remove extra parens around extern function |
| declarations (they confuse the DECstation compiler) |
| |
| Wed Jul 28 12:28:56 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * Makefile.in: Stop deleting flex's #line lines. |
| |
| Wed Jul 28 07:05:25 1993 Bill Cox (bill@cygnus.com) |
| |
| Adjust after FSF merge: |
| * calls.c (expand_call): Add comment. |
| * ch-expr.c: Add newline. |
| * expmed.c (store_split_bit_field): Add comment. |
| |
| Tue Jul 27 17:32:13 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_binary_op): Set code0 and |
| code1 only in pass 2. |
| (get_result_tmp_name): Cast alloca return for portability. |
| * ch-decl.c (pop_module): Test current_module ptr before |
| using it. |
| * ch-lex.l: Set lineno and input_filename for pass 2 |
| error messages. |
| |
| Tue Jul 27 15:14:06 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-lex.l: Fix the syntax error at line 329. Will I |
| *ever* quit fixing these in the ch-lex.c file? Stay tuned.. |
| |
| Tue Jul 27 15:01:25 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-lex.l: Pervasive rewrite for queueing seize files, |
| then parsing them at the end of pass 1. Still some |
| problems. |
| |
| Tue Jul 27 07:40:39 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * chill.in: Check for .i suffices only, and use -xchill |
| to bracket the argument. |
| |
| Thu Jul 22 19:17:23 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * c-decl.c (print_lang_identifier): Oops. Syntax error. |
| |
| Thu Jul 22 18:56:16 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * c-decl.c (pushdecllist): Standardize loop for readability. |
| * ch-decl.c (decl_temp): Call pushdecllist to store decl |
| into hash table, move after current_scope declaration. |
| (decl_temp1): Move also. |
| * ch-lex.l (getlc): New function. Force char to lower case. |
| (check_newline): Call it, so comparisons work on uppercase |
| keywords. |
| |
| Wed Jul 21 22:17:22 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c (do_decls): Add saving of decl tree |
| address into ID node in pass 2, reindent. |
| * ch-grant.c (start_chill_function2): New function. |
| (chill_start_module_code, chill_finish_module_code): Call it. |
| * ch-loop.c (build_temporary_variable, begin_for_range): |
| Replace start_decl, finish_decl pairs with decl_temp1 calls. |
| * ch-parse.y (parnamelist): Eliminate warning by eliminating |
| the %type for now. |
| * ch-actions.c, ch-tasking.c: Replace do_decls calls with |
| decl_temp1 calls. |
| * ch-tree.h: New prototypes. |
| * stmt.c (stamp_nesting_label): Check parameters for NULL. |
| * toplev.c (lang_options): Add '-L' option. |
| |
| Wed Jul 21 21:06:18 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| Portability fixes. |
| * ch-decl.c (save_decl): Make definition match forward declaration. |
| * ch-lex.l (RETURN_TOKEN): Don't use the 'do { .. return } while 0' |
| in the macro - Sun's compiler throws warnings. Thanks, Brendan. |
| * ch-satisfy.c (satisfy): Add forward declaration. |
| (SATISFY): Add outer parens for greater safety. |
| |
| Wed Jul 21 12:59:20 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * c-decl.c (pushdecllist): New function. Add a list of decls |
| to the current scope, checking for duplicates. |
| * c-decl.c (start_function): Remove some Chill junk. |
| (This function should no longer be used for Chill.) |
| * ch-lex.l (ch_lex_init): New function, to re-init for 2nd pass. |
| * ch-lex.l (<<EOF>>): Cleanup, and re-start for 2nd pass. |
| * ch-tree.h (UNSATISFIED, UNSATISFIED_FLAG): New flags. |
| * ch-tree.h (CH_CLASS_IS_VALUE, CH_CLASS_IS_REFERENCE): |
| Implement. Add comments. |
| * ch-tree.h (CH_COMPATIBLE_CLASSES, CH_ROOT_MODE, CH_RESULTING_MODE): |
| Better Blue Book type checking. |
| * ch-actions.c (finish_chill_binary_op): Handle folding |
| and other stuff that couldn't be done in pass 1. |
| * ch-actions.c (build_chill_binary_op): Bail out early if pass 1. |
| Use new CH_ROOT_MODE macro to handle integer promotions etc. |
| * ch-except.c (push_handler): Bail out if pass 1. |
| * ch-tasking.c (make_process_struct): Defer making this work. |
| * ch-parse.y (assignaction): Simplify, and move some code ... |
| * ch-expr.c (chill_expand_assignment): ... here. |
| * ch-typeck.c (chill_root_mode, chill_resulting_mode, |
| chill_compatible_classes): New functions, implementing the |
| correspondingly named Blue Book concepts. |
| * ch-parse.y generally: Lots of little tweaks to support |
| 2-pass compilation. |
| * ch-parse.y (push_module, pop_module): Moved to ... |
| * ch-decl.c (push_module, pop_module): ... here. |
| * ch-parse.y (push_action): New function. |
| * ch-parse.y (pdef): Move complicated action to ... |
| * ch-parse.y (end_function): ... new function here. |
| * ch-parse.y (procedure): Major re-write. |
| * ch-parse.y (paramname, paramnamelist): New, to avoid conflict (?). |
| * ch-decl.c (do_decls, push_syndecls, push_modedef, |
| start_chill_function, finish_chill_function): Do different things |
| on each pass. Hence, can use code in c-decl.c to lesser extent. |
| * ch-decl.c (build_chill_function_type): First arg is now |
| just the return type, rather than a singleton list. |
| * ch-decl.c (massage_param_node): Remove not needed (we |
| now encode parameter attributes directly in the TREE_PURPOSE). |
| * ch-decl.c (chill_munge_params): New function, called by parser. |
| * ch-decl.c (push_parms): Removed function. |
| * ch-decl.c (push_cope, pop_scope, save_decl, get_next_decls): |
| New functions, to coordinate decls between passes. |
| |
| Wed Jul 21 14:23:25 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (lang_decode_option): Add option -Lpath |
| to specify seize file path. |
| (ch_singleton_set): Readability formatting. |
| Add comment, move functions to easier found places. |
| * ch-lex.l (setup_seizefile_read): Check for *no* slashes. |
| (register_seize_path): Use memcpy so pathlen has an effect. |
| * gcc.c (default_compilers): Add -L option to chill |
| compiler SPECs. |
| |
| Wed Jul 21 12:59:20 1993 Per Bothner (bothner@kalessin.cygnus.com) |
| |
| * ch-satisfy: New file. Used for name lookup. |
| * Makefile.in (CHILL_OBJS): Add ch-satisfy.o. |
| |
| Wed Jul 21 12:16:51 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * toplev.c (main): Delete -L option handling - breaks |
| non-chill compilers. |
| |
| Wed Jul 21 09:29:24 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-grant.c: #undef strchr and strrchr names in extern |
| declarations, to prevent RS6000 compiler from reporting |
| their misuse as macros. |
| * ch-lex.l (setup_seizefile_read): Refer to list of paths |
| for seizefiles specified by -L options on command line. |
| (register_seize_path): Add a new path to the seize file list. |
| * toplev.c (strip_off_ending): Recognize chill suffix. |
| (main): Recognize -L option, specifying a seize file path. |
| |
| Tue Jul 20 12:41:52 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-lex.l (convert_float): Make it really portable, |
| using the appropriate macros. |
| |
| Tue Jul 20 11:26:02 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-lex.l (convert_float): More casts for vxworks |
| portability. |
| |
| Tue Jul 20 11:01:30 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-lex.l (convert_float): Give variable `d' correct |
| type so build_real call is correct. Should remove |
| vxworks portability problem. |
| (convert_float): Re-indent to standards. |
| |
| Mon Jul 19 17:32:10 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_char_array_expr): Add field decls to |
| constructor. Now, it generates the library call. |
| * ch-expr.c (chill_expand_array_assignment): Make sure that all |
| error messages say 'mode' not 'type'. |
| |
| Mon Jul 19 14:44:46 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c, ch-convert.c, ch-decl.c, ch-grant.c, ch-lang.c, |
| ch-loop.c, ch-parse.y, ch-tasking.c, ch-tree.c, ch-typeck.c: |
| Make sure that all error messages say 'mode' not 'type'. |
| * ch-decl.c (push_modedef): Add novelty computation, |
| storage in each newmode. |
| * ch-parse.y: Delete novelty counter - moved to ch-decl.c. |
| Reformat slightly for readability. Fix comments. |
| * ch-tree.h: Delete print_lang_type prototype. |
| |
| Mon Jul 19 06:43:51 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (chill_expand_return): Disable |
| error message which requires 2-pass analysis, for |
| now. |
| * ch-convert.c (convert): Build length-only constructor |
| for empty string (PR 2930). |
| |
| Fri Jul 16 16:08:33 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-expr.c (chill_expand_array_assignment): Check |
| non-varying string assignments for conformance to |
| the "string assignment condition" (PR 2920). |
| |
| Thu Jul 15 13:25:33 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_array_expr): Check parameters. |
| Call convert to build unitary array from scalar if |
| needed. Rewrite CONCAT_EXPR handling. |
| * ch-convert.c (build_array_type_for_scalar): New functions. |
| (convert): Call new function, to convert scalar to unitary |
| array. Only call chill_expand_tuple if expression hass |
| NULL_TREE type. |
| * ch-expr.c (chill_expand_expr): Allow a larger static |
| varying array to be assigned to a smaller, with a runtime |
| test (to be provided). |
| * ch-parse.y (locdec): Comment out bogus error msg. |
| (elementlist): Replace several lines with chainon call. |
| * ch-tree.h (SCALAR_P): New macro. New prototype for |
| build_array_type_for_scalar. |
| * ch-typeck.c (build_chill_cast): Re-indent. |
| (chill_expand_tuple): Comment out strange addition of |
| varying string's length to front of constructor list. |
| |
| Thu Jul 15 05:58:46 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-except.c (start_handler_array): Use unique identifier for |
| exception array, so we can have > 1 array per reach |
| (PR 2931). The change was originally entered June 23, and |
| subsequently lost. |
| |
| Mon Jul 12 16:07:53 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| Get executable test cases running again... |
| * c-typeck.c (build_function_call): Bypass default |
| parameter promotions, format param syntax check for |
| CHILL; they've already been converted in |
| build_chill_function_call. |
| * ch-actions.c (chill_expand-return): Correct tests |
| for function which returns no value. |
| * ch-convert.c (base_type_size_in_bytes): Check for |
| NULL type parameter, just return. |
| (convert): Allow conversion of CHAR to varying array |
| of CHAR. |
| Change error msg to "conversion" from "assignment". |
| Remove default from case, which short-circuited before |
| REFERENCE_TYPEs got converted. Deleted second copy |
| of REFERENCE_TYPE code. |
| * ch-lang.c (build_chill_range_type): Simply exit if |
| NULL input parameter. |
| * ch-loop.c: Fix comment. |
| |
| Sun Jul 11 11:27:08 1993 Bill Cox (bill@cygnus.com) |
| |
| * ch-actions.c (chill_expand_result, chill_expand_return): |
| Move here from ch-typeck.c. Add a temporary to remember the |
| result value in. Change return handler to fetch that |
| temporary value, if there is one. |
| * ch-parse.y (pdef): Call chill_expand_return to fetch |
| the temp's value. |
| * ch-tree.h, ch-typeck.c: Move return, result functions to |
| ch-actions.c. And their prototypes. |
| |
| Fri Jul 9 15:47:51 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c, ch-convert.c, ch-decl.c, ch-except.c, |
| ch-expr.c, ch-grant.c, ch-inout.c, ch-lang.c, |
| ch-lex.l, ch-loop.c, ch-parse.y, ch-tasking.c, |
| ch-tree.c, ch-tree.h, ch-typeck.c: gcc -Wall cleanup. |
| |
| Fri Jul 9 09:41:05 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-grant.c (decode_decl): Grant BUFFER, INSTANCE variables. |
| (print_integer): Delete old non-working INSTANCE code. |
| * ch-lex.l (name_type_signal): Recognize BUFFER name, too. |
| * ch-parse.y (rccase_label): Move all actions inside if. |
| Use BUFFERNAME to recognize receice case buffer clause, |
| eliminate one shift-reduce conflict. |
| * ch-tasking.c (build_buffer_descriptor): Check for |
| CH_DECL_BUFFER flag, remove unused code. |
| |
| Thu Jul 8 11:17:32 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| Declaring and sending buffers.. first draft |
| * ch-actions.c (lang_init): Define the send_buffer runtime |
| function. |
| * ch-decl.c (do_decls): Standardize loop, so stepping |
| isn't hidden. |
| * ch-lex.l: Clean up prototypes for readability. |
| * ch-parse.y (sendaction): Add send buffer action. |
| (locdec): Add rule for buffer declaration. |
| * ch-tasking.c (generate_tasking_code): standardize indentation. |
| (make_signal_struct): Readability changes. |
| (build_chill_send_buffer, build_buffer_decl, |
| build_buffer_descriptor): New functions. |
| * ch-tree.h (IDENTIFIER_BUFFER_SIZE): Add place to save |
| buffer's maximum queue length in buffer decl. |
| (CH_DECL_BUFFER): Add flag in decl. Clean up for |
| readability. Add prototypes. |
| * ch-typeck.c (build_chill_cast): Call convert rather |
| than storing directly into TREE_TYPE field. |
| |
| Tue Jul 6 12:34:32 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (lang_init): Set warn_switch so case labels |
| get checked. Move build_chill_case_expr to ch-expr.c. |
| * ch-expr.c (chill_expand_case_expr): Enable checking |
| of expression case labels. |
| * ch-grant.c: Move a comment. |
| |
| Mon Jul 5 10:02:27 1993 Wilfried Moser (fs_moser at rcsw1j) |
| |
| * ch-lex.l: Add compiler directive SUPPORT_CAUSING_ADDRESS. |
| * ch-except.c (initialize_exceptions): Change the layout of the |
| structure __ch_handler. The entry __jbuf is moved to the end |
| of the structure and its size was changed to _JBLEN+10. |
| * ch-decl.c (push_chill_extern_process): Add processing of |
| processes with no arguments. |
| * ch-grant.c (decode_decl, do_seize): Add processing of |
| processes with no arguments. |
| * ch-tasking.c (build_process_header, build_chill_start_process): |
| Add processing of processes with no arguments. |
| (make_process_struct): Add processing of IN attribute for |
| process arguments. |
| (tasking_setup): Add NUL-character to name of a tasking |
| element. The name must be NUL terminated. |
| (build_chill_send_signal): Default SEND_SIGNAL_PRIORITY |
| to 0 with a warning if -Wall specified on command-line. |
| |
| Fri Jul 2 16:01:57 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-parse.y: Change 'empty' comments to new non-terminal |
| so that exyacc doesn't discard them. |
| * ch-lang.c (build_chill_range_type): New error messages. |
| |
| Fri Jul 2 12:43:25 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-parse.y (action): Catch and report actions which |
| shouldn't have exception clauses, but do. Unfortunately, |
| catching more than one of these per compilation will |
| have to await the general addition of syntax error |
| recovery to the parser. |
| |
| Fri Jul 2 10:45:35 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-parse.y (locdec): Issue error for initialization |
| of bitstring with tuple, not for powerset init with |
| tuple. |
| |
| Thu Jul 1 15:29:26 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-lang.c (build_chill_array_type): Check for indices |
| that didn't fold into constants, issue error (PR 2924b). |
| * ch-parse.y: Add novelty counter, alphabeticalize. |
| * ch-tree.h: Define CH_NOVELTY for novelty checks later. |
| |
| Thu Jul 1 14:03:04 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| For Wilfried Moser. |
| * chill.in: Add -ansi switch at compiler call to avoid |
| translation of i.e. sun to 1 by cpp. |
| |
| Wed Jun 30 22:21:33 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-grant.c (raw_decode_mode): Add code for |
| integer and enumeral ranges. Standardize indentation. |
| |
| Wed Jun 30 14:02:23 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-grant.c (print_an_int): New function to print a |
| decimal integer string or the CONST_DECL (SYN) which |
| best matches it. |
| (print_integer): Call the above function. Replace |
| calls to SAME_TYPE macro with TYPE_MAIN_VARIANT |
| comparisons, as suggested by Jim Wilson. |
| (decode_decl): Set current_grant_modename sooner, |
| be sure to clear it when done. |
| |
| Wed Jun 30 10:10:57 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_max_min): Change interface to accept |
| just a max/min flag. Get min/max values from an |
| enumeral constructor. |
| (build_chill_max, build_chill_min): Change calls to |
| build_max_min. |
| * ch-lang.c (deep_const_expr): Check for NULL_TREE |
| arguments, don't seg fault. |
| |
| Wed Jun 30 09:20:09 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * config/sparc/sparc.c (sparc_type_code): Add SET_TYPE |
| to switch cases, preventing abort. |
| |
| Tue Jun 29 19:04:37 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-expr.c: Update comment. |
| * ch-parse.y (range_or_mode): New non-terminal used in |
| lexpr to implement mode as case label. |
| |
| Tue Jun 29 13:13:46 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_case_expr): Pass in the |
| optional ELSE clause, error for multiple case-selector |
| expressions, error for missing ELSE clause. |
| * ch-expr.c (chill_expand_assignment): Error if multiple |
| location assignment and locations not novelty |
| equivalent. |
| * ch-parse.y (caseaction): Add range_list_clause non- |
| terminal, sorry message for it. |
| (assignaction): error if operator used on multiple |
| assignment. |
| (case_expr): Pass optional ELSE tree to |
| build_chill_case_expr for checking. |
| * ch-tree.h (build_chill_case_expr): Change proto. |
| |
| Fri Jun 25 17:22:41 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (chill_comptypes, build_chill_binary_op): |
| Allow PROC mode variables. |
| * ch-convert.c (convert): Turn a NULL literal into a zero |
| valued pointer-to-function, given such a type. Also |
| build the ADDR_EXPR of a function variable. |
| * ch-grant.c: Pervasive -Wall -pedantic cleanup. |
| (print_enumeral, print_integer, print_struct) Moved these |
| large functions out of the switch in raw_decode_mode for |
| readability, and to encourage future code-sharing. |
| (print_proc_tail, print_proc_exceptions): Moved these out |
| of decode_decl, to share them. They're used also to |
| output PROC modes. |
| * ch-parse.y (mode2): Enable PROC modes. |
| (procmode): Represent PROC mode as a ptr-to-function type. |
| (call): Recognize ptr-to-function as indirect call. |
| Cleanup 'primval LPRN untyped_exprlist RPRN' action code. |
| |
| Thu Jun 24 15:59:20 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-grant.c: (raw_decode_mode): Add support for unnamed |
| and user-numbered enumeration members. |
| |
| Thu Jun 24 13:52:10 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_array_expr, build_chill_length): |
| Explicitly convert a varying array's length field to an |
| integer_type_node, now that it's only a chill_integer_ |
| type_node. |
| * ch-expr.c (chill_expand_expr, |
| expand_assignment_to_varying_array, |
| chill_expand_array_assignment, |
| expand_varying_length_assignment): Explicitly |
| convert a varying array's length field to an integer_type_node, |
| now that it's only a chill_integer_type_node. |
| * ch-loop.c (init_loop_counter, top_of_loop_test): Change |
| to handle varying array location iterations. |
| * ch-parse.y (mode2): Count number of named SET members, |
| as opposed to '*' members. Issue error if there were none. |
| (setelement): Count named set members. Generate a unique |
| identifier for the '*' element. |
| * ch-typeck.c (validate_varying_array_ref): Explicitly |
| convert a varying array's length field to an integer_type_node, |
| now that it's only a chill_integer_type_node. |
| |
| Wed Jun 23 19:18:28 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-lang.c (finish_chill_enum): Change test for too- |
| large enumerations. |
| * ch-parse.y (setelement, optsetvalue): Allow numbered, |
| unnamed set elements. |
| |
| Wed Jun 23 16:25:06 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * c-typeck.c (process_init_constructor): Suppress |
| errors about un-initialized array elements if the |
| array is VARYING, as signaled by C_TYPE_VARIABLE_SIZE. |
| * ch-actions.c (lang_init): Set flag_short_enums, so that CHILL |
| enumerations *can* be only a byte in size. |
| (adjust_parm_or_field): Convert untyped parameter before |
| looking at its type to process it. |
| * ch-convert.c (convert): Generate [ -1, -1 ] value for |
| an INSTANCE type. |
| * ch-decl.c (do_decls): Assure that a CONSTRUCTOR has a |
| type, so that output_constant doesn't seg fault. |
| * ch-except.c (start_handler_array): Use unique identifier for |
| exception array, so we can have > 1 array per reach. |
| * ch-lang.c (finish_chill_enum): Error if number of |
| enumeration values exceeds 256. |
| * ch-parse.y (check_end_label): Error, not warning if start |
| and end labels don't match. |
| (assignaction): Convert RHS. Allows untyped tuples to be |
| passed to stabilize_reference. |
| (exceptlist, onexceptprefix): Error if non-unique exception |
| name is coded. |
| * ch-tree.c: Added form feeds, comment reformatted. |
| * ch-typeck.c (chill_expand_tuple): Compare tree value to |
| NULL_TREE, not zero. Add a constructor element for a |
| VARYING array's length to the constructor list. |
| (build_varying_struct): Mark the type as VARYING for |
| process_init_constructor. |
| * toplev.c (lang_options): Add '-lang-chill' and |
| '-fchill-grant-only' options to table. |
| |
| Tue Jun 22 13:13:41 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_function_call): Add check |
| to prevent calling a PROCESS like a PROCEDURE. |
| * ch-parse.y (rcalternative): Add check for an |
| receive case alternative after a RECEIVE CASE |
| statement. |
| * ch-tree.h: Fix macro ENCAPSULATED_ARRAY_P. |
| * ch-lang.c (lang_finish): Remove resetting errorcount |
| and sorrycount for granting. |
| |
| Mon Jun 21 17:56:48 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| Receiving signals works. |
| * ch-actions.c (lang_init): Add else_clause flag to |
| __wait_signal parameter list. |
| * ch-lex.l: Add SIGNALNAME token, return when appropriate. |
| * ch-parse.y (SIGNALNAME): New token. Delete |
| empty_untyped_exprlist token, no longer used. Add |
| name_or_signal non-terminal. Standardize a few NULL |
| tests. Add real RECEIVE CASE semantics. Add checks that |
| SIGNALS, BUFFERs are only declared at global scope. |
| (call): Add signal declarations with/without data fields. |
| * ch-tasking.c (get_tasking_code_name, get_tasking_code, |
| build_chill_receive_case_start, build_chill_receive_case_end, |
| build_chill_receive_case_label): New functions. |
| Replace build (CONSTRUCTOR, ... calls with build_nt |
| (CONSTRUCTOR, calls. |
| * ch-tree.h: New prototypes. |
| |
| Thu Jun 17 18:36:38 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| SIGNAL declaration compilation, seizing & granting, |
| SENDing also. |
| * ch-actions.c (lang_init): Move instance_type_node |
| build to ch-tasking.c. Call build_tasking_message_type. |
| Build a type for send_signal. Put builtin_function |
| calls into alpha order. |
| (adjust_proc_param): Rename to adjust_parm_or_field, |
| add is_signal flag, so signal fields can use it. Rename |
| calls to it, add flag to calls. |
| * ch-decl.c (push_chill_extern_signal): Add function. |
| * ch-grant.c (decode_decl): Correct signal decl output. |
| (do_seize): Correct check for process seizure. Add |
| code for seized signal decl. |
| * ch-lex.l (yylex): Treat POS, ROW, STEP as reserved. |
| * ch-loop.c (get_unique_identifier): Standardize loop |
| temporary's name to assure that it's not granted. |
| * ch-parse.y (SIG_NAME): Delete unused token. |
| (spec_declist): Delete silly printf. |
| (quasi_signaldef): Add non-terminal. |
| (sendaction, optsendwith, optsendto, optpriority): |
| Implement actual working semantics. |
| (call, empty_untyped_exprlist): Allow empty signal |
| fields between parens. |
| * ch-tasking.c: Rename adjust_proc_param calls, add |
| is_signal flag to calls. Make instance_type_node a |
| type, not a TYPE_DECL, change references. Fix all |
| CONSTRUCTOR builds. Add make_signal_struct function. |
| Move build_instance_type here from lang_init. |
| (build_tasking_message-type, build_signal_descriptor, |
| build_chill_send_signal): New functions. |
| * ch-tree.h: Add, update protos. |
| * ch-typeck.c (build_chill_cast): Check for NULL expression |
| type as well as error_mark. |
| |
| Thu Jun 17 12:28:03 1993 Jim Wilson (wilson@sphagnum.cygnus.com) |
| |
| * Makefile.in (STAGESTUFF): Add chill to list. |
| |
| Wed Jun 16 07:12:53 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * Makefile.in: Complete the renaming of ch-process.c |
| to ch-tasking.c. |
| * ch-decl.c (push_chill_extern_function): Drop is_process |
| parameter, and marking process decl trees. |
| (push_chill_extern_process): New function for |
| SEIZEd processes. Lotsa form feeds added for print |
| readability. |
| * ch-grant.c (decode_decl): Handle GRANTing of SIGNAls. |
| (do_seize): New parameter seize_all. Handle sseizing |
| processes. |
| (chill_seize): Pass seize_all parameter. |
| (chill_grant): Check for __tmp_ prefix, to disable |
| *either* seizing or granting. |
| * ch-parse.y (quasi_pdef): Delete is_process parameter for |
| push_chill_extern_functon, call push_chill_extern_process |
| for processes. |
| (specialinit): Comment these rules as needed only until |
| 2-pass compiler is operational. |
| (extprocedure): Delete is_process parameter. |
| (simpledec): Delete `sorry' about SIGNAL decls. |
| (optsigdest): Correct check for process name. |
| * ch-tasking.c (build_signal_decl): Finish coding. |
| * ch-tree.h: Add macro to save a SIGNAL's destination |
| process name in an id node. Add/change prototype. |
| |
| Mon Jun 14 18:17:13 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (lang_init): Build instance_type_node. |
| Change `this' to a runtime function call. |
| * ch-grant.c (do_seize): Generate tasking-code |
| variable for seized process. |
| * ch-lex.l (equal_number): Also accept synonym |
| name for numeric value. |
| * ch-parse.y (primval): Add process-related |
| function calls. |
| (signaldef, etc.): Rough draft of SIGNAL definition |
| processing. |
| (stopaction): Call runtime function. |
| (pdef): Pop symbol level if ending a process |
| and there were parameters. |
| (primval): Call `whoami' runtime function for THIS. |
| * ch-tasking.c (build_process_header): Be sure |
| to define the tasking enum, if it hasn't already |
| been done. Only call shadow_record_fields if there |
| are parameters. |
| (build_tasking_enum): Only call start_enum *after* |
| checking the already_built flag. |
| (build_copy_number, get_tasking_code, |
| build_gen_code, build_gen_inst, build_get_ptype, |
| build_proc_type): New functions for process-related |
| builtins. |
| (build_signal_decl): New function for SIGNAL |
| declaration - rough draft. |
| * ch-tree.def (INSTANCE_TYPE): new tree code. |
| * ch-tree.h: New prototypes. Defines for instance |
| type field access. |
| |
| Sat Jun 12 21:15:02 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| Get start-process action working: |
| * ch-actions.c (adjust_proc_param): new function, |
| extracted from build_chill_function_call and called |
| from there. |
| * ch-tree.h, ch-grant.c (do_seize): Add process_type |
| parameter to add_taskstuff_to_list call, prototype. |
| * ch-parse.y (start_parlist): New non-terminal for |
| START action. |
| (startaction): Reference start_parlist, check for |
| integer-valued process copy-number. |
| (optstartset): Check instance parameter - must be |
| an INSTANCE_TYPE location. |
| * ch-tasking.c (generate_tasking_code_variable): New |
| function, extracted from tasking_setup and called |
| from there. Also called from build_process_header. |
| (build_process_header): Add process_type parameter |
| to add_taskstuff_to_list call. Remove incrementing |
| of process_type (moved into generate_tasking_code |
| _variable). |
| (build_chill_start_process): Complete rewrite. |
| (add_tasking_stuff_to_list): Add stuffnumber parameter |
| putit on the list. |
| |
| Sat Jun 12 06:08:09 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| Getting processes compiled, initialized and granted: |
| * .cvsignore: Add chill file. |
| * c-decl.c (shadow_record_fields): Allow PARM_DECL |
| as well as VAR_DECL. |
| * ch-actions.c (lang_init): Move build of |
| initializer_type into ch-tasking.c. Change |
| definition of THIS to function call. |
| * ch-decl.c (massage_param_node): Add comments. |
| (start_chill_function): Set nested flag in |
| start_function call based upon current_function_decl, |
| not as constant zero. |
| * ch-grant.c (decode_decl): lotsa code by Wilfried to |
| GRANT process decls. |
| (finish_chill_module): Completely rewrote interface |
| to runtime. |
| * ch-lex.l (THIS): Just return the token code. |
| * ch-parse: Add THIS token. |
| (processpar, processparlist): New rules, to collect |
| process parameters. |
| (pdef): Add code to pop the process' WITH scope. |
| (procedure): Set process WITH scope flag to zero. |
| (process): Move most code into build_process_header. |
| (primval): Output function call for THIS. |
| * ch-tasking.c (add_taskstuff_to_list, build_tasking_enum, |
| make_process_struct, build_process_header): New code |
| to handle process translation and interface to runtime. |
| * ch-tree.h: New prototypes. |
| |
| Thu Jun 10 13:32:51 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * Makefile.in: Change ch-process.c to ch-tasking.c. |
| A delayed part of the last change.. |
| |
| Thu Jun 10 11:14:59 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * .cvsignore: Add 'chill' file. |
| * ch-actions.c (lang_init): Add new runtime function |
| __register_process. |
| * ch-decl.c (push_chill_extern_function): Add is_process |
| input flag, use it. |
| * ch-grant.c (decode_decl): Recognize a process for |
| granting. |
| (do_seize): Put seized processes onto the tasking_list. |
| (chill_finish_module_code): Declare init_list entry, |
| link it onto the init_list. Call tasking_setup and |
| tasking_registry. |
| * ch-lex.l: Make tasking-related variables global, |
| delete their initialized flags. |
| * ch-parse.y: Add is_process flag to push_chill_extern_function |
| calls. Put processes onto the tasking_list. |
| * ch-process.c: Renamed to ch-tasking.c. |
| * ch-tasking.h: New file. |
| * ch-tree.h: New, adjusted prototypes. |
| |
| Wed Jun 9 10:59:27 1993 Wilfried Moser (moser@deneb.cygnus.com) |
| |
| * chill: This file is replaced by chill.in and will be |
| generated during 'make' and 'make install'. This script |
| now finds the correct chillrt0.o and libchill.a during |
| linking. |
| * chill.in: New file that replaced chill. |
| * Makefile.in: Add rules to make chill out of chill.in. |
| |
| Wed Jun 9 09:03:55 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * .cvsignore: Add gfloat.h and xlimits.h. |
| * ch-actions.c (lang_init): Create new type for module- |
| level initializer list entry. |
| * ch-grant.c (chill_start_module_code): Rename actual |
| module-level code to just the modulename, which is |
| *not* public. |
| (chill_finish_module_code): Allocate space for initializer |
| list entry, build real initializer function, which puts |
| the list entry on the runtime list. Name the init function |
| as the module's constructor function. |
| * ch-tree.h (build_init_struct): Add prototype. |
| * ch-typeck.c (build_init_struct): Add function, called |
| from lang_init. |
| Note: these changes require a new devo/chillrt/chillrt0.c. |
| |
| Thu Jun 3 17:04:01 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * c-decl.c: Fix comment. |
| * ch-actions.c, ch-grant.c: Standardize front end: |
| #define first, etc. Add comments. |
| (lang_init): Delete unused flag, code for inapplicable |
| gen-decls option. (lang_decode_option): Delete |
| gen-decls option, add grant-only option, flag. |
| * ch-convert.c, ch-decl.c, ch-except.c, ch-tree.c, |
| ch-typeck.c: Add form feed after front end. |
| * ch-expr.c: Standardize testing for error_mark node. |
| * ch-lang.c: Remove unused deep_fold function. |
| |
| Fri May 21 11:04:22 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * c-typeck.c (build_binary_op, build_unary_op): |
| Recognize BOOLEAN_TYPE. |
| * ch-actions.c (build_chill_unary_op): Remove |
| some crufty work-arounds. |
| |
| Thu May 20 19:03:48 1993 Per Bothner (bothner@deneb.cygnus.com) |
| |
| * ch-grant.c (decode_constant): If the granted value is a |
| cast, make sure to emit an appropriate expression conversion. |
| |
| Thu May 20 16:35:35 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-lang.c (build_chill_range_type): Initialize the |
| precision variable. Double-negative ranges work now. |
| |
| Thu May 20 11:24:42 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_unary_op): Compound a wretched |
| hack which hides a BOOLEAN_TYPE from the underlying |
| C code. |
| |
| Wed May 19 16:45:54 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c: (CH_SINGLETON_SET): Add function, call it |
| from chill_comptypes. (build_chill_unary_op): Give |
| better name to unsigned flag. |
| * ch-expr.c (chill_expand_assignment): Correct calling |
| sequence for setpowersetbits runtime routine. |
| * ch-grant.c (raw_decode_mode): Give better name to |
| unsigned flag. (decode_constant): Check for null |
| 'val' ptr, avoid seg fault. |
| * ch-lex.l (convert_number): Give better name to |
| unsigned flag. (convert_bitstring): Move increment |
| of bl counter to emphasize that it increments once |
| per loop. |
| * ch-tree.h: (NO_SOURCE_UNARY_MINUS): Define new flag. |
| * ch-typeck.c (chill_expand_tuple): Build BOOLEAN |
| constructor if given a singleton set constructor. |
| |
| Thu May 13 17:03:04 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * c-decl.c (pushdecl): Complete May 9 change. |
| * ch-actions.c (build_chill_unary_op): Set the |
| TREE_UNSIGNED flag FALSE for raw_decode_mode. |
| * ch-grant.c (grant_array_type): Correct the May 12 |
| check for circularity. |
| (raw_decode_mode): Use TREE_UNSIGNED flag to |
| control range's printing. |
| (chill_grant): Remove useless, bogus code. |
| * ch-lex.l (convert_number): Set the TREE_UNSIGNED |
| flag TRUE for raw_decode_mode. |
| |
| Wed May 12 18:04:01 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c (push_syndecls, push_modedef): Comment |
| reminders to check for circular definitions. Later! |
| * ch-grant.c (grant_array_type, decode_decl): Prevent |
| circular definitions in the use of the array's |
| type name. |
| |
| Wed May 12 16:06:13 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-grant.c (grant_array_type): If array_type has |
| a name, just use it. |
| * ch-lang.c (build_chill_range_type): Don't force |
| unsigned ranges on output. |
| * expr.c (store_constructor): Preclude seg fault. |
| |
| Wed May 12 07:49:00 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (fold_set_*): Correct tests for |
| range set-constructor list entries. |
| (lang_init): Define setpowersetbits function. |
| * expr.c (store_constructor): Handle non-constant |
| set constructors. |
| |
| Tue May 11 18:25:40 1993 Per Bothner (bothner@cygnus.com) |
| |
| * ch-lang.c (build_chill_range_type): If the parent type |
| is unknown, and the endpoints of the range are integer |
| constants, use the smallest suitable integer type. |
| * ch-lang.c (build_chill_range_type): Remove kludge |
| for dealing with char ranges. |
| |
| Tue May 11 15:24:31 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_repetition_op): Build a |
| range-type set constructor if there's only one value |
| in the repeated constructor. |
| (fold_set_*): Abort if range value seen, for now. |
| * expr.c (store_constructor): Handle range-type by |
| storing bytes rather than bits as much as possible. |
| |
| Mon May 10 18:45:18 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (invalid{left right}_operand): Add |
| handlers for REPLICATE_EXPR. |
| (build_chill_repetition_op): Build constructor list |
| for repetition of bitstring. |
| * ch-parse.y (call): Recognize more trees as arrays, |
| to avoid error msg. |
| (operand5): Add count, string temporaries, use them. |
| |
| Mon May 10 16:49:08 1993 Per Bothner (bothner@cygnus.com) |
| |
| * ch-grant.c (seize_implied_names): Fix code that assumed |
| a FUNCTION_DECL (or PROCESS_DECL) to work on types instead. |
| * ch-grant.c (generate_set, grant_parent_of_enum, |
| grant_parent_enum): Removed unused functions. |
| * ch-grant.c (raw_decode_mode): Remove commented-out code. |
| |
| Mon May 10 10:54:57 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-grant.c (do_seize, seize_implied_types): Move |
| result and parameter processing to proper place. |
| (chill_seize): Mark unseized identifier with |
| error_mark_node, to avoid excessive errors. |
| * ch-parse.y (call): Check for ERROR_MARK before |
| reporting an error. |
| |
| Sun May 9 17:21:24 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * c-decl.c (pushdecl): If a strongly-visible name is |
| seen, in conflict with a weakly-visible name, take |
| the strongly-visible one and don't complain. |
| * ch-actions.c (chill_comptypes): Allow chain of ref- |
| erence types > 1 in length. |
| * ch-grant.c: Turn disguised for-loops into actual |
| ones, so continue works. Delete redundant code in |
| seize_implied_names. Reindent. |
| * expmed.c (store_split_bit_field): Disable abort for |
| CHILL. |
| |
| Sun May 9 17:11:33 1993 Per Bothner (bothner@cygnus.com) |
| |
| * ch-convert.c (convert): Move handling of SET_TYPE until |
| after we've handled de-referencing and such like. |
| * ch-grant.c (grant_array_type): Simplify; remove (now-) |
| bogus call to generate_set. |
| * ch-grant.c (get_type): Remove obsolete stuff. |
| |
| Fri May 7 10:30:34 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (lang_init): Add definition of psslice |
| runtime routine. (build_chill_binary_op_1, |
| build_chill_binary_op): Have result type of |
| TRUTH_ANDIF_EXPR be boolean, not integer. Some |
| reindenting. |
| * ch-convert.c (convert): Use consistent notation |
| for expression. |
| * ch-parse.y: Add front-end pass count. (locdec): |
| Add syntax for other BASED declaration. |
| * ch-tree.c: Fix comment. |
| * ch-typeck.c (build_chill_slice): Implement a runtime |
| call for bitstring slices. (build_chill_cast): |
| Add code for BITS_BIG_ENDIAN bit loop. |
| (chill_expand_tuple): Don't pass ref type to |
| digest_init, only underlying type. |
| |
| Thu May 6 12:52:14 1993 Per Bothner (bothner@cygnus.com) |
| |
| * ch-typeck.c (build_chill_cast): type_for_size takes |
| a size in bits, not bytes. |
| |
| Wed May 5 19:02:55 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c: Break out separate routines for set |
| folding, handle ranges in set_fold_eq and set_fold_ne. |
| Fix folding as req'd by TTC test. |
| * ch-grant.c (raw_decode_more): Check for content match |
| to decide output mode, not pointer identity. |
| * ch-typeck.c: Add cross-reference comment. |
| * varasm.c (emit_set_data): Clarify parameter name. |
| Handle INTEGER_CST as set constructor. |
| (output_constant): Handle CONSTRUCTOR node for sets. |
| Apparently forgot to actually 'checkin' this one last |
| time. |
| |
| Wed May 5 12:23:58 1993 Jim Wilson (wilson@sphagnum.cygnus.com) |
| |
| * ch-parse.y, ch-tree.h (get_current_declspecs): Obsolete; deleted. |
| |
| Tue May 4 15:47:44 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (fold_set_expr): new function to fold |
| set expressions. Calls inserted into |
| build_chill_binary_op and build_chill_unary_op. |
| (build_chill_repetition_op): New function, called |
| from build_chill_function_call. |
| * ch-expr.c (chill_expand_assignment): Call |
| build_chill_repetition_op. |
| * ch-grant.c (decode_constant): Comment out deep_fold |
| call. The earlier fold_set_expr calls should make |
| this one unnecessary. Prevent seg fault when name |
| of structure field is NULL. Standardize for loop. |
| * ch-parse.y: Fix comments. |
| (operand5): build a REPLICATE_EXPR. Don't call |
| build_repetition_op until we have a type. |
| * ch-tree.def (REPLICATE_EXPR): Define tree-code. |
| * ch-tree.h (build_chill_repetiton_op): Fix proto. |
| * ch-typeck.c (chill_expand_result): Call |
| build_chill_repetition_op if needed. |
| * varasm.c (emit_set_data): Clarify parameter name. |
| Handle INTEGER_CST as set constructor. |
| (output_constant): Handle CONSTRUCTOR node for sets. |
| |
| Mon May 3 13:06:47 1993 Per Bothner (bothner@cygnus.com) |
| |
| * ch-typeck.c (build_chill_cast): Allow more liberality to |
| casting: Any discrete type to any non-discrete type that is the |
| same size as some other discrete type (and vice versa). |
| * stor-layout.c (layout_type, case SET_TYPE): If the number |
| of bits will fit in a char or short, only use that many bits. |
| |
| Mon May 3 08:22:45 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-grant.c (decode_constant): Revert interpretation |
| of SET_TYPE as integer. |
| |
| Mon May 3 07:55:46 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * chparse.y (casealternative): Allow empty action list. |
| |
| Sat May 1 15:07:01 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * expr.c (expand_expr): Add parameter to __inpowerset |
| runtime call, to match new runtime. |
| |
| Sat May 1 14:55:58 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c: Cleanup from -Wall. Reindent. |
| Redefine __inpowerset to take a 'minval' parameter |
| that matches the new runtime. Added comments. |
| * ch-expr.c (chill_handle_case_label): Handle |
| NULL or ERROR trees. |
| * ch-grant.c (get_type): Survive bogus type params, |
| return empty string. |
| * ch-tree.c (build_powerset_type): Diagnose powerset |
| of non-discrete type. |
| * ch-typeck.c (discrete_type_p): Reindent. |
| |
| Fri Apr 30 16:08:54 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-grant.c (decode_constant): Interpret SET_TYPE |
| with integer value, so we output the same stuff as |
| the user gave us. |
| * ch-parse.y: Fix indentation. |
| |
| Fri Apr 30 09:34:03 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (chill_comptypes): Simplify, correct |
| integer subrange analysis. |
| * ch-grant.c (seize_implied_names): Add handling for |
| PROCESS_DECL, PROCESS_TYPE. |
| (do_seize): Call seize_implied_names for process, |
| procedure parameters and return value. |
| * ch-lang.c (finish_chill_enum): Canonicalize enum |
| types. |
| * ch-tree.def (PROCESS_TYPE): Add. |
| * ch-typeck.c (valid_array_index): Call chill_comptypes |
| rather than broken macro CH_COMPATIBLE. The logic |
| in chill_comptypes will get moved to the macro later. |
| |
| Thu Apr 29 13:07:55 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_lower, build_chill_upper): |
| Handle enumeration types. |
| (build_chill_binary_op): Call chill_comptypes |
| to error check IN arguments. Change error |
| messages to say 'mode' rather than 'type'. Cast |
| tree codes when build is called. |
| * ch-expr.c (chill_expand_array_assignment): Call |
| chill_comptypes to validate assignment args. |
| * ch-lex.l: Add newline for readability. |
| |
| Wed Apr 28 15:22:18 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * Makefile.in (ch-hash.h): Add rule to build this |
| from chill.gperf. Not yet used. |
| * ch-actions.c (build_chill_binary_op): Allow enum |
| subranges on RHS of IN operator. |
| * ch-grant.c (decode_constant): Recognize |
| error_mark_node as empty powerset initializer, |
| re-indent a bit. |
| * ch-lang.c (deep_fold): Return error_mark_node for |
| NULL input pointer or incoming error_mark_node. |
| * ch-lex.l: Ignore PACK and UNPACK keywords. Return |
| POS, ROW, and STEP as user-defined names. |
| (name_or_type): New function for above. |
| * ch-parse.y: Move token defs for following, comment |
| them separately: NOPACK, PACK, POS, ROW, STEP |
| * varasm.c (output_constant): Check for VAR_DECLs in |
| records & unions, like arrays. Don't abort. |
| |
| Tue Apr 27 17:42:29 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (CH_PROMOTING_INTEGER_TYPE_P): |
| rewrite for generality. |
| * ch-decl.c (grok_chill_variantdefs): Use chill |
| comptypes, so that subrange compatibility is ok. |
| (start_chill_function): Use lookup_name(), not |
| IDENTIFIER_GLOBAL_VALUE, for full generality. |
| * ch-expr.c (chill_expand_assignment): Need to |
| handle non-NOP modify codes here, since C code |
| in build_modify_expr won't understand powersets, |
| etc. |
| |
| Tue Apr 27 09:05:31 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_max_min): Assign the set's |
| base type to the function's return type. |
| (build_chill_function_call): Before complaining |
| about parameter mismatches, convert certain actual |
| parameters. |
| * ch-expr.c (chill_expand_assignment): Before |
| complaining about LHS/RHS mismatches, convert |
| certain RHS expressions. |
| * ch-grant.c (decode_constant): Deep-fold incoming |
| expression, so we can output it. |
| * ch-lang.c (deep_const_expr): New function, called |
| from const_expr, actually traverses the tree |
| looking at its leaves for 'const'ness. |
| (deep_fold): New function to fold already-built |
| trees. |
| * ch-parse.y (case_expr): Add whitespace. |
| * ch-tree.h: Add prototype for deep_fold. |
| |
| Tue Apr 27 07:21:43 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (chill_comptypes): Allow enumeration |
| subranges as compatible with the parent enum. |
| (build_chill_function_call): Before checking type |
| compatibility, use convert on typeless expressions, |
| like constructors. |
| * ch-expr.c (chill_expand_assignment): Before |
| checking type compatibility, use convert on |
| typeless expressions, like constructors. |
| * ch-lex.l: Add comment. |
| |
| Thu Apr 22 17:23:25 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * .cvsignore: Add genopinit, insn-opinit.c |
| * c-common.c (binary_op_error): Prevent seg fault on |
| unknown node code. |
| * ch-typeck.c (build_chill_array_ref): Remove old |
| lower-bound-of-array-index-nonzero code. |
| * expr.c (expand-expr, get_inner_reference): Remove |
| old lower-bound-of-array-index-nonzero code. |
| |
| Thu Apr 22 16:01:09 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * c-decl.c (shadow_record_fields): Add pushlevel for |
| each PROCESS parameter, too. |
| * ch-process.c (make_process_struct): First working |
| version. |
| * ch-tree.def: Add PROCESS_DECL definition. |
| * ch-tree.h: Add CH_IS_EVENT_MODE macro, change proto |
| for make_process_struct. |
| * expr.c (expand_expr): Add references to |
| PROCESS_DECL. Add #include of ch-tree.h. |
| * tree.c (decl_function_context): Add check for a |
| PROCESS_DECL, and #include for ch-tree.h. |
| |
| Thu Apr 22 09:25:08 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * expr.c (expand_expr): Add missing prototypes, and |
| parameters to expand_expr call. |
| |
| Wed Apr 21 16:17:07 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * c-decl.c (shadow_record_fields): Add ability to |
| handle pointers to records/unions. For PROCESS |
| compilation. |
| |
| Thu Apr 22 09:25:08 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-expr.c (chill_expand_expr): Add missing |
| parameters to expand_expr calls. Some trivial |
| reformatting for readability. |
| |
| Wed Apr 21 16:17:07 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-lex.l: Make send_*_prio externally visible, |
| default them to zero, eliminate the init flags. |
| Same for process_type. |
| |
| Sat Apr 17 10:59:50 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_binary_op): Build a |
| BIT_FIELD_REF tree for IN_EXPR operations. |
| * ch-typeck.c (build_chill_array_ref): Build a |
| BIT_FIELD_REF tree for access to packed array of |
| bits. |
| |
| Fri Apr 16 12:33:34 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-parse.y (EXIT action): Improve error checking, |
| messages. |
| * ch-typeck.c (chill_expand_tuple): Remove code to |
| pack sets (moved to varasm.c long ago). |
| * varasm.c (unpack_set_constructor): Rename size to |
| bit_size, since 'size' always means bytes. |
| (pack_set_constructor): Rename size to wd_size, |
| since 'size' always means bytes. |
| (output_constant): Set size to zero, so that extra |
| bytes of padding aren't output after set constants. |
| |
| Fri Apr 16 11:57:50 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * .cvsignore: Add .gdbinit. |
| * ch-decl.c (start_chill_bindings): Add function name |
| to binding contour's exit_label for EXIT stmt. |
| * ch-parse.y (EXIT action): Call lookup_name to avoid |
| inserting label for function name. Also check |
| IDENTIFIER_LABEL_VALUE for label's decl. |
| (caseaction, beginendblock, ifaction): Call |
| stamp_nesting_label to put action's label into |
| contour for EXIT to find. |
| |
| Thu Apr 15 17:17:05 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * expr.c (expand_expr): Unify, clean up handling of |
| IN_EXPR, and handling of bit-string element ref. |
| Now, all goes through IN_EXPR handler. |
| * stmt.c (stamp_nesting_label, expand_exit_labelled): |
| New functions, which allow either label or |
| function decls. |
| |
| Thu Apr 15 17:17:05 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c ch-actions.h ch-convert.c ch-decl.c ch-except.c |
| ch-expr.c ch-grant.c ch-inout.c ch-lang.c ch-lex.h ch-lex.l |
| ch-loop.c ch-parse.y ch-process.c ch-tree.c ch-tree.def |
| ch-tree.h ch-typeck.c: Add 1993 copyright, fix titles. |
| * ch-actions.c (build_chill_binary_op): Move runtime function call |
| to expr.c. Just build a tree here. Clean up error checking. |
| * ch-convert.c (convert): Simply store a type into an expression if |
| TREE_TYPE (expr) == NULL. Prevent error if an enum is to be |
| converted to a set of such enums. |
| * ch-loop.c (init_loop_counter): Restore error msg for undeclared |
| variable if no local scope is to be created for the loop. |
| * ch-typeck.c (build_chill_array_ref): Turn bit array ref into IN_EXPR, |
| remove redundant code which wasn't ever called. |
| |
| Wed Apr 14 07:54:00 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * .cvsignore (y.tab.c) : Add to list. |
| * ch-convert.c (convert): Check pointers better - avoid NULL reference. |
| Remove redundant check for ERROR_MARK - already checked earlier. |
| * ch-parse.y (get_type_of): Add parameter checks for NULL ptrs and |
| error_mark_node. |
| |
| Tue Apr 13 16:00:37 1993 Per Bothner (bothner@cygnus.com) |
| |
| * c-decl.c (start_function): If there is a previous |
| function declaration of the same name, steal its RTL. |
| This is a kludge needed for forward declarations of |
| nested functions. |
| * ch-decl.c (push_chill_extern_function), ch-tree.h: New |
| function, for external and seized function declarations. |
| Make sure to use permanent obstack. |
| * ch-parse.y (quasi_pdef, extprocedure): Use new function. |
| |
| * ch-grant.c (chill_finish_module_code): Since module |
| function is no longer visible,, can't get it using |
| lookup_name(). Use current_function_decl instead. |
| |
| * ch-decl.c (build_chill_function_type): Add void_type_node |
| to end of parameter types list. |
| |
| * ch-grant.c (chill_start_module_code): Make sure module |
| function isn't visible (and hence isn't granted). |
| |
| Tue Apr 13 15:48:25 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-loop.c (begin_chill_loop): Also stamp the user's loop name into |
| current contour for DO FOR EVER loops. |
| |
| Tue Apr 13 14:37:39 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-parse.y (actionstatement): Add error rule. Delete |
| POP_UNUSED_ON_CONTEXT. Add comments about label name usage. |
| (nohandleraction): Better error check in EXIT processing. |
| (optexprlist): Comment out make_function_rtl call. |
| (seizestatement): Change error to warning. |
| |
| Tue Apr 13 08:29:31 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-grant.c (raw_decode_mode): Supply missing parameter in get_type |
| call. |
| * ch-loop.c (begin_chill_loop): Take loop label as parameter. Stamp |
| its name into the current contour's exit_label, for EXIT to use. |
| * ch-parse.y: (actionlabel): Save label tree in global variable. |
| (actionstatement): Clear label to NULL when action is finished. |
| (handlerstatement, nohandlerstatement): Split actions into |
| categories which do/don't permit exception handlers. |
| (exitaction): Move code into nohandleraction, make it work. |
| (doaction): Pass (possibly NULL) label tree to begin_chill_loop. |
| * ch-tree.h: Add parameter to begin_chill_tree prototype. |
| * stmt.c (stamp_nesting_label, expand_exit_labelled): Add functions. |
| Note: This implementation of EXIT only exits from loops, not yet |
| from other bracketted statements. |
| |
| Mon Apr 12 13:41:55 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-grant.c (chill_grant): Remove obsolete code. |
| |
| * ch-decl.c (push_synmode, push_newmode): Merged to yield ... |
| * ch-decl.c (push_modedef): ... w/ slightly different interface. |
| * ch-tree.h, ch-process.c (make_process_struct), ch-parse.y |
| (modedefinition): Use new push_modedef function. |
| * ch-parse.y (modedefinition): Don't depend on inherited |
| attributes (- implemented incorrectly!): Use a global variable |
| parsing_newmode to distinguish synmode and newmode. |
| |
| Mon Apr 12 08:10:34 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-loop.c: Diffuse cleanup after big functional changes. |
| * ch-parse.y: Eliminate temporary variables, now unnecessary. Use |
| parse-time stack instead. |
| * ch-tree.h: Change build_chill_iterator prototype. |
| |
| Sun Apr 11 15:50:33 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-convert.c (convert): Replace an ERROR_MARK type - from a |
| untyped_expr with the given type. Move chill_expand_case_expr |
| call inside chill_expand_expr. |
| * ch-expr.c, ch-tree.h, ch-typeck.c (chill_handle_case_default, |
| chill_handle_case_label, chill_expand_case_expr): Move to ch-expr.c |
| from ch-typeck.c. |
| * ch-loop.c: Major reorganization to support multiple iterators in |
| DO FOR loop, very little new code, just a re-org. |
| * ch-parse.y (iterationlist): Add handling for multiple loop iterators. |
| |
| Sat Apr 10 14:40:12 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_lower, build_chill_upper): Clean up. |
| * ch-grant.c (chill_grant): Avoid making strange SYNMODE for enum |
| member. |
| * ch-lex.l (equal_number): Add function to look in the input for '=' |
| followed by a decimal literal. Call it from directive scanning. |
| (start state 'ccitt'): Deleted, unused. Moved unused, but reserved, |
| tokens to NORMAL state. |
| (compiler_directive): Replaced by equal_number. Now the only |
| recursive call to yylex happens in check_newline at the beginning |
| of a compilation. |
| |
| Sat Apr 10 09:55:50 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_case_expr): Added from ch-parse.y. |
| * ch-lex.l (ENTRY, PERVASIVE, ROW, STEP): Add token recognition to |
| 'reserve' them. |
| * ch-parse.y (case_expr): Move code into ch-actions.c. There will |
| need to be much more written. |
| * ch-tree.def (VARY_ARRAY_REF): Add comment. |
| * ch-tree.h (build_chill_case_expr): Add prototype. |
| * ch-typeck.c (build_chill_cast): Allow untyped_expr - just assign the |
| type to the expr. Check for CASE_EXPR, call expand_case_expr. |
| |
| Sat Apr 10 01:10:51 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-parse,y (in_pseudo_module): New variable. Try if we're |
| in a seizefile, but not in a module nested in the seizefile. |
| Use for backwards compatibility with old grantfiles. |
| * ch-decl.c (do_decls, push_syndecls, push_newmode, push_synmode): |
| If in_pseudo_module, grant new declaration. |
| * ch-decl.c (pushd_newmode): If there is a granted previous |
| incomplete type, fix it up. |
| * ch-grant.c (seize_implied_names): Do remaining types. |
| Guard against recursion. |
| * ch-tree.h (IDENTIFIER_ENUM_VALUE): Removed, not used. |
| * ch-tree.h (CH_DECL_ENUM), ch-grant.c (chill_grant), ch-lang.c |
| (finish_chill_enum): Enum constants are marked with |
| CH_DECL_ENUM so they don't get written to the grantfile. |
| * ch-tree.h (IDENTIFIER_GRANTED_VALUE): Allow fast seizing. |
| * ch-lex.l: Re-write to use start states, to avoid calling |
| yylex() recursively. |
| * ch-lex.l (compiler_directive); This is now obsolste. FIXME. |
| * ch-lex.l: Call push_module and pop_module when reading a |
| seizefile. This creates a pseudo-module. |
| * ch-parse.y: Clean up handling of empty declarations and |
| action statements; semicolons are now optional a number of |
| places. |
| * ch-parse.y: Remove some bogus tests for "statement |
| out of sequence" (they're both legal and work). |
| * varasm.c (mak_function_rtl): Remove kludge that may |
| not be necessary (and loses anyway). |
| |
| Fri Apr 9 09:37:38 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-expr.c (chill_expand_array_assignment): Remove false error about |
| arrays that are too small. |
| * ch-parse.y (callaction): Don't pass an error_mark_node to |
| c_expand_expr_stmt. |
| |
| Fri Apr 9 00:26:54 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch_tree.h (DECL_HIDDEN_BY_MODULE, ENCAPSULATED_ARRAY_P): |
| New macros. |
| * ch-actions.c (build_chill_function_call): Use latter. |
| * ch-typeck.c (chill_similar): Fix typo. |
| * ch-grant.c (raw_decode_mode): Handle ENCAPSULATED_ARRAY_P |
| parameter types. |
| * ch-grant.c (seize_implied_names): Handle ranges of enums. |
| * ch-grant.c (do_seize): Set DECL_SOURCE_FILE and _LINE of |
| seized declaration to be the point of the seize itself. |
| * ch-grant.c (chill_grant), ch-tree.h: Add a parameter |
| which is the list (in order) of decls in the module. |
| Don't reverse the getdecls() list; that is handled by caller. |
| * ch-grant.c (chill_grant): Test that a declaration is |
| visible before writing it. |
| * ch-parse.y (push_module): Make sure to hide declarations |
| from surrounding module. |
| * ch-parse.y (pop_module): Restore those declarations. |
| * ch-parse.y (pop_module): This function is now responsible |
| for writing out for calling chill_grant() to the grant file. |
| * ch-actions.c (lang_finish): Remove calls to chill_grant(). |
| |
| Thu Apr 8 16:56:52 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_char_array_expr): Add handling of varying |
| arrays in relational expressions. |
| * ch-decl.c: Add prototype for lookup_name_current_level. |
| * ch-expr.c (chill_expand_expr): Make concat_expr's temp a BLKmode, |
| so its length is used as the temp's size. |
| (chill_expand_array_assignment): Correct for varying := varying |
| assignment, clean up. |
| * ch-typeck.c: Add prototype for require_complete_type. |
| |
| Wed Apr 7 16:41:29 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-loop.c (for_location, begin_chill_loop, end_chill_loop): Major |
| diffuse changes to fix location loops. |
| * ch-parse.y (location): Remove ref through NULL ptr. |
| |
| Wed Apr 7 13:42:06 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-decl.c (massage_param_node): New function. |
| It handles the LOC/IN/OUT/INOUT parameter distinction, |
| as well as calling build_chill_array_parm_type if needed. |
| * ch-tree.h (massage_param_node): New prototype. |
| * ch-decl.c (push_parms): Use new massage_param_node(). |
| * ch-parse.y (pmodearg): Use new massage_param_node(). |
| * ch-parse.y (formpar): Don't call build_chill_array_parm_type; |
| now handled by massage_param_node. |
| * ch-typeck.c (my_build_array_ref): Handle non-zero array |
| lower bounds. |
| * ch-actions.c (build_chill_function_call): If the formal |
| parameter is a pseudo record wrapped around an array, make |
| sure we wrap the actual parameter in a record CONSTRUCTOR. |
| * ch-typeck.c (build_chill_array_parm_type): Make sure |
| the pseudo struct type is allocated on the permanent_obstack. |
| * ch-parse.y (location): Remove thinko. |
| * ch-actions.c (chill_comptypes): Comment out test for |
| NEWMODEness - it gets broken by the forward declaration hacks. |
| |
| Tue Apr 6 18:05:40 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c: Move build_varying_struct to ch-typeck.c. |
| * ch-parse.y (formpar): Turn ARRAY_TYPE parms into structure. |
| * ch-parse.y (location): Do build_component_ref for an array wrapped |
| in a structure. |
| * ch-tree.h: Add prototype, #define for build_chill_array_parm_type. |
| * ch-typeck.c (build_chill_array_parm_type): Add function, move |
| build_varying_struct here from ch-actions.c. |
| |
| Mon Apr 5 19:56:56 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c, ch-decl.c: Use tree_int_cst_equal and integer_zerop |
| rather than in-line code - tests LOW and HIGH values. |
| * ch-lang.c: Use tree_int_cst_lt rather than inline code. |
| * ch-typeck.c (my_build_array_ref): Handle case where array low bound |
| isn't zero. |
| |
| Mon Apr 5 15:45:10 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-typeck.c (my_build_array_ref): Add some more code from |
| build_array_ref. Change checks, error messages to mention |
| 'discrete types'. I.E. types which don't kiss and tell.. |
| |
| Sat Apr 3 09:27:03 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-except.c, ch-expr.c: Turn externs into prototypes. |
| * ch-grant.c (chill_grant): Remove orphan #else. |
| * ch-tree.h: Add prototype for build_chill_bin_type. |
| * ch-typeck.c: Turn externs into prototypes, delete code which |
| was commented out in chill_expand_return; it will never be used. |
| |
| Fri Apr 2 21:55:14 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| Major re-write of New module/seize/grant stuff. |
| Now, a grantfile is a spec module and contains all the |
| top-level declarations of the granting module, not just |
| those that are granted. It also contains explicit grant |
| statments naming those declared names that are granted. |
| It also has seize statements and use_seize_file directives |
| to correctly handle transitive dependencies. |
| |
| * ch-parse.y: Change to allow multiple modules per source file. |
| Allow spec modules (including quasi definitions) as well as |
| regular modules. |
| Allow spec modules inside normal modules; these behave as if |
| they were outermost. This violates the Blue Book, but is |
| needed by the new grantfile mechanism. (A grant file is a |
| spec module that gets included by the use_seize_file directive.) |
| * ch-parse.y (struct module *current_module, push_module, |
| pop_module): Support module nesting (for spec modules only). |
| |
| * ch-tree.h (struct module): New. |
| * ch-grant.c (granted_decls): New list of declarations |
| that have been granted into the outermode pseudo-module. |
| * ch-grant.c (decode_mode): If the decl has a name, |
| always write the name, not just if the decl has already |
| been written. Since we write out all decls, we can assume |
| it will be written later, and depend on the forward |
| declaration kludges to catch it. |
| * ch-grant.c (decode_decl): Don't write out _EXTERN. |
| Instead write out standard (Blue Book) quasi-definitions. |
| * ch-grant.c (push_granted): New function. |
| * ch-grant.c (seize_implied_names): New function. Re-write |
| how set element names are seized when a set type is seized. |
| * ch-grant.c (chill_seize): Work by seraching the |
| granted_decls list and copying the declaration. |
| * ch-grant.c (chill_grant): Write all declarations |
| declared in this module. Write GRANT statements for |
| those granted. seize statements for decls seized from |
| other modules. Write extra syntax to make a complete |
| spec module. |
| * ch-grant.c (grant_use_seizefile): Copy use_seize_file |
| directives into grant file. |
| * ch-lex.l (setup_seizefile_read): Call grant_use_seizefile. |
| |
| * ch-lex.l (struct input_state, current_input_state, |
| push_input_file, pop_input_file): New (type, variable, |
| function*2). Used to save and restore state on an input file. |
| * ch-lex.l: Clean up to handle nested input seizefiles |
| (needed by new grant/seize mechanism. |
| * ch-lex.l (skip_to_end_of_directive): New function. |
| * ch-lex.l (compiler_directive: USE_SEIZE_FILE): Make sure |
| we skip to the end of the directive *before* we switch |
| input files. |
| * ch-lex.l (setup_seizefile_read): Prevent reading the |
| same seizefile twice (otherwise likely with new grant/seize). |
| * ch-lex.l: Recognize SPEC. Misc cleanups. |
| |
| * ch-parse.y: Fixed foreward references of types. |
| Removed the unknown_type_node crock. |
| * ch-decl.c: Remove all uses of unknown_type_node. |
| Check for TYPE_SIZE zero instead. |
| * ch-decl.c (fixup_unknown_type): Make sure new mode |
| gets copied into old mode. Merge their variant chains. |
| * c-decl.c (lookup_name_current_level): Make non-static. |
| * ch-decl.c (lookup_name_current_level): No longer needed. |
| |
| * ch-parse.y (call): Allow an implicitly defined function |
| name following the CALL keyword. |
| * ch-tree.h (struct lang_identifier): Add implicit_decl, |
| and make sure order of fields matches c-tree.h. |
| |
| * ch-actions.c (lang_init, build_allocate_memory_call, |
| build_allocate_globals_memory_call): Fix names (add initial '_') |
| and prototypes of _allocate_[global_]memory (2nd param is ref). |
| Use build_chill_function_call, not build_function_call, |
| so the reference parameter gets handled. |
| * ch-actions.c. (lang_init): Make sure boolean_{true,false}_node |
| have boolean_type_node as their types. |
| * ch-actions.c (build_chill_lower, build_chill_upper): Fix to |
| work for arrays with BOOLEAN_TYPE ranges (and simplify some). |
| |
| * ch-except.c: Make sure an end_label is generated, |
| and jump to it if there is no exception. |
| |
| * ch-convert.c (convert_to_reference): Strip off NOP_EXPR casts. |
| * expr.c (expand_expr): Handle NOP_EXPR as Chill-style casts. |
| (Need cleaning up and FSF installation!) |
| * ch-parse.y: If taking the address of a cast, move the |
| ADDR_EXPR inside the NOP_EXPR. |
| |
| * ch-typeck.c (my_build_array_ref): Simplified, more suitable |
| versions of build_array_ref from c-decl.c. (E.g. don't barf |
| if index type is char or bool.) |
| * ch-typeck.c (build_chill_array_ref): Use my_build_array-ref. |
| |
| * ch-typech.c (build_chill_bin_type): New function. |
| Support BIN(N) range type specification. |
| * ch-parse.y (mode2), ch-lex.l: Recognize BIN(N). |
| |
| * ch-tree.h (CH_SIMILAR): Redefine in terms of chill_similar. |
| * ch-typeck.c (chill_similar): New function. Recognize that |
| that range types are similar to their parent types. |
| |
| * ch-tree.h: Declare flag_local_loop_counter. |
| * ch-loop.c: Whether the loop variable is local to the loop |
| in now controlled by flag_local_loop_counter, instead of |
| #ifdef'd on CREATE_SCOPE. |
| * ch-actions.c (lang_decode_option): Recognize flags |
| "-f[no-]local-loop-counter". |
| * toplev.c (lang_options): Add Chill flags -f[no-]local-loop-counter. |
| |
| * varasm.c (make_function_rtl): Due to problems with forward |
| references, don't rename nested functions in Chill. (Kudge!) |
| |
| Sun Mar 28 10:12:45 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) |
| |
| * ch-lex.l (push_back, readstring): Fix prototypes. |
| |
| Fri Mar 26 18:32:15 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-parse.y: Put %type directives back into alpha order. |
| (variant_alternative): Simplify error_mark test. |
| (variantfields, varianthack): Add error_mark checks. |
| |
| Fri Mar 26 13:36:23 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-lex.l (convert_charliteral): Rewrite to avoid bogus error msg. |
| * ch-parse.y (get_type_of): Add function to deal with possible fwd |
| declared type name. Call it from lotsa places. Add lotsa checks |
| for error_mark_node. Standardize indentations. |
| |
| Thu Mar 25 15:00:11 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-expr.c (chill_expand_assignment): Avoid seg fault while checking |
| for array assignments. |
| * ch-parse.y (action): Add recognition for allocate_memory and |
| allocate_global_memory system calls. |
| (mode2): Remove ill-conceived error check that broke REFs to |
| as-yet-undeclared types. Check for IDENTIFIER_NODE, lookup its |
| DECL if there, pass TREE_TYPE of decl to build_pointer_type. |
| (variantfields, varianthack): Clean up. |
| (variantfield): Check for IDENTIFIER_NODE, lookup its DECL if |
| there, pass TREE_TYPE of decl to grok_fixedfields. |
| (labellist): Explicitly assign error_mark_node to signal error. |
| * ch-typeck.c (chill_compatible): Report FALSE for bad parameters, |
| rather than seg faulting. |
| |
| Thu Mar 25 10:35:58 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (lang_init): build_function_type for allocate_memory |
| and allocate_global_memory runtime routines. Move discrete_type_p |
| into ch-typeck.c. |
| * ch-typeck.c (discrete_type_p): Move here, where it belongs, call it |
| in build_chill_cast. |
| |
| Wed Mar 24 16:25:16 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-grant.c: Don't grant previously seized names. |
| |
| Tue Mar 23 15:25:39 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * Makefile.in (ch-actions.o): Add dependencies (expr.h insn-codes.h) |
| * dwarfout.c (fundamental_type_code): Add handling of BOOLEAN_TYPEs, |
| avoid abort. |
| |
| Tue Mar 23 09:03:35 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_char_array_expr): Just build a type for the |
| result of a CONCAT_EXPR, and pass the tree back. |
| chill_expand_array_assignment can do a better job of |
| code-generation. |
| * ch-expr.c (chill_expand_array_assignment): Generate the CONCAT_EXPR |
| code. |
| |
| Mon Mar 22 12:42:58 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-except.c (start_handler_array): Make sure the handler |
| array and its type get on the permanent obstack. |
| * ch-grant.c (write_grant_file): Don't write the _INIT=name |
| specifier: It isn't needed, and loses (because of funny |
| characters in the chill_initializer_name). |
| * ch-decl.c (push_synmode): Set TYPE_NAME(mode) = syndecl. |
| * ch-lang.c (finish_chill_enum): Don't allocate a dummy |
| TYPE_DECL for the enum. I don't think it is needed (?), |
| and removing it is needed for the change above. |
| |
| * ch-grant.c (grant_array_type, decode_mode): Remove unused |
| 'decl' parameter. |
| * ch-grant.ch (raw_decode_mode): New function, based on old |
| decode_mode. |
| * ch-grant.c (decode_mode); This is now just a wrapper around |
| raw-decode_mode - but does not call raw_decode_mode if the |
| type is named and has already been emitted. |
| |
| Fri Mar 19 11:55:35 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c: Add prototypes, remove unused variables. Attempt to |
| continue generating grant file in presence of error (Wilfried's |
| patch to lang_finish). |
| * ch-expr.c: Change assign_stack_temp calls so temps get recovered |
| after each statement. Move convert call into |
| chill_expand_assignment from ch-parse.y. |
| * ch-grant.c: Generally re-order, clean up. Include Per's decode_mode |
| simplification. Include commented-out hack in decode_mode to return |
| type's name if type SEIZEd or already GRANTed in this file. |
| * ch-lex.l: Add prototypes. |
| * ch-parse.y (assignaction): Move convert call into |
| chill_expand_assignment. |
| |
| Thu Mar 18 16:04:45 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-convert.c (convert): Remove unused variable, fix int_size_in_bytes |
| comparison. |
| * ch-decl.c: Add prototypes, correct error message spelling, remove |
| unused variables. |
| * ch-lang.c (build_chill_range_type): Add error message. Add prototypes. |
| Correct comment spelling. |
| * ch-lex.l: Add prototypes, remove unused variable, put double parens aarround |
| assignment in conditional. |
| * ch-loop.c: Add prototypes, remove unused variable. |
| * ch-parse.y (structured_variable): Return NULL_TREE is invalid WITH |
| parameter is seen, don't count it in structured_variable_list. Pre- |
| vents seg fault when only WITH operand is invalid. |
| * ch-parse.y (label_spec): Correct assignment within IF expression which |
| was intended to be equality test. Remove unused variables. |
| * ch-tree.h: Add prototype. Remove unused EXCP_CODE enumeration, and |
| prototyping editorial comments. |
| * ch-typeck.c: Disable generation of code to validate array index for |
| now. Should be done as a call-back from more generic array_ref code. |
| Clean up parameter checking. Remove unused variables. |
| |
| Fri Mar 12 11:57:32 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (chill_varying_type_p): Return FALSE if given NULL type. |
| * ch-actions.c (build_chill_binary_op): Pass ALL arrays to |
| build_char_array_expr. |
| * ch-convert.c (convert): protect against seg fault, if type == NULL. |
| * ch-expr.c (chill_expand_expr): Add FIXME comment. |
| |
| Fri Mar 12 11:04:02 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-expr.c (chill_expand_expr): Completely rethink set unary ops. |
| Thanks very much to dje! |
| |
| Thu Mar 11 21:06:55 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_char_array_expr, build_chill_binary_op): |
| Move CONCAT_EXPR handling from binary_op to array_expr. Add |
| handling for relationals between varying arrays to array_expr. |
| |
| Thu Mar 11 19:20:37 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_set_expr, build_chill_binary_op): Calculate |
| *BIT* length of powersets and arrays of BOOLs. |
| (invalid_left_operand, invalid_right_operand): Disallow relationals |
| with arrays of BOOL as operands. |
| * ch-convert.c (convert): Test TREE_CODE for ERROR_MARK rather than |
| comparing pointers. |
| * ch-decl.c (push_newmode): Re-indent. |
| * ch-expr.c (chill_expand_expr): Calculate *BIT* length of powersets |
| and arrays of BOOLs. |
| * ch-lang.c (build_chill_array_type): Add parameter error checking. |
| |
| Mon Mar 8 17:13:00 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * expr.c (store_constructor): Handle set construction. |
| * varasm.c (output_constant): Prevent seg fault - terminate case |
| alternative with a 'break'. |
| |
| Mon Mar 8 17:13:00 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-expr.c (): Move SET_TYPE constructor to expr.c. |
| * ch-loop.c (end_chill_loop): Only do expand_end_loop if not POWERSET loop. |
| * ch-typeck.c (build_chill_cast): Fix error msg spelling. |
| |
| Mon Mar 8 13:16:05 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * fold-const.c (fold_convert): Allow CHAR_TYPE CONVERT_EXPR to |
| be folded. |
| |
| Mon Mar 8 10:13:57 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-grant.c (get_tag_value): Correctly output certain enumerations. |
| Correct some non-standard indentations. |
| |
| Fri Mar 5 14:58:35 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c: Fix up comment. |
| |
| Thu Mar 4 18:05:43 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c: Define builtin '__nepowerset' and call it - avoid |
| negating the result of calling __eqpowerset. New function |
| discrete_type_p(). |
| * ch-grant.c (get_tag_value): Don't seg fault referring to an |
| anonymous enumeration's name. |
| * ch-lex.l: Turn EVEN token into an ignored compiler directive. |
| * ch-loop.c (end_chill_loop): Output end-of-loop marker. |
| * ch-parse.y (label_spec): redefine variant structure label_spec |
| to agree with the Z.200 spec. |
| (locdec): Error if set/bitstring initialized with a tuple. |
| (case_label, arrayindex): Use new discrete_type_p |
| function. |
| * ch-process.c: Fix typo. |
| |
| Wed Mar 3 14:30:53 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-lang.c, ch-tree.h: Rename build_range_type to |
| build_chill_range_type. Call new build_range_type() in tree.c. |
| * ch-parse.y: Call build_chill_range_type as approriate. |
| * ch-typeck.c (build_chill_cast); Clean up. |
| |
| Wed Mar 3 09:36:56 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-parse.y: Define CONTINUE_EVENT token. |
| * ch-parse.y (mode2): Give error message for SYN modea = modeb |
| where modeb is undefined. |
| |
| Tue Mar 2 20:16:37 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c: Add builtin function descriptions for memset and |
| bitsetpowerset. Allow build_chill_num expression to exceed 16 bits, |
| but not 32. |
| * ch-tree.h: Correct chill_handle_case_default prototype. |
| * ch-actions.h, ch-lex.h: Add prototypes. |
| * ch-lex.l, chill.gperf: Add CONTINUE_EVENT token. |
| |
| Thu Feb 25 17:35:46 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * c-decl.c (init_decl_processing): Disable creation of C-specific |
| builtin functions. They pollute the CHILL name space. |
| * stor-layout.c (variable_size): Allow variable-size objects at file |
| scope, for CHILL. |
| |
| Fri Feb 26 07:14:34 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * c-decl.c (finsh_decl): Don't output non-constant storage size |
| error for CHILL |
| * ch-actions.c: Call build_temporary_variable, fix build_tree_list |
| call in build_chill_cause_exception. |
| * ch-convert.c, ch-expr.c: Use tree_cons to build list's last entry |
| * ch-loop.c (build_temporary_variable): New function |
| * ch-process.c: Call build_temporary_variable, spell start_process |
| correctly. |
| * ch-tree.h: Extern for build_temporary_variable |
| |
| Thu Feb 25 12:09:01 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * c-decl.c (init_decl_processing): Disable initial creation of C-specific |
| builtins - they pollute the CHILL name space. |
| * ch-typeck.c (valid_array_index): Correct upper-bound check. |
| * expr.c (expand_expr): Use actual library name for __inpowerset |
| builtin. |
| * stor-layout.c (variable_size): Disable complaint about variable- |
| size type or decl at file scope. Perhaps later this s.b. a warning. |
| * varasm.c (emit_set_data): Add function. |
| (output_constant): Call new emit_set_data function for VAR_DECLs, |
| in addition to CONSTRUCTORs. |
| |
| Thu Feb 25 11:34:36 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c: Change all builtin functions names to their |
| actual library names. Change references to boolean_type_node |
| to references to the TREE_CODE == BOOLEAN_TYPE, to follow the |
| convention. |
| build_set_expr: Remove length parameter, call powersetlen() instead. |
| remove handling of CHAR arrays - they're handled in build_char_array_expr. |
| Call __eqpowerset to test for equality - we can't use a byte-length - |
| need bitcount instead. |
| build_chill_compound_expr, internal_build_compound_expr: Copy from C |
| version that does stuff we don't want. |
| build_binary_op: Check for in_size_in_bytes return < 0, indicating |
| size is changeable at run time. Build two memcpy calls to implement |
| string concatenation. |
| powersetlen: Add function. |
| build_chill_card: Call powersetlen. |
| build_chill_max_min: Common code for powerset max/min. |
| build_chill_length: Move VARYING array handling before regular char |
| array handling. |
| * ch-expr.c chill_expand_expr: Disable concatenate code - we need to |
| the VARYING status of the target to do this correctly. Use powersetlen |
| for the powerset operations, not a byte length. |
| * ch-loop.c: Make CREATE_SCOPE #define to enable creation of a new scope |
| for each CHILL loop, as Z.200 requires. Add powerset and error flags |
| to loop structure. Evaluate user's powerset expression into a temp, |
| scan it destructively with __ffsetclrpowerset or __flsetclrpowerset |
| for powerset loop. Only do loop-end assignments if NOT a powerset |
| loop, which has much less overhead now. |
| * ch-tree.h: Add prototype for powersetlen. |
| |
| Fri Feb 19 08:40:24 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-lex.l (convert_number): Evaluate number and pass it as |
| HOST_WIDE_INT. |
| |
| Fri Feb 19 08:56:44 1993 Michael Tiemann (fs_tie at rcsw18) |
| |
| * ch-typeck.c (build_chill_array_ref): Handle newmodes |
| correctly. |
| |
| * ch-actions.c (chill_comptypes): Always initilize ERRSTR if |
| we are going to return 0. |
| |
| * ch-convert.c (convert_to_reference): Don't use |
| TYPE_MAIN_VARIANT, because REFTYPE's type may be a newmode |
| (which must match the type of the expr). |
| |
| * ch-grant.c (chill_seize): Don't let a type be copied just |
| because we are seizing it. |
| |
| * ch-lang.c (finish_chill_enum): Convert TYPE_MIN_VALUE and |
| TYPE_MAX_VALUE to integer type. |
| |
| * ch-loop.c (begin_for_range): Set lp->iter_type based on the |
| tree type of the bounds. |
| (build_loop_top): type of GE_EXPR and LE_EXPR is |
| boolean_type_node, not lp->iter_type. |
| (for_location): Ditto. |
| |
| * ch-action.c (build_chill_lower,build_chill_upper): Handle |
| ENUMERAL_TYPE. Also, handle different kinds of arguments more |
| cleanly. |
| |
| * ch-parse.y (iteration): Convert start_exp and end_exp to |
| match the type of modename. |
| |
| * ch-grant.c (chill_seize_aggr): Search also through anonymous |
| types. |
| |
| * ch-grant.c (chill_seize): Check to see if SEIZEITEM has |
| already been seized, and if so, do nothing. |
| |
| * c-typeck.c (process_init_constructor): If DEFAULT_VALUE |
| comes out error_mark_node, set ERRONEOUS. |
| |
| * ch-actions.c (build_chill_binary_op_1): If EXP is NULL_TREE, |
| don't use it. |
| |
| * ch-action.c (chill_comptypes): Test for structural |
| equivalence of enums. |
| |
| * ch-typeck.c (build_chill_array_ref): Convert INDEX to |
| TYPE_MIN_VALUE of DOMAIN if the types are compatible. |
| |
| * ch-grant.c (chill_seize): If DECLS is a TYPE_DECL for an |
| ARRAY_TYPE, seize the domain type if its a set. |
| |
| Thu Feb 18 20:02:15 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * c-typeck.c (process_init_constructor): Emit error if some |
| array elements are not initialized. |
| * c-typeck.c (process_init_constructor): Call digest_init() |
| recursively to expand default_value. |
| * ch-expr.c (chill_expand_array_assignment): Simplify, and |
| handle the case that the lhs has dynamic size (e.g. a slice). |
| * ch-parse.y (elementlist): Handle the case that tupleelement |
| generates more than one TREE_LIST node. |
| |
| Thu Feb 18 12:40:56 1993 Michael Tiemann (fs_tie@rcvie.co.at) |
| |
| * .cvsignore: add yacc sources, xgcc and stmp-* files. (Bill) |
| * c-typeck.c (lookup_field): add function, calls. |
| * ch-actions.c (build_chill_binary_op): figure return_type differently. |
| * ch-convert.c (convert_to_reference): return error_mark_node, |
| STRIP_NOPS. (convert): Braces for readability. |
| * ch-decl.c (build_chill_function_type): accept typespec as parm. |
| Handle exceptions. |
| (grok_chill_variantdefs): call comptypes, not chill_comptypes. |
| * ch-expr.c (chill_expand_assignment): handle references. |
| * ch-grant.c (chill_seize_set, chill_seize_aggr): new functions |
| * ch-parse.y (structured_variable): check for REFERENCE_TYPE, |
| call convert. Generally handle reference types. |
| |
| |
| Thu Feb 18 09:30:11 1993 Michael Tiemann (fs_tie@rcvie.co.at) |
| |
| * ch-actions.c (chill_comptypes): Figure out which newmode or |
| synmode decls look most canonical. |
| * ch-convert.c (convert): handle location conversions of records, |
| unions and arrays. |
| * ch-decl.c (fixup_unknown_type): changes for variant records |
| * ch-parse.y (tupleelement): avoid confusing digest_init. |
| * ch-typeck.c (build_chill_array_ref): give element ref the |
| type of the ELEMENT, not the array (Bill Cox). |
| |
| Wed Feb 17 11:52:20 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-parse.y: change push_newmode and push_synmode interfaces. |
| * ch-actions.c (build_chill_binary_op): convert operands. |
| |
| Wed Feb 17 10:54:24 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_binary_op, build_chill_unary_op): |
| handle reference types. |
| * ch-decl.c (push_newmode, push_synmode): rewritten |
| * ch-process.c (make_process_struct): new push_newmode interface. |
| * ch-typeck.c (build_chill_cast): change interface, error checks. |
| |
| Wed Feb 17 09:50:37 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c, ch-parse.y, ch-tree.h: delete old INOUT, OUT parameter |
| code. |
| * ch-typeck.c (valid_array_index): new function. |
| |
| Tue Feb 16 22:36:34 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-convert.c (convert): Slightly more correct conversion |
| for ARRAY_TYPEs (return as OK if CH_COMPATIBLE). |
| * ch-expr.c (chill_expand_array_assignment): Invoke |
| __builtin_memcpy using build_function_call, not directly at |
| the rtx level (which doesn't work). |
| * ch-typeck.c (build_chill_slice): First attempt at slices. |
| * ch-tree.h, ch-typeck.c (build_chill_slice_with_range, |
| build_chill_slice_with_length): New functions. |
| * ch-parse.y: Use new slice-building functions. |
| * expr.c (get_inner_reference): Subtract low bound of |
| array when doing an ARRAY_REF. |
| |
| Tue Feb 16 14:17:55 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_function_call): better comments. |
| * ch-decl.c (push_parms): encode OUT, INOUT parms in additional way. |
| * ch-parse.y: indentation cleanup |
| |
| Tue Feb 16 12:03:53 1993 Michael Tiemann (tiemann@cygnus.com) |
| |
| * ch-decl.c (grok_chill_variantdefs): Really implement variant |
| records for CHILL. |
| * ch-grant.c (get_tag_value): New function. |
| * ch-grant.c (decode_mode): Grant variant records. |
| |
| * ch-grant.c (chill_seize): If we seize a set, seize the set |
| values. |
| |
| * ch-lex.l (RETURN_TOKEN): Make this safe to use in if/else |
| constructs. |
| |
| * ch-parse.y (EMPTY): New pseudo-token to disambiguate |
| variant_alternatives. |
| (current_fieldlist): New variable to help processing tag |
| declarations in variant records. |
| (fields): Renamed from structdef. |
| (field): Renamed from fields. |
| (varianthack): New non-terminal to handle parsing ambiguity |
| for variant records. |
| (optlabellist): Changed to preserve CONST_DECLs when they are |
| parsed. |
| |
| * ch-tree.h (TYPE_TAGFIELD): New macro. |
| (TYPE_TAG_VALUES): Ditto. |
| |
| Mon Feb 15 00:49:34 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-grant.c (decode_mode): Fix output for powerset modes. |
| * ch-grant.c (decode_constant): Support grant output of |
| powerset literals. |
| * ch-actions.c (build_chill_binary_op): IN_EXPR fix. |
| * expr.c (expand_expr): Add Chill-specific kludge for |
| BIT_FIELD_REF if operand is SET_TYPE to call runtime function. |
| * ch-expr.c (chill_expand_assignment): Remove no-longer-needed |
| special-case support for a BIT_FIELD_REF in right-hand-side. |
| * ch-lang.c (finish_chill_enum): Patch up enum elements to |
| have the correct type (instead of integers, as in C). |
| |
| * ch-lex.l, ch-parse.y: Add disgusting hack (involving |
| context-dependent look-ahead) so we can parse exception |
| handlers correctly. |
| * c-typeck.c (digest_init): Set output type for SET_TYPEs. |
| * varasm.c (unpack_set_constructor): Add support for |
| (power-)set ranges (i.e. low_element:high_element). |
| |
| Sun Feb 14 13:37:52 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-inout.c: delete unused #include |
| * ch-typeck.c (build_chill_slice): turn abort call into error msg. |
| |
| Sat Feb 13 13:13:31 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * Makefile.in: Add cc1chill to STAGESTUFF per Eichin's suggestion. |
| |
| Sat Feb 13 12:17:41 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * Makefile.in: add lots of header files to the CHILL dependencies |
| |
| Fri Feb 12 15:48:27 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_function_call): Don't return |
| error_mark_node on empty parameter-list. |
| |
| Fri Feb 12 12:54:52 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_function_call): fix start_decl parms. |
| * ch-parse.y (PUSH_ACTION): guarantee to generate an insn! |
| |
| Fri Feb 12 10:32:37 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_function_call): create temps, do |
| assignments to handle INOUT and OUT parameters. |
| * ch-decl.c (build_chill_function_type): better parameter name. |
| * ch-parse.y (action): keep rules in alpha order. |
| (pmodearg): turn INOUT, OUT parameter types into reference types. |
| * ch-typeck.c (build_tree_slice): indentation change. |
| |
| Thu Feb 11 23:16:34 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-lex.l (convert_bitstring), Changed SET_TYPE_CONSTRUCTOR to |
| take a list of elements which are in the set. This corresponds |
| better to the tuple input form in Chill (and Pascal). |
| * varasm.c (unpack_set_constructor, pack_set_constructor): |
| New functions, to expand SET_TYPE CONSTRUCTORs. |
| * varasm.c (output_constructor): Use pack_set_constructor |
| to assemble a SET_TYPE constant from a CONSTRUCTOR. |
| |
| * ch-grant.c (decode_constant): Better grant for strings, |
| enumeral, and bitstring constants. |
| * ch-grant.c: Fixes in seize to avoid duplicates, and emit |
| things in the correct order. |
| * c-typeck.c (chill_initializer_constant_valid_p): Kludge |
| needed to export a static function. |
| * ch-typeck.c (convert): Avoid needlessly (and lossingly) calling |
| chill_expand_tuple to convert fix string to varying. |
| * ch-actions.c (build_chill_binary_op): Promote short |
| integer operands if needed (otherwise emit routines barf). |
| * ch-tree.h (SET_WORD_SIZE): New macro. |
| * ch-parse.y: Fix syntax for RECEIVE CASE. |
| * ch-parse.y (location): If IDENTIFIER is a CONST_DECL |
| return its value instead. |
| |
| Thu Feb 11 07:41:45 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_max, build_chill_min): clean up |
| * ch-typeck.c (chill_expand_tuple): correct set initialization from |
| an enumeration tuple. Add sort_constructor function. |
| |
| Thu Feb 11 07:41:45 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * config/sparc.c (sparc_type_code): handle CHAR_TYPE and |
| BOOLEAN_TYPE w/out an abort. |
| |
| Wed Feb 10 14:59:53 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c: change most integer_type_node references to |
| chill_integer_type_node. Rewrite _max and _min routines, |
| redefine the signatures for those runtime routines. Move |
| empty-set check into runtime. |
| * ch-expr.c, ch-loop.c, ch-process.c, ch-tree.c, ch-typeck.c: change |
| most integer_type_node references to chill_integer_type_node. |
| |
| Tue Feb 9 16:00:05 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-except.c: New file. Stuff for exception handling. |
| * ch-parse.y: Add working exception handling support. |
| * ch-lex.l, ch-parse.y: Prefer standard type terminology |
| (BOOLS, CHARS) even though non-standard (BITS, CHAR) is ok. |
| * ch-grant.c: Fix various problems related to granting |
| types such as bitsets. |
| * ch-tree.c (build_bitstring_type): Set TYPE_MIN_VALUE |
| to distinguish bitstrings from powersets (in the same way |
| we distinguish char strings from char arrays). |
| * ch-tree.h: New macro CH_BOOL_TYPE_P. |
| * ch-tree.h, ch-actions.c (lang_init), ch-grant.c (decode_mode): |
| Undo kludge where integer_type_node was hardwired to 16 bits. |
| Make integer_type_node etc have the same size as in cc1. |
| New types chill_integer_type_node and chill_unsigned_type_node |
| that correspond to the Chill source types INT and UINT. |
| For now, these match the C 'short' types, but that should |
| become a configuration option later, |
| |
| Tue Feb 9 11:41:25 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_unary_op): allow NOT of a set. |
| |
| Tue Feb 9 08:27:18 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_function_call): add test for |
| too many/few actual parameters (and avoid seg fault). |
| * ch-decl.c (do_decls): code cleanup for readability. |
| * ch-loop.c (begin_chill_loop, end_chill_loop): remove |
| emit_nop() calls - they now (since exceptions) cause seg faults. |
| Make derogation on poor CHILL compiler non-specific. |
| * ch-parse.y (mode2): enable VARYING keyword in CHAR(expr). |
| * ch-tree.h: remove prototypes added to c-tree.h. |
| * ch-typeck.c (build_chill_array_ref): correct getting domain |
| subtree for a PARM_DECL. Subscripting a SET_TYPE is turned into |
| an IN_EXPR. |
| |
| Sun Feb 7 18:20:49 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-tree.def: add a new tree type - just for varying array |
| references. We were using ARRAY_REF, but the underlying C |
| code also generates that one. |
| * ch-convert.c, ch-expr.c, ch-typeck.c: use the new tree type. |
| |
| Sun Feb 7 17:33:17 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-convert.c: test given type against type of expr before |
| calling chill_expand_tuple. We were getting lots of spurious |
| calls... |
| |
| Fri Feb 5 15:24:01 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * cccp.c: Merge in various Chill-specific changes. |
| * gcc.c (default_compilers array): Pass -lang-chill |
| to cpp, not -lang-ch. |
| |
| Fri Jan 29 17:18:22 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * Makefile.in (install-libchill, install-librmt): Removed. |
| * ch-actions.c (build_chill_exception_decl): Change decl |
| to initialized char array, rather than unitialized common. |
| (Simplifies extracting string name of exception.) |
| * ch-actions.c: Adjust interface to cause_exception accordingly. |
| * ch-typeck.c (build_chill_array_ref): Cause rangefail if |
| index > limit, not >= limit. |
| |
| * ch-actions.c (build_chill_function_call): Rename misleading |
| formal parameter. |
| * ch-decl.c (do_decls): Allow (again) general initializer exprs. |
| * ch-parse.y (call): Test for function call needs to test for |
| FUNCTION_TYPE, not FUNCTION_DECL. |
| nreverse arg list to build_chill_array_ref. |
| * ch-typeck.c (build_chill_array_ref): Do recursive call at end |
| and only if multiple indexes. |
| * ch-typeck.c: Cleanups. |
| |
| Fri Jan 29 11:05:58 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c (do_decls): handle set initializations better, more to do. |
| * ch-loop.c (begin_for_range): correct interface to expand_start_cond |
| and build_binary_op. |
| * ch-tree.h: lots more prototypes |
| * ch-typeck.c (build_array_from_set): added function. |
| * ch-typeck.c (chill_expand_tuple): handle set initializations better. |
| |
| Thu Jan 28 17:41:58 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-grant.c (set_default_grant_file): Change default. |
| Normally, grant file should end up in cwd. |
| * ch-lang.c (build_chill_struct_type): Call pushtag, |
| for the sake of debugging. |
| * ch-lex.l: Improve comment parsing. |
| * ch-lex.l (readstring): Some improvements. |
| Initial support for control sequences in string literals.a |
| |
| Thu Jan 28 16:16:00 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-convert.c (convert): correct fixed->varying conversion. |
| * ch-parse.y (mode2): delete unesthetic newline. |
| |
| Thu Jan 28 10:32:55 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c: delete maybe_array_ref() |
| * ch-expr.c (chill_expand_assignment): handle RHS array_ref, delay |
| calling convert(). |
| * ch-lex.l, ch-parse.y, chill.gperf: add keywords, syntax for time |
| supervision actions & builtins |
| * ch-parse.y (call): eliminate optlocarrayidx, call build_chill_slice, |
| smaller actions directly (maybe_array_ref() used to call them). |
| * ch-tree.h: add build_chill_function_call, build_chill_slice |
| * ch-typeck.c: add build_chill_slice() |
| |
| Thu Jan 28 08:44:28 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-tree.h: bring up to date with ch-actions.c changes. |
| |
| Wed Jan 27 23:45:20 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-expr.c (chill_expand_assignment): handle an RHS varying array |
| reference. |
| |
| Wed Jan 27 22:28:36 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-grant.c (decode_constant): Add REAL_TYPE support. |
| * ch-actions.c (build_chill_exception_decl): New function. |
| * ch-actions (build_chill_cause_exception, cond_exceptions): |
| Convert to take a (char*) parameter (the exception name). |
| * ch-actions.c, ch-expr.c, ch-typeck.c: Convert calls to |
| cond_exception. |
| * ch-parse.y (check_end_label): New function, to check if |
| and end label matches start label. |
| * ch-parse.y: Fix syntax to properly recognize and |
| test optional end labels (using check_end_label). |
| * ch-decl.c (finish_chill_function): Simplify, since |
| we assume check_end_label has already been called. |
| * ch-parse.y: Put in infrastructure for exception handling. |
| |
| Wed Jan 27 15:45:20 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c: delete convert_chill_parameter, replace call with |
| call to convert(). |
| * ch-convert.c (convert): combine chill_give_type_to_expr in here. |
| * ch-decl.c: call convert rather than chill_give_type_to_expr. |
| * ch-expr.c: delete chill_expand_array_assignment, move code to convert. |
| * ch-expr.c (chill_expand_assignment): just call convert. |
| * ch-loop.c (end_chill_loop): expand the end of the loop for a |
| do while. |
| * ch-parse.y: call convert rather than chill_give_type_to_expr. |
| * ch-process.c: checkpoint. |
| * ch-typeck.c: delete chill_give_type_to_expr, call convert instead. |
| |
| Wed Jan 27 15:45:20 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-grant.c (grant_array_type): new function to allow handling of |
| VARYING array types. |
| |
| Wed Jan 27 15:45:20 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-typeck.c (chill_give_type_to_expr): fix typo. Reorder to |
| avoid checking types on CONSTRUCTORs. Correct typo. |
| * ch-expr.c (expand_assignment_to_varying_array): use proper |
| expansion function expand_expr_stmt. |
| * ch-expr.c (expand_chill_assignment): only convert VARYING |
| array refs or RHS. |
| |
| Wed Jan 27 15:32:21 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_length, build_chill_lower, |
| build_chill_upper): accept parameters, too. |
| * ch-expr.c (chill_expand_assignment): decipher ARRAY_REF on RHS. |
| * ch-typeck.c (chill_give_type_to_expr, build_chill_array_ref): |
| assign proper type to ARRAY_REF expression. |
| |
| Wed Jan 27 09:51:46 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c (build_chill_binary_op): delete unused variable, |
| get set's base type from TYPE_DOMAIN rather than TREE_TYPE. |
| * ch-actions.c (build_chill_repetition_op): handle differently-built |
| declaration trees. |
| * ch-loop.c (begin_for_set): adapt to new powerset declaration tree. |
| * ch-typeck.c (chill_give_type_to_expr): give type to constructor |
| |
| Tue Jan 26 11:32:38 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-parse.y (ifaction): re-add lost call to expand_end_code(). |
| * ch-parse.y (siezelist, grantlist): use 'name' rather than |
| 'checked_name'. It makes no sense to check sieze/grant names |
| for WITH expansion. |
| * ch-expr.c (chill_expand_expr): delete unnecessary (and |
| seg-fault-causing) code. |
| * ch-expr.c (chill_expand_assignment): make test for varying array |
| on the LHS more specific. |
| * ch-actions.c (invalid_left_operand, invalid_right_operand): error |
| for use of MOD, REM operators. |
| * ch-actions.c (build_chill_repetition_op): error for bit-field |
| initializers (which will get handled in the lexer). |
| |
| Mon Jan 25 17:26:47 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-typeck.c (build_chill_array_ref), |
| * ch-expr.c (chill_expand_expr, chill_expand_assignment): |
| translate varying array ref into ARRAY_REF, defer processing |
| until chill_expand_expr. Update array's length field in |
| new function expand_assignment_to_varying_array. |
| |
| Mon Jan 25 14:57:24 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-parse.y (mode2): eliminate old method to mark varying arrays. |
| * ch-expr.c (expand_varying_length_assignment): repair scaling of |
| RHS expression. |
| |
| Mon Jan 25 11:44:21 1993 Per Bothner (bothner@cygnus.com) |
| |
| * ch-parse.y: Allow character and bitstring literals |
| in string repetition operator. |
| |
| Sat Jan 23 14:18:11 1993 Per Bothner (bothner@cygnus.com) |
| |
| * ch-parse.y (primval): Re-recognize '(' expr ')'. |
| * ch-parse.y (name): Remove call to check_identifier - |
| this is not appropriate in certain contexts. |
| * ch-parse.y (checked_name): Same as <name>, but *with* the |
| call to check_identifier. Use where appropriate. |
| * ch-parse.y (operand5): Only allow string repetition of |
| string literals, because otherwise you get a conflict. |
| |
| Thu Jan 21 16:32:39 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-actions.c, ch-parse.y, ch-process.c, ch-tree.h: sync modules, |
| continue start_process development. |
| |
| Thu Jan 21 13:51:06 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c (do_decl): fix handling of multi-char initializer. |
| |
| Thu Jan 21 13:14:00 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * .cvsignore: add CHILL files to be ignored |
| |
| Thu Jan 21 07:38:57 1993 Bill Cox (bill@cygnus.com) |
| |
| * ch-parse.y: rough draft of start_process handling. |
| |
| Wed Jan 20 17:11:05 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-inout.c: fix mismatch with readtext proto in ch-tree.h. |
| |
| Wed Jan 20 16:48:13 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-tree.h, ch-process.c, ch-inout.c, Makefile.in: |
| create new modules for I/O and process-related stuff. |
| * ch-actions.c: move routines to new modules. |
| call xmalloc, not malloc. |
| * ch-lang.c (build_chill_struct_type): add parameter checking. |
| * ch-lex.l (init_lex): remove redundant cast. |
| |
| Tue Jan 19 16:33:56 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-parse.y (operand5): delete unnecessary argument to |
| build_chill_unary_op. Add rule for string repetition. |
| * ch-parse.y (primval): delete string repetition attempt. |
| * ch-parse.y (start_process): rough draft of action. |
| * ch-actions.c (build_repetition_op): add it |
| * ch-actions.c (build_chill_binary_op): handle constant arguments |
| of CONCAT_EXPR, combine into a single string if possible. |
| * ch-actions.c (invalid_left_operand, invalid_right_operand): |
| allow single character arguments to CONCAT_EXPR. |
| * ch-tree.h: add prototype for build_repetition_op |
| |
| Tue Jan 19 15:03:29 1993 Fred Fish (fnf@cygnus.com) |
| |
| * dwarfout.c (output_type): Add hack that matches the one in the |
| chill front end to distinquish between true string types and |
| arrays of char, since it uses ARRAY_TYPE for both, rather than |
| trying to use the existing support for STRING_TYPE. |
| |
| Tue Jan 19 13:54:27 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-tree.h: added prototypes for all non-static CHILL functions. |
| * ch-actions.c (lang_init): declare builtin type for start_process |
| * ch-actions.c (build_chill_binary_op): combine string literals when |
| concatenated. |
| * ch-actions.c (formpars2struct): added for later start_process |
| implementation. |
| * ch-actions.h: remove un-needed function declarations. |
| * ch-decl.c: extern cleanup. |
| * ch-expr.c (chill_expand_array_assignment): add missing first |
| parameter to cond_exception call. |
| * ch-lex.l: make build_chill_string non-static. |
| |
| Mon Jan 18 19:15:08 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c (do_decls): get varying array length initialized. |
| |
| Mon Jan 18 09:51:43 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-expr.c (chill_expand_array_assignment): fix the copy length |
| in the memcpy call (it was just 4 bytes always). Simplify some |
| code, also. |
| |
| Mon Jan 18 08:24:21 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c (do_decls): change CH_VARYING_TYPE_P to function. |
| |
| Mon Jan 18 08:00:11 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-lex.l, ch-parse.y: make BOOLS synonymous with BIT and |
| CHARS synonymous with CHAR, in the lexer. Delete unnecessary |
| 'bools' non-terminal. |
| * ch-parse.y (assignaction): add lhs version of length() function |
| * ch-actions.c: add builtin_concat function, lots of support for |
| CONCAT_EXPR. |
| * ch-actions.c, ch-tree.h: make a function out of former |
| macro CH_VARYING_TYPE_P |
| * ch-expr.c: add expand_varying_length_assignment (). |
| * ch-expr.c (chill_expand_expr): add CONCAT_EXPR support. |
| * ch-expr.c (chill_expand_array_assignment): call emit_library_call |
| rather than build_rts_call, to eliminate a recursion problem. |
| * ch-lang.c: eliminate 'sorry' about varying arrays. |
| * ch-typeck.c (validate_varying_array_ref): re-enable constant |
| index validation. |
| |
| Sun Jan 17 18:20:04 1993 Per Bothner (bothner@cygnus.com) |
| |
| * ch-grant.c, ch-lex.l: Major simplification of how |
| seizes are done and how seizefiles are read. |
| * ch-actions.h: Remove declaration of check_seize(). |
| * ch-decl.c (do_decls): Handle READONLY types. |
| * ch-parse.y (mode2): Allow REF to be followed by any mode. |
| * ch-parse.y (mode2): Allow literal expressions in string length. |
| * ch-parse.y (tupleelement): Allow elemenst to be untyped_expr. |
| * ch-parse.y (seizestatement, etc): Call chill_seize each |
| time something is seized, rather than building a list first. |
| |
| Sat Jan 16 12:24:44 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * chill.gperf, ch-hash.h: add Wilfried's tokens |
| * ch-lex.l: fold in Wilfried's changes. Some tokens |
| weren't getting recognized, and INSTANCE wasn't correctly |
| reported to ch-parse.y as a PREDEF_MODEDCL. |
| |
| Thu Jan 14 15:02:39 1993 Per Bothner (bothner@cygnus.com) |
| |
| * ch-tree.h (CH_CHARS_TYPE_P): New macro. Add comment |
| explaining difference between char strings and char arrays. |
| * ch-tree.h (CH_STRING_TYPE_P): Add FIXME re bitstrings. |
| * ch-tree.c (build_string_type): Add comment. |
| |
| Wed Jan 13 15:19:15 1993 Per Bothner (bothner@cygnus.com) |
| |
| * calls.c, expr.c, function.c, stmt.c, varasm.c: Set |
| MEM_IN_STRUCT_P for SET_TYPE where it is set for other aggregates |
| * expmed.c (store_bit_field, extract_field_field): Undo |
| yesterday's removal of MEM_IN_STRUCT_P "sanity test". |
| |
| * ch-decl.c (do_decls): Put back support for initializing. |
| (Was accidentally removed in Jan 8 change.) |
| |
| Wed Jan 13 14:13:11 1993 Jim Wilson (wilson@sphagnum.cygnus.com) |
| |
| * ch-lex.l (convert_bitstring): Correct typo in cast. |
| |
| Tue Jan 12 20:29:08 1993 Per Bothner (bothner@cygnus.com) |
| |
| * ch-lex.l (convert_bitstring): Change to pack bits |
| within words, not bytes, and to use machine bit-order |
| (not always little-endian). |
| * ch-parse.y: Allow BOOLS(n) as well as BITS(n). |
| Use build_bitstring_type, not build_string_type. |
| * expmed.c (store_bit_field, extract_field_field): Remove |
| "sanity test" that prevents use with SET_TYPE. |
| * tree.c (build_bitstring_type, build_powerset_type, |
| build_string_type): Move (so far) Chill-specific functions to ... |
| * ch-tree.c: ... new file. |
| * ch-tree.c (build_powerset_type, build_bitstring_type): Re-write. |
| * ch-typeck.c (build_chill_array_ref): Handle bit strings better. |
| * ch-typeck.c (chill_expand_tuple): Kludge to handle SET_TYPE. |
| * Makefile.in (CHILL_OBJS): Add ch-tree.o. |
| * ch-decl.c (do_decls): Call expand_decl. |
| * stor-layout.c (layout_type): Handle SET_TYPE. |
| * expr.c (expand_expr): Add FIXMEs about IN_EXPR. |
| * ch-actions.c (lang_init): Add type and decl for new |
| function __builtin_setbitinstring. |
| * ch-expr.c (chill_expand_assignmment): Special-case handling |
| for BIT_FIELD_REF with non-constant bit position (which is |
| not yet handled by expand_expr). |
| * ch-convert.c (convert): Handle SET_TYPE. |
| |
| Tue Jan 12 12:49:13 1993 Fred Fish (fnf@cygnus.com) |
| |
| * chill: If -B arg is given, use to find gcc. |
| |
| Fri Jan 8 20:21:43 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c: revert to avoid seg fault |
| |
| Fri Jan 8 14:20:42 1993 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-decl.c: fix storage into correct offset in varying array. |
| * ch-actions.c: define sizetype for everyone, use it to build |
| varying structure. |
| * ch-parse.y: tiny cleanup. |
| |
| Wed Jan 6 13:25:33 1993 Bill Cox (bill@cygnus.com) |
| |
| * modules: use gdb rather than naked-gdb, to get opcodes |
| in chill definition. |
| |
| Wed Jan 6 09:48:35 1993 Bill Cox (bill@cygnus.com) |
| |
| * ch-typeck.c: add code to handle references to elements of VARYING |
| arrays. Simplify chill_give_type_to_expr. Add rough draft of run- |
| time index checking for VARYING arrays (under #if 0). |
| * ch-actions.c: new function cond_type_range_exception & calls. |
| New function cond_range_exception, for more general range-checking. |
| New function build_varying_struct, to do just that. Use the macros |
| for the special varying field names. |
| * ch-tree.h: define macros for varying field names. |
| * ch-expr.c: use macros for varying struct names. Simplify |
| chill_expand_array_assignment. |
| * ch-parse.y: assure that build_varying_struct is called everywhere |
| that it applies. Add a line-number note before the body of a DO |
| loop. |
| * ch-loop.c: #ifdef out creation of new scope for DO loop body. |
| |
| Tue Jan 5 17:26:14 1993 Bill Cox (bill@cygnus.com) |
| |
| * c-decl.c: correct order of declaration of start_decl params, |
| for readability. |
| |
| Tue Jan 5 15:59:36 1993 Per Bothner (bothner@cygnus.com) |
| |
| * ch-grant.c (still_start_module_code), ch-parse.y (procedure): |
| Move shared code into ... |
| * ch-decl.c (start_chill_function): ... here. |
| * ch-decl.c (start_chill_function): Add missing call to |
| expand_start_bindings. |
| * ch-decl.c (finish_chill_function): Add missing call to |
| expand_end_bindings. |
| |
| Tue Jan 5 01:00:47 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) |
| |
| * Makefile.in: took out the rest of the runtime support |
| |
| Mon Jan 4 18:02:06 1993 Bill Cox (bill@cygnus.com) |
| |
| * ch-expr.c: make chill_expand_array_assignment not static. |
| |
| Mon Jan 4 17:57:48 1993 Per Bothner (bothner@cygnus.com) |
| |
| * ch-grant.c, ch-parse.y: Remove all code for explicitly |
| calling initializer functions. This is not needed, since we |
| use the same mechanism used for C++ static constructors. |
| * ch-grant.c (chill_start_module_code): Make sure the |
| init_name starts with the magic string also used for C++ |
| initializers. Also, don't embed the file name in the name, |
| just use the module name. |
| * ch-grant.c (chill_finish_module_code): Now that the |
| initializer name follows the standard 'collect' convention, |
| don't need to call assembler_constructor_alias, but can |
| use the standard assemble_constructor instead. |
| * varasm.c (assemble_constructor_alias): Remove no-longer- |
| needed function. |
| * ch-parse.y: Move code that is common to the beginning of |
| all functions to a new macro INIT_ACTION. |
| Make sure INIT_ACTION is also done for callaction, fixing a bug. |
| * ch-parse.y (INIT_ACTION): Do chill_start_module_code() |
| before emit_line_note(), not after. |
| |
| Mon Jan 4 11:43:12 1993 Bill Cox (bill@cygnus.com) |
| |
| * ch-parse.y: restore requirement for :upper-bound in array decl. |
| * ch-actions.c: enhance upper, lower, length functions for VARYING. |
| |
| Mon Jan 4 09:28:44 1993 Bill Cox (bill@cygnus.com) |
| |
| * ch-actions.c: fix NOT of boolean expr. |
| |
| Mon Jan 4 08:42:57 1993 Bill Cox (bill@cygnus.com) |
| |
| * ch-actions.c: provide range-checking function |
| * ch-lex.l: better compiler-directive error messages, |
| allow underscores in exponents |
| * ch-loop.c: prevent passing NULL ptr to printf |
| |
| Sun Jan 3 11:57:13 1993 Bill Cox (bill@cygnus.com) |
| |
| * ch-typeck.c: correct & enable array index range-checking |
| |
| Sun Jan 3 11:36:39 1993 Bill Cox (bill@cygnus.com) |
| |
| * ch-parse.y: define IGNORED_DIRECTIVE |
| * ch-typeck.c: subtract array's lower domain value, even if |
| index expression is constant. |
| |
| Sat Jan 2 23:05:14 1993 Fred Fish (fnf@cygnus.com) |
| |
| * ch-lex.l (convert_float): Fix misspelling in error message. |
| |
| Sat Jan 2 16:02:16 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * Makefile.in: Took out chill-runtime support. |
| Chill run times are now in ../chillrt, not ./chillrt.p |
| |
| Sat Jan 2 15:04:13 1993 Bill Cox (bill@cygnus.com) |
| |
| * ch-hash.h, chill.gperf: cleanup. fewer keywords seen by ch-parse.y. |
| |
| Sat Jan 2 13:27:49 1993 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-lex.l (check_newline): Use the orginal versions (derived |
| from the C code, not the simplified, special-case version). |
| Also, fix that version of check_newline to not call yylex() |
| recursively. |
| * ch-lex.l (yy_input): Call check_newline to handle |
| newlines and check for # directives. |
| * ch-lex.l (syntax): Don't recognize #-directives; these |
| are now handled by check_newline. |
| * ch-actions.c (lang_init): Call the modified version of |
| check_newline(). Do this at the *after* we've initialized |
| standard types, so this can be done while lineno is still 0. |
| |
| Sat Jan 2 10:57:20 1993 Bill Cox (bill@cygnus.com) |
| |
| * ch-hash.h, chill.gperf: add remaining reserved words. |
| |
| Sat Jan 2 09:59:55 1993 Bill Cox (bill@cygnus.com) |
| |
| * ch-tree.h, ch-parse.y, ch-lex.l: add remaining reserved words, |
| names for exceptions |
| |
| Fri Jan 1 12:30:31 1993 Fred Fish (fnf@cygnus.com) |
| |
| * ch-tree.h (JOINER): Define joiner character the same way |
| C++ defines it. |
| * ch-grant.c (chill_start_module_code): Use JOINER character |
| to implement name mangling for the initializer function name. |
| Algorithm is designed to be simple, distinct from C++ mangled |
| symbols, and easy to convert to demangled form. |
| |
| Thu Dec 31 10:30:51 1992 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-expr.c: make array assignments work with indirect refs. |
| * ch-actions.c: prepare for array parameter handling. |
| * ch-loop.c, ch-parse.y, ch-tree.def, ch-typeck.c: clean up. |
| |
| Thu Dec 31 15:29:20 1992 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-lex.l (yy_input): Re-write to return more than one |
| character at a time (execpt when reading seize-files). |
| Don't increment lineno until we start reading the next line. |
| This fixes some off-by-one errors in lineno. |
| |
| Wed Dec 30 16:15:23 1992 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-convert.c: Assume use of new common.c. |
| * ch-convert.c (convert_to_reference, convert_from_reference): |
| New routines, to handle loc-identity declared variables and |
| LOC parameters (both of which are implemented as references). |
| * ch-lang.c (convert_to_boolean, convert_to_char): Move to |
| ch-convert.c, where they would seem to belong. |
| * ch-convert.c (convert): New function, since we no longer |
| link in c-convert.c. |
| * ch-expr.c (chill_expand_assignment): Handle by calling |
| convert() instead of chill_comptypes(). |
| Also handle the LHS being a reference. |
| * ch-parse.y: Add a procedure call as an action. |
| * ch-parse.y (locdec, optlocinit): Move handling of |
| loc-identity declarations from optlocinit to locdec |
| - and add working semantics for it. |
| * ch-parse.y (seizestatement, visibilty_stmt): Simplify. |
| * ch-parse.y (grantstatement etc): Don't bother making list. |
| * ch-lex.l: #include <sys/types.h> before <sys/stat.h>. |
| |
| Wed Dec 30 16:06:55 1992 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-parse.y, ch-expr.c: add support for declaring & assigning |
| VARYING arrays. |
| * ch-typeck.c: allow VARYING structures in assign_type_to_expr. |
| |
| Tue Dec 29 15:28:48 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-actions.c: implement expressions of arrays of char, |
| ( concatenation, relationals ), correct type of code parameters |
| * ch-expr.c: correct type of code parameters |
| |
| Tue Dec 29 11:16:19 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-decl.c: cleanup. |
| * ch-parse.y: put emit_line_note() calls in lotsa places, |
| per Fred's request; be sure that statements get counted also. |
| * ch-lex.l: standardize function headers. |
| |
| Tue Dec 29 10:41:56 1992 Fred Fish (fnf@cygnus.com) |
| |
| * ch-decl.c (start_chill_function): Always return 1, rather |
| than a random value. |
| * ch-lex.l (check_newline): Add a version for chill that |
| just snarfs the right value for main_input_filename out of |
| the first line of the input file, without disturbing the |
| lexer state or requiring it's assistance. |
| * ch-actions.c (lang_init): Call check_newline, like the |
| other language frontends, to get main_input_filename set |
| from first line of input file. |
| |
| Mon Dec 28 18:49:01 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-parse.y: clean up conflicts. The remaining one is |
| harmless. |
| |
| Mon Dec 28 17:28:40 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-parse.y, ch-lex.l, ch-actions.c: add stubs for I/O, |
| clean up some parser conflicts. |
| |
| Mon Dec 28 15:00:20 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-parse.y, ch-lex.l: add keywords and parsing for most of |
| CHILL I/O |
| |
| Sat Dec 26 20:48:23 1992 Fred Fish (fnf@cygnus.com) |
| |
| * chillrt/chillrt0.c: Oops, SVR4 doesn't need leading '_' |
| on build_exceptions. |
| |
| Sat Dec 26 11:00:36 1992 Fred Fish (fnf@cygnus.com) |
| |
| * ch-grant.c (chill_finish_module_code): Call |
| assemble_constructor_alias rather than assemble_constructor. |
| * varasm.c (assemble_constructor_alias): New function, |
| like assemble_constructor, but also handles the case where |
| ASM_OUTPUT_CONSTRUCTOR is not defined and GNU ld is not |
| being used. Emits a symbol table alias name with the correct |
| prefix for collect to find and add to the __CTOR_LIST__. |
| * chillrt/chillrt0.c: Build on previous hack that gets |
| _build_exceptions into the __CTOR_LIST__, to make it work |
| for both the non GNU-ld case and for the SVR4 case. |
| |
| Tue Dec 22 18:24:55 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-loop.c: clean up location enumeration - one more |
| pass to do. |
| |
| Tue Dec 22 16:31:48 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-loop.c: Working version of location enumeration loop |
| |
| Tue Dec 22 14:42:14 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-lex.l: readability cleanup |
| |
| Mon Dec 21 14:58:39 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-parse.y, c-decl.c: Add Jukka's Pascal WITH code. |
| ch-loop.c: rough draft of location enumeration |
| ch-lex.l, ch-expr.c, ch-decl.c: minor cleanup |
| ch-actions.c: finish making pred() and succ() work. |
| |
| Mon Dec 21 10:04:35 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-actions.c: allow pred(char) and succ(char). |
| |
| Sun Dec 20 16:04:28 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-expr.c, ch-actions.c, ch-parse.y, ch-loop.c, |
| c-expr.c: make DO WITH work. |
| |
| Sun Dec 20 12:22:53 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-loop.c, ch-actions.c, ch-typeck.c: powerset loops |
| now work |
| |
| Sat Dec 19 14:20:23 1992 Per Bothner (bothner@cygnus.com) |
| |
| * c-typeck.c (process_init_constructor): Add warning if |
| there is a duplicate default initializer element. |
| * ch-typeck.c (chill_give_type_to_expr): New function, |
| to handle coercion of an expression to context-given type, |
| Takes care of untyped tuples, and case expressions. |
| * ch-decl.c (do_decls), ch-typeck.c (chill_expand_return, |
| chill_expand_result), ch-parse.y <assignaction>: |
| Use chill_give_type_to_expr(). |
| * ch-typeck.c (chill_handle_case_label): New parameter list, |
| to handle the (new) conventions for <case_label>, including |
| default elements and ranges. |
| * ch-parse.y <expanded_case_label>, ch-typeck.c |
| (expand_case_expr): Use new version of chill_handle_case_label. |
| * ch-decl.c (push_syndecls): Change parameters: Instead of |
| TREE_LIST representing a compete <synonym definition statement>, |
| just pass the parts of a single <synonym definition> as 3 |
| different parameters. Also, use chill_give_type_to_expr(), |
| to handle untyped tuples in the RHS. |
| * ch-parse.y <syndeclist, syndef>: Don't bother trying to construct |
| a tree - just call push_syndecls() on each <synonum_definition> |
| as we see it. |
| * ch-parse.y (exprlist_get_single): Remove; no longer needed. |
| * ch-parse.y: Handle <tuple> without mode name diferently from |
| <tuple> with mode name. The latter is a <primval> that can be |
| in most contexts, but if the <mode name> is missing, the <tuple> |
| is only allowed in certain contexts. Use the new non-terminal |
| <untyped_expr> to indicate those contexts where untyped tuples |
| (and case expressions) are valid because the expression gets a |
| type from its context (such as the RHS of an assignment). |
| Use chill_give_type_to_expr in those contexts. |
| |
| Sat Dec 19 14:01:26 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-actions.c, ch-loop.c, Makefile.in: looping stuff. |
| |
| Sat Dec 19 10:16:20 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-parse.y: clean up warning messages from byacc. bison |
| still complains thrice. |
| |
| Fri Dec 18 12:33:29 1992 Michael Tiemann (tiemann@rtl.cygnus.com) |
| |
| * ch-actions.c (maybe_chill_comptypes): Delete unused |
| function. |
| (chill_comptypes): Add new parameter ERRSTR. All callers |
| changed. |
| (build_chill_binary_op): Fix indentation to match GNU coding |
| style. |
| |
| Fri Dec 18 08:18:13 1992 Bill Cox (bill@rtl.cygnus.com) |
| |
| * ch-parse.y, ch-expr.c, ch-actions.c, expr.c: major |
| cleanup of expression and assignment handling. |
| |
| Thu Dec 17 10:16:32 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-parse.y: standardize indentation after c-parse.y |
| |
| Wed Dec 16 15:22:12 1992 Per Bothner (bothner@cygnus.com) |
| |
| * c-typeck.c (process_init_constructor): Add support for |
| a default initializer element. |
| * ch-parse.y: Implement default elements for tuples |
| (as in '(else):' and '(*):' ). |
| |
| * ch-parse.y: Previous change to dis-ambiguate case-labels |
| seems to have allowed getting rid of all of the expr_or_list hair. |
| * ch-decl.c (do_decls): Undo Tiemann's change to "Handle |
| initialization of multiple variables by a tuple" - the |
| idea is bogus. |
| |
| Wed Dec 16 11:17:53 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-parse.y: complete re-write of DO statement handling. |
| now operational, except WITH is stubbed out. Improved |
| syntax error message. |
| * ch-actions.c: DO support: high_domain_value(), low_domain_value (). |
| * ch-expr.c: fixes to IN_EXPR handling. |
| |
| Tue Dec 15 17:15:13 1992 Jim Wilson (wilson@sphagnum.cygnus.com) |
| |
| * ch-grant.c: Add casts to alloca return to avoid compiler warning. |
| * ch-lex.c: Likewise. |
| |
| * Makefile.in (ch-lex.c): Delete incorrect free declaration added |
| by flex to avoid compiler error. |
| |
| Tue Dec 15 08:41:08 1992 Michael Tiemann (tiemann@rtl.cygnus.com) |
| |
| * ch-decl.c (do_decls): Handle initialization of multiple |
| variables by a tuple. |
| |
| * ch-decl.c (do_decls,start_chill_function): Make DECL public |
| if we're doing a GRANT ALL at top level. |
| |
| * ch-lang.c (build_range_type): Deal with typecast to CHAR in |
| range expression. |
| |
| * c-typeck.c (digest_init): SET_TYPE is not a scalar type. |
| BOOLEAN_TYPE and CHAR_TYPE are scalar types. |
| |
| Mon Dec 14 14:58:32 1992 Michael Tiemann (tiemann@rtl.cygnus.com) |
| |
| * ch-lex.l (get_chill_{linenumber,filename}): New functions. |
| (convert_number): Use LONG_TYPE_NODE instead of INTEGER_TYPE_NODE. |
| |
| Mon Dec 14 13:36:44 1992 Bill Cox (bill@cygnus.com) |
| |
| * expr.c: install and test newer Pascal IN_EXPR code, |
| but don't activate it - it's very verbose. |
| |
| Mon Dec 14 00:22:49 1992 Fred Fish (fnf@cygnus.com) |
| |
| * Makefile.in (LANGUAGES): Add chill. |
| * Makefile.in (CHILL_INSTALL_NAME, CHILL_CROSS_NAME): |
| New macros for chill native and cross installation names. |
| * Makefile.in (COMPILERS): Add cc1chill. |
| * Makefile.in (CHILL_OBJS): New macro, chill objects. |
| * Makefile.in (CHILL_TREE_H): New macro, chill headers. |
| * Makefile.in (CHILL, chill, cc1chill, chill-runtime, libchill.a, |
| sublibchill.a, ch-parse.o, ch-parse.c ch-*.o, install-libchill, |
| install-librmt): New targets. |
| * Makefile.in (install-native): Add install-libchill, |
| install-librmt. |
| |
| Sun Dec 13 15:21:06 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-actions.c, ch-expr.c: Fix the pop-count in library calls. |
| |
| Sun Dec 13 14:07:32 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-actions.c: fix unary operations, modulus ops, |
| (discovered after extending regression tests). |
| |
| Sun Dec 13 12:16:32 1992 Bill Cox (bill@cygnus.com) |
| |
| * resync with Michael and Wilfried |
| |
| Sun Dec 13 09:11:25 1992 Michael Tiemann (tiemann@rtl.cygnus.com) |
| |
| * ch-parse.y (output_constant): Fixed some whitespace |
| problems. |
| * ch-tree.h: Add declarations for new chill functions that |
| have been implemented but not (yet) declared. |
| |
| Sat Dec 12 00:17:23 1992 Per Bothner (bothner@cygnus.com) |
| |
| * c-typeck.c (process_init_constructor): Warn about duplicate |
| labels for labelled initializer elements. |
| * ch-lex.l (various operator tokens, such as "+"): Don't |
| set yylval.code to a TREE_CODE; this is better done in parser. |
| * ch-parse.y: Some work with case labels and tuples. |
| Get literal range as tuple (and case) labels working. |
| Fix some problems introduced by recent grammar overhaul. |
| |
| Fri Dec 11 13:28:48 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-actions.c, ch-parse.y ch-tree.h ch-expr.c, ch-typeck.c: |
| got long, real expressions working. We can also call a func- |
| tion and use its return value. |
| |
| Thu Dec 10 14:45:17 1992 Per Bothner (bothner@cygnus.com) |
| |
| * ch-parse.y: Major change to remove or at least identify |
| parser ambiguities. One result: We now allow actions that |
| start with '(', as required by teh Blue Book. This does break |
| some things; look for FIXME for things that need work. |
| * ch-typeck.c (chill_expand_case_expr): We need an extra |
| level of looping to (in the future) support <case label |
| specification>s with more than one <case label list>. |
| |
| Thu Dec 10 09:21:41 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-actions.c, ch-expr.c: Implement string assignments |
| and relationals. |
| |
| Thu Dec 10 07:17:35 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-decl.c, ch-typeck.c: rest of previous commit. |
| |
| Wed Dec 9 18:26:29 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-parse.y, ch-actions.c, ch-expr.c: redo type checking. |
| regression test and fix bit arrays and set ops. |
| |
| Mon Dec 7 14:57:46 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-actions.c: implement crude relationals between |
| non-exotic operands, such as integers. |
| |
| Mon Dec 7 10:42:35 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-actions.c: implement relational, logic operations |
| on arrays of BOOLs. |
| |
| Mon Dec 7 08:55:20 1992 Michael Tiemann (tiemann@rtl.cygnus.com) |
| |
| * ch-actions.c (lang_init): Set LINENO to 1 at beginning to |
| indicate we are done with initialization. |
| |
| * ch-decl.c (do_decls): Set TREE_PUBLIC if we are doing a |
| `grant all'. |
| (start_chill_function): Ditto. |
| |
| * ch-lex.c (convert_bitstring): Set TREE_CONSTANT. |
| (compiler_directive): Don't confuse compiler directives with |
| equality comparison operators. |
| |
| * ch-parse.y: Clear CURRENT_LOCNAMELIST after calling do_decls. |
| |
| Sun Dec 6 13:12:32 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-actions.c: repair set inequality code. |
| |
| Sun Dec 6 11:15:59 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-parse.y, ch-actions.c, ch-expr.c: Implement set-oriented |
| relational expressions, including (<, <=, =, /=, >, >=, IN). |
| |
| Fri Dec 4 13:54:58 1992 Brendan Kehoe (brendan@lisa.cygnus.com) |
| |
| * tree.def: Move CARD_EXPR and SET_LE_EXPR back down with the other |
| Pascal-required ones, since C++ no longer needs them. When |
| Chill's public, a comment can be added to the effect that |
| SET_LE_EXPR is also used by Chill. |
| |
| Fri Dec 4 12:05:01 1992 Bill Cox (bill@cygnus.com) |
| |
| * Restore CARD_EXPR and SET_LE_EXPR to tree.def. |
| |
| Fri Dec 4 10:23:10 1992 Bill Cox (bill@cygnus.com) |
| * Get *.def and *.c in sync. |
| |
| Fri Dec 4 06:48:41 1992 Fred Fish (fnf@cygnus.com) |
| |
| * ch-actions.c (lang_init): Change types "long" and |
| "ulong" from 16 bits to 32. |
| * dwarfout.c (fundamental_type_code): Use FT_signed_char |
| for type "byte" and FT_unsigned_char for type "ubyte". |
| |
| Thu Dec 3 15:13:24 1992 Bill Cox (bill@cygnus.com) |
| * ch-actions.c, ch-tree.def, ch-parse.y: preparation |
| for powerset expressions. |
| |
| Tue Dec 2 17:02:30 1992 Bill Cox (bill@cygnus.com) |
| * ch-actions.c: sketch code for exceptions generated |
| by builtin routines. |
| |
| Tue Dec 2 12:49:50 1992 Bill Cox (bill@cygnus.com) |
| * ch-actions.c, ch-parse.y: add support for lower() |
| upper() builtin functions. |
| |
| Wed Dec 2 12:03:30 1992 Fred Fish (fnf@cygnus.com) |
| |
| * Makefile.in (chillrt0.o, install-chillrt0): Remove. |
| * chill (library): Remove chillrt0.o. |
| * chillrt/Makefile: Remove maintenance of chillrt0.o as a |
| separate file. Now gets put in libchill.a. |
| |
| Tue Dec 2 10:100:20 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-parse.y, ch-actions.c: add support for num() |
| builtin function. |
| |
| Wed Dec 2 09:52:06 1992 Michael Tiemann (tiemann@rtl.cygnus.com) |
| |
| * ch-decl.c (fixup_unknown_type): New function. |
| (push_newmode,push_synmode): Call `fixup_unknown_type' when we |
| see a declaration that uses `unknown_type_node'. FIXME. |
| |
| * ch-grant.c (decode_constant): New function. |
| (decode_decl): Call `decode_constant' for CONST_DECLs. |
| |
| * ch-lex.l (char action): Use ridpointers instead of |
| lookup_name to get "char"'s declaration. |
| |
| * ch-parse.y: Call `build_lang_decl' instead of `build_decl' |
| when we need to build a TYPE_DECL. |
| |
| Tue Dec 2 09:44:05 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-typeck.c: clean up a gcc warning with a forward |
| declaration of build_string_type. |
| |
| Tue Dec 1 16:51:05 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-actions.c: completely remove those builtin calls |
| that are duplicated in c-decl.c |
| |
| Tue Dec 1 16:38:51 1992 Fred Fish (fnf@cygnus.com) |
| |
| * ch-actions.c (lang_init): Ifdef out initializations for |
| __builtin_abs and __builtin_fabs, since they are duplicates of |
| initializations in c-decl.c, and trigger spurious warnings. |
| |
| Tue Dec 1 16:35:18 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-parse.y: make size() work with a typename argument. |
| |
| Tue Dec 1 16:15:56 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-parse.y, ch-lex.l, ch-actions.c: add builtin |
| functions min, max, card. |
| |
| Tue Dec 1 12:35:56 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-lex.l: fix char-type |
| |
| Tue Dec 1 11:10:56 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-parse.y, ch-actions: added parsing and processing |
| for upper, lower, and length built-ins. |
| |
| Tue Dec 1 09:40:49 1992 Fred Fish (fnf@cygnus.com) |
| |
| * dwarf.h (LANG_CHILL): Add as GNU extension. |
| * dwarfout.c (output_compile_unit_die): Test language_string and |
| set LANG_CHILL if appropriate. |
| * ch-parse.y (language_string): New for chill. |
| * chillrt: Renamed directory chill to chillrt. |
| * chill: Renamed chillsh to chill. |
| * Makefile.in: Adjust for renamings. |
| * chillrt/Makefile: Adjust for directory renaming. |
| |
| Mon Nov 30 17:35:33 1992 Fred Fish (fnf@cygnus.com) |
| |
| * chillsh: New script frontend (ala g++), installed as "chill". |
| Can't be called "chill.sh" because make tries to cat it into the |
| "chill" directory. Can't be called just "chill" cause that's |
| already there as a directory. |
| * Makefile.in: Add rules to install chillsh as "chill". |
| * chill/libchill.c: Temporarily ifdef out stuff that wants |
| to conflict with i486/SVR4 runtime or wants to pull in librmt.a, |
| which itself causes linkage to fail. |
| |
| Mon Nov 30 16:28:19 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-lex.l: added keywords for TRUNC, ROUND, FLOAT, LFLOAT |
| conversion routines. |
| * ch-parse.y: added %tokens for TRUNC, ROUND, FLOAT, LFLOAT. |
| Added production for SIZE(expr). |
| * ch-actions.c: Add semantic routine chill_sizeof (). |
| |
| Mon Nov 30 16:20:40 1992 Per Bothner (bothner@cygnus.com) |
| |
| * ch-lex.l, ch-parse.y: Translate token PFEIL into English ARROW. |
| * ch-parse.y (op6): Remove handling of string repetition operator, |
| until we can figure out a way to parse it correctly. |
| * ch-parse.y (optmodename): New non-terminal. |
| * ch-parse.y (tuple): Merge the two variants using optmodename. |
| * ch-parse.y (location): Add semantic actions for |
| dereferencing operator ->. |
| |
| Mon Nov 30 08:01:29 1992 Bill Cox (bill@cygnus.com) |
| |
| * ch-actions.c: removed compile warning, better code for abs. |
| |
| * ch-parse.y: add productions for builtin functions succ, pred, |
| abs, and size. Add %tokens also. Sort %tokens alphabetically. |
| |
| * ch-lex.l: add parsing for builtin function names, such as abs, |
| pred, succ, etc. Put flex -a option into Makefile.in, so we can |
| clean up the lexer soon. |
| |
| Tue Nov 24 14:18:48 1992 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-typeck.c (chill_handle_case_label, chill_handle_case_default): |
| New functions, for code common to CASE actions and expressions. |
| * chill.y: Replace some code by calls to chill_handle_case_label |
| and chill_handle_case_default. |
| * ch-typeck.c (chill_expand_case_expr): Add semantics. |
| |
| * tree.c: Change doing_chill_thang from extern to common. |
| |
| Mon Nov 23 18:34:22 1992 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-tree.def: New CASE_EXPR type, for case expressions. |
| * ch-expr.c (chill_expand_expr): Hook for CASE_EXPR. |
| * ch-typeck.c (chill_expand_case_expr): New function. |
| Placeholder to implement case expressions. |
| * ch-typeck.c (chill_expand_result, chill_expand_return): |
| Handle mode-unspecified tuples and case expressions in |
| the context of RETURN and RESULT actions. |
| * chill.y (assignaction): Handle case expressions in the |
| context of the RHS of an assignment action. |
| * chill.y (caseaction): Remove spurious duplicate OF in grammar. |
| * chill.y: Handle labeled structure tuples. |
| * chill.y: New rules to parse CASE expressions. |
| * tree.c (build_function_types): Allow Chill functions |
| to return arrays and functions. |
| |
| Wed Nov 18 13:50:28 1992 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-typeck.c (chill_expand_tuple): New function. Expand a |
| tuple (constructor) given an expected (context) type. |
| * chill.y: Implement 'LHS := TUPLE' using expand_chill_tuple, |
| using the mode of the LHS and the expected type of the TUPLE. |
| * chill.y: Implement initialization. |
| * chill.y: Fix some syntax bugs (forbidlist must be surrounded |
| by parentheses), and remove or note ambiguities. |
| * chill.y: Started converting layout style to be like c-parse.in. |
| * chill.y: Implement IF expressions. |
| * chill.y: Added syntax rules for tuples. Labelled and unlabelled |
| array tuples should now work (in some contexts). |
| * ch-actions.c: Initialize doing_chill_thang to 1. |
| * ch-decl.c (do_decls): Set DECL_INITIAL if there is an |
| initializer, to make pushdecl and finish_decl work. |
| * c-decl.c (convert_for_assignment): If Chill, don't convert |
| function and arrays into pointers. (Maybe functions should |
| still be converted?) |
| * c-typeck.c (grokdeclarator): Allow functions in Chill |
| to return arrays and functions. |
| |
| Mon Nov 16 15:40:47 1992 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * chill.y (exprlist_get_single): New function, used when |
| parsing tuples. |
| * chill.y: Re-did parsing of tuples to remove ambiguities. |
| This was a bitch. |
| |
| Tue Nov 10 16:30:55 1992 Per Bothner (bothner@rtl.cygnus.com) |
| |
| * ch-typeck.c (chill_expand_result); Set TREE_SIDE_EFEFCTS |
| flags on assignment to result. |
| * ch-typeck.c (build_chill_array_ref): Subtract lower |
| bound of domain if non-zero. Preliminary hook for range checking. |
| * ch-tree.h, chill.l: Combine variables range_check and |
| range_check_disabled into global variable range_checking. |
| * ch-tree.h: Better definitions of CH_CLASS_IS_VALUE |
| CH_CLASS_IS_DERIVED. |
| |