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