📄 changelog
字号:
* 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): AddedFri 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>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -