]>
Commit | Line | Data |
---|---|---|
92a438d1 KG |
1 | 1999-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
2 | ||
3 | * lex.c (maybe_downcase, getlc, handle_generic_pragma, | |
4 | check_newline): Use uppercase ctype macro from system.h. | |
5 | ||
23fb21ff KG |
6 | 1999-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
7 | ||
8 | * actions.c (warn_unhandled): Use xstrdup, not xmalloc/strcpy. | |
9 | ||
81b3411c BS |
10 | Fri Sep 10 10:32:32 1999 Bernd Schmidt <bernds@cygnus.co.uk> |
11 | ||
12 | * ch-tree.h: Delete declarations for all tree nodes now moved to | |
13 | global_trees. | |
14 | * expr.c: Likewise. | |
15 | * typeck.c: Likewise. | |
16 | * decl.c: Delete their definitions. | |
17 | (init_decl_processing): Call build_common_tree_nodes and | |
18 | build_common_tree_nodes_2 instead of building their nodes here. | |
19 | Use set_sizetype instead of assigning sizetype. | |
20 | ||
66815bff DB |
21 | Tue Sep 7 15:59:56 1999 Dave Brolley <brolley@cygnus.com> |
22 | ||
23 | * parse.h: Undefine DELAY if it's defined. | |
24 | (PACK,NOPACK,POS): Remove erroneous comments regarding these tokens. | |
25 | Also, move them to their proper place alphabetically. | |
26 | ||
6308c574 MM |
27 | 1999-09-04 Mark Mitchell <mark@codesourcery.com> |
28 | ||
29 | * Make-lang.in (cc1chill): Depend on ggc-callbacks.o. | |
30 | * Makefile.in (CHILL_OBJS): Add ggc-callbacks.o. | |
31 | ||
f425a887 KG |
32 | 1999-08-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
33 | ||
34 | * parse.c (language_string): Constify. | |
35 | ||
7d12830c KG |
36 | 1999-08-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
37 | ||
38 | * Makefile.in (LIBS, LIBDEPS): Link with & depend on libiberty.a. | |
39 | Remove hacks for stuff which now comes from libiberty. | |
40 | ||
fa74c0f6 KG |
41 | 1999-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
42 | ||
43 | * lang.c (chill_print_error_function): Constify a char*. | |
44 | ||
31029ad7 KG |
45 | 1999-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
46 | ||
47 | * Makefile.in (ch-version.c): Constify a char*. | |
48 | ||
49 | * actions.c (id_cmp, warn_unhandled, adjust_return_value, | |
50 | update_else_range_for_int_const, update_else_range_for_range, | |
51 | update_else_range_for_range_expr, update_else_range_for_type, | |
52 | compute_else_range, check_case_value, | |
53 | chill_handle_case_label_range, | |
54 | chill_handle_multi_case_label_range, | |
55 | chill_handle_multi_case_else_label, chill_handle_multi_case_label, | |
56 | chill_handle_multi_case_label_list print_missing_cases): Add | |
57 | static prototypes. | |
58 | (build_exception_variant): Cast the function argument of qsort. | |
59 | (build_rts_call, warn_unhandled, chill_convert_for_assignment, | |
60 | adjust_return_value, chill_expand_result, | |
61 | build_multi_case_selector_expression, print_missing_cases): | |
62 | Constify a char*. | |
63 | (print_missing_cases): Introduce an intermediary non-const ptr. | |
64 | Add brackets and indent. | |
65 | ||
66 | * ch-tree.h (maybe_building_objc_message_expr, | |
67 | maybe_objc_comptypes, comptypes_record_hook): Remove declarations. | |
68 | (push_handler, pop_handler): Add prototypes. | |
69 | (builtin_function, valid_array_index_p, | |
70 | build_chill_exception_decl, build_rts_call, | |
71 | chill_convert_for_assignment, display_int_cst, | |
72 | build_chill_addr_expr, check_have_mode, get_identifier3, | |
73 | build_chill_string, register_seize_path, get_unique_identifier, | |
74 | add_taskstuff_to_list, gnuchill_version): Constify a char*. | |
75 | (finish_chill_function): Add void prototype argument. | |
76 | ||
77 | * convert.c (convert_to_reference, convert_to_boolean, | |
78 | convert_to_char, base_type_size_in_bytes, remove_tree_element, | |
79 | check_ps_range, digest_powerset_tuple, digest_structure_tuple, | |
80 | digest_array_tuple, convert1): Add static prototypes. | |
81 | (base_type_size_in_bytes): Hide unused function. | |
82 | (display_int_cst, digest_array_tuple): Constify a char*. | |
83 | ||
84 | * decl.c (set_nesting_level, make_chill_variants, fix_identifier, | |
85 | proclaim_decl, maybe_acons, push_scope_decls, pop_scope_decls, | |
86 | build_implied_names, bind_sub_modules, layout_array_type, | |
87 | do_based_decl, handle_one_level, label_value_cmp, | |
88 | find_implied_types): Add static prototypes. | |
89 | (boolean_code_name, chill_tree_code_type, chill_tree_code_name): | |
90 | Constify a char*. | |
91 | (layout_chill_variants): Cast the function argument of qsort. | |
92 | (start_chill_function, fix_identifier, init_decl_processing): | |
93 | Constify a char*. | |
94 | (init_decl_processing): Prefer memcpy over bcopy to avoid casts. | |
95 | Use xcalloc instead of xmalloc/bzero. | |
96 | (builtin_function, build_chill_exception_decl, | |
97 | finish_outer_function): Constify a char*. | |
98 | ||
99 | * except.c (start_handler_array, finish_handler_array): Add static | |
100 | prototypes. | |
101 | ||
102 | * expr.c (chill_expand_expr, chill_expand_case_expr, | |
103 | check_arglist_length, internal_build_compound_expr, | |
104 | is_really_instance, invalid_operand, invalid_right_operand, | |
105 | build_chill_abstime, build_allocate_memory_call, | |
106 | build_allocate_global_memory_call, build_return_memory, | |
107 | build_chill_duration, build_chill_floatcall, | |
108 | build_allocate_getstack, build_chill_allocate, | |
109 | build_chill_getstack, build_chill_terminate, build_chill_inttime, | |
110 | build_chill_lower_or_upper, build_max_min, | |
111 | build_chill_pred_or_succ, expand_packed_set, fold_set_expr, | |
112 | build_compare_set_expr, scalar_to_string, build_concat_expr, | |
113 | build_compare_string_expr, compare_records, string_char_rep, | |
114 | build_boring_bitstring): Add static prototypes. | |
115 | (check_have_mode, chill_expand_expr, build_chill_floatcall, | |
116 | build_allocate_getstack, build_max_min, build_chill_function_call, | |
117 | expand_packed_set, build_compare_set_expr, build_chill_addr_expr, | |
118 | string_char_rep): Constify a char*. | |
119 | ||
120 | * gperf (hash, in_word_set): Add prototypes. | |
121 | ||
122 | * grant.c (newstring, strfree, append, prepend, | |
123 | grant_use_seizefile, decode_layout, grant_array_type, | |
124 | grant_array_type_selective, get_tag_value, | |
125 | get_tag_value_selective, print_enumeral, print_enumeral_selective, | |
126 | print_integer_type, find_enum_parent, print_integer_selective, | |
127 | print_struct, print_struct_selective, print_proc_exceptions, | |
128 | print_proc_tail, print_proc_tail_selective, find_in_decls, | |
129 | in_ridpointers, grant_seized_identifier, globalize_decl, | |
130 | grant_one_decl_selective, compare_memory_file, search_in_list, | |
131 | really_grant_this): Add static prototypes. | |
132 | (newstring, append, prepend, grant_use_seizefile, | |
133 | print_integer_type, decode_constant, grant_one_decl_selective, | |
134 | header_template): Constify a char *. | |
135 | ||
136 | * inout.c (add_enum_to_list, build_chill_io_list_type, | |
137 | build_io_types, declare_predefined_file, build_access_part, | |
138 | textlocation_mode, check_assoc, assoc_call, check_transfer, | |
139 | connect_process_optionals, connect_text, connect_access, | |
140 | check_access, check_text, get_final_type_and_range, | |
141 | process_io_list, check_format_string, get_max_size, | |
142 | check_exprlist): Add static prototypes. | |
143 | (declare_predefined_file, check_assoc, assoc_call, check_transfer, | |
144 | check_access, check_text, process_io_list): Constify a char*. | |
145 | ||
146 | * lang.c (deep_const_expr, chill_print_error_function): Add static | |
147 | prototypes. | |
148 | ||
149 | * lex.c (close_input_file, maybe_number, string_or_char): Constify | |
150 | a char*. | |
151 | (ch_lex_init, skip_directive, same_file, getlc, yywrap, | |
152 | yy_refill): Add static prototypes. | |
153 | (build_chill_string, same_file, register_seize_path): Constify a | |
154 | char*. | |
155 | ||
156 | * lex.h (finish_chill_seizes): Remove unused prototypes. | |
157 | ||
158 | * loop.c (build_temporary_variable, maybe_make_for_temp, | |
159 | get_unique_identifier): Constify a char*. | |
160 | ||
161 | * parse.c (ch_parse_init, check_end_label, end_function, | |
162 | build_prefix_clause, PEEK_TOKEN, peek_token_, pushback_token, | |
163 | forward_token_, require, check_token, expect, define__PROCNAME__): | |
164 | Add static prototypes. | |
165 | (build_prefix_clause, expect): Constify a char*. | |
166 | (parse_expression, parse_primval, parse_untyped_expr, | |
167 | parse_opt_untyped_expr, parse_opt_actions): Add void prototype | |
168 | argument. | |
169 | (parse_opt_name_string, parse_simple_name_string, | |
170 | parse_name_string, parse_defining_occurrence, parse_name, | |
171 | parse_optlabel, parse_opt_end_label_semi_colon, parse_modulion, | |
172 | parse_spec_module, parse_semi_colon, | |
173 | parse_defining_occurrence_list, parse_mode_definition, | |
174 | parse_mode_definition_statement, parse_synonym_definition, | |
175 | parse_synonym_definition_statement, parse_on_exception_list, | |
176 | parse_on_alternatives, parse_loc_declaration, | |
177 | parse_declaration_statement, parse_optforbid, parse_postfix, | |
178 | parse_postfix_list, parse_rename_clauses, parse_opt_prefix_clause, | |
179 | parse_grant_statement, parse_seize_statement, | |
180 | parse_param_name_list, parse_param_attr, parse_formpar, | |
181 | parse_formparlist, parse_opt_result_spec, parse_opt_except, | |
182 | parse_opt_recursive, parse_procedureattr, parse_proc_body, | |
183 | parse_procedure_definition, parse_processpar, | |
184 | parse_processparlist, parse_process_definition, | |
185 | parse_signal_definition, parse_signal_definition_statement, | |
186 | parse_then_clause, parse_opt_else_clause, parse_expr_list, | |
187 | parse_range_list_clause, pushback_paren_expr, parse_case_label, | |
188 | parse_case_label_list, parse_case_label_specification, | |
189 | parse_single_dimension_case_action, | |
190 | parse_multi_dimension_case_action, parse_case_action, | |
191 | parse_asm_operands, parse_asm_clobbers, ch_expand_asm_operands, | |
192 | parse_asm_action, parse_begin_end_block, parse_if_action, | |
193 | parse_iteration, parse_delay_case_event_list, | |
194 | parse_delay_case_action, parse_do_action, parse_receive_spec, | |
195 | parse_receive_case_action, parse_send_action, parse_start_action, | |
196 | parse_call, parse_tuple_fieldname_list, parse_tuple_element, | |
197 | parse_opt_element_list, parse_tuple, parse_operand6, | |
198 | parse_operand5, parse_operand4, parse_operand3, parse_operand2, | |
199 | parse_operand1, parse_operand0, parse_case_expression, | |
200 | parse_then_alternative, parse_else_alternative, | |
201 | parse_if_expression, parse_index_mode, parse_set_mode, parse_pos, | |
202 | parse_step, parse_opt_layout, parse_field_name_list, | |
203 | parse_fixed_field, parse_variant_field_list, | |
204 | parse_variant_alternative, parse_field, parse_structure_mode, | |
205 | parse_opt_queue_size, parse_procedure_mode, parse_program, | |
206 | parse_pass_1_2): Add static prototypes. | |
207 | (parse_process_definition): Remove extra argument in function call. | |
208 | (parse_range_list_clause): Likewise. | |
209 | ||
210 | * satisfy.c (satisfy, cycle_error_print, safe_satisfy_decl, | |
211 | satisfy_list, satisfy_list_values): Add static prototype. | |
212 | (safe_satisfy_decl): Cast DECL_TASKING_CODE_DECL() to (tree). | |
213 | ||
214 | * tasking.c (make_process_struct): Remove unused prototype. | |
215 | (validate_process_parameters, get_struct_variable_name, | |
216 | decl_tasking_code_variable, get_struct_debug_type_name, | |
217 | get_process_wrapper_name, build_tasking_enum, | |
218 | build_tasking_message_type, build_receive_signal_case_label, | |
219 | build_receive_buffer_case_label, build_receive_buffer_case_end, | |
220 | build_receive_signal_case_end): Add static prototypes. | |
221 | (struct_name, struct_debug_name, data_name, wrapper_name, | |
222 | get_struct_type_name, get_struct_debug_type_name, | |
223 | get_tasking_code_name, get_struct_variable_name, | |
224 | get_process_wrapper_name): Constify a char*. | |
225 | (validate_process_parameters, get_struct_variable_name, | |
226 | decl_tasking_code_variable): Hide unused functions. | |
227 | (build_start_process, add_taskstuff_to_list, build_queue_length): | |
228 | Constify a char*. | |
229 | ||
230 | * tree.c (make_powerset_type): Add static prototype. | |
231 | (get_identifier3, build_alias_decl, decl_check_rename): Constify a | |
232 | char*. | |
233 | ||
234 | * typeck.c (extract_constant_from_buffer, | |
235 | expand_constant_to_buffer, build_empty_string, | |
236 | make_chill_pointer_type, make_chill_range_type, | |
237 | apply_chill_array_layout, field_decl_cmp, make_chill_struct_type, | |
238 | apply_chill_field_layout): Add static prototype. | |
239 | (valid_array_index_p, extract_constant_from_buffer, | |
240 | chill_expand_tuple): Constify a char*. | |
241 | (layout_chill_struct_type): Cast the function argument of qsort. | |
242 | ||
fe0aaaa5 KG |
243 | 1999-08-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
244 | ||
245 | * actions.c (lang_identify): Constify a char*. | |
246 | ||
247 | * lang.c (chill_print_error_function): Likewise. | |
248 | (lang_init): Remove redundant prototype for `print_error_function'. | |
249 | ||
8824cf7e RH |
250 | 1999-07-25 Richard Henderson <rth@cygnus.com> |
251 | ||
252 | * decl.c (va_list_type_node): New. | |
253 | ||
58ec4285 KG |
254 | 1999-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
255 | ||
256 | * Make-lang.in (CHILL.stage1): Depend on stage1-start. | |
257 | (CHILL.stage2): Likewise for stage2-start. | |
258 | (CHILL.stage3): Likewise for stage3-start. | |
259 | (CHILL.stage4): Likewise for stage4-start. | |
260 | ||
3e18b97b ZW |
261 | Tue May 18 00:21:34 1999 Zack Weinberg <zack@rabi.phys.columbia.edu> |
262 | ||
263 | * lang-specs.h: Define __GNUC__ and __GNUC_MINOR__ only if -no-gcc | |
264 | was not given. | |
265 | ||
5f460982 ZW |
266 | 1999-05-10 18:21 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu> |
267 | ||
268 | * lang-specs.h: Pass -$ to the preprocessor. | |
269 | ||
d234235c DB |
270 | Tue May 4 14:52:53 1999 Dave Brolley <brolley@cygnus.com> |
271 | ||
272 | * actions.c (chill_expand_assignment): Use powersetlen to calculate the | |
273 | length of an array of packed bits. | |
274 | ||
33ac5264 NS |
275 | Tue Apr 20 23:37:01 1999 Nathan Sidwell <nathan@acm.org> |
276 | ||
277 | * Make-lang.in (ch/chill.info): Put MAKEINFO parameters in correct | |
278 | order. | |
279 | ||
d20a4159 MK |
280 | Wed Apr 14 21:07:30 1999 Mumit Khan <khan@xraylith.wisc.edu> |
281 | ||
282 | * config-lang.in (compilers): Add exeext. | |
283 | (stagestuff): Likewise. | |
284 | ||
f6087261 JL |
285 | Fri Apr 2 15:49:44 1999 Jeffrey A Law (law@cygnus.com) |
286 | ||
287 | * Make-lang.in (CHILL_FLAGS_TO_PASS): Do not pass $(CC). | |
288 | ||
63e5baa6 KG |
289 | Wed Mar 31 10:44:47 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
290 | ||
291 | * Makefile.in (hash.h): Generate using gperf language 'C', not | |
292 | 'KR-C', so gperf uses the `const' keyword on strings. | |
293 | ||
294 | * gperf (resword): Const-ify a char*. | |
295 | ||
919a1ded JL |
296 | Sun Mar 28 00:30:36 1999 Jeffrey A Law (law@cygnus.com) |
297 | ||
298 | * Make-lang.in (CHILL.dvi): New target. | |
299 | (CHILL.mostlyclean): Remove remnants of old runtime library structure. | |
300 | ||
43297964 CB |
301 | 1999-02-20 Craig Burley <craig@jcb-sc.com> |
302 | ||
303 | * Make-lang.in (CHILL.info): Depend on intermediate ch/chill.info | |
304 | target instead of the chill.texi file. | |
305 | (ch/chill.info): New target, depends on the chill.texi source file. | |
306 | Its command writes ch/chill.info instead of chill.info. | |
307 | (CHILL.install-info): Install from ch/chill.info instead of | |
308 | chill.info. | |
309 | If any ch/chill.info* files exist, delete *all* chill.info* files | |
310 | in $infodir first, not just the ones corresponding to the | |
311 | files to be installed (just in case the docs get smaller). | |
312 | ||
ad4144a7 | 313 | Sun Jan 31 20:34:29 1999 Zack Weinberg <zack@rabi.columbia.edu> |
be163a70 ZW |
314 | |
315 | * decl2.c: Don't define flag_no_ident here. Don't process | |
316 | -f(no-)ident here. | |
317 | * ch-tree.h: Don't declare flag_no_ident here. | |
318 | * lang-specs.h: Map -Qn to -fno-ident. | |
319 | ||
ed730bcf JL |
320 | Tue Jan 19 23:24:36 1999 Jeffrey A Law (law@cygnus.com) |
321 | ||
322 | * Makefile.in (typeck.o): Depend on insn-codes.h. | |
323 | * actions.c (chill_handle_multi_case_label): Initialize "expr". | |
324 | * decl.c (poplevel): Initialize "block_previously_created". | |
325 | * expr.c (chill_expand_expr): Initialize "size0" and "size1". | |
326 | (fold_set_expr): Initialize "buffer1". | |
327 | * inout.c (process_io_list): Initialize "to_assign". | |
328 | (check_exprlist): Initialize "result". | |
329 | * parse.c (expand_expr): Declare. | |
330 | (parse_multi_dimension_case_action): Initialize "end_case_label". | |
331 | * tasking.c (build_start_process): Initialize "struct_type_node". | |
332 | * typeck.c (apply_chill_field_layout): Initialize "word". | |
333 | (type_for_mode); Unconditionally cast RHS & LHS to ints to shut up | |
334 | signed/unsigned comparison warning. | |
335 | ||
08c259de KG |
336 | Mon Jan 18 11:55:06 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
337 | ||
338 | * ch-tree.h: Remove conflicting prototypes for pedwarn, | |
339 | warning_with_decl, and make_dcl_rtl. | |
340 | ||
82770562 JL |
341 | Sun Jan 17 21:53:23 1999 Jeffrey A Law (law@cygnus.com) |
342 | ||
343 | * Makefile.in: Do not put ^Ls at the start of a line. | |
344 | ||
3d0a71b3 JL |
345 | Wed Jan 6 02:53:38 1999 Jeffrey A Law (law@cygnus.com) |
346 | ||
347 | * Makefile.in: Add some missing $(exeext). Remove some obsolete | |
348 | runtime stuff. | |
349 | * Make-lang.in: Similarly. | |
350 | ||
0d797e77 JL |
351 | Tue Nov 24 09:57:34 1998 Jeffrey A Law (law@cygnus.com) |
352 | ||
353 | * Makefile.in (lex.c): Do not depend on hash.h. | |
354 | (lex.o): Depend on hash.h. | |
355 | ||
6fbe9901 KG |
356 | Mon Oct 19 12:13:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
357 | ||
358 | * Makefile.in (lex.o): Depend on dwarfout.h. | |
359 | ||
360 | * lang-specs.h: Add missing braces in initializer. | |
361 | ||
362 | * lex.c: Include dwarfout.h, if DWARF_DEBUGGING_INFO is defined. | |
363 | ||
12fe4621 KG |
364 | Thu Oct 15 09:25:21 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
365 | ||
366 | * expr.c (build_chill_card): Use &&, not &, when comparing truth | |
367 | values. | |
368 | ||
369 | * parse.c (parse_spec_module): Remove unused variable | |
370 | `module_name', but preserve function call from initialization. | |
371 | (parse_operand6): Mark variable `location' with ATTRIBUTE_UNUSED. | |
372 | ||
373 | * inout.c (init_text_location): Remove unused variable `textlength'. | |
374 | ||
bd748f74 KG |
375 | Wed Oct 14 22:19:48 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
376 | ||
377 | * typeck.c (build_chill_cast): Fix typo in assignment statement. | |
378 | ||
379 | * tasking.c (build_signal_descriptor): Use IDENTIFIER_POINTER() | |
380 | when printing a `tree'. | |
381 | ||
297a6bfc KG |
382 | Fri Oct 9 13:01:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
383 | ||
384 | * ch-tree.h (build_delay_case_end): Remove unused parameter. | |
385 | (build_receive_case_end): Likewise. | |
386 | (check_queue_size): Likewise. | |
387 | ||
388 | * parse.c: Callers changed. | |
389 | ||
390 | * satisfy.c: Likewise. | |
391 | ||
392 | * tasking.c (build_receive_buffer_case_end): Remove unused | |
393 | parameter `label_cnt'. | |
394 | (build_receive_signal_case_end): Likewise. | |
395 | (build_receive_case_end): Likewise. | |
396 | (build_delay_case_end): Likewise. | |
397 | (check_queue_size): Likewise for parameter `type'. | |
398 | All callers changed. | |
399 | ||
e39b138b JL |
400 | Thu Oct 8 05:57:41 1998 Jeffrey A Law (law@cygnus.com) |
401 | ||
402 | * typeck (type_for_mode): Only return TItype nodes when | |
403 | HOST_BITS_PER_WIDE_INT is >= 64 bits. | |
404 | (type_for_size): Similarly. | |
405 | * decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare | |
406 | when HOST_BITS_PER_WIDE_INT is >= 64 bits. | |
407 | (init_decl_processing): Only create TItype nodes when | |
408 | HOST_BITS_PER_WIDE_INT is >= 64 bits. | |
409 | ||
39828aec KG |
410 | Wed Oct 7 12:19:21 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
411 | ||
412 | * Makefile.in (hash.h): Add -L KR-C -F ', 0, 0, 0' flags to gperf. | |
413 | (hash.h): Regenerate using gperf 2.7.1 (19981006 egcs). | |
414 | ||
43cab252 NC |
415 | Thu Oct 1 10:43:45 1998 Nick Clifton <nickc@cygnus.com> |
416 | ||
417 | * lex.c: Replace occurances of HANDLE_SYSV_PRAGMA with | |
418 | HANDLE_GENERIC_PRAGMAS. | |
419 | (handle_generic_pragma): New function: Parse generic pragmas. | |
420 | ||
c1daea12 KG |
421 | Wed Sep 30 20:22:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
422 | ||
423 | * parse.c (emit_label): Fix return-type of prototype. | |
424 | ||
36ef59e7 KG |
425 | Wed Sep 30 19:41:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
426 | ||
427 | * actions.c (chill_handle_multi_case_label): Always return a value | |
428 | in function returning non-void. | |
429 | ||
430 | * except.c: Include OS headers before any local ones. | |
431 | ||
432 | * typeck.c (layout_chill_range_type): Change type of variable | |
433 | `negprecision' to int. | |
434 | (apply_chill_array_layout): Initialize variables `stepsize' and | |
435 | `start_bit'. | |
436 | (layout_chill_struct_type): Change type of variable `min_align' to | |
437 | unsigned int. | |
438 | (smash_dummy_type): Change name of variable `main' to `main_tree'. | |
439 | ||
5efaf7b0 KG |
440 | Wed Sep 30 19:24:41 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
441 | ||
442 | * actions.c (id_cmp): Do pointer arithmetic as `long' not `int' to | |
443 | ensure enough bits for calculation. | |
444 | ||
445 | * ch-tree.h (check_text_length): Remove unused parameter. | |
446 | ||
447 | * convert.c (display_int_cst): Cast a HOST_WIDE_INT argument to | |
448 | function sprintf into the appropriate type for printing. | |
449 | ||
450 | * decl.c (print_lang_decl): Use HOST_WIDE_INT_PRINT_DEC as the | |
451 | format specifier. | |
452 | (print_mode): Likewise. | |
453 | (init_decl_processing): Cast the arguments of bcopy/bzero to char *. | |
454 | ||
455 | * grant.c (grant_array_type): Use HOST_WIDE_INT_PRINT_DEC as | |
456 | the format specifier. | |
457 | ||
458 | * inout.c (check_text_length): Remove unused parameter `type'. | |
459 | (build_chill_associate): Initialize variables `arg1', `arg2', | |
460 | `arg3', `arg4' and `arg5'. | |
461 | (build_chill_modify): Likewise. | |
462 | (scanformcont): Change type of variable `curr' to `unsigned char'. | |
463 | ||
464 | * lex.c (maybe_downcase): Cast the argument of `tolower' to | |
465 | `unsigned char'. | |
466 | ||
467 | * satisfy.c (satisfy): Remove unused parameter in call to | |
468 | `check_text_length'. | |
469 | ||
470 | * tasking.c (generate_tasking_code_variable): Pass a HOST_WIDE_INT | |
471 | as a `long' in call to function `error'. | |
472 | (decl_tasking_code_variable): Likewise. | |
473 | ||
5abb0464 | 474 | Wed Sep 30 19:03:02 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
875ac75a KG |
475 | |
476 | * grant.c (decode_decl_selective): Cast switch's enum argument to | |
477 | an int. | |
478 | (really_grant_this): Add default case in switch. | |
479 | ||
480 | * typeck.c (chill_resulting_class): Add default cases in switch. | |
481 | Also add `break' statements after each case. | |
482 | ||
1f6b0ce0 KG |
483 | Tue Sep 29 21:37:33 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
484 | ||
485 | * ch-tree.h (build_compare_expr): Change first argument's type | |
486 | from `enum chill_tree_code' to `enum tree_code'. | |
487 | (build_compare_discrete_expr): Likewise. | |
488 | ||
489 | * expr.c (build_compare_set_expr): Likewise. | |
490 | (build_compare_string_expr): Likewise. | |
491 | (build_compare_expr): Likewise. | |
492 | (build_compare_discrete_expr): Likewise. Also add default case in | |
493 | switch statement. | |
494 | (compare_int_csts): Add default case in switch statement. | |
495 | ||
39170597 RL |
496 | Sun Sep 20 11:02:55 1998 Robert Lipe <robertl@dgii.com> |
497 | ||
498 | * except.c: Include system.h. | |
499 | ||
500 | * Makefile.in (except.o): Depend on system.h. | |
501 | ||
75111422 KG |
502 | Sun Sep 20 09:25:13 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
503 | ||
504 | * Makefile.in (actions.o, convert.o, decl.o, expr.o, lang.o, | |
505 | lex.o, loop.o, parse.o, satisfy.o, timing.o, tasking.o, tree.o, | |
506 | typeck.o): Depend on system.h and toplev.h. | |
507 | (except.o): Depend on toplev.h. | |
508 | (grant.o): Depend on system.h, toplev.h and output.h. | |
509 | ||
510 | * actions.c: Include system.h and toplev.h. Remove redundant | |
511 | prototypes. | |
512 | (build_cause_exception): Add default case in switch. | |
513 | (update_else_range_for_range): Add parentheses around && within ||. | |
514 | (chill_handle_multi_case_label_list): Remove unused variable | |
515 | `selector_value'. | |
516 | (print_missing_cases): Reconcile format specifiers vs arguments in | |
517 | calls to sprintf. | |
518 | ||
519 | * ch-tree.h: Don't include stdio.h. Wrap prototypes using FILE* | |
520 | with macro BUFSIZ. Add missing prototypes. | |
521 | ||
522 | * convert.c: Include system.h and toplev.h. Remove redundant | |
523 | prototypes. | |
524 | (convert): Remove unused variable `errstr'. | |
525 | ||
526 | * decl.c: Include system.h and toplev.h. Remove redundant | |
527 | prototypes. | |
528 | (builtin_scope): Add missing initializers. | |
529 | (clear_scope): Likewise. | |
530 | (allocate_lang_decl): Mark parameter `t' with ATTRIBUTE_UNUSED. | |
531 | (copy_lang_decl): Likewise for parameter `node'. | |
532 | (c_decode_option): Likewise for parameter `argc'. | |
533 | (push_extern_function): Likewise for parameter `granting'. | |
534 | (switch_to_pass_2): Hide declaration of errorcount/sorrycount. | |
535 | (pushdecl): Remove unused variable `t'. | |
536 | (lookup_name_current_level): Make static and hide. | |
537 | (lookup_name_for_seizing): Make static. | |
538 | (finish_decl): Remove unused variable `type'. | |
539 | (maybe_build_cleanup): Mark parameter `decl' with ATTRIBUTE_UNUSED. | |
540 | (complete_array_type): Mark parameters `type', `initial_value' and | |
541 | `do_default' with ATTRIBUTE_UNUSED. | |
542 | (start_struct): Mark parameter `name' with ATTRIBUTE_UNUSED. | |
543 | (start_enum): Likewise. | |
544 | (shadow_record_fields): Remove unused variables `type' and `parent'. | |
545 | ||
546 | * except.c: Include toplev.h. Remove redundant prototypes. | |
547 | ||
548 | * expr.c: Include system.h and toplev.h. Don't define NULL. | |
549 | Remove redundant prototypes. | |
550 | (internal_build_compound_expr): Mark parameter `first_p' with | |
551 | ATTRIBUTE_UNUSED. | |
552 | (build_allocate_getstack): Remove unused variable `init'. | |
553 | (build_chill_pred_or_succ): Likewise for variable `limit'. | |
554 | (varying_to_slice): Likewise for variable `doamin' [sic]. | |
555 | (finish_chill_binary_op): Likewise for variables `code0' and | |
556 | `code1'. Remove unused label `finish'. Add explicit braces to | |
557 | avoid ambiguous `else'. | |
558 | (build_chill_addr_expr): Remove extra parameter in call to `error'. | |
559 | (build_chill_unary_op): Remove unused variables `class' and `type0'. | |
560 | (powersetlen): Remove unused variables `domain' and `temp'. | |
561 | ||
562 | * grant.c: Include system.h, toplev.h and output.h. Don't handle | |
563 | strchr/strrchr. Remove redundant prototypes. | |
564 | (decode_constant_selective): Remove unused variables `op' and `wrk'. | |
565 | (push_granted): Mark parameters `name' and `decl' with | |
566 | ATTRIBUTE_UNUSED. | |
567 | ||
568 | * inout.c: Include system.h and toplev.h. Remove redundant | |
569 | prototypes. | |
570 | (textlocation_mode): Use &&, not &, when comparing two truth | |
571 | values. | |
572 | (scanformcont): Remove unused label `do_the_action'. | |
573 | ||
574 | * lang.c: Include system.h and toplev.h. Remove redundant | |
575 | prototypes. | |
576 | (lookup_interface): Mark parameter `arg' with ATTRIBUTE_UNUSED. | |
577 | (maybe_objc_comptypes): Likewise for parameters `lhs' and `rhs'. | |
578 | (lang_print_xnode): Likewise for parameters `file', `node' and | |
579 | `indent'. | |
580 | (lang_decode_option): Explicitly declare `explicit_ignore_case'. | |
581 | (incomplete_type_error): Mark parameters `value' and `type' with | |
582 | ATTRIBUTE_UNUSED. | |
583 | ||
584 | * lex.c: Include system.h and toplev.h. Remove redundant | |
585 | prototypes. Don't handle strchr/strrchr. Use CAPITALIZED | |
586 | versions of ctype macros from system.h. Cast ctype arguments to | |
587 | unsigned char when necessary. | |
588 | (last_token, RETURN_TOKEN): Hide definition. | |
589 | (push_back): Remove unused function. | |
590 | (readstring): Change variable `i' to unsigned. | |
591 | (yywrap): Remove unused variable `node'. | |
592 | ||
593 | * loop.c: Include system.h and toplev.h. Remove redundant | |
594 | prototypes. | |
595 | (chill_unsigned_type): Hide prototype and definition. | |
596 | (begin_loop_scope): Remove unused variable `firstp'. | |
597 | (nonvalue_begin_loop_scope): Likewise. | |
598 | ||
599 | * parse.c: Include system.h and toplev.h. Remove redundant | |
600 | prototypes. | |
601 | (quasi_signal): Hide. | |
602 | (PEEK_TOKEN): Change return type to `enum terminal'. | |
603 | (parse_mode_definition_statement): Remove unused variable `names'. | |
604 | (parse_formpar): Remove unused parameter `in_spec_module'. All | |
605 | callers changed. | |
606 | (parse_formparlist): Likewise. | |
607 | (parse_processpar): Remove unused variable `parms'. | |
608 | (parse_definition): Add explicit braces to avoid ambiguous `else'. | |
609 | (parse_multi_dimension_case_action): Initialize variable | |
610 | `begin_test_label'. Remove unused variable `new_test'. | |
611 | (parse_case_action): Remove unused variable `caseaction_flag'. | |
612 | (parse_asm_clobbers): Remove unused variable `expr'. | |
613 | (parse_delay_case_action): Initialize variable `label_cnt'. | |
614 | (parse_action): Make function static. | |
615 | (parse_tuple_element): Remove unused variable `list'. | |
616 | (parse_primval): Add default case in switch. | |
617 | (parse_variant_alternative): Remove unused variables `x' and | |
618 | `variant_fields'. | |
619 | ||
620 | * satisfy.c: Include system.h and toplev.h. Remove redundant | |
621 | prototypes. | |
622 | ||
623 | * tasking.c Include system.h and toplev.h. Remove redundant | |
624 | prototypes. | |
625 | (data_name): Hide. | |
626 | (get_struct_variable_name): Likewise. | |
627 | (validate_process_parameters): Mark parameter `parms' with | |
628 | ATTRIBUTE_UNUSED. | |
629 | (build_start_process): Initialize variable `tuple'. | |
630 | (build_receive_buffer_case_end): Remove unused variable `buffer_ptr'. | |
631 | ||
632 | * timing.c: Include system.h and toplev.h. | |
633 | (build_after_timeout_start): Remove unused variable `goto_where'. | |
634 | ||
635 | * tree.c: Include system.h and toplev.h. Remove redundant | |
636 | prototypes. | |
637 | ||
638 | * typeck.c: Include system.h and toplev.h. Remove redundant | |
639 | prototypes. | |
640 | (extract_constant_from_buffer): Make function static. Add | |
641 | explicit braces to avoid ambiguous `else'. | |
642 | (expand_constant_to_buffer): Likewise. | |
643 | (build_chill_slice): remove unused variable `is_static'. | |
644 | (chill_compatible): Add explicit braces to avoid ambiguous `else'. | |
645 | (apply_chill_array_layout): Remove unused variable `offset'. | |
646 | (smash_dummy_type): Remove unused variable `save_lang_specific'. | |
647 | (initializer_constant_valid_p): Add default case in switch. | |
648 | ||
13aa1501 DB |
649 | Mon Sep 14 16:46:36 1998 Dave Brolley <brolley@cygnus.com> |
650 | ||
20aa9a35 DB |
651 | * typeck.c (build_chill_slice): Always use TYPE_DOMAIN to get the |
652 | domain type of the array. | |
653 | ||
13aa1501 DB |
654 | * expr.c (build_chill_function_call): Remove redundant call to |
655 | chill_convert_to_assignment | |
656 | ||
6cf624a0 DB |
657 | Thu Sep 10 17:52:36 1998 Dave Brolley <brolley@cygnus.com> |
658 | ||
659 | * actions.c (chill_convert_for_assignment): Make a copy of the result | |
660 | node before modifying it. | |
661 | ||
f429f2c5 JC |
662 | Sat Sep 5 16:55:37 1998 John Carr <jfc@mit.edu> |
663 | ||
664 | * Make-lang.in: Comment ^L characters. Sun make doesn't like them. | |
665 | ||
d261f3f9 JL |
666 | Sat Sep 5 23:49:50 1998 Jeffrey A Law (law@cygnus.com) |
667 | ||
668 | * Makefile.in (INCLUDES): Update after recent reorganization at the | |
669 | toplevel gcc directory. | |
670 | ||
f7e2dc36 RH |
671 | Sat Sep 5 22:25:51 1998 Richard Henderson <rth@cygnus.com> |
672 | ||
673 | * Makefile.in: Update dependancies for top-level gcc files that moved. | |
674 | ||
d4751916 JL |
675 | Sat Sep 5 02:21:08 1998 Jeffrey A Law (law@cygnus.com) |
676 | ||
677 | * Makefile.in: Tweak to avoid building runtime. It's built | |
678 | elsewhere now. | |
679 | ||
24775172 DB |
680 | Thu Sep 3 15:32:03 1998 Dave Brolley <brolley@cygnus.com> |
681 | ||
682 | * typeck.c (layout_chill_range_type): set TYPE_SIZE_UNIT. | |
683 | ||
c5168e64 NC |
684 | Wed Sep 02 09:25:29 1998 Nick Clifton <nickc@cygnus.com> |
685 | ||
686 | * lex.c (check_newline): Change how HANDLE_PRAGMA is called. | |
687 | Generate warning messages if unknown pragmas are encountered. | |
688 | (pragma_getc): New function: retrieves characters from the | |
689 | input stream. Defined when HANDLE_PRAGMA is defined. | |
690 | (pragma_ungetc): New function: replaces characters back into the | |
691 | input stream. Defined when HANDLE_PRAGMA is defined. | |
692 | ||
058ebd7e DB |
693 | Mon Aug 31 15:35:16 1998 Dave Brolley <brolley@cygnus.com> |
694 | ||
695 | * decl.c (layout_chill_variants): Calculate nlables properly. | |
696 | ||
a2ca17fa PB |
697 | Mon Jul 27 17:21:01 1998 Dave Brolley <brolley@cygnus.com> |
698 | ||
699 | * typeck.c (apply_chill_array_layout): Don't set TYPE_SIZE of the | |
700 | element type. | |
701 | ||
702 | Mon Jul 13 14:20:12 1998 Nick Clifton <nickc@cygnus.com> | |
703 | ||
704 | * lang-options.h: Format changed to match changes in gcc/toplev.c | |
705 | to implement a --help option. | |
706 | ||
707 | Wed Jul 8 02:58:35 1998 Jeffrey A Law (law@cygnus.com) | |
708 | ||
709 | * lang.c (lang_init_options): New function. | |
710 | ||
711 | Wed Jun 10 12:08:09 1998 Dave Brolley <brolley@cygnus.com> | |
712 | ||
713 | * lang-options.h: Remove -I. | |
714 | * ch-tree.h (c_decode_option): New argc/argv interface. | |
715 | * decl.c (c_decode_option): New argc/argv interface. | |
716 | * lang.c (lang_decode_option): New argc/argv interface. | |
717 | ||
718 | Wed May 27 10:33:41 1998 Dave Brolley <brolley@cygnus.com> | |
719 | ||
720 | * actions.c (chill_handle_multi_case_label): Arguments 1 and 2 to | |
721 | chill_handle_multi_case_label_range were reversed. | |
722 | ||
723 | * Make-lang.in (chill): Use the correct gcc in the driver script. | |
724 | ||
725 | Thu May 21 14:40:44 1998 Dave Brolley <brolley@cygnus.com> | |
726 | ||
727 | * convert.c (digest_array_tuple): Move conversion to | |
728 | chill_convert_for_assignment. | |
729 | ||
730 | * actions.c (chill_convert_for_assignment): Allow conversion of array | |
731 | constructor to bitstring constructor for assignment to array of packed bits. | |
732 | ||
733 | Thu May 14 13:57:51 1998 Dave Brolley <brolley@cygnus.com> | |
734 | ||
735 | * Make-lang.in (chill-runtime): Depend on stmp-headers to build float.h. | |
736 | ||
737 | Wed May 13 14:07:51 1998 Dave Brolley <brolley@cygnus.com> | |
738 | ||
739 | * typeck.c (build_chill_slice): Adjust slice index to account for the | |
740 | lower bound of the array. | |
741 | ||
742 | * actions.c (chill_expand_assignment): Convert function arguments to the | |
743 | correct types. | |
744 | (chill_expand_assignment): Ditto. | |
745 | ||
746 | Mon May 11 16:20:57 1998 Dave Brolley <brolley@cygnus.com> | |
747 | ||
748 | * typeck.c (build_chill_slice): Propogate the TYPE_PACKED setting | |
749 | of the array_type to the slice_type. | |
750 | (build_chill_slice): Use SLICE_EXPR to represent a slice of an array | |
751 | of bits. | |
752 | ||
753 | * loop.c (build_loop_iterator): Disallow location enumeration for | |
754 | bit-packed arrays. | |
755 | ||
756 | * convert.c (digest_array_tuple): Allow conversion of an array tuple | |
757 | to a bitstring for assignment to a packed array of bits. | |
758 | ||
759 | Mon May 4 16:28:58 1998 Dave Brolley <brolley@cygnus.com> | |
760 | ||
761 | * ch-tree.def (PACKED_ARRAY_REF): New tree code. | |
762 | * typeck.c (build_chill_array_ref_1): Build PACKED_ARRAY_REF if array is packed. | |
763 | (chill_location): Handle PACKED_ARRAY_REF. | |
764 | (apply_chill_array_layout): Allow PACK for arrays of single bits. | |
765 | * expr.c (chill_expand_expr): Expand PACKED_ARRAY_REF. | |
766 | (invalid_operand): Check PACKED_ARRAY_REF operands. | |
767 | * actions.c (chill_expand_assignment): Expand PACKED_ARRAY_REF. | |
768 | ||
769 | Thu Apr 23 15:33:20 1998 Dave Brolley <brolley@cygnus.com> | |
770 | ||
771 | * typeck.c (apply_chill_field_layout): Only integral fields can be packed | |
772 | to the bit level. | |
773 | ||
774 | Tue Apr 21 14:30:10 1998 Jeffrey A Law (law@cygnus.com) | |
775 | ||
776 | * decl.c (intTI_type_node, unsigned_intTI_type_node): Define. | |
777 | (init_decl_processing): Handle TI types. | |
778 | * typeck.c (intTI_type_node, unsigned_intTI_type_node): Declare. | |
779 | (type_for_size): Handle TI types. | |
780 | (type_for_mode): Handle TI types. | |
781 | ||
782 | Mon Apr 20 13:12:26 1998 Dave Brolley <brolley@cygnus.com> | |
783 | ||
784 | * typeck.c (layout_chill_struct_type): Don't promote bitfield types to | |
785 | int. | |
786 | ||
787 | * actions.c (chill_convert_for_assignment): Check that the rhs is not | |
788 | a type declaration. | |
789 | ||
790 | Tue Apr 14 13:17:44 1998 Dave Brolley <brolley@cygnus.com> | |
791 | ||
792 | * lex.c (init_parse): Now returns char* containing the filename. | |
793 | ||
794 | * typeck.c (get_type_precision): Declare. | |
795 | (apply_chill_field_layout): Use the minimum number of bits necessary to | |
796 | represent discrete types as the natural length of the field. | |
797 | ||
798 | Thu Apr 9 12:46:55 1998 Dave Brolley <brolley@cygnus.com> | |
799 | ||
800 | * lex.c (finput): Move definition here from toplev.c | |
801 | (init_parse): New function replaces init_lex. | |
802 | (init_parse): Add code to open source file. | |
803 | (finish_parse): New function. | |
804 | (close_input_file): File was being closed more than once. | |
805 | ||
806 | * lang.c (finput): Declare. | |
807 | * ch-tree.h (init_lex): Remove. | |
808 | ||
809 | ||
810 | Wed Apr 8 14:47:33 1998 Dave Brolley <brolley@cygnus.com> | |
811 | ||
812 | * actions.c (compute_else_range): Fix loop index error. | |
813 | (chill_handle_multi_case_label_range): Move error checking to | |
814 | chill_handle_multi_case_label. | |
815 | (chill_handle_multi_case_else_label): Convert ELSE range values to | |
816 | the type of the corrersponding CASE selector. | |
817 | ||
818 | Wed Apr 8 13:02:50 1998 Jeffrey A Law (law@cygnus.com) | |
819 | ||
820 | * actions.c (sizetype_tab): Do not declare. | |
821 | * lang.c (lang_print_xnode): New function. | |
822 | ||
823 | Mon Mar 23 14:43:06 1998 Dave Brolley <brolley@cygnus.com> | |
824 | ||
825 | * grant.c (decode_layout): New function. | |
826 | (grant_array_type): Call decode_layout to export layout information to | |
827 | the grant file. | |
828 | (decode_decl): Ditto | |
829 | ||
830 | Fri Mar 20 16:06:41 1998 Dave Brolley <brolley@cygnus.com> | |
831 | ||
832 | * parse.c (parse_tuple_element): Call had arguments in wrong order. | |
833 | ||
834 | Thu Mar 19 13:42:33 1998 Dave Brolley <brolley@cygnus.com> | |
835 | ||
836 | * typeck.c (apply_chill_array_layout): Use | |
837 | TYPE_PRECISION (chill_integer_type_node) in stead of BITS_PER_WORD for | |
838 | the word size. | |
839 | ||
840 | Wed Mar 18 16:25:48 1998 Dave Brolley <brolley@cygnus.com> | |
841 | ||
842 | * typeck.c (apply_chill_field_layout): Only set DECL_BIT_FIELD for discrete | |
843 | fields. | |
844 | ||
845 | * parse.c (parse_multi_dimension_case_action): Call emit_line_note at the | |
846 | proper places. | |
847 | ||
848 | Tue Mar 17 14:16:08 1998 Dave Brolley <brolley@cygnus.com> | |
849 | ||
850 | * parse.c (gen_label_rtx): Declare before use. | |
851 | (emit_jump): Declare before use. | |
852 | (emit_label): Declare before use. | |
853 | (parse_case_label_list): Pass in CASE selector so we can mark it as having | |
854 | an (ELSE) label if necessary. | |
855 | (parse_case_label_specification): Pass in the CASE selector list so that | |
856 | the CASE selectors can be passed to parse_case_label_list. | |
857 | (parse_multi_dimension_case_action): Modify to generate branching code in | |
858 | one pass. | |
859 | (parse_case_expression): Compute (ELSE) range before generating CASE expression. | |
860 | (parse_variant_alternative): Remove error for (ELSE) specified. | |
861 | ||
862 | * expr.c (check_case_selector_list): Preserve TREE_PURPOSE of selector list. | |
863 | ||
864 | * decl.c (layout_chill_variants): Add code to check compatibility of ranges | |
865 | and discrete mode names. | |
866 | ||
867 | * ch-tree.h (ELSE_LABEL_SPECIFIED): New Chill specific flag. | |
868 | ||
869 | * actions.h (build_multi_case_selector_expression): Make it extern. | |
870 | (chill_handle_multi_dimension_case_label): Remove. | |
871 | (compute_else_ranges): New function. | |
872 | ||
873 | * actions.c (update_else_range_for_int_const): New function. | |
874 | (update_else_range_for_range): New function. | |
875 | (update_else_range_for_range_expr): New function. | |
876 | (update_else_range_for_type): New function. | |
877 | (compute_else_range): New function. | |
878 | (compute_else_ranges): New function. | |
879 | (chill_handle_multi_case_else_label): New function | |
880 | (chill_handle_multi_case_label_range): Don't generate tests for conditions | |
881 | which are always true or false. | |
882 | (chill_handle_multi_case_label): Ditto. | |
883 | (chill_handle_multi_case_label): Implement (ELSE) label support. | |
884 | (chill_handle_multi_case_label): First argument is now the selector tree not | |
885 | its VALUE. | |
886 | (chill_handle_multi_dimension_case_label): Removed. | |
887 | (build_chill_multi_dimension_case_expr): List of CASE alternatives is no longer | |
888 | reversed on entry, so reverse it here. | |
889 | ||
890 | Tue Mar 10 15:02:26 1998 Dave Brolley <brolley@cygnus.com> | |
891 | ||
892 | * actions.c (chill_handle_multi_case_label_range): Add more error checking. | |
893 | (chill_handle_multi_case_label): Implement (*) for multi dimensional CASE. | |
894 | (chill_handle_multi_case_label): Improve Error handling. | |
895 | ||
896 | Mon Mar 9 12:39:00 1998 Dave Brolley <brolley@cygnus.com> | |
897 | ||
898 | * actions.c (chill_handle_multi_case_label_range): Added. | |
899 | (chill_handle_multi_case_label): Add support for discrete ranges and | |
900 | discrete modes. | |
901 | ||
902 | * typeck.c (apply_chill_array_layout): Added more error checking. | |
903 | (apply_chill_field_layout): Added more error checking. | |
904 | ||
905 | Wed Mar 4 16:08:26 1998 Dave Brolley <brolley@cygnus.com> | |
906 | ||
907 | * convert.c (convert): Call build_simple_array_type with new argument. | |
908 | ||
909 | * ch-tree.h(build_simple_array_type): Add argument for array layout. | |
910 | ||
911 | * typeck.c (build_chill_slice): Call build_simple_array_type with new argument. | |
912 | (build_simple_array_type): Attach array layout to TYPE_ATTRIBUTES. | |
913 | (apply_chill_array_layout): New function to implement array layout. | |
914 | (layout_chill_array_type): Call apply_chill_array_layout and reset | |
915 | TYPE_ATTRIBUTES to NULL_TREE. | |
916 | (build_chill_array_type): Extend to handle one array layout per index mode. | |
917 | (smash_dummy_type): Call build_simple_array_type with new argument. | |
918 | ||
919 | * satisfy.c (satisfy): Call SATISFY on array layout tree. | |
920 | ||
921 | Wed Feb 25 14:36:41 1998 Dave Brolley <brolley@cygnus.com> | |
922 | ||
923 | * typeck.c (next_struct_offset): Added. | |
924 | (apply_chill_field_layout): New function to check and apply PACK, NOPACK, | |
925 | or POS layout to a structure field. | |
926 | (layout_chill_struct_type): Add call to apply_chill_field_layout. | |
927 | ||
928 | * satisfy.c (satisfy): Call satisfy recursively to handle the expressions | |
929 | in the field layout tree. | |
930 | ||
931 | * parse.c (pack_warn_printed): Remove. | |
932 | (nopack_warn_printed): Remove. | |
933 | (step_warn_printed): Remove. | |
934 | (pos_warn_printed): Remove. | |
935 | (parse_opt_layout): Remove warnings about POS, STEP, PACK and NOPACK usage. | |
936 | ||
937 | * decl.c (grok_chill_fixedfields): Check for POS specified for a list of | |
938 | field declarations. | |
939 | ||
940 | Thu Feb 19 17:33:06 1998 Dave Brolley <brolley@cygnus.com> | |
941 | ||
942 | * parse.c (parse_opt_layout): Generate syntax errors in pass 1 only. | |
943 | (parse_opt_mode): Removed incorrect comment about association of array | |
944 | layouts with nested array elements. | |
945 | (parse_opt_mode): Allow for one layout per index mode specified. | |
946 | ||
947 | Wed Feb 18 23:48:57 1998 Richard Henderson <rth@cygnus.com> | |
948 | ||
949 | * Make-lang.in (cc1chill): Kill lingering bc-opcode.h dependancy. | |
950 | ||
951 | Wed Feb 18 17:35:05 1998 Dave Brolley <brolley@cygnus.com> | |
952 | ||
953 | * parse.c (parse_field): Get rid of warning for multiple case selectors. | |
954 | ||
955 | * decl.c (layout_chill_variants): Fix loop indexing error. | |
956 | ||
957 | Mon Feb 16 15:54:47 1998 Dave Brolley <brolley@cygnus.com> | |
958 | ||
959 | * parse.c (parse_case_expression): Remove code which checked for | |
960 | unimplemented (ELSE) label. | |
961 | (parse_case_expression): Add code to handle multi dimensional case | |
962 | expression. | |
963 | ||
964 | * expr.c (check_case_selector_list): Fixed to return a list of the | |
965 | selectors which were checked. | |
966 | (chill_expand_case_expr): Remove "sorry" message for multi dimension | |
967 | case. | |
968 | (chill_expand_case_expr): Reverse order of case alternatives. | |
969 | (chill_expand_case_expr): Add "error" message for multiple case | |
970 | selectors. | |
971 | ||
972 | * actions.h (build_chill_multi_dimension_case_expr): Added. | |
973 | ||
974 | * actions.c (build_multi_case_selector_expression): Renamed from | |
975 | build_multi_case_expression. | |
976 | (chill_handle_multi_dimension_case_label): Call above function by its | |
977 | new name. | |
978 | (build_chill_case_expr): Don't reverse the list elements here. It may | |
979 | not be necessary. | |
980 | (build_chill_multi_dimension_case_expr): New function implements multi | |
981 | dimensional case expression. | |
982 | ||
983 | Thu Feb 12 15:44:50 1998 Dave Brolley <brolley@cygnus.com> | |
984 | ||
985 | * parse.c (parse_case_action): Implement multi-dimension CASE action. | |
986 | (parse_multi_dimension_case_action): Added. | |
987 | (parse_single_dimension_case_action): Added based on code moved from | |
988 | parse_case_action. | |
989 | ||
990 | * expr.c (check_case_selector_list): Added. | |
991 | ||
992 | * ch-tree.h (check_case_selector_list): Added. | |
993 | ||
994 | * actions.h (chill_handle_single_dimension_case_label): Added. | |
995 | (chill_handle_multi_dimension_case_label): Added. | |
996 | ||
997 | * actions.c (chill_handle_single_dimension_case_label): Added. | |
998 | (chill_handle_multi_case_label): Added. | |
999 | (chill_handle_multi_case_label_list): Added. | |
1000 | (build_multi_case_expression): Added. | |
1001 | (chill_handle_multi_dimension_case_label): Added | |
1002 | ||
1003 | Fri Feb 6 16:43:41 1998 Dave Brolley <brolley@cygnus.com> | |
1004 | ||
1005 | * actions.c (sizetype_tab): Fix declaration to match gcc changes. | |
1006 | ||
1007 | Thu Feb 5 14:03:00 1998 Dave Brolley <brolley@cygnus.com> | |
1008 | ||
1009 | * decl.c (chill_tree_code_type): Change this to be an array of char like | |
1010 | the tree_code_type in the rest of gcc. | |
1011 | ||
1012 | * ch-tree.def (chill_tree_code_type): See decl.c. | |
1013 | ||
1014 | Thu Jan 29 15:34:18 1998 Dave Brolley <brolley@cygnus.com> | |
1015 | ||
1016 | * tasking.c (error_with_decl): Correct prototype. | |
1017 | (build_gen_ptype): Reverse arguments. | |
1018 | ||
1019 | * lang.c (chill_real_input_filename): Add definition. | |
1020 | (chill_print_error_function): Correct second argument. | |
1021 | (lang_init): Set chill_real_input_filename. | |
1022 | ||
1023 | * expr.c (NULL): Protect definition with #ifndef. | |
1024 | ||
1025 | * decl.c (init_decl_processing): Don't allocate chill_tree_code_... | |
1026 | (init_decl_processing): Change last argument to 'sizeof(char)'. | |
1027 | ||
1028 | ||
1029 | Tue Nov 25 10:44:19 1997 Nick Clifton <nickc@cygnus.com> | |
1030 | ||
e16ba10c | 1031 | * Make-lang.in (mostlyclean): Use && to separate commands, so that |
a2ca17fa PB |
1032 | if the directory change fails, the rule will not loop. |
1033 | ||
1034 | Mon Mar 3 12:08:19 1997 Fred Fish <fnf@cygnus.com> | |
1035 | ||
1036 | * Make-lang.in (CHILL_FLAGS_TO_PASS): Remove extraneous leading | |
1037 | spaces and use single tab character on some lines. | |
1038 | (cc1chill): Ditto. | |
1039 | ||
1040 | Tue Nov 26 05:12:40 1996 Wilfried Moser <moser@rtl.cygnus.com> | |
1041 | ||
1042 | * tasking.c (build_receive_buffer_case_label): Rework in a manner, | |
1043 | that the buffer location gets evaluated only once, in | |
1044 | build_receive_buffer_case_end. | |
1045 | ||
1046 | * typeck.c (build_chill_bin_type): Rework. | |
1047 | (layout_chill_range_type): Process BIN mode. | |
1048 | (build_chill_array_type): Remove checking of layout. This is done | |
1049 | at the parse. | |
1050 | ||
1051 | * parse.c (parse_on_exception_list): Don't allow ON name:. | |
1052 | (parse_opt_layout): Parse POS and STEP and return a tree instead | |
1053 | of int. | |
1054 | ||
1055 | * lex.c (init_lex), lex.h: Define and initialise RID_BIN. | |
1056 | ||
1057 | * grant.c (print_integer_type): Take care of BIN. | |
1058 | ||
1059 | * expr.c (build_chill_descr): Make descr static if requested | |
1060 | location is static. | |
1061 | (build_chill_length): Process text mode name and text location as | |
1062 | described in Z.200/1992. | |
1063 | (build_compare_expr): Don't allow < <= > >= for composite modes. | |
1064 | ||
1065 | * decl.c (grok_chill_fixedfields): Remove checking of | |
1066 | layout. This is done at the parser. | |
1067 | ||
1068 | * convert.c (digest_structure_tuple): Take care of wrong (probably | |
1069 | array) tuple. Printing error may cause sigsegv. | |
1070 | ||
1071 | * ch-tree.h: Change prototypes of grok_chill_fixedfields and | |
1072 | build_chill_array_type (layout is passed now as a tree instead of | |
1073 | int). | |
1074 | ||
1075 | Fri Nov 15 15:17:44 1996 Per Bothner <bothner@deneb.cygnus.com> | |
1076 | ||
1077 | * convert.c (display_int_cst): Check that val is INTEGER_CST. | |
1078 | (digest_array_tuple): Some extra error checks (i.e. that indexes | |
1079 | are constant). If dynamic mode, result is not constant. | |
1080 | ||
1081 | Mon Oct 28 12:48:06 1996 Jeffrey A Law (law@cygnus.com) | |
1082 | ||
1083 | * typeck.c (signed_or_unsigned_type): If the given type already | |
1084 | as the correct signedness, then just return it. | |
1085 | ||
1086 | * typeck.c ({un,}signed_type): If can't do anything, call | |
1087 | signed_or_unsigned_type. | |
1088 | ||
1089 | Fri Sep 6 02:50:08 1996 Wilfried Moser <moser@rtl.cygnus.com> | |
1090 | ||
1091 | * typeck.c (build_chill_cast): In case of rangecheck, take care of | |
1092 | constant expression (when defining a SYN). | |
1093 | ||
1094 | Thu Sep 5 04:30:32 1996 Wilfried Moser <moser@rtl.cygnus.com> | |
1095 | ||
1096 | * parse.c (define__PROCNAME__): New function to define a SYNONYM | |
1097 | __PROCNAME__ (__procname__) which is a character string containing | |
1098 | the name of the current procedure. This is quit the same as | |
1099 | __FUNCTION__ in C. | |
1100 | (parse_proc_body): Add call to define__PROCNAME__. | |
1101 | ||
1102 | * typeck.c (chill_equivalent): Take care of NEWMODE'd procedure | |
1103 | modes on one side and procedures on the other side.. | |
1104 | ||
1105 | Wed Jul 24 01:13:51 1996 Wilfried Moser <moser@rtl.cygnus.com> | |
1106 | ||
1107 | * typeck.c: Replace all local variables and arguments named `index' | |
1108 | with `idx', `index' gets replaced by `strchr' which makes debugging | |
1109 | somehow difficult. | |
1110 | (valid_array_index_p): New argument to indicate that we are processing | |
1111 | LENGTH (varying string) on the lefthand side of an assignment. The | |
1112 | index check is different in this case. | |
1113 | (build_chill_cast): In case of expression conversion do an OVERFLOW | |
1114 | check with the limits of the target mode. | |
1115 | ||
1116 | * ch-tree.h: New prototype for valid_array_index_p. | |
1117 | ||
1118 | * actions.c (expand_varying_length_assignment): Add new argument to | |
1119 | call to valid_array_index_p to indicate we are processing | |
1120 | LENGTH on the lefthand side of an assignment. | |
1121 | ||
1122 | * loop.c: Rename loop_stack to loopstack to avoid clashes with | |
1123 | global variable ../stmt.c:loop_stack. | |
1124 | ||
1125 | Tue Jun 18 23:04:06 1996 Per Bothner <bothner@deneb.cygnus.com> | |
1126 | ||
1127 | * expr.c (resolve_component_ref): Set TREE_SIDE_EFFECTS properly. | |
1128 | ||
1129 | Mon Jun 10 15:01:51 1996 Per Bothner <bothner@deneb.cygnus.com> | |
1130 | ||
1131 | * typeck.c (build_chill_reference_type): Copy novelty for reference. | |
1132 | * satisfy.c (satisfy): If REFERENCE_TYPE, copy novelty. | |
1133 | ||
1134 | Thu May 30 04:55:27 1996 Wilfried Moser <moser@rtl.cygnus.com> | |
1135 | ||
1136 | * typeck.c (valid_array_index_p): For varying character strings | |
1137 | we must check if the index is less then the actual length instead | |
1138 | of less equal. | |
1139 | ||
1140 | Wed May 15 06:07:10 1996 Wilfried Moser <moser@rtl.cygnus.com> | |
1141 | ||
1142 | * ch-tree.h: Add prototype for test_range. | |
1143 | ||
1144 | * inout.c (process_io_list): Fix duplicate function call if | |
1145 | writetext argument is a function returning a varying string. | |
1146 | ||
1147 | Tue May 14 21:08:47 1996 Per Bothner <bothner@deneb.cygnus.com> | |
1148 | ||
1149 | Re-do string comparisons. Old way could re-use temporary | |
1150 | (SAVE_EXPR created for an argumnet is variable) prematurely. | |
1151 | * ch-tree.def (STRING_EQ_EXPR, STRING_LT_EXPR): New codes. | |
1152 | * decl.c (init_decl_processing): Remove __eqstring, __gestring, | |
1153 | __gtstring, __lestring, __ltstring, __nestring declarations. | |
1154 | * expr.c (build_char_array_expr): Rename to build_compare_string_expr. | |
1155 | Create STRING_EQ_EXPR, STRING_LT_EXPR nodes, instead of CALL_EXPRs. | |
1156 | (chill_expand_expr): Implement STRING_EQ_EXPR, STRING_LT_EXPR. | |
1157 | (build_compare_expr): Use new build_char_array_expr name. | |
1158 | ||
1159 | Mon Apr 8 14:08:30 1996 Per Bothner <bothner@kalessin.cygnus.com> | |
1160 | ||
1161 | Cleanup of April 5 fix: | |
1162 | * actions.c (test_range): New function. | |
1163 | (check_range): Simplify to use test_range. | |
1164 | * convert.c (digest_powerset_tuple): Move error message from here ... | |
1165 | (check_ps_range): ... to here. Also, simplify to use test_range. | |
1166 | ||
1167 | Fri Apr 5 03:41:05 1996 Wilfried Moser <moser@rtl.cygnus.com> | |
1168 | ||
1169 | * convert.c (check_ps_range): New function to perform range check | |
1170 | of powerset tuple elements. This is quite the same as check_range, | |
1171 | however, the actions on rangefail are different. | |
1172 | (digest_powerset_tuple): Call check_ps_range. | |
1173 | ||
1174 | * loop.c (build_loop_iterator): Chaeck if location enumeration | |
1175 | is requested for BOOLS(n) and print an error message. | |
1176 | ||
1177 | Wed Mar 6 17:46:48 1996 Per Bothner <bothner@kalessin.cygnus.com> | |
1178 | ||
1179 | * parse.c (parse_primval): Emit error if !ignore (before: pass==2). | |
1180 | ||
1181 | Implement parameterised array and string modes (using LANG_TYPE). | |
1182 | * parse.c (parse_opt_mode): Handle parameterized arrays and strings. | |
1183 | * grant.c (decode_mode): Support extended use of LANG_TYPE. | |
1184 | * satisfy.c (cycle_error_print): Ignore non-decls in chain. | |
1185 | (safe_satisfy_decl): No error if non-decl (pointer type) in cycle. | |
1186 | (satisfy): Return immediately if laid out non-pointer type. | |
1187 | (satisfy case LANG_TYPE): Handle paramertised mode. | |
1188 | (satisfy case POINTER_TYPE/REFERENCE_TYPE): Push type on chain; | |
1189 | return immediately if already in chain. | |
1190 | * typeck.c (smash_dummy_type): Handle parameterized modes and CHAR(N). | |
1191 | Change return type (can now return error_mark_node). | |
1192 | (build_readonly_type): Return return value from smash_dummy_type. | |
1193 | * ch-tree.h: Change smash_dummy_type return type. | |
1194 | ||
1195 | Tue Mar 5 22:31:20 1996 Per Bothner <bothner@kalessin.cygnus.com> | |
1196 | ||
1197 | * typeck.c (build_chill_slice): Re-do index_type calculation. | |
1198 | * typeck.c (layout_chill_range_type): Use compare_int_csts rather | |
1199 | than tree_int_cst_lt to avoid signed/unsigned problems. | |
1200 | ||
1201 | * typeck.c (copy_novelty): Use copy_node rather than build_type_node. | |
1202 | * typeck.c (smash_dummy_type): Use copy_novelty for NEWMODE of range. | |
1203 | ||
1204 | * decl.c (init_decl_processing): More portable sizetype initialization. | |
1205 | ||
1206 | * tree.c (build_string_type): Generalize to also create bitstrings. | |
1207 | Return error_mark_node if an argument is an ERROR_MARK. | |
1208 | (build_bitstring_type): Simplify - just call build_string_type. | |
1209 | ||
1210 | Tue Mar 5 03:48:32 1996 Wilfried Moser <moser@blues.cygnus.com> | |
1211 | ||
1212 | * actions.c (warn_unhandled): Add missing assignment. | |
1213 | ||
1214 | * loop.c (build_loop_iterator): In case of IN, check if | |
1215 | expression has a mode, otherwise make an error. | |
1216 | ||
1217 | Mon Mar 4 23:12:03 1996 Per Bothner <bothner@kalessin.cygnus.com> | |
1218 | ||
1219 | * convert.c (digest_powerset_tuple): Check tuple elements | |
1220 | for compatibility; if compatible, call convert. | |
1221 | ||
1222 | Thu Feb 29 23:39:54 1996 Per Bothner <bothner@kalessin.cygnus.com> | |
1223 | ||
1224 | Simplify NOVELTY representation. | |
1225 | * ch-tree.h (CH_NOVELTY): Re-implement as plain TYPE_CONTEXT. | |
1226 | (CH_NOVELTY_FLAG): Removed. (Just use CH_NOVELTY.) | |
1227 | * decl.c (push_modedef): Make copy even for SYNMODE. | |
1228 | but not for internal typedefs (indicated by make_newmode==-1). | |
1229 | * tasking.c: Call push_modedef with make_newmode==-1. | |
1230 | * typeck.c (chill_novelty): Remove. | |
1231 | (smash_dummy_type): Removed unused event/buffer stuff. Update. | |
1232 | * grant.c (decode_decl), inout.c (build_io_types), | |
1233 | expr.c (build_concat_expr), typeck.c (build_chill_slice, copy_novelty), | |
1234 | tasking.c (build_instance_type): Simplify using new CH_NOVELTY. | |
1235 | ||
1236 | Solidify READ mode handling. | |
1237 | * decl.c (do_decl, push_syndecl, start_chill_function): | |
1238 | Possibly set TREE_READONLY for a VAR_DECL, CONST_DECL, or PARM_DECL. | |
1239 | * typeck.c (build_chill_slice): Set TREE_READONLY appropriately. | |
1240 | (build_chill_array_ref_1, build_chill_bitref): Likewise. | |
1241 | (build_chill_cast): Set TREE_READONLY depending on result type (only). | |
1242 | * convert (convert_from_reference, convert): Likewise. | |
1243 | * expr.c (resolve_component_ref): Set TREE_READONLY appropriately. | |
1244 | (build_chill_function_call): Error if OUT/INOUT arg is TREE_READONLY. | |
1245 | * actions.c (chill_expand_assignment): Also error if TREE_READONLY. | |
1246 | Use convert_from_reference. | |
1247 | ||
1248 | Thu Feb 29 11:14:09 1996 Per Bothner <bothner@kalessin.cygnus.com> | |
1249 | ||
1250 | * parse.c (parse_do_action): DO WITH expressions are evaluated in | |
1251 | outer scope. Also call save_if_needed. | |
1252 | * decl.c (shadow_record_fields); Fix and simplify. | |
1253 | ||
1254 | Tue Feb 27 22:19:40 1996 Per Bothner <bothner@cygnus.com> | |
1255 | ||
1256 | * convert.c (display_int_cst): Gereralize to wider range of ints. | |
1257 | ||
1258 | Thu Feb 22 06:12:59 1996 Wilfried Moser <moser@rtl.cygnus.com> | |
1259 | ||
1260 | * convert.c (digest_array_tuple): Take care of type == error_mark_node. | |
1261 | ||
1262 | * decl.c (do_decl): In case of chill_varying_type_p, check if | |
1263 | type of fixed part is error mark and do nothing in this case. | |
1264 | ||
1265 | * lex.c (convert_bitstring): Don't complain when length of | |
1266 | bitstring is 0 (BOOLS(0) is a valid mode). | |
1267 | ||
1268 | * tree.c (layout_powerset_type): Add check for TYPE_MAX/MIN_VALUE | |
1269 | (domain) is error mark. | |
1270 | ||
1271 | * typeck.c (layout_chill_range_type): If lowvalue or highvalue == | |
1272 | error_mark_node, just return. | |
1273 | ||
1274 | Tue Feb 20 00:01:10 1996 Wilfried Moser <moser@rtl.cygnus.com> | |
1275 | ||
1276 | * parse.c (parse_variant_alternative): When checking for ELSE take | |
1277 | care of tagless variants. | |
1278 | ||
1279 | Mon Feb 19 05:54:45 1996 Wilfried Moser <moser@rtl.cygnus.com> | |
1280 | ||
1281 | * parse.c (parse_case_action): Check if ELSE was specified | |
1282 | in a case label list (this is only valid for array tuples). | |
1283 | (parse_case_expression): Deto. | |
1284 | (parse_variant_alternative): Deto. | |
1285 | ||
1286 | Tue Feb 13 17:08:16 1996 Per Bothner <bothner@kalessin.cygnus.com> | |
1287 | ||
1288 | * typeck.c (chill_location): Cleanup. Neither SLICE_EXPR nor | |
1289 | BIT_FIELD_REF are referable, even if their base strings are. | |
1290 | ||
1291 | Fri Feb 9 02:25:33 1996 Wilfried Moser <moser@rtl.cygnus.com> | |
1292 | ||
1293 | * actions.c (chill_expand_result): Do CH_FUNCTION_SETS_RESULT after | |
1294 | checking the expression. | |
1295 | ||
1296 | * convert.c (convert): Set TREE_CONSTANT when taking the | |
1297 | address of a function. | |
1298 | ||
1299 | * decl.c (start_chill_function): Check if the mode is really | |
1300 | a mode to avoid subsequent segfaults. | |
1301 | ||
1302 | * typeck.c (string_assignment_condition): Add checking of | |
1303 | bitstring length. | |
1304 | ||
1305 | Thu Feb 8 01:37:59 1996 Wilfried Moser <moser@rtl.cygnus.com> | |
1306 | ||
1307 | * actions.c (build_cause_exception): Print warning of unhandled | |
1308 | exception only once for each exception. | |
1309 | ||
1310 | Mon Feb 5 22:17:13 1996 Per Bothner <bothner@kalessin.cygnus.com> | |
1311 | ||
1312 | * tree.c (discrete_count), ch-tree.h: New function. | |
1313 | * expr.c (build_concate_expr, build_chill_repetition_op, | |
1314 | chill_expand_expr): Use discrete_count; make sure arguments | |
1315 | to size_binop are sizetype. | |
1316 | (powersetlen): Trvialize using discrete_count. | |
1317 | ||
1318 | * inout.c (process_io_list): Use new assign_temp function. | |
1319 | * inout.c (build_enum_tables): Avoid taking address of array_ref, | |
1320 | which sometimes gets optimized to a constant. | |
1321 | ||
1322 | * expr.c (finish_chill_unary_op): Call convert_to_class on argument. | |
1323 | Remove some obsolete TREE_UNSIGNED stuff. | |
1324 | * lex.c (convert_integer): Removed more TREE_UNSIGNED stuff. | |
1325 | ||
1326 | Thu Feb 1 15:11:20 1996 Doug Evans <dje@charmed.cygnus.com> | |
1327 | ||
1328 | * lex.c (check_newline): Return result of HANDLE_PRAGMA. | |
1329 | ||
1330 | Wed Jan 31 17:13:25 1996 Per Bothner <bothner@kalessin.cygnus.com> | |
1331 | ||
1332 | * decl.c (char_array_type_node, wchar_array_type_node): Removed. | |
1333 | (init_decl_processing): Remove array_domain_type; don't set | |
1334 | char_array_type_node or wchar_array_type_node. | |
1335 | * decl.c (init_decl_processing): Use fixup_unsigned_type to | |
1336 | simplify code to create boolean_type_node and char_type_node. | |
1337 | ||
1338 | Mon Jan 29 14:20:10 1996 Doug Evans <dje@charmed.cygnus.com> | |
1339 | ||
1340 | * lex.c (check_newline): Pass character after `#pragma' to | |
1341 | HANDLE_PRAGMA. Don't call get_directive_line if at end of line. | |
1342 | ||
1343 | Fri Jan 26 05:56:27 1996 Wilfried Moser <moser@rtl.cygnus.com> | |
1344 | ||
1345 | * expr.c (build_chill_function_call): Add check and error for | |
1346 | actual argument is a TYPE_DECL. | |
1347 | ||
1348 | * parse.c (parse_set_mode): Print a warning if the set mode contains | |
1349 | numbered and unnumbered set elements. | |
1350 | ||
1351 | Wed Jan 24 05:10:08 1996 Wilfried Moser <moser@rtl.cygnus.com> | |
1352 | ||
1353 | * Make-lang.in: Change GNUCHILL_VERSION to 1.5.2. | |
1354 | ||
1355 | * decl.c (layout_enum): Add check for negative values if | |
1356 | enum is numbered and duplicate values in an enum. | |
1357 | ||
1358 | Mon Jan 15 06:21:52 1996 Wilfried Moser <moser@rtl.cygnus.com> | |
1359 | ||
1360 | * actions.c (chill_expand_assignment): Add check for lefthand side | |
1361 | of an assignment is a location. | |
1362 | ||
1363 | * ch-tree.def: Name of SET_IN_EXPR is really "set_in_expr" and | |
1364 | not "concat_expr". | |
1365 | ||
1366 | * expr.c (is_really_instance): New function to check if a datum | |
1367 | is really an instance. CH_IS_INSTANCE_MODE seems to be to weak | |
1368 | for this case. | |
1369 | (build_chill_component_ref): call is_really_instance. | |
1370 | ||
1371 | Wed Jan 10 13:47:14 1996 Per Bothner <bothner@kalessin.cygnus.com> | |
1372 | ||
1373 | * ch-tree.h (TYPE_ARRAY_MAX_SIZE): Removed; now in ../tree.h. | |
1374 | ||
1375 | Mon Jan 8 15:29:20 1996 Per Bothner <bothner@kalessin.cygnus.com> | |
1376 | ||
1377 | * expr.c (build_char_array_expr): Add save_if_needed's if varying. | |
1378 | Also, remove unused len0 and len1. | |
1379 | ||
1380 | Mon Dec 11 17:36:44 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1381 | ||
1382 | * inout.c (build_chill_associate, assoc_call, build_chill_readrecord, | |
1383 | build_chill_getassociation, build_chill_getusage, | |
1384 | build_chill_gettextrecord, build_chill_gettextaccess: Simplify | |
1385 | - modify TREE_TYPE of CALL_EXPR, instead of building a CONVERT_EXPR. | |
1386 | ||
1387 | * parse.c (parse_action): Minor simplification. | |
1388 | ||
1389 | Thu Dec 7 00:02:47 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1390 | ||
1391 | * parse.c (parse_action): In case of CALL, do a check if there | |
1392 | is really a function call. | |
1393 | ||
1394 | Tue Dec 5 05:06:02 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1395 | ||
1396 | * convert.c (display_int_cst): Fix printing of control sequence. | |
1397 | ||
1398 | Thu Nov 30 21:07:57 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1399 | ||
1400 | * grant.c (decode_constant, decode_constant_selective): Make work | |
1401 | for REAL_IS_NOT_DOUBLE case. | |
1402 | ||
1403 | * decl.c (CHILL_INT_IS_SHORT): New macro. | |
1404 | (init_decl_processing): Use CHILL_INT_IS_SHORT. | |
1405 | Change name of integer_type_node from _cint to long. | |
1406 | ||
1407 | Mon Nov 27 17:07:05 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1408 | ||
1409 | * loop.c (top_loop_end_check): Check while condition *after* | |
1410 | getting next powerset element. | |
1411 | ||
1412 | Mon Nov 27 05:29:52 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1413 | ||
1414 | * parse.c (parse_receive_case_action): Fix typo in error message. | |
1415 | ||
1416 | * convert.c (display_int_cst): Format characters like strings in | |
1417 | grant.c(decode_constant). | |
1418 | ||
1419 | * grant.c: Remove the old forbid stuff. | |
1420 | ||
1421 | * lex.c (readstring): Fix reading of '^^'. | |
1422 | ||
1423 | * parse.c (parse_procedure_mode): nreverse param_types. | |
1424 | ||
1425 | Thu Nov 23 05:39:57 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1426 | ||
1427 | * actions.c (chill_expand_assignment): Check for assigning to | |
1428 | location with non-value mode. | |
1429 | ||
1430 | * ch-tree.h: New macro CH_TYPE_NONVALUE_P. | |
1431 | Add new and change some prototypes. | |
1432 | ||
1433 | * decl.c (init_nonvalue_struct): New function to generate | |
1434 | initialisation code for non-value structs. | |
1435 | (init_nonvalue_array): New function to generate initialisation | |
1436 | code for non-value array's. | |
1437 | (do_decl): Call one of the above mentioned functions in case | |
1438 | we have a mode with the non-value property. | |
1439 | (start_chill_function): Print error message if a non-value mode | |
1440 | gets returned without LOC and check for arguments of non-value | |
1441 | modes only gets passed by LOC. | |
1442 | ||
1443 | * grant.c (print_proc_tail): Fix for procedure returning LOC. | |
1444 | ||
1445 | * inout.c (build_io_types): Set CH_TYPE__NONVALUE_P on | |
1446 | association_type_node. | |
1447 | (invalidate_access_recordmode): New function to set the | |
1448 | record mode of an ACCESS to error_mark_node in case of | |
1449 | record mode has the non-value property. | |
1450 | (build_text_mode): Set CH_TYPE_NONNVALUE_P. | |
1451 | (build_access_mode, build_chill_gettextaccess): Deto. | |
1452 | (check_exprlist): Correct processing of repetition factor. | |
1453 | ||
1454 | * lex.c (readstring): Correct processing of control | |
1455 | sequences of the form '^([H | D | O | B]'xx)'. | |
1456 | ||
1457 | * loop.c: Cleanup iterator handling (done by Per). | |
1458 | (nonvalue_begin_loop_scope, nonvalue_end_loop_scope): New | |
1459 | functions for starting and ending a loop scope in case | |
1460 | of initialising an array with non-value property. | |
1461 | ||
1462 | * parse.c (check_end_label): Remove '\n' from error message. | |
1463 | (parse_loc_declaration): Print error in case of loc-identity | |
1464 | declaration without initialisation or with keyword INIT. | |
1465 | (parse_do_action): Clean up iterator handling (done by Per). | |
1466 | ||
1467 | * satisfy.c (safe_satisfy_decl (case TYPE_DECL)): Print an error | |
1468 | message in case of TYPE_DECL is a signal and the mode has the | |
1469 | non-value property. | |
1470 | (satisfy (case ARRAY_TYPE)): Set CH_TYPE_NONVALUE_P of the | |
1471 | the array type if the array element mode has the non-value | |
1472 | property. | |
1473 | (satisfy case RECORD_TYPE)): Set CH_NONVALUE_P on the record | |
1474 | type if one of the fields have the non-value property. If the | |
1475 | record is a buffer mode and the element mode of the buffer has | |
1476 | the non-value-p., invalidate it (see | |
1477 | tasking.c (invalidate_buffer_element_mode). Same for access modes. | |
1478 | ||
1479 | * tasking.c (build_signal_descriptor): If the signal type have | |
1480 | the non-value property, do nothing. | |
1481 | (build_receive_signal_case_label): Don't do an assignment if the | |
1482 | signal type have the non-value property. | |
1483 | (build_receive_buffer_case_label): Add check for buffer element | |
1484 | mode is ERROR_MARK. | |
1485 | (expand_send_buffer): Deto. | |
1486 | (build_buffer_type): Set CH_TYPE_NONVALUE_P on buffer mode. | |
1487 | (invalidate_buffer_element_mode): New function to set type of | |
1488 | buffer element mode to error_mark_node. | |
1489 | (build_event_type): Set CH_TYPE_NONVALUE_P on event mode. | |
1490 | ||
1491 | Wed Nov 15 13:26:20 1995 Jeffrey A Law (law@cygnus.com) | |
1492 | ||
1493 | * inout.c (intsize_of_charsexpr): Move declaration to top | |
1494 | of file to avoid error from solaris2.5 cc. | |
1495 | ||
1496 | Thu Nov 9 02:50:40 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1497 | ||
1498 | * satisfy.c (satisfy): For a RECORD_TYPE, which is an ACCESS or TEXT | |
1499 | mode, temporarily reset maximum_field_alignment to 0 before | |
1500 | layouting it to be compatible with the runtime library. | |
1501 | ||
1502 | * inout.c (build_chill_gettextaccess): Deto. | |
1503 | ||
1504 | Mon Nov 6 04:12:06 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1505 | ||
1506 | * decl.c (do_decl): If type is READonly, add check if an | |
1507 | ASSOCIATION, ACCESS, TEXT, BUFFER, or EVENT will be declared | |
1508 | and print an error if this is true. Variables of this modes | |
1509 | may not be declared READonly. | |
1510 | Add check for mode is one of the above and an init value was | |
1511 | given. This is also not allowed. | |
1512 | Add initialisation of variables of the above modes during | |
1513 | runtime. This influence the mechanism for detecting to | |
1514 | build a constructor. | |
1515 | (push_modedef): NEW- or SYNMODES of ASSOCIATION, ACCESS, TEXT, | |
1516 | BUFFER, and EVENT mode must not be READonly. | |
1517 | (start_chill_function): Arguments of modes ASSOCIATION, ACCESS, | |
1518 | TEXT, BUFFER, or EVENT may be passed only by LOC. Add this check. | |
1519 | (declare_predefined_file): Move to inout.c. | |
1520 | (init_decl_processing): Add definitions for new built-in's. | |
1521 | (finish_outer_function): Build a constructor only if | |
1522 | build_constructor is set. | |
1523 | ||
1524 | * except.c: On Linux native, setjmp is __setjmp. | |
1525 | ||
1526 | * expr.c (build_chill_component_ref): New function. It gets called | |
1527 | from parse.c instead of build_component_ref. Functions checks if the | |
1528 | user tries to access a field of an ACCESS, ASSOCIATION, BUFFER, | |
1529 | EVENT, INSTANCE, or TEXT mode, which actually is not allowed. | |
1530 | (build_chill_floatcall): New function to resolve CHILL's floating | |
1531 | point builtin calls (SIN, COS, TAN, etc.). | |
1532 | (build_allocate_getstack, build_chill_allocate, build_chill_getstack, | |
1533 | build_chill_terminate): New functions to resolve CHILL's ALLOCATE, | |
1534 | GETSTACK, and TERMINATE built-in's. | |
1535 | (build_generalized_call): Process new built-in's. | |
1536 | ||
1537 | * grant.c (decode_mode): Add processing of ACCESS and TEXT modes. | |
1538 | (decode_mode_selective): deto. | |
1539 | ||
1540 | * inout.c: Completely rewritten for implementing Chapter 7 of | |
1541 | Z.200 (input and output). | |
1542 | ||
1543 | * lex.c (yylex): An '_' after a '.' doesn't mean, that we are | |
1544 | parsing numbers. | |
1545 | ||
1546 | * lex.h (enum rid): Add RID_ASSOCIATION. | |
1547 | ||
1548 | * parse.c: New flag build_constructor to indicate if a constructor | |
1549 | should be generated at the end of compilation or not. See | |
1550 | decl.c(do_decl). | |
1551 | (parse_begin_end_block): Don't emit a line note. | |
1552 | (parse_primval): Call build_chill_component_ref instead of | |
1553 | build_component_ref. | |
1554 | (parse_opt_mode): Process ACCESS modes, ASSOCIATION modes, TEXT | |
1555 | modes, USAGE modes, WHERE modes. | |
1556 | ||
1557 | * satisfy.c (safe_satisfy_decl): Check if a SYN is of mode ASSOCIATION, | |
1558 | ACCESS, TEXT, BUFFER, or EVENT and print an error in this case. | |
1559 | (satisfy (case RECORD_TYPE)): If exp is TEXT mode, check the text length. | |
1560 | ||
1561 | * typeck.c (extract_constant_from_buffer): Fix thinko in case | |
1562 | of ! BYTES_BIG_ENDIAN. | |
1563 | (build_chill_cast): Implement representation conversion between | |
1564 | INT's and REAL's. | |
1565 | (chill_similar): Add check of ACCESSes. | |
1566 | (layout_chill_range_type): Check for real ranges and print | |
1567 | sorry message. | |
1568 | ||
1569 | * Make-lang.in: Change compiler version. | |
1570 | chill also depends on Makefile. | |
1571 | ||
1572 | * chill.in: Process command line option -Xlinker like -Tdata. | |
1573 | ||
1574 | * ch-tree.h: New macros CH_IS_ASSOCIATION_MODE, CH_IS_ACCESS_MODE, | |
1575 | CH_IS_USAGE_MODE, CH_IS_WHERE_MODE, and CH_IS_TEXT_MODE. | |
1576 | Add some prototypes. | |
1577 | (enum chill_built_in_function): Add BUILT_IN_ARCCOS, BUILT_IN_ARCSIN, | |
1578 | BUILT_IN_CH_DELETE, BUILT_IN_LOG, BUILT_IN_SQRT. | |
1579 | Remove BUILT_IN_READLEN, BUILT_IN_ROUND, BUILT_IN_SKIPRECORD. | |
1580 | ||
1581 | * gperf, hash.h: Remove definition of WHERE. | |
1582 | ||
1583 | Thu Oct 5 06:22:19 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1584 | ||
1585 | * grant.c (decode_constant_selective): Add some newlines | |
1586 | to generated SPEC MODULE. | |
1587 | ||
1588 | Wed Oct 4 18:16:44 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1589 | ||
1590 | * decl.c (pop_chill_function_context): Remove some bogosity. | |
1591 | ||
1592 | Wed Oct 4 05:14:00 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1593 | ||
1594 | * grant.c (print_integer_selective): In case of a RANGE of | |
1595 | a SET mode, try to find and grant the parent mode. | |
1596 | (grant_seized_identifier): Dont write it out, if the identifier | |
1597 | doesn't have a seize file (it may come from a SPEC MODULE | |
1598 | defined in the compilation unit). | |
1599 | ||
1600 | Fri Sep 22 14:04:40 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1601 | ||
1602 | * actions.c (check_non_null): Wrap expr in SAVE_EXPR if needed. | |
1603 | ||
1604 | Wed Sep 20 13:51:54 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1605 | ||
1606 | * expr.c (force_addr_of): Optimize an INDIRECT_REF using | |
1607 | convert_to_pointer rather than convert (which in case of | |
1608 | a REFERENCE_TYPE would losingly call convert_from_reference). | |
1609 | ||
1610 | Wed Sep 20 04:03:58 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1611 | ||
1612 | * inout.c (build_chill_writetext): In case of character string: | |
1613 | Add processing of a concatenation including varying character | |
1614 | strings. | |
1615 | (intsize_of_charsexpr, get_max_size): New functions to determine | |
1616 | the maximum size of varying character strings. | |
1617 | ||
1618 | * grant.c (decode_constant, decode_constant_selective): Add | |
1619 | processing of COMPONENT_REF. | |
1620 | ||
1621 | * satisfy.c (satisfy (case COMPONENT_REF)): Correct handling | |
1622 | for SYNONYM's with STRUCT mode. | |
1623 | ||
1624 | Mon Sep 18 17:25:11 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1625 | ||
1626 | * expr.c (force_addr_of): Optimize of value is INDIRECT_REF. | |
1627 | * typeck.c (build_chill_slice): Call mark_addressable. | |
1628 | ||
1629 | Mon Sep 18 14:38:15 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1630 | ||
1631 | * expr.c (chill_expand_expr): Make a copy before calling __psslice | |
1632 | if the array is neither referable nor BLKmode. | |
1633 | (build_set_expr): Renamed to ... | |
1634 | (build_compare_set_expr): Allow one opperand to be boolean. | |
1635 | (build_compare_expr): Check both operands for SET_EXPR, | |
1636 | before checking for discrete types (for -fold-strings). | |
1637 | ||
1638 | Fri Sep 15 11:35:43 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1639 | ||
1640 | * satisfy.c (safe_satisfy_decl): For a CONST_DECL, set TREE_TYPE | |
1641 | to error_mark_node or error. | |
1642 | ||
1643 | Fri Sep 15 00:26:02 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1644 | ||
1645 | * grant.c (decode_constant_selective): Add processing of | |
1646 | TREE_OPERAND (val, 0). | |
1647 | ||
1648 | Wed Sep 13 14:24:12 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1649 | ||
1650 | * ch-tree.h (CH_IS_INSTANCE_MODE): Redefine to use CH_SIMILAR. | |
1651 | * convert.c (convert): Use CH_IS_INSTANCE_MODE. | |
1652 | * inout.c (build_chill_writetext): Likewise. | |
1653 | * tasking.c (build_receive_case_start, build_delay_case_start): Ditto. | |
1654 | * parse.c (parse_start_action): Remove redundant tests. | |
1655 | * tasking.c (build_start_process): Also test that optset is instance. | |
1656 | (build_copy_number, build_proc_type, expand_send_signal): Use | |
1657 | CH_IS_INSTANCE_MODE, not CH_COMPATIBLE. | |
1658 | * actions.c, convert.c (instance_type_node): Remove redundant | |
1659 | extern declaration. | |
1660 | ||
1661 | Wed Sep 13 14:19:37 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1662 | ||
1663 | * regression.awk2: Use \ line-continuation-markers | |
1664 | to remove gratuitous gawk dependency. | |
1665 | ||
1666 | Mon Sep 11 17:26:53 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1667 | ||
1668 | * typeck.c (build_chill_modify_expr): Use force_addr_of. | |
1669 | (mark_addressable): Handle INDIRECT_REF of ADDR_EXPR. | |
1670 | ||
1671 | * typeck.c (check_case_value), ch-tree.h: Moved to ... | |
1672 | * actions.c (check_case_value): ... here. Also check for | |
1673 | compatibility with selector (which is passed as extra argument). | |
1674 | (chill_handle_case_label_range): Take selector argument, | |
1675 | and use it to call check_case_value. | |
1676 | (chill_handle_case_label): Take extra selector argument. | |
1677 | * ch-tree.h (chill_handle_case_labe): Add prototype. | |
1678 | * except.c expr.c, parse.c: Remove chill_handle_case_label prototypes. | |
1679 | * actions.c, except.c, expr.c, parse.c: Pass extra selector | |
1680 | argument to function calls as needed. | |
1681 | ||
1682 | Mon Aug 28 02:47:54 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1683 | ||
1684 | * grant.c (decode_constant_selective): Fix a bug in writing items | |
1685 | to grant file. | |
1686 | ||
1687 | Thu Aug 24 04:52:28 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1688 | ||
1689 | * parse.c (parse_case_expression): Print warning only in | |
1690 | pass 1. | |
1691 | ||
1692 | * actions.c (print_missing_cases): Correct printing of | |
1693 | character ranges. | |
1694 | ||
1695 | Wed Aug 23 15:26:12 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1696 | ||
1697 | * parse.c (parse_case_label_list): Take extra parameter to | |
1698 | indicate if we're parsing a tuple or a case-label-spec. | |
1699 | If former, don't allow '(' EXPR ')' ',' but backup instead. | |
1700 | (parse_case_label_specification, parse_tuple_element): | |
1701 | Pass appropriate new argument to parse_case_label_list. | |
1702 | ||
1703 | Wed Aug 23 06:08:28 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1704 | ||
1705 | * inout.c (build_chill_readtext): Add processing of BOOL's and | |
1706 | CHARS(n). | |
1707 | ||
1708 | * grant.c (decode_constant): Process nonprintable characters | |
1709 | in a STRING_CST. | |
1710 | ||
1711 | Fri Aug 11 15:26:13 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1712 | ||
1713 | * except.c (initialize_exceptions): Name setjmp "setjmp" and not | |
1714 | "__builtin_setjmp" (which is not recognized by expand_call). | |
1715 | ||
1716 | Wed Aug 9 23:35:36 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1717 | ||
1718 | * loop.c (end_loop_scope): Need to call kept_level_p, | |
1719 | in argument to poplevel. | |
1720 | ||
1721 | Wed Aug 9 05:48:30 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1722 | ||
1723 | * Make-lang.in (CHILL.install-common): Don't install chill-cross (this | |
1724 | file might be empty). Install chill.install instead. | |
1725 | ||
1726 | Tue Aug 8 21:46:30 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1727 | ||
1728 | * loop.c (end_loop_scope): Do poplevel *after* expand_end_bindings. | |
1729 | ||
1730 | Tue Aug 8 00:51:09 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1731 | ||
1732 | * tasking.c (build_process_header): Also set DECL_ASSEMBLER_NAME | |
1733 | of PARAM_DECL, since otherwise dbxout_symbol_name may barf. | |
1734 | ||
1735 | * decl.c (start_chill_function): Likewise ... | |
1736 | ||
1737 | Mon Aug 7 18:35:35 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1738 | ||
1739 | * tasking.c (build_process_wrapper): Also set DECL_ASSEMBLER_NAME | |
1740 | of PARM_DECL, since otherwise dbxout_symbol_name may barf. | |
1741 | ||
1742 | Mon Jul 31 14:32:33 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1743 | ||
1744 | * loop.c: Re-written implementation of powerset iteration. | |
1745 | (declare_temps): iter_var is now integer index into bitstring, | |
1746 | and powerset_temp just uses save_expr (normally needs no temp). | |
1747 | (top_loop_end_check): Pass index to start searching (from iter_var) | |
1748 | to library function, instead of dependning on latter to clear old bits. | |
1749 | (increment_temps): UNless DOWN, increment iter_var. | |
1750 | * decl.c (init_decl_processing): Declare new types for | |
1751 | __ffsetclrpowerset and __flsetclrpowerset (now misnamed...). | |
1752 | ||
1753 | Mon Jul 31 12:47:28 1995 Per Bothner <bothner@cygnus.com> | |
1754 | ||
1755 | * convert.c (digest_array_tuple): Set TREE_STATIC if possible. | |
1756 | ||
1757 | Fri Jul 28 05:11:56 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1758 | ||
1759 | * lex.c (readstring): Process integer literals starting with | |
1760 | H', D', or B' within a control sequence. | |
1761 | ||
1762 | Thu Jul 27 23:08:51 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1763 | ||
1764 | * parse.c (parse_do_action): Don't call push_action, but defer | |
1765 | push_handler until begin_loop_scope. | |
1766 | Call parse_opt_handler here, to move handler scope inside loop block. | |
1767 | (parse_action): After do_action, nothing to do now. | |
1768 | * loop.c (begin_loop_scope): Also call push_handler here. | |
1769 | (declare_temps): Copy derived flag to user_var. | |
1770 | (declare_temps): For POWERSET, always copy to temporary (even if | |
1771 | constant), since the runtime clears bits from it. | |
1772 | ||
1773 | * expr.c (build_chill_sizeof): Use convert_to_class. | |
1774 | * satisfy.c (safe_satisfy_decl): Cleanup handling of CONST_DECL - | |
1775 | set proper value of CH_DECL_FLAG on both the decl and its value. | |
1776 | ||
1777 | * convert.c (digest_array_tuple); Slightly better errors. | |
1778 | ||
1779 | Wed Jul 26 22:13:39 1995 Per Bothner <bothner@cygnus.com> | |
1780 | ||
1781 | * expr.c (expand_packed_set): Also allocate the CONSTRUCTOR itself. | |
1782 | (fold_set_expr): Simplify accordingly. | |
1783 | (build_concat_expr): Constant fold bitstring CONCAT_EXPRs. | |
1784 | ||
1785 | Thu Jul 13 12:21:22 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1786 | ||
1787 | * typeck.c (build_chill_slice): Use build1 instead of build. | |
1788 | * typeck.c (xtract_constant_from_buffer): Pass correct precision | |
1789 | to lshift_double. | |
1790 | ||
1791 | * typeck.c (expand_constant_to_buffer): Handle RANGE_EXPR index. | |
1792 | * convert.c (digest_array_tuple): Generate RANGE_EXPR as index | |
1793 | for tuples with ranges. | |
1794 | ||
1795 | Thu Jun 29 23:41:15 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1796 | ||
1797 | * typeck.c (build_chill_slice): Re-implement to use casts | |
1798 | instead of build_chill_array_ref_1 (which doesn't always work). | |
1799 | * convert.c (convert): Remove old bugs code. | |
1800 | ||
1801 | Tue Jun 27 05:00:04 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1802 | ||
1803 | * parse.c (parse_if_action): Do PUSH_ACTION before parsing the | |
1804 | expression so that a possible handler at the if action will | |
1805 | be found. | |
1806 | (parse_proc_body): New argument to indicate if the function | |
1807 | raises exceptions or not. In case the function will raise | |
1808 | exception: start a handler, parse the function and generate | |
1809 | code for reraising the exceptions (call chill_reraise_exceptions). | |
1810 | ||
1811 | * except.c (chill_reraise_exceptions): New function to generate | |
1812 | code for reraising exceptions are specified at the function | |
1813 | definition. | |
1814 | ||
1815 | * ch-tree.h: Add prototype for chill_reraise_exceptions. | |
1816 | ||
1817 | * decl.c (build_chill_function_type): When the function (type) | |
1818 | raise an exception, generate two new arguments (additional to the | |
1819 | formal parameters), the filename and linenumber of the caller. | |
1820 | (start_chill_function): likewise... | |
1821 | ||
1822 | * expr.c (build_chill_function_call): If the called function raises | |
1823 | exceptions, give current filename and linnumber as aditional | |
1824 | arguments. | |
1825 | ||
1826 | * actions.c (build_cause_exception): Handle case when function | |
1827 | propagates the exception. | |
1828 | ||
1829 | * grant.c (print_proc_tail, print_proc_tail_selective): If the | |
1830 | function(type) raises exceptions, don't process the last to | |
1831 | parmeters of the formal argument list, they are compiler | |
1832 | generated. | |
1833 | ||
1834 | * typeck.c (chill_similar): In case of FUNCTION_TYPE: check if | |
1835 | the exception lists are equal. | |
1836 | ||
1837 | Thu Jun 22 19:27:47 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1838 | ||
1839 | * loop.c (flag_local_loop_counter): Change default to 1. | |
1840 | (end_loop_scope): Set 'keep' parameter in poplevel call. | |
1841 | (declare)_temps): Don't set IDENTIFIER_LOCAL_VALUE, since that | |
1842 | is handled (correctly!) by pushdecl. | |
1843 | (begin_loop_scope): Call pushlevel here, | |
1844 | * parse.c (parse_do_action): Move pushlevel so only called for WITH. | |
1845 | * decl.c (struct scope): Remove n_incomplete field and its uses. | |
1846 | (pushdecl): Re-write to use proclaim_decl. Remove old C-isms. | |
1847 | (init_decl_processing): Re-name integer_type_node as "_cint" to | |
1848 | remove complaint from pushdecl about chill_integer_type_node as "int". | |
1849 | ||
1850 | Tue Jun 20 18:15:58 1995 Doug Evans <dje@canuck.cygnus.com> | |
1851 | ||
1852 | * Make-lang.in (chill-runtime): Restore patch to disable building of | |
1853 | runtime libraries for cross compilers. This patch should remain | |
1854 | until a build of a freshly checked out devo "just works". | |
1855 | ||
1856 | Mon Jun 19 06:01:42 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1857 | ||
1858 | * Make-lang.in: Update GNUCHILL_VERSION to 1.4.4. | |
1859 | ||
1860 | * decl.c (init_decl_processing): Remove builtin function | |
1861 | __cause_exception. New builtin functions __cause_ex1 and | |
1862 | __unhandled_ex. | |
1863 | ||
1864 | * except.c (is_handled): Return 0 when no handler found, | |
1865 | 1, if the handler is in local scope and 2, if function | |
1866 | may propagate the exception. | |
1867 | ||
1868 | * actions.c (build_cause_exception): New argument to | |
1869 | indicate if a warning should be printed when | |
1870 | causing an unhandled exception. Call is_handled here. | |
1871 | ||
1872 | * ch-tree.h: Change prototype for build_cause_exception. | |
1873 | New marco CH_ALREADY_GRANTED. Used in grant.c to determine if an | |
1874 | identifier already has been written to grant file. | |
1875 | ||
1876 | * grant.c (write_spec_module): If not GRANT ALL specified, | |
1877 | write only this identifiers to grant file which are | |
1878 | neccessary to form a prober grant file. This will shorten | |
1879 | grant files and speed up compilation. | |
1880 | (decode_constant_selective, decode_mode_selective, | |
1881 | get_type_selective, decode_decl_selective, | |
1882 | grant_array_type_selective, get_tag_value_selective, | |
1883 | print_enumeral_selective, print_integer_selective, | |
1884 | print_struct_selective, print_proc_tail_selective, | |
1885 | grant_one_decl_selective): New functions. | |
1886 | ||
1887 | * lex.c (yywrap): Remove writing of not yet written USE_SEIZE_FILE | |
1888 | directives to grant file. | |
1889 | ||
1890 | * parse.c (parse_on_exception_list): Fis constructing of | |
1891 | exceptions list. | |
1892 | ||
1893 | Wed Jun 14 15:21:54 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1894 | ||
1895 | * typeck.c (valid_array_index_p): Check for syntax error, where | |
1896 | index is a mode, rather than a value. | |
1897 | ||
1898 | * expr.c (build_chill_binary_op_1): Remove unused function. | |
1899 | ||
1900 | Sat Jun 10 11:36:52 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1901 | ||
1902 | * except.c (is_handled): New function. | |
1903 | Various fixes here and there to make it work. | |
1904 | ||
1905 | * parse.c (parse_param_name_list): Set DECL_ASSEMBLER_NAME. | |
1906 | (Otherwise dbxout may crash.) | |
1907 | ||
1908 | * satisfy.c (satisfy case FUNCTION_TYPE): Check for non-type result. | |
1909 | * decl.c (start_chill_function): If result type was error_mark, | |
1910 | kludge type chill_os result_decl to avoid extra errors. | |
1911 | * actions.c (chill_expand_result, chill_expand_return): If type of | |
1912 | chill_result_decl is error_mark, do nothing. | |
1913 | ||
1914 | * typeck.c (chill_similar): Fix thinko in recent change. | |
1915 | ||
1916 | * config-lang.in (diff_exclude): Remove ch/lex.c - now it's a | |
1917 | true source file, and is never longer generated with [f]lex. | |
1918 | ||
1919 | * regression.sh: Pass -s to make clean (to make it silent). | |
1920 | Explicitly call gawk, instead of depending of '#!' to work. | |
1921 | Add --objdir flags. Never send mail to bill. | |
1922 | ||
1923 | Thu Jun 8 15:08:35 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1924 | ||
1925 | * typeck.c (chill_similar): Add extra parameter. Use to to prevent | |
1926 | infinite recursion. | |
1927 | (chill_equivalent, chill_l_equivalent): Also add new parameter. | |
1928 | * ch-tree.h (CH_SIMILAR, CH_EQUIVALENT): Modify to match. | |
1929 | ||
1930 | Tue Jun 6 17:14:49 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1931 | ||
1932 | * loop.c (declare_temps): If -flocal-loop-counter, make sure to | |
1933 | pushdecl the new variable (created with decl_temp1). | |
1934 | And fix the type of the local variable for powerset iteration. | |
1935 | ||
1936 | Tue Jun 6 15:07:19 1995 Per Bothner <bothner@cygnus.com> | |
1937 | ||
1938 | * typeck.c (mark_addressable): Handle ADDR_EXPR inside | |
1939 | NOP_EXPR inside INDIRECT_EXPR. For TRUTH_ANDIF_EXPR, | |
1940 | TRUTH_ORIF_EXPR, and COMPOUND_EXPR mark operand 1, not operand 0 | |
1941 | (which is used for range-checks and suchlike). | |
1942 | ||
1943 | Thu Jun 1 02:45:54 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
1944 | ||
1945 | * expr.c (build_set_expr): Do some optimizations for LE_EXPR and | |
1946 | GE_EXPR (don't do invert_truthvalue, just switch operands). | |
1947 | ||
1948 | Wed May 31 14:00:38 1995 Doug Evans <dje@canuck.cygnus.com> | |
1949 | ||
1950 | * lang-options.h: New file. | |
1951 | * lang-specs.h: New file. | |
1952 | ||
1953 | Wed May 24 01:45:18 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1954 | ||
1955 | * actions.c (assign_stack_temp): Remove unneeded declaration. | |
1956 | ||
1957 | Tue May 23 00:17:38 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1958 | ||
1959 | * parse.c (parse_on_exception_list): Return list of exception | |
1960 | names in pass 1, not in pass 2. (Return non-NULL dummy if pass 2.) | |
1961 | (parse_on_alternatives): Call chill_handle_on_labels even if ignoring. | |
1962 | (parse_opt_handler): Likewise for chill_start_default_handler. | |
1963 | * except.c (push_handler): Clear on_alt_list only if pass 1. | |
1964 | (chill_handle_on_labels): Build on_alt_list in pass 1, | |
1965 | retrieve it in pass 2. | |
1966 | ||
1967 | Fix so that decl_temp1 does not expand_decl_init, which calls | |
1968 | free_temp_slots, which loses in the middle on an expression. | |
1969 | * decl.c (finish_decl): Don't call expand_decl_init. | |
1970 | (do-decl): Do initialization assignment even if stack variable. | |
1971 | * parse.c (parse_loc_declaration): Call free_temp_slots. | |
1972 | ||
1973 | * decl.c (finish_decl), ch-tree.h: Remove last two always-NULL | |
1974 | parameters. Cleanup never-used code. | |
1975 | * decl.c, except.c: Update calls to finish_decl. | |
1976 | ||
1977 | * decl.c (case_else_node): Define new variable. | |
1978 | (init_decl_processing): Initialize it. | |
1979 | (make_chill_variants): If variant label is case_else_node (i.e. it | |
1980 | is (ELSE):), treat that as an ELSE variant. | |
1981 | * ch-tree.h (case_else_node): Declare case_else_node. | |
1982 | * parse.c (parse_case_label): Use case_else_node. | |
1983 | ||
1984 | Mon May 22 10:18:11 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
1985 | ||
1986 | * grant.c (print_proc_tail): Also call print_proc_exceptions. | |
1987 | (decode_decl): Don't explicitly call print_proc_exceptions for | |
1988 | FUNCTION_DECL. | |
1989 | (Net effect is that now exceptions are printed for FUNCTION_TYPE too.) | |
1990 | ||
1991 | * actions.c (chill_convert_for_assignment): Use save_if_needed, | |
1992 | instead of save_expr, in case value is a reference. | |
1993 | ||
1994 | * typeck.c (build_chill_slice): Fix old thinko (missing call to | |
1995 | build_pointer_type). | |
1996 | ||
1997 | * actions.c (size_int): Remove unused and conflicting prototype. | |
1998 | ||
1999 | Wed May 17 16:23:20 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2000 | ||
2001 | * actions.c (chill_convert_for_assignment): Call save_expr if | |
2002 | range_checking (twice). | |
2003 | ||
2004 | Tue May 16 11:33:41 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2005 | ||
2006 | * typeck.c (layout_chill_range_type): Re-organize error checking. | |
2007 | Add extra parameter to indicate if non-constant bounds are allowed. | |
2008 | If bounds are bad, set them to the min_value of the parent. | |
2009 | * ch-tree.h (layout_chill_range_type): Update declaration. | |
2010 | * satisfy.c (satisfy): Update call of layout_chill_range_type. | |
2011 | * typeck.c (build_chill_range_type): Likewise. | |
2012 | * tree.c (build_string_type): Likewise. | |
2013 | ||
2014 | Tue May 16 00:37:51 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
2015 | ||
2016 | * expr.c (build_chill_sizeof): Fix bug in case of SIGNAL. | |
2017 | ||
2018 | Mon May 15 12:54:32 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2019 | ||
2020 | * satisfy.c (satisfy): Supress error message for REF <error_mark>. | |
2021 | * decl.c (push_modedef): Check for TREE_CODE != ERROR_MARK, instead | |
2022 | of against error_mark_node. (smash_dummy_type can copy error marks.) | |
2023 | (finish_decl): Simplify C-derived check for incomplete type, | |
2024 | and suppress if it is an ERROR_MARK. | |
2025 | Don't call rest_of_decl_compilation if type is an ERROR_MARK. | |
2026 | ||
2027 | Sun May 14 22:52:40 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2028 | ||
2029 | * convert.c (convert): Handle array types with different modes. | |
2030 | ||
2031 | Thu May 11 15:52:12 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2032 | ||
2033 | * loop.c (build_loop_iterator): Handle the case of a non-local | |
2034 | loop counter having reference type. | |
2035 | ||
2036 | Thu May 11 07:04:29 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
2037 | ||
2038 | * tasking.c (build_copy_number, build_gen_code, build_gen_inst, | |
2039 | build_gen_ptype, build_proc_type): Set CH_DERIVED_FLAG on result | |
2040 | to avoid erros when assigning to (comparing with) NEWMODEd INT's. | |
2041 | ||
2042 | Mon May 8 15:27:16 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2043 | ||
2044 | * expr.c (build_chill_card): Do constant folding, if possible. | |
2045 | (build_max_min): Do constant folding for MIN/MAX of powersets. | |
2046 | ||
2047 | Mon May 8 06:57:21 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
2048 | ||
2049 | * expr.c (build_chill_sizeof): Add corect processing of a | |
2050 | SIGNAL definition without data. | |
2051 | ||
2052 | Sat May 6 16:27:10 1995 Doug Evans <dje@canuck.cygnus.com> | |
2053 | ||
2054 | * Make-lang.in (maintainer-clean): Renamed from realclean. | |
2055 | ||
2056 | Tue May 2 06:16:23 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
2057 | ||
2058 | * parse.c (parse_asm_action): Do PUSH_ACTION unconditionally, | |
2059 | otherwise "handler stack" will get out of sync. | |
2060 | ||
2061 | Mon Apr 24 09:51:07 1995 Per Bothner <bothner@rtl.cygnus.com> | |
2062 | ||
2063 | Fixes to support module-level non-static temporary variables. | |
2064 | * parse.c (parse_loc_declaration): If all_static_flag and not | |
2065 | resursive, tell do_decls to make new decl static. | |
2066 | * decl.c (do_decl): Don't use maybe_static function to force static. | |
2067 | (do_decl): Don't let initialization count as "using" the variable. | |
2068 | (maybe_static): Removed. | |
2069 | (finish_decl): Call expand_decl and expand_decl_init if needed | |
2070 | (as it will be for non-static temporaries). | |
2071 | ||
2072 | Fri Apr 21 21:02:30 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2073 | ||
2074 | * convert.c, expr,c typeck.c (expand_decl): Remove usused declaration. | |
2075 | ||
2076 | Fri Apr 21 02:27:12 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
2077 | ||
2078 | * expr.c (build_set_expr): Fix thinko: GE(x,y) is not eqivalent to | |
2079 | LT(y,x) its rather equivalent to NOT (LT(x,y)). Same is true for | |
2080 | GT(x,y), its not equiv. to LE(y,x), its equiv. to NOT (LE(x,y)). | |
2081 | ||
2082 | Thu Apr 20 15:29:05 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2083 | ||
2084 | * parse.c (yytext, finput): Remove unused declarations. | |
2085 | ||
2086 | * parse.c (proc_action_level): New variable. | |
2087 | (parse_proc_body): New function. Common code from | |
2088 | parse_procedure_definition and parse_process_definition moved here. | |
2089 | Save, set, and restore proc_action_level from action_nesting_level. | |
2090 | (parse_action case RETURN): Pass proc_action_level to | |
2091 | expand_goto_except_cleanup. | |
2092 | ||
2093 | Thu Apr 20 06:02:20 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
2094 | ||
2095 | * grant.c (really_grant_this): Add processing of LABEL_DECL's | |
2096 | (don't grant them). | |
2097 | ||
2098 | Tue Apr 18 18:16:28 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2099 | ||
2100 | * lex.c ( convert_bitstring): Use BYTES_BIG_ENDIAN rather | |
2101 | than BITS_BIG_ENDIAN to layout bits within bitstring. | |
2102 | * typeck.c (expand_constant_to_buffer, extract_constant_from_buffer): | |
2103 | Likewise. | |
2104 | ||
2105 | Sun Apr 16 19:55:51 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2106 | ||
2107 | * decl.c (finish_chill_function): If currently global_function_decl, | |
2108 | don't set outer_function to global_function_decl. | |
2109 | ||
2110 | Wed Apr 12 22:45:06 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2111 | ||
2112 | * decl.c (start_chill_function): Normal functions are nested. | |
2113 | (finish_chill_function): No longer takes a 'nested' parameter. | |
2114 | Normal functions are nested. | |
2115 | Never call permanent_allocation, since it does little good (all normal | |
2116 | functions are nested), and trashes some things we need. | |
2117 | (finish_outer_function): Update call to finish_chill_function. | |
2118 | * grant.c (chill_finish_compile): Likewise. | |
2119 | * tasking.c (build_process_wrapper): Likewise. | |
2120 | * parse.c (end_function): Likewise. | |
2121 | * ch-tree.h (finish_chill_function): Update declaration. | |
2122 | ||
2123 | * parse.c (parse_asm_clobbers): Re-enable. | |
2124 | (expand_asm_operands): function. | |
2125 | (parse_asm_action): Re-enable. Don't do anything in pass 1. | |
2126 | ||
2127 | * typeck.c (build_chill_slice): Do constant folding. | |
2128 | Also, work around problem where expand_expr constant folds ARRAY_REF. | |
2129 | (sort_constructor): Remove unused function. | |
2130 | ||
2131 | * expr.c (chill_expand_expr case CONCAT_EXPR): Make sure we | |
2132 | emit_block_move if needed with correct size. | |
2133 | ||
2134 | * inout.c (build_chill_io_list_type): Simplify. | |
2135 | ||
2136 | * lex.c (check_newline): Uncomment some dwarf stuff, | |
2137 | which needs get_directive_line, which we no longer have. | |
2138 | ||
2139 | Wed Apr 5 16:05:15 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2140 | ||
2141 | * Makefile.in (C_OBJS, xcc1chill): Removed. We no longer | |
2142 | link cc1chill with ../c-typeck.o ../c-aux-info.o ../c-common.o. | |
2143 | ||
2144 | * expr.c (build_chill_component_ref): Renamed to build_component_ref. | |
2145 | (chill_truthvalue_conversion): Renamed to truthvalue_conversion. | |
2146 | * decl.c, expr.c, inout.c, loop.c, parse.c, tasking.c, timing.c, | |
2147 | typeck.c: Update accordingly. | |
2148 | * typeck.c (valid_array_index_p): We only need to save_expr (index) | |
2149 | if we're range-checking. | |
2150 | * typeck.c (unsigned_type, signed_type, signed_or_unsigned_type, | |
2151 | mark_addressable, initializer_constant_valid_p, check_case_value, | |
2152 | type_for_size, type_for_mode): New functions, copied from | |
2153 | ../c-common.c and ../c-typeck.c. | |
2154 | ||
2155 | * lang.c (incomplete_type_error): New. (Was in c-common.o.) | |
2156 | * decl.c (constant_expression_warning): New. (Was in c-common.o.) | |
2157 | ||
2158 | * lang.c (string_index_type_dummy): Remove definition from here. | |
2159 | * tree.c (string_index_type_dummy): Define here instead. | |
2160 | * lang.c (lang_init): Move init of string_index_type_dummy | |
2161 | (which is too late) from here ... | |
2162 | * decl.c (init_decl_processing): ... to here. | |
2163 | ||
2164 | * decl.c (signed_boolean_type_node): New variable. | |
2165 | (init_decl_processing): Initialize it. | |
2166 | ||
2167 | * parse.c: Comment out ASM action support, for now. | |
2168 | ||
2169 | * loop.c (maybe_skip_loop): Make return void, not int. | |
2170 | Use build_compare_discrete_expr. | |
2171 | (increment_temps): Use chill_expand_assignment. | |
2172 | ||
2173 | Thu Mar 30 23:28:28 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2174 | ||
2175 | * decl.c (do_decl): If default-initializing variable-length | |
2176 | string to "" (or []), make it lifetime_bound. | |
2177 | ||
2178 | Thu Mar 30 02:51:59 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
2179 | ||
2180 | * parse.h, hash.h, gperf: New compiler directives | |
2181 | EMPTY_ON and EMPTY_OFF. | |
2182 | ||
2183 | * lex.c: New variables empty_checking and runtime_checking_flag. | |
2184 | (ch_lex_init): Initialize empty_checking and range_checking | |
2185 | when switching from pass 1 to 2. | |
2186 | (read_directive): Add processing of EMPTY_OFF/ON. | |
2187 | ||
2188 | * expr.c (build_chill_indirect_ref): New argument do_empty_check | |
2189 | to indicate if null pointer checking should be done or not. | |
2190 | It's not always necessary to do a null pointer check. | |
2191 | ||
2192 | * decl.c (lookup_name): Add argument to call to | |
2193 | build_chill_indirect_ref. | |
2194 | (shadow_record_fields): ... | |
2195 | * parse.c (parse_primval): ... | |
2196 | * tasking.c (build_process_wrapper): ... | |
2197 | (build_receive_buffer_case_label): ... | |
2198 | ||
2199 | * ch-tree.h: Change prototype of build_chill_indirect_ref. | |
2200 | Add declaration of runtime_checking_flag and empty_checking. | |
2201 | ||
2202 | * actions.c (check_non_null): Do null pointer checking only | |
2203 | when enabled (empty_checking != 0). | |
2204 | ||
2205 | Wed Mar 29 15:18:23 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2206 | ||
2207 | * actions.c (chill_expand_assignment): Add 'else' so we don't do | |
2208 | regular assignment in addition to spacial assignment (e.g. for slices). | |
2209 | ||
2210 | * ch-tree.h (convert_to_discrete): Add declaration. | |
2211 | * typeck.c (convert_to_discrete): New function. | |
2212 | (valid_array_index_p): Use convert_to_discrete. Also simplify. | |
2213 | (build_chill_slice): Say sorry if variable-length bitstring. | |
2214 | (build_chill_slice_with_length): Re-do bounds check. | |
2215 | * expr.c (check_case_selector): Re-write to use convert_to_discrete. | |
2216 | (build_chill_num, build_chill_pred_or_succ): Use convert_to_discrete. | |
2217 | ||
2218 | * decl.c (do_decl): Don't do redundant chill_convert_for_assignment. | |
2219 | ||
2220 | Wed Mar 29 00:00:29 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
2221 | ||
2222 | * expr.c (build_chill_num): need_unsigned have to be set for | |
2223 | characyer strings of length 1 too. Happens when compiling | |
2224 | with -fold-strings and do NUM(a(i)). | |
2225 | ||
2226 | * parse.c (parse_loc_declaration): Print error message only | |
2227 | in pass 1. | |
2228 | (parse_mode): Likewise ... | |
2229 | ||
2230 | * tasking.c (build_tasking_message_type): Temporarily reset | |
2231 | maximum_field_alignment to get proper aligned temp. variables | |
2232 | gets passed to runtime system. | |
2233 | ||
2234 | Tue Mar 28 00:08:06 1995 Per Bothner <bothner@cygnus.com> | |
2235 | ||
2236 | * typeck.c (my_build_array-ref): Merged into build_chill_array_ref_1. | |
2237 | But don't convert index to integer_type_node. And we don't need to | |
2238 | check the we're given an array. | |
2239 | * typeck.c (valid_array_index_p): If flag_old_strings, convert | |
2240 | chars(1) to char and bools(1) to bool before index checking. | |
2241 | ||
2242 | Sun Mar 26 22:42:39 1995 Per Bothner <bothner@cygnus.com> | |
2243 | ||
2244 | * ch-tree.h (struct module): Added next module field. | |
2245 | * decl.c (first_mdoule, next_module): New global variables. | |
2246 | (switch_to_pass_2): Re-initialize next_module. | |
2247 | (push_module): In pass 2, reuse the same module objects from pass 1. | |
2248 | ||
2249 | * decl.c (declare_predefined_file): Set DECL_IN_SYSTEM_HEADER. | |
2250 | ||
2251 | * typeck.c (valid_array_index_p): Do range check on original index, | |
2252 | before we convert to domain type. | |
2253 | ||
2254 | Fri Mar 24 11:43:39 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2255 | ||
2256 | * parse.c (parse_fixed_field): New function. | |
2257 | (parse_variant_field_list): New function replaces parse_simple_fields. | |
2258 | (parse_variant_alternative, parse_field): Update to use new functions. | |
2259 | (parse_field): Error message if neither CASE nor NAME. | |
2260 | ||
2261 | * actions.c (check_non_null): New function - checks for NULL pointers. | |
2262 | * ch-tree.h (check_non_null): New declaration. | |
2263 | * tasking.c (expand_send_signal): Call check_non_null. | |
2264 | * expr.c (build_chill_indirect_ref, build_chill_function_call): Same. | |
2265 | * lex.h (enum rid): Add RID_EMPTY. | |
2266 | * lex.c (init_lex): Initialize ridpointers[RID_EMPTY]. | |
2267 | ||
2268 | * lex.c (read_directive): Remove 2 calls of to_global_binding_level | |
2269 | ||
2270 | Wed Mar 22 16:36:46 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2271 | ||
2272 | * tasking.c (tasking_list): Change to chain of TREE_VEcs, rather than | |
2273 | chain of (nested) TREE_LIST nodes. | |
2274 | (TASK_INFO_PDECL, TASK_INFO_ENTRY, TASK_INFO_CODE_DECL, | |
2275 | TASK_INFO_STUFF_NUM, TASK_INFO_STUFF_TYPE): New macros. | |
2276 | (tasking_setup, tasking_registry, add_taskstuff_to_list): Use them. | |
2277 | ||
2278 | * ch-tree.h (C_TYPE_FIELDS_READONLY): Rename to TYPE_FIELDS_READONLY. | |
2279 | (TYPE_READONLY_PROPERTY): New macro, to match Z.200 concept. | |
2280 | * typeck.c (build_chill_modify_expr): Don't check for read-only-ness, | |
2281 | since it is redundant for chill_expand_assignment and breaks | |
2282 | reach-bound initialization in do_decl. | |
2283 | (my_build_array_ref): Simplify by using TYPE_READONLY_PROPERTY. | |
2284 | (layout_chill_array_type): Set TYPE_FIELDS_READONLY if appropriate. | |
2285 | * actions.c (chill_expand_assignment): Check TYPE_READONLY_PROPERTY | |
2286 | instead of TREE_READONLY of the target's type. | |
2287 | * expr.c (build_chill_function_call): Likewise. | |
2288 | * inout.c (build_chill_readtext): Likewise. | |
2289 | * decl.c (do_decl): Likewise, to check if init is required. | |
2290 | ||
2291 | * typeck.c (build_chill_bitref): Removed unused RANGE_EXPR hack. | |
2292 | ||
2293 | Wed Mar 22 07:52:52 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
2294 | ||
2295 | * tasking.c (build_start_process): Get a unique identifier for | |
2296 | the start arguments. | |
2297 | ||
2298 | Tue Mar 21 07:36:40 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
2299 | ||
2300 | * expr.c (fold_set_expr): At label build_result: Add setting unused | |
2301 | bits to 0. This is the same as the runtime library does. | |
2302 | ||
2303 | * parse.c (expect): Function returns now int, 0, if the expected | |
2304 | token was not got, 1 when it was found. | |
2305 | (parse_synonym_definition): In case of syntax error (missing =), | |
2306 | set expr to NULL_TREE and mode to error_mark to avoid subsequent | |
2307 | segfaults. | |
2308 | ||
2309 | * chill.texi: Add chapter about differences to Z.200/1988. | |
2310 | ||
2311 | Mon Mar 20 18:01:11 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2312 | ||
2313 | * lang.c (chill_print_error_function): New function, to report | |
2314 | module name if not inside a function. | |
2315 | (lang_init): Set print_error_function to chill_print_error_function. | |
2316 | ||
2317 | * tasking.c (max_queue_size, buffer_element_mode): Cleanup | |
2318 | to remove unreachable code. | |
2319 | ||
2320 | * grant.c (chill_finish_compile): Avoid doing a lookup_name | |
2321 | to find init function (which got broken by recent nesting re-org). | |
2322 | ||
2323 | * decl.c (poplevel): Push and pop function context around | |
2324 | call to output_inline_function (as done for C and C++). | |
2325 | ||
2326 | Thu Mar 16 17:56:07 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2327 | ||
2328 | * parse.c (parse_pass_1_2): If unknown top-level token, skip pass 2. | |
2329 | ||
2330 | Wed Mar 8 13:54:33 1995 Doug Evans <dje@canuck.cygnus.com> | |
2331 | ||
2332 | * Make-lang.in (chill-runtime): Temporarily disable building of | |
2333 | runtime libraries for cross compilers. | |
2334 | ||
2335 | Mon Mar 6 23:36:19 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2336 | ||
2337 | * parse.c, decl.c: Remove use of FUNCTION_NEEDS_STATIC_CHAIN. | |
2338 | ||
2339 | * configure: Merge in tolerance for new flags (e.g. --x-libraries). | |
2340 | ||
2341 | Sat Mar 4 15:47:35 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2342 | ||
2343 | * expr.c (build_chill_arrow_expr): Error if pass == 1. | |
2344 | ||
2345 | Thu Mar 2 19:28:07 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2346 | ||
2347 | * decl.c (do_decl): Setting seen_action must be done in pass 1. | |
2348 | (save_decl): Don't set DECL_CONTEXT to global_function_decl. | |
2349 | (start_chill_function): Simplify due to above change. | |
2350 | ||
2351 | * parse.c (parse_case_label): Hack to distinguish (ELSE) from (*). | |
2352 | * grant.c (decode_constant): Emit ELSE in case label. | |
2353 | ||
2354 | * parse.c (serious_errors): New global variable. | |
2355 | * parse.c (to_global_binding_level): Set serious_errors. | |
2356 | (parse_pass_1_2): Exit after pass 1 if serious_errors > 0. | |
2357 | * lex.c (readstring): Recover from unterminstaed control sequence. | |
2358 | ||
2359 | Tue Feb 28 17:08:08 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2360 | ||
2361 | Re-write of module-level actions. No longer generate a module | |
2362 | function for module-level actions. Instead, put them inside | |
2363 | a new global dummy function. Nest everything logically inside it. | |
2364 | ||
2365 | * lex.h, grant.c (chill_module_name): Removed declaration. | |
2366 | * grant.c (write_spec_module): Instead use current_module->name. | |
2367 | * grant.c (chill_start_module_code, chill_finish_module_code): | |
2368 | Removed. | |
2369 | * grant.c (chill_finish_compile): Make rtl for global function. | |
2370 | ||
2371 | * actions,c (push_action): Don't call chill_start_module_code. | |
2372 | * expr.c (build_chill_function_call, build_generalized_call): | |
2373 | Likewise. | |
2374 | * parse.c (INIT_ACTION): Likewise. | |
2375 | ||
2376 | * parse.c (seen_action): New variable. | |
2377 | * parse.c (end_function): Always call pop_chill_function_context. | |
2378 | (parse_procedure_definition): Always call push_chill_function_context. | |
2379 | (parse_modulion): Parse optional handler. | |
2380 | (parse_modulion, parse_spec_module): Do find_granted_decls. | |
2381 | (parse_action): Set seen_action if global and a real action. | |
2382 | ([arse_program): Call start_outer_function and finish_outer_function. | |
2383 | ||
2384 | * ch-tree.h: Appropriate updates. | |
2385 | ||
2386 | * tasking.c (generate_tasking_code_variable): Make it lifetime-bound. | |
2387 | (build_process_header): Always push_chill_function_context; | |
2388 | we are now always nested. | |
2389 | (build_process_wrapper): Always pop_chill_function_context. | |
2390 | ||
2391 | * tasking.c (build_start_process): Only expand_start_bindings and | |
2392 | expand_end_bindings if pass 2. | |
2393 | ||
2394 | * decl.c (global_function_decl): New variable. | |
2395 | (do_decl): Implement reach-bound initialization of static variables. | |
2396 | (start_chill_function): Set DECL_CONTEXT to NULL if | |
2397 | it would be global_function_decl (so as to not confuse gcc backend). | |
2398 | (start_chill_function, finish_chill_function): If compiling | |
2399 | global_function_decl in pass 2 and !seen_action, suppress it. | |
2400 | (set_module_name): New function. | |
2401 | (global_bindings_p): Re-defined to check against global_function_decl. | |
2402 | (start_outer_function, finish_outer_function): New functions. | |
2403 | ||
2404 | Tue Feb 28 16:00:03 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2405 | ||
2406 | * typeck.c (build_chill_modify_expr): Inline logic from | |
2407 | chill_expand_array_assignment, | |
2408 | * actions.c (chill_expand_array_assignment): Removed. | |
2409 | (chill_expand_assignment): Remove call to removed function. | |
2410 | ||
2411 | * lex.c (reinit_parse_for_function): Removed empty unused function. | |
2412 | * decl.c (start_chill_function): Don't call removed function. | |
2413 | ||
2414 | Tue Feb 28 00:29:51 1995 Per Bothner <bothner@cygnus.com> | |
2415 | ||
2416 | * configure: Merge in code for calculating host, build, and | |
2417 | target and canon_{host,build,target} from ../configure. | |
2418 | Fix calculation of mainsrcdir. Host canon_* variables | |
2419 | to merge in build-make (as in ../configure). | |
2420 | ||
2421 | Sun Feb 26 18:59:02 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2422 | ||
2423 | * typeck.c (expand_constant_to_buffer): Use new function | |
2424 | get_set_constructor_bytes. | |
2425 | ||
2426 | Tue Feb 21 01:41:56 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
2427 | ||
2428 | * inout.c (build_chill_writetext): Add processing of | |
2429 | conditional expressions in argument list. | |
2430 | ||
2431 | * parse.c (parse_opt_name_string): Print error message only | |
2432 | in pass 1. | |
2433 | ||
2434 | * chill.texi: Add chapter about compiler directives. | |
2435 | ||
2436 | Tue Feb 14 16:45:19 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2437 | ||
2438 | * decl.c (start_chill_function): Set FUNCTION_NEEDS_STATIC_CHAIN | |
2439 | unless nested. | |
2440 | ||
2441 | * decl.c (decl_temp1): Make lifetime_bound iff static. | |
2442 | ||
2443 | Fri Feb 3 04:30:28 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
2444 | ||
2445 | * grant.c (really_grant_this, search_in_list): New static | |
2446 | functions to determine if a decl should be written to | |
2447 | grant file. | |
2448 | (write_spec_module): Add call to really_grant_this. | |
2449 | ||
2450 | Fri Jan 27 00:06:12 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
2451 | ||
2452 | * actions.c (check_expression): Apply Per's patch. | |
2453 | (chill_expand_result): New argument to indicate if we come | |
2454 | from a RETURN or RESULT action. Change various error messages. | |
2455 | ||
2456 | * ch-tree.h: New macro CH_USE_SEIZEFILE_RESTRICTED. | |
2457 | New argument for chill_expand_result. | |
2458 | ||
2459 | * chill.in: In case of -fgrant-only, clear library, libpath and | |
2460 | startfile to avoid warnings from gcc. | |
2461 | ||
2462 | * gperf, hash.h: New compiler directive USE_SEIZE_FILE_RESTRICTED. | |
2463 | ||
2464 | * parse.h (enum terminal): Add USE_SEIZE_FILE_RESTRICTED. | |
2465 | ||
2466 | * grant.c (decode_decl): Don't write USE_SEIZE_FILE directive | |
2467 | and subsequent SEIZEs to grant file, if the seize file is | |
2468 | used restricted. | |
2469 | ||
2470 | * lex.c (read_directive): Process new compiler directive | |
2471 | USE_SEIZE_FILE_RESTRICTED. | |
2472 | (handle_use_seizefile_directive): Same as above. | |
2473 | (yywrap): Don't write USE_SEIZE_FILE directive to grant file | |
2474 | if this seize file is used restricted. | |
2475 | ||
2476 | * parse.c (parse_action, case RETURN): Change RETURN expr action | |
2477 | to RESULT expr; RETURN. This enables range checking and | |
2478 | exception delivery in case of rangefail. | |
2479 | ||
2480 | Tue Jan 17 07:38:27 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
2481 | ||
2482 | * decl.c (init_decl_processing): Add definition of | |
2483 | library function __inbitstring (see expr.c). | |
2484 | ||
2485 | * expr.c (chill_expand_expr case SET_IN_EXPR): Call function | |
2486 | __inpowerset fir POWERSET's and function __inbitstring for | |
2487 | BITSTRING's. In case of POWERSET's we must not do a rangecheck, | |
2488 | in case of BITSTRING's we have to do one. | |
2489 | (build_compare_expr): Fix typo CH_DERIVED_FLAG (tmp); (warning | |
2490 | statement with no effect). | |
2491 | ||
2492 | Fri Jan 13 13:35:30 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2493 | ||
2494 | * actions.c (check_expression): Simplify result. | |
2495 | ||
2496 | * ch-tree.h (SET_CH_NOVELTY_NONNIL): New macro. | |
2497 | * expr.c, timing.c, typeck.c: Use SET_CH_NOVELTY_NONNIL. | |
2498 | ||
2499 | * typeck.c (valid_array_index_p), ch-tree.h: Change interface | |
2500 | to return modified index expression. Call error if out-of-range. | |
2501 | * actions.c, typeck.c: Modify | |
2502 | for new valid_array_index_p interface. | |
2503 | ||
2504 | * actions.c (build_chill_slice): Copy novelty of index type. | |
2505 | ||
2506 | Fri Jan 13 13:04:41 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2507 | ||
2508 | * convert.c (digest_array_tuple): Allow mode name in array | |
2509 | tuple label. Print error message instead of aborting. | |
2510 | ||
2511 | * parse.c (parse_body): Error message only if pass 1. | |
2512 | ||
2513 | * decl.c (check_identifier), ch-tree.h: Remove. Unused. | |
2514 | ||
2515 | Wed Jan 11 14:03:47 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2516 | ||
2517 | * parse.c (parse_modulion): Undo yesterday's change (to allow | |
2518 | an ON-handler to follow) until we re-implement module. | |
2519 | ||
2520 | Tue Jan 10 17:23:55 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2521 | ||
2522 | * loop.c (declare_temps): Remove bogus prohibition against | |
2523 | iterating over BOOL arrays. | |
2524 | ||
2525 | * parse.c (parse_semi_colon): Make it a pedwarn (instead of an | |
2526 | error) if a semi-colon is missing before an END. | |
2527 | (parse_action): Likewise. | |
2528 | * parse.c (parse_modulion): Allow an ON-handler to follow. | |
2529 | ||
2530 | * parse.c (parse_set_mode): Use parse_expression to get | |
2531 | values for number set elements. | |
2532 | ||
2533 | * expr.c (build_compare_expr): Make sure result has | |
2534 | CH_DERIVED_FLAG set, since it is supposed to be BOOL-derived. | |
2535 | (finish_chill_binary_op): Likewise for IN_EXPR. | |
2536 | ||
2537 | Tue Jan 10 04:46:42 1995 Wilfried Moser <moser@rtl.cygnus.com> | |
2538 | ||
2539 | * actions.c (lookup_and_expand_goto, lookup_and_handle_exit): Add | |
2540 | checking the argument. | |
2541 | (chill_expand_assignment): Take care of a newmoded dst_offset | |
2542 | when calling __pscpy and a newmoded from_pos when calling | |
2543 | __setpowersetbits. | |
2544 | ||
2545 | * expr.c (chill_expand_expr): When calling __psslice take care | |
2546 | of a newmoded min_value. | |
2547 | ||
2548 | * parse.c (parse_name_string): Print error message only in | |
2549 | pass 1. | |
2550 | ||
2551 | Tue Jan 3 19:56:36 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2552 | ||
2553 | * typeck.c (build_chill_array_ref_1): Use varying_to_slice | |
2554 | instead of building a VRAY_ARRAY_REF node. | |
2555 | * ch-tree.def (VARY_ARRAY_REF): Removed. | |
2556 | * actions.c (chill_expand_assignment): Will never call | |
2557 | expand_assignment_to_varying_array for a VARY_ARRAY_REF, so don't. | |
2558 | (expand_assignment_to_varying_array): Removed. | |
2559 | * convert.c (convert): Remove unneeded VARY_ARRAY_REF support. | |
2560 | * expr.c (chill_expand_expr): Likewise. | |
2561 | ||
2562 | Tue Jan 3 19:50:18 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2563 | ||
2564 | * parse.c (parse_iteration): Set step_value to NULL if missing. | |
2565 | * loop.c (ITER_TYPE): Remove DO_RANGE. | |
2566 | (build_loop_iterator): Implement old DO_RANGE in terms of DO_STEP. | |
2567 | (begin_loop_scope): Don't return on error. | |
2568 | (build_loop_iterator): Calculate loop variable type using | |
2569 | resulting classes (as in Z200), rather than precision. | |
2570 | ||
2571 | * loop.c (initialzie_iter_var, bottom_loop_end_check): For DO_STEP, | |
2572 | make iter_var one less to avoid overflow. | |
2573 | * loop.c (build_loop_iterator): If !flag_local_loop_counter, | |
2574 | declare a new variable if needed, as allowed by Z200 (1984). | |
2575 | ||
2576 | * ch-tree.h (ch_class): Add typedef. | |
2577 | ||
2578 | * typeck.c (chill_resulting_class): New function. | |
2579 | (chill_root_resulting_class): Remove. | |
2580 | * ch-tree.h (CH_RESULTING_CLASS): New macro. | |
2581 | (CH_ROOT_RESULTING_CLASS): Re-implement using CH_RESULTING_CLASS. | |
2582 | ||
2583 | Tue Jan 3 19:36:27 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2584 | ||
2585 | * actions.c (build_cause_exception, expand_cause_exception), ch-tree.h: | |
2586 | Change interface to take IDENTIFIER tree node, rather char char*. | |
2587 | (check_expression): Change (simplify) callers appropriately. | |
2588 | * parse.c (parse_action), typeck.c (valid_array_index_p): Likewise. | |
2589 | * lex.h (enum rid): Add RID_ASSERTFAIL. | |
2590 | * lex.c (init_lex): Enter RID_ASSERTFAIL. | |
2591 | * parse.c (parse_action case ASSERT): Fix thinko TRUTH_ANDIF_EXPR | |
2592 | to TRUTH_ORIF_EXPR. Use RID_ASSERTFAIL. | |
2593 | ||
2594 | * typeck.c (discrete_type_p): Re-implement using INTEGRAL_TYPE_P. | |
2595 | ||
2596 | Tue Jan 3 19:20:35 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2597 | ||
2598 | Move checking for modeless tuples in invalid contexts from parser | |
2599 | to semantic function check_have_mode (for better error recovery): | |
2600 | * expr.c (check_have_mode), ch-tree.h: New function. | |
2601 | * satisfy.c (safe_satisfy_decl): Use check_have_mode. | |
2602 | * expr.c (build_compare_expr, finish_chill_binary_op, | |
2603 | finish_chill_unary_op): Likewise. | |
2604 | * parse.c (parse_primval): Don't complain about mode-less tuple here. | |
2605 | ||
2606 | Tue Jan 3 17:36:48 1995 Per Bothner <bothner@kalessin.cygnus.com> | |
2607 | ||
2608 | * expr.c (varying_to_slice): Support varying arrays whose | |
2609 | lower bound is non-zero. | |
2610 | ||
2611 | * parse.c (parse_body): Allow (with warning) definition to | |
2612 | follow action. | |
2613 | ||
2614 | * expr.c (check_case_selector), ch-tree.h: New function. | |
2615 | (chill_expand_case_expr): Use it. | |
2616 | * parse.c (parse_case_action): Likewise. | |
2617 | ||
2618 | Fri Dec 23 00:47:54 1994 Wilfried Moser <moser@rtl.cygnus.com> | |
2619 | ||
2620 | * actions.c (chill_expand_return): Change error message. | |
2621 | ||
2622 | * ch-tree.h: Change prototypes of do_decl and do_decls. | |
2623 | ||
2624 | * convert.c (convert): Add missing initialisation of | |
2625 | variable orig_e_constant. | |
2626 | ||
2627 | * decl.c: Change all calls to do_decl. | |
2628 | (maybe_static): New function to process the ALL_STATIC_ON/OFF | |
2629 | compiler directives. | |
2630 | (do_decls): New argument. | |
2631 | (do_decl): New argument and process reachbound and lifetime | |
2632 | bound initialisation. | |
2633 | ||
2634 | * gperf, hash.h: Add compiler directives ALL_STATIC_ON and | |
2635 | ALL_STATIC_OFF. | |
2636 | ||
2637 | * grant.c: Change all calls to do_decl. | |
2638 | ||
2639 | * lex.c (read_directive): Process ALL_STATIC_ON/OFF compiler | |
2640 | directive. | |
2641 | ||
2642 | * parse.c (parse_loc_declaration): Pass lifetime_bound flag to | |
2643 | do_decls. | |
2644 | ||
2645 | * parse.h (enum terminal): Add ALL_STATIC_ON and ALL_STATIC_OFF. | |
2646 | ||
2647 | * tasking.c: Change all calls to do_decl. | |
2648 | ||
2649 | Mon Dec 19 23:13:58 1994 Wilfried Moser <moser@rtl.cygnus.com> | |
2650 | ||
2651 | * parse.c (parse_procedure_definition): Save chill_at_module_level | |
2652 | flag, set ot to 0 and restore it at the end of function. | |
2653 | A sequence BEGIN x: PROC () RETURN; END x; END; at module level | |
2654 | have produced an error. | |
2655 | ||
2656 | * expr.c (build_chill_repetition_op): Fix typo in error message. | |
2657 | ||
2658 | Tue Dec 13 12:26:38 1994 Per Bothner <bothner@kalessin.cygnus.com> | |
2659 | ||
2660 | * actions.c (expand_assignment_to_varying_array): Fix thinko: | |
2661 | build_chill_array_ref -> build_chill_array_ref_1. | |
2662 | ||
2663 | Sun Dec 11 23:04:27 1994 Per Bothner <bothner@rtl.cygnus.com> | |
2664 | ||
2665 | * actions.c (chill_expand_assignment): Simplify the lhs if it is | |
2666 | a COMPOUND_EXPR, so we can better handle SLICE_EXPR in lhs. | |
2667 | ||
2668 | Thu Dec 8 13:45:38 1994 Per Bothner <bothner@kalessin.cygnus.com> | |
2669 | ||
2670 | * loop.c, ch-tree.h (build_loop_iterator): Fix to return void. | |
2671 | If start_exp is ERROR_MARK, return. | |
2672 | * expr.c (build_generalized_call): More robust on syntax errors. | |
2673 | ||
2674 | Tue Dec 6 02:33:23 1994 Wilfried Moser <moser@rtl.cygnus.com> | |
2675 | ||
2676 | * inout.c (build_chill_readtext): In case of reading a SET mode | |
2677 | pass ignore_case flag to runtime library. | |
2678 | ||
2679 | Tue Nov 29 14:41:38 1994 Per Bothner <bothner@kalessin.cygnus.com> | |
2680 | ||
2681 | * parse.c (parse_receive_case_action): Print error only if pass==1. | |
2682 | * decl.c (push_scope_decls): Use error_with_file_and_line | |
2683 | to get correct line number of SEIZE. | |
2684 | ||
2685 | Mon Nov 28 16:59:18 1994 Per Bothner <bothner@kalessin.cygnus.com> | |
2686 | ||
2687 | * expr.c (resolve_component_ref): Call fold on result. | |
2688 | ||
2689 | * expr.c (resolve_component_ref): Use check_expression. | |
2690 | * actions.c (chill_convert_for_assignment): Likewise. | |
2691 | * actions.c (cond_exception), ch-tree.h: Removed. | |
2692 | * actions.c (check_expression): First part of COMPOUND_EXPR | |
2693 | should be boolean_type_node; void_type_node loses in SAVE_EXPRs. | |
2694 | ||
2695 | * actions.c (chill_convert_for_assignment): | |
2696 | Check string_assignment_condition for varying strings too. | |
2697 | ||
2698 | * typeck.c (build_chill_cast): If the types have different sizes, | |
2699 | don't allow nondiscrete->discrete conversion, and only allow | |
2700 | discrete->nondiscrete if input expression is constant. | |
2701 | ||
2702 | * typeck.c (chill_similar): Don't use losing array_type_nelts. | |
2703 | ||
2704 | * ch-tree.h (ELSE_VARIANT_NAME): New. | |
2705 | * convert.c, decl.c, grant.c: Use ELSE_VARIANT_NAME. | |
2706 | * decl.c (handle_one_level): Recurse on ELSE_VARIANT_NAME too. | |
2707 | ||
2708 | Reduce dependencies on ../c-typeck.c: | |
2709 | * expr.c: Fix c_expand_start_case -> expand_start_case. | |
2710 | Fix c_expand_expr_stmt -> expand_expr_stmt. | |
2711 | (build_chill_indirect_ref): Call convert instead of build_c_cast. | |
2712 | * loop.c (bottom_loop_end_check): Don't use build_modify_statement. | |
2713 | * expr.c, except.c, typeck.c: Don't call default_conversion. | |
2714 | * typeck.c (string_assignment_condition): Fix build_component_ref -> | |
2715 | build_chill_component_ref. | |
2716 | * decl.c: Fix build_indirect_ref -> build_chill_indirect_ref (twice). | |
2717 | * decl.c: Don't set unused constructor_no_implicit (from c-typeck.c). | |
2718 | * decl.c: Don't call declare_function_name. | |
2719 | ||
2720 | * parse.c: Don't always keep a valid token in terminal_buffer[0]. | |
2721 | The extra look-ahead may have made the parser faster, but caused | |
2722 | some problems synchronizing with the lexer. Specifically: | |
2723 | (PEEK_TOKEN): Now calls an optimized variant of peek_token_(0). | |
2724 | (next_token_): Don't call peek_token_. Renamed to forward_token_. | |
2725 | (NEXT_TOKEN): Renamed to FORWARD_TOKEN. | |
2726 | (parse_program): Don't call yylex yet. | |
2727 | ||
2728 | * parse.c (parse_action): Re-do case ASSERT. | |
2729 | Fix c_expand_expr_stmt -> expand_expr_stmt. | |
2730 | ||
2731 | * lex.l: Re-written to not use [f]lex, and renamed to ... | |
2732 | * lex.c: ... new lexer. | |
2733 | * Makefile.in, Make-lang.in: Remove [f]lex crud. | |
2734 | ||
2735 | * lex.h (enum rid), lex.c (init_lex): Added RID_ELSE. | |
2736 | ||
2737 | Tue Nov 22 15:19:03 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
2738 | ||
2739 | * Make-lang.in: Let chill-runtime depend on $(GCC_PASSES). | |
2740 | ||
2741 | Fri Nov 18 14:27:32 1994 Per Bothner <bothner@kalessin.cygnus.com> | |
2742 | ||
2743 | * parse.c (parse_structure_node): Simpler, and more robust. | |
2744 | ||
2745 | Wed Nov 16 14:40:52 1994 Ian Lance Taylor (ian@cygnus.com) | |
2746 | ||
2747 | * lex.l (convert_bitstring): Check BITS_BIG_ENDIAN at run time, | |
2748 | not at compile time. | |
2749 | * typeck.c (expand_constant_to_buffer): Likewise. | |
2750 | extract_constant_from_buffer): Likewise. | |
2751 | ||
2752 | Tue Nov 15 14:41:53 1994 Per Bothner <bothner@kalessin.cygnus.com> | |
2753 | ||
2754 | * convert.c (convert): Call build_chill_range_type rather than | |
2755 | build_index_2_type (which has obstack and canonicalization problems). | |
2756 | * expr.c (build_chill_pred_or_succ): Convert expr to root class | |
2757 | before arithmetic. | |
2758 | * loop.c (declare_temps): If location iterated over is not | |
2759 | a location, make a temporary variable for it. | |
2760 | ||
2761 | Mon Nov 14 16:33:47 1994 Per Bothner <bothner@kalessin.cygnus.com> | |
2762 | ||
2763 | * typeck.c, ch-tree.h (chill_equivalent): Change to return | |
2764 | a tree (a Boolean expression). Also, add some missing tests. | |
2765 | * ch-tree.h (CH_EQUIVALENT): Modify accordingly. | |
2766 | ||
2767 | * expr.c (chill_expand_expr case CONCAT_EXPR): When the 2nd operand | |
2768 | is an UNDEFINED_EXPR, handle mode-mismatch with whole expr. | |
2769 | Also, replace MEM (which is not a mode) by Pmode. | |
2770 | ||
2771 | * ch-tree.h, typeck.c (chill_comptypes): Removed. | |
2772 | * convert.c (convert): Remove calls to chill_comptypes. | |
2773 | ||
2774 | Fri Nov 11 13:06:29 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
2775 | ||
2776 | * grant.c (write_grant_file): Call pfatal_with_name instead | |
2777 | of abort when something goes wrong when opening or writing | |
2778 | the grant file. | |
2779 | unlink grant file if something goes wrong during writing | |
2780 | (i.e. device full). | |
2781 | ||
2782 | * Make-lang.in (CHILL_SRCS): Add timing.c | |
2783 | ||
2784 | * ch-tree.h: Add prototype for chill_tasking_type_node. | |
2785 | * lex.l (equal_number): Use chill_tasking_type_node instead of | |
2786 | integer_type_node for converting the result. | |
2787 | Print error messages in pass 2, in pass 1 no error will be | |
2788 | detected. | |
2789 | * tasking.c: New variable chill_tasking_type_node for all | |
2790 | generated tasking related variables. | |
2791 | Use chill_tasking_type_node instead of chill_unsigned_type_node. | |
2792 | ||
2793 | * expr.c (chill_expand_expr): Apply Per's change. | |
2794 | ||
2795 | * expr.c (build_chill_sizeof): In case of error just | |
2796 | return error_makr_node. | |
2797 | Set CH_DERIVED_FLAG at the result. | |
2798 | ||
2799 | * timing.c (build_after_timeout_start): Clear the the timeout | |
2800 | level to know if we are in the action part of AFTER statement | |
2801 | or in the TIMEOUT part. | |
2802 | ||
2803 | * typeck.c (build_chill_slice_with_length): Convert the class | |
2804 | of the result to class of first value in expression. | |
2805 | ||
2806 | * inout.c (build_chill_writetext, build_chill_readtext): Use stack | |
2807 | temporary variables for the iolist so that they can get reused in | |
2808 | subsequent calls. Emit code immediately instead of building a | |
2809 | compound expr. | |
2810 | ||
2811 | Fri Nov 4 12:00:54 1994 Per Bothner <bothner@kalessin.cygnus.com> | |
2812 | ||
2813 | * expr.c (build_chill_function_call): Don't set TREE_TYPE | |
2814 | of assignment to void_type_node - it confuses save_expr. | |
2815 | * decl.c (init_decl_processing): Removed unused code. | |
2816 | * parse.c: Changes to avoid warnings. | |
2817 | ||
2818 | * grant.c (chill_finish_module_code): Minor simplification. | |
2819 | * lex.l (readstring): Set *len to 1 on error. | |
2820 | ||
2821 | Thu Nov 3 01:05:17 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
2822 | ||
2823 | * grant.c (decode_decl): Add granting of BASED declarations. | |
2824 | ||
2825 | Wed Nov 2 12:14:31 1994 Per Bothner <bothner@kalessin.cygnus.com> | |
2826 | ||
2827 | * expr.c (build_chill_lower_or_upper): Take more care to | |
2828 | ensure result has the right class. | |
2829 | (build_chill_pred_or_succ): Be more careful to get the right | |
2830 | resulting class, and check bounds using *root* mode. | |
2831 | ||
2832 | * typeck.c (build_chill_slice_with_range): Check that array | |
2833 | really is an array or string. | |
2834 | (build_chill_slice_with_length): Likewise. | |
2835 | ||
2836 | * typeck.c (extract_constant_from_buffer): Fix calculation of | |
2837 | SET_TYPE size. (Cannot depend on 1-byte TYPE_PRECISION field.) | |
2838 | ||
2839 | Wed Nov 2 05:33:03 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
2840 | ||
2841 | * Make-lang.in: Change version of compiler. | |
2842 | ||
2843 | * ch-tree.h: Add new prototypes. | |
2844 | ||
2845 | * decl.c (init_decl_processing): Remove timing related | |
2846 | initialisations. Add call to timing_init. | |
2847 | ||
2848 | * parse.c (parse_action): Process AFTER action. | |
2849 | ||
2850 | * tasking.c (build_receive_case_start, | |
2851 | build_receive_signal_case_label, build_receive_buffer_case_label, | |
2852 | build_delay_case_start, build_delay_action, expand_send_buffer): | |
2853 | Add processing of timesupervision. | |
2854 | (tasking_init): Change definitions of runtime functions. | |
2855 | ||
2856 | * timing.c (timing_init): New function for initialisation of | |
2857 | timing related stuff. | |
2858 | (build_cycle_start, build_cycle_end): Changed due to | |
2859 | implementation of timesupervision. | |
2860 | (build_after_start, build_after_timeout_start, build_after_end): | |
2861 | Implement the AFTER action. | |
2862 | (build_timeout_preface, build_timesupervised_call): New functions | |
2863 | to handle timesupervision in case of blocking system calls (i.e. | |
2864 | SEND buffer action, RECEIVE CASE action etc.). | |
2865 | ||
2866 | Thu Oct 27 12:50:24 1994 Per Bothner <bothner@kalessin.cygnus.com> | |
2867 | ||
2868 | * expr.c (build_chill_repetition_op): Fix repeating all-zero | |
2869 | bitstring with orig_len!=1. Also, call build_boring_bitstring | |
2870 | if original string was all ones, using one range. Also: | |
2871 | Cannot use one-bit TYPE_PRECISION to get bitstring length. | |
2872 | ||
2873 | Tue Oct 25 14:11:07 1994 Per Bothner <bothner@kalessin.cygnus.com> | |
2874 | ||
2875 | * convert.c (convert): When converting BOOL constant to | |
2876 | bit-string, bit_one_node and bit_zero_node were switched. | |
2877 | * actions.c (chill_expand_assignment): Use force_addr_of, | |
2878 | not build_chill_addr_expr - latter yields bogus error. | |
2879 | ||
2880 | Fri Oct 21 14:26:52 1994 Per Bothner <bothner@kalessin.cygnus.com> | |
2881 | ||
2882 | * expr.c (build_chill_indirect_ref): Check for POINTER_TYPE (only) | |
2883 | after converting from REFERENCE_TYPE. | |
2884 | * expr.c (build_compare_expr): Convert to common mode *after* | |
2885 | we've checked compatibility. | |
2886 | ||
2887 | Fri Oct 21 02:29:15 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
2888 | ||
2889 | * lex.l (check_newline): Use getc instead of getlc to read | |
2890 | the filename in a # line name directive to avoid possibly | |
2891 | downcaseing of a filename. | |
2892 | ||
2893 | Thu Oct 20 05:37:17 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
2894 | ||
2895 | * expr.c (build_chill_indirect_ref): Add check for really | |
2896 | dereferencing a pointer. | |
2897 | ||
2898 | * convert.c (convert): Take care of TREE_CONSTANT of a | |
2899 | SYNONYM having mode ARRAY () VARYING something. | |
2900 | ||
2901 | Mon Oct 17 02:30:38 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
2902 | ||
2903 | * decl.c (init_decl_processing): Set CH_DERIVED_FLAG for | |
2904 | boolean_true_node and boolean_false_node. TRUE and FALSE have | |
2905 | the BOOL derived class. | |
2906 | ||
2907 | * expr.c (build_chill_num): Set CH_DERIVED_FLAG at the result | |
2908 | of NUM. NUM delivers the INT derived class. | |
2909 | ||
2910 | * grant.c (write_spec_module): Add writing of | |
2911 | <> USE_SEIZE_FILE "x.grt" <> | |
2912 | SEIZE ALL; | |
2913 | to generated grant file. | |
2914 | ||
2915 | Thu Oct 13 14:45:12 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
2916 | ||
2917 | * convert.c (convert_from_reference): Make non-static. | |
2918 | * ch-tree.h (convert_from_reference): Add prototype. | |
2919 | * parse.c (parse_name): If the decl is a REFERENCE_TYPE, just | |
2920 | call convert_from_reference - and not a full-scale convert. | |
2921 | ||
2922 | * convert.c (convert): Only call digest_array_tuple if ARRAY_TYPE. | |
2923 | * typeck.c (chill_expand_tuple): Print error if type is | |
2924 | neither array, struct, or powerset. | |
2925 | ||
2926 | * expr.c (chill_expand_expr cases CONCAT_EXPR, SET_*_EXPR, | |
2927 | UNDEFINED_EXPR): Call preserve_temp_slots for temp targets. | |
2928 | If target is not MEM, make temp (even if not REG) to simplify | |
2929 | - and don't copy original target to temp target first. (Not needed.) | |
2930 | ||
2931 | * lang.c (maybe_objc_comptypes): Just return -1. | |
2932 | ||
2933 | Wed Oct 12 12:24:20 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
2934 | ||
2935 | * tasking.c (tasking_setup): Fix breakage from previous check-in. | |
2936 | ||
2937 | Tue Oct 11 16:00:37 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
2938 | ||
2939 | * actions.c, convert.c, except.c, expr.c, inout.c, loop.c, tasking.c, | |
2940 | timing.c, typeck.c: Change build1 (ADDR_EXPR, ptr_type_node, XX) | |
2941 | to force_addr_of (XX). Add call to mark_addressable where needed | |
2942 | for other calls to build 1 (ADDR_EXPR, TYPE, XX). | |
2943 | ||
2944 | Thu Oct 6 06:36:28 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
2945 | ||
2946 | * inout.c (build_chill_writetext): Remove processing | |
2947 | of POWERSET's. | |
2948 | ||
2949 | Tue Oct 4 14:08:26 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
2950 | ||
2951 | * convert.c (convert): If flag_old_strings, support converting | |
2952 | CHARS(1) and BOOLS(1) to INT. | |
2953 | ||
2954 | Fri Sep 30 01:44:51 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
2955 | ||
2956 | * inout.c (build_chill_readtext): Add check for item is | |
2957 | referable and not READonly. Add processing of BITSTRINGs. | |
2958 | ||
2959 | Mon Sep 26 16:19:36 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
2960 | ||
2961 | * expr.c (build_chill_descr): Add missing call to mark_addressable. | |
2962 | * loop.c (toop_loop_end_check): Replace build1 (ADDR_EXPR ...) | |
2963 | with call to force_addr_of (which calls mark_addressable). | |
2964 | * expr.c (build_chill_descr, build_chill_inttime): Likewise. | |
2965 | * inout.c (build_chill_writetext): Likewise. | |
2966 | ||
2967 | Mon Sep 26 05:19:21 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
2968 | ||
2969 | * grant.c (print_struct): Move printing of VARYING from | |
2970 | here ... | |
2971 | * grant.c (grant_array_type): ... to here. | |
2972 | ||
2973 | Mon Sep 26 00:09:08 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
2974 | ||
2975 | * ch-tree.h (force_addr_of): New prototype. | |
2976 | * expr.c (force_addr_of): Call mark_addressable. Make non-static. | |
2977 | * inout.c (build_chill_writetext): Use force_addr_of. | |
2978 | ||
2979 | Sun Sep 25 23:41:59 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
2980 | ||
2981 | * except.c (push_handler), actions.h: Removed unused parameter. | |
2982 | * actions.c (push_action): Remove unused paramater. | |
2983 | * parse.c, actions.c: Remove no-longer-used parameter to | |
2984 | calls to push_handler and push_action. | |
2985 | ||
2986 | * decl.c (push_extern_process): Only build types in pass 1. | |
2987 | * tasking.c (build_process_header): Only build types in pass 1. | |
2988 | * tasking.c (build_start_process): Do pushdecl/popdecl etc | |
2989 | even after an error (to maintain consistency between passes). | |
2990 | ||
2991 | * convert.c (convert_to_boolean): Allow any integral input type. | |
2992 | ||
2993 | Sat Sep 24 22:47:54 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
2994 | ||
2995 | * typeck.c (extract_constant_from_buffer): Add (somewhat kludgey) | |
2996 | support for UNION_TYPE. (Patch from Wilfried.) | |
2997 | Also, reverse RECORD_TYPE constructor list. | |
2998 | ||
2999 | Fri Sep 23 19:06:39 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3000 | ||
3001 | * expr.c (build_concat_expr): Fix calculation of result_size. | |
3002 | ||
3003 | Wed Sep 21 00:54:21 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3004 | ||
3005 | Give up on trying to use the cleanup mechanism in stmt.c to | |
3006 | make sure the exception handler get unlinked on goto/exit/return. | |
3007 | Instead, do it ourselves. (Much simpler.) | |
3008 | * except.c, ch-tree.h (action_nesting_level): New global. | |
3009 | * ch-tree.h (DECL_ACTION_NESTING_LEVEL): New macro. | |
3010 | * decl.c (define_label): Set DECL_ACTION_NESTING_LEVEL. | |
3011 | * except.c (expand_goto_except_cleanup): New function. | |
3012 | (cleanup_chain): New variable. | |
3013 | (push_handler, pop_handler): Adjust action_nesting_level. | |
3014 | (emit_setup_handler): Push cleanup. | |
3015 | (chill_finish_on): Pop cleanup. | |
3016 | * actions.c (lookup_and_expand_goto, lookup_and_handle_exit): | |
3017 | Call expand_goto_except_cleanup. | |
3018 | * parse.c (parse_action): Before RETURN, call | |
3019 | expand_goto_except_cleanup. | |
3020 | ||
3021 | Mon Sep 19 00:59:54 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3022 | ||
3023 | * lex.l (equal_number): Make sure converted synonym | |
3024 | is on permanent obstack. | |
3025 | * typeck.c (extract_constant_from_buffer): Fix INTEGER_TYPE | |
3026 | loop to traverse in big-endian order. | |
3027 | ||
3028 | Sat Sep 17 20:48:37 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3029 | ||
3030 | * typeck.c (build_chill_cast): Call mark_addressable. | |
3031 | * expr.c (build_chill_function_call): Call mark_addressable. | |
3032 | ||
3033 | Thu Sep 15 23:47:01 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3034 | ||
3035 | * typeck.c (expand_constant_to_buffer): Fix an endian-ness | |
3036 | problem for INTEGER_CST. | |
3037 | (extract_constant_from_buffer): Likewise. | |
3038 | ||
3039 | Thu Sep 15 22:59:04 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3040 | ||
3041 | * decl.c (pushlevel): Do different things depending on | |
3042 | actual parameter. | |
3043 | * decl.c, parse.c, tasking.c: Change argument to to pushlevel to 1. | |
3044 | * actions.c (push_action): Take new parameter. | |
3045 | * except.c (push_handler): Likewise. | |
3046 | * parse.c: Change calls to push_action and push_handler. | |
3047 | * loop.c (begin_loop_scope): Always call expand_start_bindings. | |
3048 | * loop.c (end_loop_scope): Always call expand_end_bindings. | |
3049 | * except.c (emit_setup_handler): Add a cleanup to | |
3050 | unlink from exception stack if we return/exit/goto from here. | |
3051 | * loop.c (begin_loop_scope): Move pushlevel from here ... | |
3052 | * parse.c (parse_do_action): ... to here. | |
3053 | ||
3054 | Clean up do-decl interface (for decl_temp1). | |
3055 | * parse.c (parse_loc_declaration): If global_bindings_p (), | |
3056 | treat as static. | |
3057 | * decl.c (do_decl): Don't test global_bindings_p (). | |
3058 | ||
3059 | * decl.c (keep_next_level_flag, keep_next_if_subblocks): | |
3060 | Not used. Removed. | |
3061 | (struct scope::keep, scope::keep_if_subblocks): Likewise. | |
3062 | (keep_next_level): Likewise. | |
3063 | (kept_level_p, pushlevel, poplevel): Simplify. | |
3064 | ||
3065 | * decl.c (init_decl_processing): Don't call init_iterators. | |
3066 | * Makefile.in (C_OBJS): Don't get ../c-iterator.o - not needed. | |
3067 | ||
3068 | Thu Sep 15 05:54:11 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
3069 | ||
3070 | * lex.l (readstring): Add processing of control sequence | |
3071 | in character string literals. The granting mechanism writes | |
3072 | this to grant files. | |
3073 | ||
3074 | Tue Sep 13 06:19:42 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
3075 | ||
3076 | * expr.c (compare_records): In case of -fpack do always | |
3077 | a memcmp instead of comparing each field of the | |
3078 | structure. If the structure is a variant structure, | |
3079 | issue a warning. | |
3080 | ||
3081 | Mon Sep 12 13:15:09 1994 Per Bothner (bothner@cygnus.com) | |
3082 | ||
3083 | * grant.c (write_spec_module): Add cast, to avoid PCC warning. | |
3084 | * grant.c (header_template): Don't use ANSI-specific string | |
3085 | literal concatenation. | |
3086 | ||
3087 | Fri Sep 9 01:53:30 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
3088 | ||
3089 | * tasking.c (get_process_wrapper_name): New function. | |
3090 | (add_taskstuff_to_list): Add a new argument, which is | |
3091 | the entrypoint of a process. | |
3092 | (build_process_header): Change PROCESS arguments to be | |
3093 | like arguments of a function. There will be a wrapper | |
3094 | which is the real entry point for a PROCESS. This wrapper | |
3095 | is automatically build after a PROCESS definition and gets | |
3096 | as argument a pointer to a structure looking like the | |
3097 | arguments of the PROCESS. This wrapper will call the | |
3098 | PROCESS (see build_process_wrapper). | |
3099 | (build_process_wrapper): New function (see above). | |
3100 | (build_start_process): Change processing of arguments. | |
3101 | (tasking_setup): Add processing of a different entry point | |
3102 | in case of PROCESSes. | |
3103 | ||
3104 | * parse.c (parse_process_definition): Add call to | |
3105 | build_process_wrapper. | |
3106 | * parse.c (end_function): Remove the poplevel() call. | |
3107 | build_process_header no longer makes the corresponding | |
3108 | pushlevel(). | |
3109 | ||
3110 | * grant.c (print_proc_tail): Remove special processing | |
3111 | of PROCESSes, they look now like normal functions. | |
3112 | ||
3113 | * decl.c (init_decl_processing): Add declaration of memcmp | |
3114 | function. | |
3115 | ||
3116 | * ch-tree.h: Add new prototype for build_process_wrapper, | |
3117 | change prototypes for add_taskstuff_to_list and | |
3118 | build_process_header. | |
3119 | ||
3120 | * grant.c (write_spec_module): Write GNUCHILL and gcc | |
3121 | version into grant file. | |
3122 | ||
3123 | * Make-lang.in (CHILL_FLAGS_TO_PASS): Add passing of CC and | |
3124 | GNUCHILL_VERSION to ch/Makefile. | |
3125 | * Make-lang.in (CHILL.mostlyclean): Add ch/ch-version.c. | |
3126 | ||
3127 | * Makefile.in (CHILL_OBJS): Add ch-version.o. ch-version.c | |
3128 | will get generated every time a new Makefile will get | |
3129 | generated. | |
3130 | * Makefile.in (GNUCHILL_VERSION): Remove it, its defined in | |
3131 | Make-lang.in. | |
3132 | ||
3133 | * chill.in: In case of -fgrant-only pass "-S -o /dev/null" | |
3134 | to the compiler to avoid generation of an object file. | |
3135 | ||
3136 | Thu Sep 8 12:07:28 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3137 | ||
3138 | * convert.c (display_int_cst), ch-tree.h: New function. | |
3139 | * convert.c (digest_array_tuple): Use digest_int_cst to | |
3140 | provide better error messages. Return error_mark_node on error. | |
3141 | * grant.c (decode_const): Simplify by using digest_int_cst. | |
3142 | * grant.c (format_character, find_assoc): Removed. | |
3143 | ||
3144 | * decl.c (do_decl): Add missing TREE_CHAIN. | |
3145 | ||
3146 | * decl.c (finish_incomplete_decl): Removed. | |
3147 | (init_decl_processing): Don't set incomplete_decl_finalize_hook. | |
3148 | (finish_decl): Remove old C-specific code to deduce size of | |
3149 | array from initialization. | |
3150 | (complete_array_type): Just make it abort. | |
3151 | ||
3152 | * except.c (finish_handler_array): Avoid calling C-specific kludge | |
3153 | complete_array_type. | |
3154 | ||
3155 | * convert.c (digest_constructor): Rename, and re-write to: | |
3156 | (digest_array_tuple, convert): No longer use the code in | |
3157 | ../c-typeck.c; use a Chill-only implementation (sigh). | |
3158 | ||
3159 | * typeck.c (chill_expand_tuple): Remove unneeded call to | |
3160 | complete_array_type. | |
3161 | ||
3162 | * expr.c (fold_set_expr), grant.c (decode_constant), | |
3163 | typeck.c (expand_constant_to_buffer): Update name of called | |
3164 | function unpack_set_constructor to get_set_constructor_bits. | |
3165 | * expr.c (powersetlen ): Remove redundant call to convert. | |
3166 | ||
3167 | * ch-tree.h (unpack_set_constructor): Removed obsolete declaration. | |
3168 | ||
3169 | * inout.c (build_chill_writetext): Handle 64-bit integer literals | |
3170 | by trying to convert them to a smaller type. | |
3171 | ||
3172 | * lex.l (convert_number): Always use long long type (possibly | |
3173 | unsigned) to avoid problems with constant folding truncation. | |
3174 | ||
3175 | Mon Sep 5 08:08:22 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
3176 | ||
3177 | * ch-tree.h (enum chill_built_in_function): Add BUILT_IN_QUEUE_LENGTH. | |
3178 | Add new prototype (see tasking.c). | |
3179 | ||
3180 | * expr.c (build_generalized_call): Add processing of | |
3181 | BUILT_IN_QUEUE_LENGTH. | |
3182 | ||
3183 | * tasking.c (build_queue_length): New function. | |
3184 | ||
3185 | * tasking.c (tasking_init): Add new external function definition. | |
3186 | ||
3187 | Thu Sep 1 15:38:00 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3188 | ||
3189 | * lex.l (default_lex): New function. Progress towards | |
3190 | getting rid of [f]lex. | |
3191 | ||
3192 | * lex.l (convert_number): Use mul_double and add_double. | |
3193 | Set result type to a reasonable type in which the literal | |
3194 | will fit. Give error message if literal is too big. | |
3195 | ||
3196 | * lex.l (equal_number): Switch (temporarily) to permanent obstack. | |
3197 | ||
3198 | * typeck.c (build_chill_slice_with_range): Check for empty | |
3199 | slice *after* we have checked for upper/lower limit in range. | |
3200 | ||
3201 | * grant.c (decode_mode): Remove unused code. (BOOL and | |
3202 | CHAR ranges are represented as INTEGER_TYPEs.) | |
3203 | ||
3204 | * tasking.c (build_process_header): Add missing call to | |
3205 | expand_start_bindings. | |
3206 | * parse.c (end_function): Add missing expand_end_bindings. | |
3207 | ||
3208 | Wed Aug 31 17:25:14 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3209 | ||
3210 | * decl.c (init_decl_processing): Set set_alignment. | |
3211 | ||
3212 | Tue Aug 30 16:40:46 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3213 | ||
3214 | * actions.c (print_missing_cases, check_missing_cases, | |
3215 | BITARRAY_TEST, BITARRAY_SET): New functions and macros, | |
3216 | to check for completeness of case actions and expressions. | |
3217 | * decl.c (c_decode_option, init_decl_processing): | |
3218 | Don't set warn_switch. | |
3219 | * expr.c (chill_expand_case_expr): Call check_missing_cases | |
3220 | instead of check_for_full_enumeration_handling. | |
3221 | * parse.c (parse_case_actions): Call check_missing_cases. | |
3222 | ||
3223 | * expr.c (build_chill_binary_op): Remove some dead code. | |
3224 | * expr.c (chill_truthvalue_conversion): Call build_chill_binary_op | |
3225 | instead of build_binary_op. | |
3226 | * ch-tree.h (binary_op_error, build_binary_op): Unused. Removed. | |
3227 | ||
3228 | * parse.c (end_function): Use kept_level_p in parameter to | |
3229 | poplevel. This reverts a June 13 change. | |
3230 | ||
3231 | Fri Aug 26 11:50:19 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) | |
3232 | ||
3233 | * configure: Ignore --without, as ../configure does. | |
3234 | ||
3235 | Wed Aug 24 01:17:28 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
3236 | ||
3237 | * lex.l: Change rule for decimal numbers to allow identifiers | |
3238 | to start with an underscore (_). | |
3239 | ||
3240 | Fri Aug 19 16:38:12 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3241 | ||
3242 | * tasking.c (build_receive_signal_case_label): Remove backwards | |
3243 | chill_convert_for_assignment (which converted whatever garbage | |
3244 | was in the *target* to the type of the signal argument!). | |
3245 | ||
3246 | Fri Aug 19 07:10:43 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
3247 | ||
3248 | * inout.c (build_chill_io_list_type, build_enum_tables), | |
3249 | tasking.c (build_tasking_struct): Temporarily reset | |
3250 | maximum_field_alignment to 0, so that the compiler-built | |
3251 | data structures needed by the RTS can be independent of -fpack. | |
3252 | ||
3253 | Thu Aug 18 13:39:51 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3254 | ||
3255 | * typeck.c (build_init_struct): Temporarily reset | |
3256 | maximum_field_alignment to 0, so that the compiler-built | |
3257 | data structures needed by the RTS can be independent of -fpack. | |
3258 | ||
3259 | Wed Aug 17 23:48:33 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
3260 | ||
3261 | * parse.c (parse_primval, expect, parse_on_exception_list): | |
3262 | Print error message only in pass 2. | |
3263 | ||
3264 | Wed Aug 17 13:47:50 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3265 | ||
3266 | * decl.c (switch_to_pass_2): Revert June 13 change, | |
3267 | (Don't exit after pass 1 if an error was found.) | |
3268 | ||
3269 | * ch-tree.def (SLICE_EXPR): New tree-code. | |
3270 | * typeck.c (build_chill_slice): For building a slice of a | |
3271 | bit-string, just generate a SLICE_EXPR. | |
3272 | * decl.c (init_decl_processing): Declare __pscpy. | |
3273 | * actions.c (chill_expand_assignment): Handle a SLICE_EXPR | |
3274 | on the LHS of assignment, by calling __pscpy. | |
3275 | * expr.c (chill_expand_expr): Handle SLICE_EXPR (as a RHS | |
3276 | value) by using __psslice to copy slice to a temp. | |
3277 | ||
3278 | Wed Aug 17 05:52:44 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
3279 | ||
3280 | * Make-lang.in: Change version of GNUCHILL compiler to 1.4.1. | |
3281 | * expr.c (build_chill_length): Enable LENGTH built-in to process | |
3282 | Buffers and Events too (Z.200/1992). | |
3283 | * lex.l (yywrap): Always set yyin to finput and/or grt_in. On | |
3284 | a linux system the previous version was not able to run. | |
3285 | * tasking.c: Correct processing of infinite buffer- and event-length | |
3286 | to avoid RANGEFAIL warning. | |
3287 | ||
3288 | Thu Aug 11 11:46:55 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3289 | ||
3290 | * parse.c (parse_if_expression_body): Don't call the C-specific | |
3291 | build_conditional_expr. Just do build_nt (COND_EXPR, ...). | |
3292 | * convert.c (convert): Convert a COND_EXPR by converting | |
3293 | each branch. | |
3294 | ||
3295 | * convert.c (convert): Don't call convert before | |
3296 | convert_to_reference. It's apt to do weird and unneedful things. | |
3297 | * convert.c (convert): If the expression is varying, just call | |
3298 | varying_to_slice, which simplifies quite a bit. | |
3299 | ||
3300 | * ch-tree.h (varying_to_slice): Add prototype. | |
3301 | * typeck.c (varying_to_slice): Remove prototype. | |
3302 | ||
3303 | * satisfy.c (satisfy): Move case PAREN_EXPR from type 'e' | |
3304 | to type '1'. | |
3305 | ||
3306 | * except.c (emit_setup_handler): Temporarily reset the | |
3307 | maximum_field_alignment to zero so the compiler's exception | |
3308 | data structures can be compatible with the run-time system, | |
3309 | even when we're compiling with -fpack. | |
3310 | ||
3311 | * expr.c (compare_records): Call saved_if_needed on operands. | |
3312 | ||
3313 | * expr.c (build_set_expr case NE_EXPR): Don't use __nepowerset | |
3314 | which has been reimplemented to just call __eqpowerset and | |
3315 | invert the result. Inline this new implementation by | |
3316 | handling as EQ_EXPR, and inverting the result. | |
3317 | * decl.c (init_decl_processing): Don't define unused __eqpowerset. | |
3318 | ||
3319 | * typeck.c (valid_array_index_p): The TRUTH_ANDIF_EXPR has | |
3320 | type boolean_type_node, not void_type_node. (Fixing this | |
3321 | avoids a crash in the back-end.) | |
3322 | ||
3323 | * grant.c (decode_constant): In a CALL_EXPR, if the argument | |
3324 | list is not a TREE_LIST (as in string repetiation), don't | |
3325 | emit parentheses. | |
3326 | ||
3327 | Wed Aug 10 13:13:55 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3328 | ||
3329 | * decl.c (proclaim_decl): Use CH_DECL_ENUM to check that a | |
3330 | CONST_DECL is from a SET definition. (This is safer than | |
3331 | checking that the type is ENUMERAL_TYPE, because synonym | |
3332 | definitions may have a NULL TREE_TYPE.) | |
3333 | Also, if we have duplicate enums whose types are identical, | |
3334 | this is an error. | |
3335 | * decl.c (proclaim_decl, pushdecllist, push_scope_decls): Add | |
3336 | an extra 'quiet' parameter, which is true if we're called from | |
3337 | bind_sub_modules. (In that case an error message about duplicated | |
3338 | decls would be repeated later, so suppress it.) | |
3339 | ||
3340 | * parse.c (stmt_count): Removed, not used. | |
3341 | (INIT_ACTION): Call emit_line_note only if !ignoring. | |
3342 | (parse_begin_end_block): Do INIT_ACTION even if ignoring. | |
3343 | ||
3344 | Fri Aug 5 12:39:11 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3345 | ||
3346 | * parse.c (parse_untyped_expr): Add missing semi-colon. | |
3347 | ||
3348 | Thu Aug 4 17:40:38 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3349 | ||
3350 | * parse.c (parse_untyped_expr): Fix various problem for the | |
3351 | case that we see a '(': Add missing 'case' keyword. | |
3352 | Only recurse if '(' is followed by 'if', 'case' or '[', | |
3353 | and in that case emit a pedwarn (and do a missing NEXT_TOKEN). | |
3354 | ||
3355 | * parse.c (parse_send_action): Remove extra nreverse. | |
3356 | ||
3357 | Thu Jul 28 04:00:11 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
3358 | ||
3359 | * expr.c (build_allocate_global_memory_call, build_allocate_memory_call): | |
3360 | Add new checks. | |
3361 | ||
3362 | Tue Jul 26 22:48:15 1994 Michael Tiemann (tiemann@blues.cygnus.com) | |
3363 | ||
3364 | * parse.c (parse_untyped_expr): Added missing "case" before LPRN. | |
3365 | Added a missing call to `require' as well. | |
3366 | ||
3367 | Tue Jul 19 10:30:12 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) | |
3368 | ||
3369 | * lex.l (yywrap): Define as yywrap_chill to avoid conflicts with | |
3370 | the extern declaration in the flex skeleton. | |
3371 | ||
3372 | Mon Jul 18 23:06:04 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3373 | ||
3374 | * tasking.c (build_copy_number, build_proc_type, expand_send_signal): | |
3375 | Check the type of the instance expr using CH_COMPATIBLE, | |
3376 | and not just == instance_type_node. (This allows | |
3377 | the expression to have mode READ INSTANCE). | |
3378 | * tasking.c (build_instance_type): Give instance_type_node | |
3379 | a non-null novelty (i.e. different from a struct). | |
3380 | * tasking.c (build_receive_case_start, build_delay_case_start): | |
3381 | Check that for a location using CH_LOCATION_P. | |
3382 | ||
3383 | Mon Jul 18 13:22:23 1994 Jim Wilson (wilson@sphagnum.cygnus.com) | |
3384 | ||
3385 | * expr.c (finish_chill_unary_op): Use TREE_SET_CODE not TREE_CODE | |
3386 | to modify a tree code. | |
3387 | ||
3388 | Mon Jul 18 11:24:57 1994 Bill Cox (bill@rtl.cygnus.com) | |
3389 | ||
3390 | * convert.c (digest_structure_tuple): Fix thinko in TREE_CODE | |
3391 | comparison. | |
3392 | ||
3393 | Mon Jul 18 05:40:15 1994 Doug Evans (dje@canuck.cygnus.com) | |
3394 | ||
3395 | * decl.c (warn_bad_function_cast): Define so cc1chill will link. | |
3396 | ||
3397 | Thu Jul 14 18:37:18 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3398 | ||
3399 | * parse.c (parse_send_action): Do tree_cons *before* checking | |
3400 | for end of loop. | |
3401 | ||
3402 | Mon Jul 11 15:33:52 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3403 | ||
3404 | * convert.c (digest_structure_tuple): Don't use convert to | |
3405 | coerce initial value, use chill_convert_for_assignment instead. | |
3406 | (Thus we also get range_checking.) | |
3407 | ||
3408 | * expr.c (build_chill_card): Use force_addr_of instead of | |
3409 | build_chill_addr_expr. | |
3410 | ||
3411 | * loop.c (build_temporary_variable): Stylistic tweak. | |
3412 | * loop.c (maybe_make_for_temp): Initialize temp using | |
3413 | explicitly, not using assignment. Avoids a problem if | |
3414 | the expression is read-only. | |
3415 | * typeck.c (smash_dummy_type): Always used the saved TYPE_NAME | |
3416 | and CH_NOVELTY_FLAG. | |
3417 | ||
3418 | Wed Jul 6 20:12:13 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3419 | ||
3420 | * expr.c, ch-tree.h (finish_chill_unary_op): New function, | |
3421 | based on code ripped out of build_chill_unary_op. | |
3422 | (build_chill_unary_op): Call finish_chill_unary_op unless pass==1. | |
3423 | * satisfy.c (satisfy): Call finish_chill_unary_op when needed. | |
3424 | ||
3425 | Mon Jun 27 11:29:18 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3426 | ||
3427 | * tree.c (save_if_needed), ch-tree.h: New function. | |
3428 | * typeck.c (build_chill_slice_with_range, | |
3429 | build_chill_slice_with_length): Call save_if_neeed on array arg. | |
3430 | * expr.c (varying_to_slice): Re-write to use save_if_needed. | |
3431 | ||
3432 | * typeck.c (extract_constant_from_buffer): Handle BOOLEAN_TYPE. | |
3433 | ||
3434 | Mon Jun 27 01:11:10 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
3435 | ||
3436 | * inout.c (build_chill_io_list_type): Change layout of __tmp_WIO_list | |
3437 | that it is always the same, regardless if compiled with -fpack | |
3438 | or not. | |
3439 | ||
3440 | Tue Jun 14 16:44:14 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3441 | ||
3442 | * lex.l (yywrap): Kludge to work around mis-synchronization | |
3443 | between lexer (which read ahead) and parser: Don't emit | |
3444 | (left-over) uze_seizefile directives at the end of file. | |
3445 | ||
3446 | * typeck.c (build_chill_array_ref): Allow the derived | |
3447 | array indexing syntax for arrays of bit strings. | |
3448 | Add a comment explaining why. | |
3449 | ||
3450 | * typeck.c, ch-tree.h (string_assignment_condition): Change | |
3451 | the interface. Return a boolean expression (which can be | |
3452 | used in a conditional at run-time); never expand anything. | |
3453 | ||
3454 | * actions.c (chill_convert_for_assignment): Check | |
3455 | string_assignment_condition here, rather than in callers. | |
3456 | * actions.c (chill_expand_assignment): Don't need to check | |
3457 | string_assignment_condition here. | |
3458 | * expr.c (build_chill_function_call): Likewise. | |
3459 | * satisfy.c (safe_satisfy_decl): Update accordingly. | |
3460 | * decl.c (do_decl): Simplify testing and conversion by | |
3461 | deferring everything to chill_convert_for_assignment. | |
3462 | ||
3463 | * parse.c: Combine the two variables 'ignore_exprs' and | |
3464 | 'ignore_actions' into one variable called 'ignoring'. | |
3465 | * ch-tree.h: Add 'extern int ignoring'. | |
3466 | * actions.c, except.c, parse.c, tasking.c, timing.c, typeck.c: | |
3467 | Rename ignore_actions and ignore_exprs to ignoring. | |
3468 | Remove unneeded extern declarations. | |
3469 | * expr.c (build_chill_indirect_ref, build_chill_component_ref, | |
3470 | build_chill_arrow_expr, build_generalized_call, build_delay_action, | |
3471 | build_buffer_type, build_event_type): I changed my mind. It is | |
3472 | cleaner to check for 'ignoring' in the parser, rather than here. | |
3473 | * parse.c (parse_action, parse_primval, parse_opt_mode): | |
3474 | Therefore we must check for ignoring here. | |
3475 | * parse.c (parse_loc_declaration): Set ignoring in pass 2 | |
3476 | when parsing the mode. | |
3477 | ||
3478 | * tasking.c (generate_tasking_code_variable): Do arithmetic | |
3479 | on signal_code etc using unsigned rather than signed shorts. | |
3480 | ||
3481 | * grant.c (static char* current_grant_modename): Removed. | |
3482 | * grant.c (decode_decl case CONST_DECL): Remove error message. | |
3483 | ||
3484 | * Make-lang.in (CHILL_SRCS): Add $(srcdir)/ch/parse.c. | |
3485 | * Makefile.in: Fix dependencies for parse.o. | |
3486 | Remove some duplicate dependencies for $(TREE_H). | |
3487 | ||
3488 | Mon Jun 13 14:25:50 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3489 | ||
3490 | * typeck.c (build_chill_cast): Allow a value cast between | |
3491 | non-discrete object of the same size, but with a pedwarn. | |
3492 | * typeck.c (bit_string_assignment_condition, | |
3493 | char_string_assignment_condition): Merge near-duplicate functions | |
3494 | and place the code in string_assignment_condition. | |
3495 | ||
3496 | * decl.c (parm_flag, declare_parm_level, in_param_level_p): | |
3497 | Removed. Not used. | |
3498 | * decl.c (start_chill_function, finish_chill_function): Make | |
3499 | parameter level have same nesting level as body, as required by Z200. | |
3500 | * decl.c (switch_to_pass_2): Always exit if an error has been found. | |
3501 | * decl.c (pop_module): Copy DECL_SEIZEFILE to a new ALIAS_DECL | |
3502 | generated from GRANT ALL. | |
3503 | * decl.c (lookup_name_for_seizing): Don't seize from | |
3504 | the nesting level of builtins (predefined objects). | |
3505 | * decl.c (lookup_name_for_seizing): Make more robust on error. | |
3506 | ||
3507 | * decl.c (start_chill_function): MAKE DECL_NAME (chill_result_decl) | |
3508 | be 'RESULT' (or 'result'). This makes it more accessible from gdb. | |
3509 | Also, use do_decl to declare it, so that debugging symbols are | |
3510 | generated. And, re-arrange so that actions that need to | |
3511 | be done both passes (such as push_levels) use the same code. | |
3512 | ||
3513 | * parse.c (get_type_of): If ignore_exprs, don't lookup name. | |
3514 | * parse.c (end_function): Fix poplevel params. | |
3515 | * parse.c (expect): Don't read forwards on an error. | |
3516 | * parse.c (parse_field): Don't define two tag_list locals! | |
3517 | * parse.c (parse_pass_1_2): Better error message. | |
3518 | ||
3519 | * parse.c (parse_mode, parse_opt_mode): Have parse_mode call | |
3520 | parse_opt_mode, rather than vice versa. If parse_opt_mode | |
3521 | returns NULL_EXPR, then parse_mode gives an error. | |
3522 | Change parse_opt_mode (and any functions it calls) to only | |
3523 | return NULL_TREE if there is no mode (even on ignore_exprs). | |
3524 | (parse_set_mode, parse_structure_mode, parse_procedure_mode): | |
3525 | Never return NULL_EXPR. | |
3526 | * tasking.c (build_buffer_type, build_event_type): Return | |
3527 | void_type_node instead of NULL_EXPR if ignore_exprs is true. | |
3528 | ||
3529 | * parse.c (parse_synonym_definition): Call parse_untyped_expr | |
3530 | only if we have a mode. | |
3531 | * parse.c (parse_send_action): Parse list of untyped_expr's, | |
3532 | rather than a list of (typed) expressions. | |
3533 | * parse.c (parse_primval): Emit error if '[' seen without | |
3534 | preceding mode name. (If this is to be allowed, call | |
3535 | parse_untyped_expr instead.) | |
3536 | ||
3537 | * parse.c (parse_array_index): Renamed to ... | |
3538 | (parse_index_mode): ... to match Z200 terminology. | |
3539 | Re-write to resolve some of the nastier ambiguities, | |
3540 | and allow things like ' CHAR(10) : CHAR(20) '. | |
3541 | ||
3542 | * parse.c (parse_tuple_element): Change interface to return | |
3543 | reversed list, so don't call nreverse. | |
3544 | * parse.c (parse_tuple): No longer nreverse element list here. | |
3545 | * parse.c (parse_opt_element_list): Do nreverse here instead. | |
3546 | * parse.c (parse_case_label_list): Call nreverse at end. | |
3547 | ||
3548 | Fri Jun 10 15:36:22 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3549 | ||
3550 | * typeck.c (chill_similar): Remove bogus "else". | |
3551 | ||
3552 | Wed Jun 8 00:01:40 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3553 | ||
3554 | * ch-tree.h (TYPE_ARRAY_MAX_SIZE): New macro (and comment) | |
3555 | to make it clearer that we are using TYPE_MAX_VALUE in a special way. | |
3556 | * typeck.c (build_chill_slice): Use TYPE_ARRAY_MAX_SIZE. | |
3557 | * expr.c (chill_expand_expr case CONCAT_EXPR): Likewise. | |
3558 | * convert.c (convert): When converting a fixed string/array | |
3559 | to varying, and we need padding, set the TYPE_ARRAY_MAX_SIZE | |
3560 | of (the type of) the padding. | |
3561 | * convert.c (convert): If the concatenation is non-constant, use | |
3562 | the low-level 'build' to set the type of the result (which is usually | |
3563 | a fixed-size array) rather than depend on build_chill_binary_op | |
3564 | to figure it out (it's unable to simplify the size to a constant). | |
3565 | ||
3566 | Mon Jun 6 18:16:57 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3567 | ||
3568 | * lang.c (lang_decode_option): Let -fspecial_UC imply | |
3569 | -fno-ignore-case without requiring it explicitly. | |
3570 | * lang.c (lang_decode_option): Support (experimentally) | |
3571 | the -fpack and -fno-pack flags. | |
3572 | ||
3573 | Thu Jun 2 20:49:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) | |
3574 | ||
3575 | * configure: Add support for --program-prefix and --program-suffix. | |
3576 | ||
3577 | Tue May 31 18:12:00 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3578 | ||
3579 | * convert.c (digest_constructor): Check that initial value | |
3580 | is compatible with element mode before calling convert. | |
3581 | * typeck.c (chill_compatible): A string mode is not compatible | |
3582 | with an untyped constructor. | |
3583 | * decl.c (do_decl): Clean up error messages. Use error_with_decl. | |
3584 | ||
3585 | * ch-tree.h: Fix inconsistencies: bool_true_node -> | |
3586 | boolean_true_node, and bool_false_node -> boolean_false_node. | |
3587 | * typeck.c (valid_array_index_): Minor simplification. | |
3588 | ||
3589 | Tue May 31 04:33:28 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
3590 | ||
3591 | * inout.c (build_chill_writetext): Add correct processing | |
3592 | of POWERSET RANGE (setmode). | |
3593 | ||
3594 | * lex.l (same_file): Add searching for file(s) in | |
3595 | seize_path_list. | |
3596 | ||
3597 | Fri May 27 14:22:42 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3598 | ||
3599 | * Make-lang.c (CHILL.mostlyclean, CHILL.distdir): Don't list | |
3600 | yacc/bison output files, since the grammer is no longer in yacc. | |
3601 | * config-lang.in (diff_excludes): Likewise. | |
3602 | ||
3603 | Thu May 26 16:38:13 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3604 | ||
3605 | * gperf, hash.h, lex.l, parse.h: Rename PROCESS_TYPE token | |
3606 | (in some files spelled PROCESS_TYPE_ to avoid clashes | |
3607 | with the PROCESS_TYPE tree_code) to PROCESS_TYPE_TOKEN. | |
3608 | ||
3609 | Thu May 26 02:18:28 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
3610 | ||
3611 | * timing.c (build_cycle_start): Change call to __define_timeout. | |
3612 | * decl.c (init_decl_processing): Change definitions of | |
3613 | __define_timeout and __wait_timeout. | |
3614 | ||
3615 | Wed May 25 11:53:09 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3616 | ||
3617 | Replace yacc-based parser with a recursive-decent parser. | |
3618 | (This may seem backwards, but Chill [like C++] is not a | |
3619 | language that is remotely LALR(1). Using a R-D parser | |
3620 | allows us to use look-ahead and to back-up to resolve the | |
3621 | difficult ambiguities.) | |
3622 | * parse.y: Removed. | |
3623 | * parse.c, parse.h: New files, containing new r-d parser. | |
3624 | * Makefile.in: Update accordingly. | |
3625 | * actions.c (chill_convert_for_assignment): Don't return | |
3626 | NULL_EXPR if ignore_exprs is true. It simplifies the parser | |
3627 | if we consistently reserve NULL_EXPR for a missing expression. | |
3628 | * expr.c (build_chill_function_call): Likewise. | |
3629 | ||
3630 | * lex.l: Tweaks for new parser. | |
3631 | * lex.l (prepare_paren_colon, paren_paren_colon_level, | |
3632 | paren_level): Ugly hack no longer needed. | |
3633 | ||
3634 | * expr.c (build_chill_function_call): Cleanup. | |
3635 | Call chill_convert_for_assignment to convert IN/INOUT | |
3636 | paramaters on both input and output. For LOC parameters, | |
3637 | give error if actual is a non-referable location. | |
3638 | * actions.c (convert_for_assignment): Add new parameter (a | |
3639 | "place" string used in error messages). | |
3640 | * actions.c (adjust_parm_or_field): Removed. | |
3641 | * actions.c (chill_expand_assignment): Take just a single LHS, | |
3642 | and move support for multiple assignments to ... | |
3643 | (expand_assignment_action): ... here. Some cleaning up. | |
3644 | * timing.c (build_cycle_start): Adjust accordingly. | |
3645 | * actions.c (expand_assignment_to_varying_array): Likewise. | |
3646 | * tasking.c (many places): Ditto. | |
3647 | * ch-tree.h: Fix declarations appropriately. | |
3648 | ||
3649 | * parse.c (parse_defining_occurrence_list): Return a single | |
3650 | IDENTIFIER_NODE (instead of a singleton list) in the common | |
3651 | case. Minor complication to save a minor amount of space. | |
3652 | * decl.c (do_based_decls): Move guts of code into ... | |
3653 | (do_based_decl): ... this new function. | |
3654 | * decl.c (do_decls): Handle either IDENTIFIER_NODE or a TREE_LIST. | |
3655 | * decl.c (push_syndecl): Replace by ... | |
3656 | (push_syndecl): ... (which only supports a single name). | |
3657 | (push_modedef): Only handle a single name. | |
3658 | * tasking.c (build_process_header, build_signal_struct_type): | |
3659 | Adjust accordingly. | |
3660 | ||
3661 | * expr.c (build_generalized_call): Handle string repetition. | |
3662 | * expr.c (build_chill_repetition_op): Change interface. | |
3663 | * grant.c (decode_constant): Allow parameter list to be | |
3664 | a non-TREE_LIST. (Used for string repetition.) | |
3665 | ||
3666 | Wed May 25 11:28:48 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3667 | ||
3668 | * lex.l (make_identifier): Replaced by ... | |
3669 | (read_identifier, handle_name): ... new functions. | |
3670 | * lex.l: Parse an identifiers using read_identifier using | |
3671 | read_identifier and handle_name, rather than having [f]lex | |
3672 | do it. (One reason is that lex uses a fixed-size buffer.) | |
3673 | ||
3674 | * lex.l (read_directive, skip_directive): New functions. | |
3675 | Use them to parse compiler-directives, instead of rather | |
3676 | ugly and useless use of lexer start conditions. | |
3677 | ||
3678 | Tue May 24 22:36:51 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3679 | ||
3680 | * decl.c (unnamed_module_number): Renamed to ... | |
3681 | (module_number): .. and make non-static. | |
3682 | (push_module): Always increment module_number. | |
3683 | * lex.l (yywrap): Print warning if no modules seen. | |
3684 | ||
3685 | * decl.c (pop_module): Don't set DECL_SEIZEFILE of granted | |
3686 | decl to current_seizefile_name (which is unreliable). | |
3687 | * grant.c (chill_grant): Set it here instead. | |
3688 | ||
3689 | * expr.c (fold_set_expr): Use int_size_in_bytes instead of | |
3690 | TYPE_PRECISION (which is not defined for a SET_TYPE). | |
3691 | ||
3692 | Fri May 20 15:21:26 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3693 | ||
3694 | Cleanup to remove need for variables in common storage. | |
3695 | * decl.c: Remove unused use of current_obstack. | |
3696 | * actions.c (maybe_chill_check_decl): Remove unused function. | |
3697 | * actions.h, lang.c: Remove uses of doing_chill_thang. | |
3698 | * ch-tree.h (void_list_node): Make extern (rather than common). | |
3699 | * decl.c (void_list_node): Add definition. | |
3700 | ||
3701 | Thu May 19 06:54:56 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
3702 | ||
3703 | * configure (build): Build canon_host and canon_target | |
3704 | to pass it to all subsequently generated Makefiles (needed | |
3705 | for testsuite/execute in case of cross build). | |
3706 | ||
3707 | Wed May 18 13:27:12 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3708 | ||
3709 | * grant.c (decode_mode): Remove. It checks the TYPE_NAME of | |
3710 | the input type, which loses with the no-longer-new 2-pass | |
3711 | implementation, since the input "type" could be an IDENTIFIER_NODE. | |
3712 | * grant.c (raw_decode_mode): Rename to decode_mode. | |
3713 | ||
3714 | Tue May 17 13:19:52 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3715 | ||
3716 | * typeck.c (chill_location): Neither a STRING_CST nor a | |
3717 | CONSTRUCTOR is a location. | |
3718 | * typeck.c (chill_root_mode): Convert a function to a | |
3719 | pointer-to-function. | |
3720 | * expr.c (build_chill_indirect_ref, build_chill_component_ref, | |
3721 | build_chill_arrow_expr): If ignore_exprs, return operand | |
3722 | rather than NULL_EXPR. This makes it easier for the parser to | |
3723 | distinguish missing expressions. | |
3724 | * expr.c (build_max_min): Convert the lower bound of a | |
3725 | set to a long before calling run-time routine. | |
3726 | * expr.c (build_chill_pred_or_succ): Use discrete_type_p | |
3727 | to check the argument type. | |
3728 | * expr.c (build_chill_arrow_expr): If argument is not a location, | |
3729 | do a predwarn if it is a STRING_CST or has function type. | |
3730 | ||
3731 | Tue May 17 06:05:13 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
3732 | ||
3733 | * configure (build): Remove building of canon_host and canon_target. | |
3734 | It doesn't work in any case. | |
3735 | ||
3736 | Mon May 16 02:10:35 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
3737 | ||
3738 | * configure (build): Build canon_host and canon_target | |
3739 | to pass it to all subsequently generated Makefiles (needed | |
3740 | for testsuite/execute in case of cross build). | |
3741 | * Make-lang.in (chill-runtime): Change chill to CHILL in the case | |
3742 | statement to build chill-runtime automatically. | |
3743 | ||
3744 | Mon May 9 15:30:08 1994 Doug Evans (dje@canuck.cygnus.com) | |
3745 | ||
3746 | * Makefile.in (FLAGS_TO_PASS): Define. | |
3747 | (OBJDEPS): Define. | |
3748 | (../cc1chill): Depend on $(OBJDEPS) $(C_OBJS). | |
3749 | * Make-lang.in (cc1chill): Delete dependency on $(OBJS) $(BC_OBJS). | |
3750 | (CHILL.mostlyclean): Use `mostlyclean' as recursive target. | |
3751 | ||
3752 | Sun May 8 13:05:00 1994 Per Bothner (bothner@cygnus.com) | |
3753 | ||
3754 | * Make-lang.in (cc1chill): Should not depend on libgcc.a. | |
3755 | ||
3756 | Thu May 5 18:58:22 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3757 | ||
3758 | * decl.c (copy_lang_decl): New (dummy) function. | |
3759 | ||
3760 | Mon May 2 14:33:44 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3761 | ||
3762 | * parse.y (sendaction): Fix thinko (in sense of condition). | |
3763 | * tasking.c (build_receive_case_label): Another thinko. | |
3764 | ||
3765 | * parse.y (optsigdest): Force ignore_exprs to 0 while parsing | |
3766 | the (signal-)name. | |
3767 | ||
3768 | * decl.c (build_chill_function_type): Don't call layout_type | |
3769 | (since that may prevent parameter or result types being | |
3770 | properly satisfied). | |
3771 | * satisfy.c (satisfy): Layout FUNCTION_TYPEs. | |
3772 | * parse.y (procmode): Call build_chill_pointer_type, rather | |
3773 | than build_pointer_type (which incorrectly sets TYPE_SIZE). | |
3774 | ||
3775 | * parse.y (get_type_of): Handle TYPE_DECL (again). | |
3776 | * parse.y (optresultspec): Call build_chill_reference_type, rather | |
3777 | than build_reference_type (which incorrectly sets TYPE_SIZE). | |
3778 | * parse.y (range_or_mode): Rename to plain range, since it | |
3779 | no longer matches modename. | |
3780 | * actions.c (chill_handle_case_label_range): New function, with | |
3781 | functionality moved out of chill_handle_case_label. | |
3782 | * actions.c (chill_handle_case_label): Handle here the case that | |
3783 | the label_value is a TYPE_DECL (modename). Also clean up some. | |
3784 | * typeck.c (build_chill_slice_with_length): Convert max_index | |
3785 | to the type of min_value. (Old code broke on varying strings.) | |
3786 | ||
3787 | Sun May 1 13:53:36 1994 Doug Evans (dje@canuck.cygnus.com) | |
3788 | ||
3789 | * Makefile.in (BC_OBJS): Delete all references | |
3790 | (OBJS): Cat ../stamp-objlist to get language independent files. | |
3791 | (../cc1chill): Delete dependency on $(OBJS). | |
3792 | * Make-lang.in (cc1chill): Depend on stamp-objlist. | |
3793 | ||
3794 | Sat Apr 30 14:50:15 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3795 | ||
3796 | * lex.h, lex.c: Remove lastiddecl. | |
3797 | * lex.l (name_type_signal): Simplify. We no longer check for | |
3798 | TYPENAME or SIGNALNAME (which was unreliable with two passes). | |
3799 | Also rename to make_identifier. | |
3800 | * parse.y: Cleaned up grammar to not need SIGNALNAME or TYPENAME. | |
3801 | * Makefile.in (stamp-parse); One conflict fewer! | |
3802 | * parse.y (rccase_label_flag): Moved to tasking.c. | |
3803 | * parse.y (rccase_label): Move most of the logic to | |
3804 | build_receive_case_label in tasking.c. | |
3805 | * parse.y (sendaction): Re-write to not depend on SIGNALNAME. | |
3806 | ||
3807 | * parse.y (name): Do name lookup here (and not in location). | |
3808 | * parse.y: Replace most uses of NAME by higher-level non-terminals: | |
3809 | simple_name_string, name_string, defining_occurrence, or name. | |
3810 | ||
3811 | * tasking.c (build_receive_signal_case_label, | |
3812 | build_receive_buffer_case_label): New functions, split out from | |
3813 | build_receive_case_label. | |
3814 | * tasking.c (build_receive_case_label): Change parameters | |
3815 | and return type. Moved stuff here (from the parser). | |
3816 | * tasking.c (struct rc_state_type): Removed had_errors. | |
3817 | Return error_mark_node instead. | |
3818 | * tasking.c (build_rccase_set_error), ch-tree.h: Removed. | |
3819 | ||
3820 | * expr.c (build_generalized_call): If func is a signal type, | |
3821 | call build_signal_descriptor. | |
3822 | ||
3823 | * parse.y (arrayindex): Renamed to index_mode, to match Z.200. | |
3824 | * parse.y (ioindexmode): Removed; use index_mode instead. | |
3825 | * expr.c (build_generalized_call): If args is a RANGE_EXPR, | |
3826 | we have either a slice or a range mode, depending on func. | |
3827 | * parse.y (index_mode): If we got an 'expr', only allow a name, | |
3828 | or a range mode. | |
3829 | * parse.y (call): A slice with both end points can be a range | |
3830 | mode, so defer handling to build_generalized_call (or index_mode). | |
3831 | ||
3832 | * typeck.c (build_chill_slice_with_length): Fix type-checking. | |
3833 | * typeck.c (chill_novelty): Undo (part of) change of April 28: | |
3834 | The novelty of a range mode is the novlety of the parent. | |
3835 | * typeck.c (chill_root_mode): Don't return integer_type_node | |
3836 | if argument has non-nil novelty. | |
3837 | ||
3838 | * decl.c (global_bindings_p): Return -1 as true, for the sake | |
3839 | of variable_size (in ../stor-layout.c). | |
3840 | ||
3841 | Fri Apr 29 13:42:43 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3842 | ||
3843 | * parse.y: Remove TYPENAME and modename. These are now plain | |
3844 | NAMEs. Modify parsing actions appropriately. | |
3845 | * expr.c (build_generalized_call): Handle the case that | |
3846 | TREE_CODE (func) == TYPE_DECL (as in a cast). | |
3847 | * lex.l (name_type_signal): Never return TYPENAME. | |
3848 | * parse.y (get_type_of): If pass 1, just return the argument. | |
3849 | ||
3850 | * decl.c (do_decl): If an initializer has the wrong type, | |
3851 | replace it by NULL_TREE, to avoid subsequent errors. | |
3852 | ||
3853 | Thu Apr 28 15:21:56 1994 Wilfried Moser (moser@rtl.cygnus.com) | |
3854 | ||
3855 | * Makefile.in: Add new file timing.c to rules. | |
3856 | * timing.c: New file. Implements the timing actions AT, | |
3857 | CYCLE and AFTER. | |
3858 | * decl.c (init_decl_processing): Add new builtin function | |
3859 | descriptions. | |
3860 | * expr.c (build_chill_indirect_ref): Change error message and | |
3861 | add check agains an IDENTIFIER_NODE. | |
3862 | * gperf, hash.h: Change EVENT_CODE, BUFFER_CODE to IGNORED_DIRECTIVE. | |
3863 | They are no longer needed. | |
3864 | * grant.c (print_integer_type): Add processing of builtin types | |
3865 | DURATION and TIME. | |
3866 | * lex.l: Remove processing of directive EVENT_CODE & BUFFER_CODE. | |
3867 | * parse.y (timingactions): split up to afteraction, ataction | |
3868 | and cycleaction. | |
3869 | * parse.y (afteraction): New rule. | |
3870 | * parse.y (ataction): New rule and put actions in. | |
3871 | * parse.y (cycleaction): New rule and put actions in. | |
3872 | * parse.y (sendaction): Add code for SEND buffer. | |
3873 | * parse.y (rccase_label): Change error processing. | |
3874 | * tasking.c (build_gen_inst): More checks. | |
3875 | * tasking.c (build_gen_code): Add checking for argument is a | |
3876 | PROCESS or a SIGNAL. | |
3877 | * tasking.c (struct rc_state_type): Add new fields for easier | |
3878 | error processing. | |
3879 | * tasking.c (build_receive_case_if_generated), ch-tree.h: New function. | |
3880 | * tasking.c (build_rccase_set_error), ch-tree.h: New function. | |
3881 | * tasking.c (build_receive_case_label): Add processing of BUFFER's. | |
3882 | * tasking.c (build_receive_buffer_case_end, build_receive_signal_case_end): | |
3883 | New functions to process the end of a RECEIVE CASE action in case | |
3884 | of BUFFER's and SIGNAL's. | |
3885 | * tasking.c (build_receive_case_end): Do only general processing and | |
3886 | call one of the above mentioned functions. | |
3887 | * tasking.c (build_delay_case_start, build_delay_case_label, | |
3888 | build_delay_case_end): Rewritten due to new implementation of events. | |
3889 | * tasking.c (build_delay_action): Rewritten due to new implementation | |
3890 | of EVENT's. | |
3891 | * tasking.c (expand_send_buffer), ch-tree.h: New function. | |
3892 | * timing.c (build_at_action, build_cycle_start, build_cycle_end), | |
3893 | ch-tree: New functions. | |
3894 | ||
3895 | Thu Apr 28 14:11:29 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3896 | ||
3897 | * typeck.c (smash_dummy_type): Handle the special case of a | |
3898 | NEWMODE of a range mode, as required by Z200, by creating a | |
3899 | new parent mode with the new novelty (and casting the min | |
3900 | and max of the range to teh new parent mode). | |
3901 | * typeck.c (chill_novelty, chill_root_mode): Remove special | |
3902 | kludges for of NEWMODE ranges. | |
3903 | * expr.c (build_chill_lower_or_upper): New function, combining | |
3904 | the "guts" of build_chill_lower and build_chill_upper. | |
3905 | * expr.c (build_chill_lower_or_upper): Simplify; no longer | |
3906 | need to kludge the novelties. | |
3907 | ||
3908 | * typeck.c (valid_array_index_p): A string index expression | |
3909 | need not be Compatible with the index type; only similar. | |
3910 | ||
3911 | * decl.c (layout_chill_variants): If error seen, skip stuff | |
3912 | (rather than aborting or crashing). | |
3913 | * decl (push_modedef): If newdecl's type is an error mark, | |
3914 | continue rather than aborting. | |
3915 | ||
3916 | Thu Apr 28 02:07:42 1994 Doug Evans (dje@cygnus.com) | |
3917 | ||
3918 | * Make-lang.in: Update of directory reorg from fsf. | |
3919 | * config-lang.in: Ditto. | |
3920 | ||
3921 | Mon Apr 25 13:09:46 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3922 | ||
3923 | * typeck.c (chill_similar): Check RECORD_TYPEs properly, | |
3924 | * convert.c (convert): If all else fails, just call convert1. | |
3925 | Thus we can now convert RECORD_TYPEs (assuming they are similar). | |
3926 | ||
3927 | * parse.y, lex.l: Remove BUFFERNAME (use location/expr instead). | |
3928 | * parse.y: Re-do BUFFER handling (similar to previous EVENT change). | |
3929 | * grant.c (raw_decode_mode): Re-do BUFFER mode handling. | |
3930 | * ch-tree (lang_type_record): Removed max_queue_size field. | |
3931 | * tasking.c (build_buffer_type): Re-write. | |
3932 | * tasking.c (max_queue_size): Fix to support buffer modes. | |
3933 | * tasking.c (buffer_element_mode), ch-tree.h: New function. | |
3934 | * tasking.c ch-tree.h (expand_send_buffer): Now has 3 parameters. | |
3935 | * parse.y (modename): No longer match SIGNALNAME. Instead, add it | |
3936 | to name and simple_name_string. This removes a reduce/reduce conflict. | |
3937 | * Makefile.in (stamp-parse): Expect fewer conlicts. | |
3938 | ||
3939 | * lex.l (yywrap): Move check for circularly seizeing current | |
3940 | grant-file from here ... | |
3941 | * lex.l (handle_use_seizefile_directive): ... to here. | |
3942 | This is to avoid calling stat on a not-yet written grantfile, | |
3943 | now that we're using same_file (which calls stat). | |
3944 | * grant.c (set_use_this_gf): Removed. | |
3945 | * grant.c (set_default_grant_file): Set grant_file_name here, | |
3946 | because we need it earlier (due to above lexer change). | |
3947 | ||
3948 | * typeck.c (layout_chill_struct_type): Remove useless code to | |
3949 | remove zero-width bitfield (which messes up CONST_DECLs). | |
3950 | ||
3951 | Sat Apr 23 13:16:39 1994 Bill Cox (bill@rtl.cygnus.com) | |
3952 | ||
3953 | * Makefile.in (check): Assure that 'ld' is available before checking. | |
3954 | ||
3955 | Thu Apr 21 13:23:54 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3956 | ||
3957 | * grant.c (print_an_int): Removed. | |
3958 | (raw_decode_mode): Generalized to use decode_constant | |
3959 | instead of print_an_int. | |
3960 | (decode_constant): Print directly, instead of calling print_an_int. | |
3961 | * parse.y (event_list): Fix syntax. | |
3962 | * parse.y (optqueuesize): Default is NULL_TREE, not zero. | |
3963 | * tasking.c (check_queue_size): New function, for error checking. | |
3964 | * ch-tree.h: Add declaration for check_queue_size. | |
3965 | * satisfy.c (satisfy case RECORD_TYPE): Satisfy constant fields | |
3966 | (used for queue size of EVENT and BUFFER), and call check_queue_size. | |
3967 | ||
3968 | Tue Apr 19 13:42:41 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
3969 | ||
3970 | Re-implement EVENT modes to support general EVENT objects | |
3971 | (and not just EVENT names), according to Z200. (Not finished!) | |
3972 | * tasking.c, ch-tree.h (max_queue_size): New function. | |
3973 | * parse.y (dcalternative, event_list, event_list_head): New | |
3974 | implementation of DELAY CASE, avoiding parsing ambiguities. | |
3975 | (call, locdec, delayaction): Remove old EVENTNAME kludges. | |
3976 | * lex.l (name_type_signal): Remove EVENTNAME recognition. | |
3977 | * tasking.c (build_event_type): Re-written. | |
3978 | * typeck.c (chill_similar), decl.c (print_lang_type): | |
3979 | Use new max_queue_size function. | |
3980 | * typeck.c (layout_chill_struct_size): Ignore CONST_DECL. | |
3981 | * tasking.c (build_delay_action): Preliminary changes - just to | |
3982 | make it compile. FIXME! | |
3983 | * grant.c (raw_decode_mode): Use new max_queue_size function. | |
3984 | Move EVENT support from LANG_TYPE to RECORD_TYPE. | |
3985 | * ch-tree.h (process_event_decls): Removed. | |
3986 | ||
3987 | Tue Apr 19 11:44:01 1994 Bill Cox (bill@rtl.cygnus.com) | |
3988 | ||
3989 | * regression.sh: Complete previous change - eliminate all | |
3990 | references to objdir as a user parameter. | |
3991 | ||
3992 | Mon Apr 18 10:17:55 1994 Bill Cox (bill@cygnus.com) | |
3993 | ||
3994 | * Makefile.in (check): Simplified regression.sh call. | |
3995 | * regression.sh: Change command-line parsing. Default | |
3996 | srcdir to the script's path. Calculate objdir | |
3997 | internally - don't pass it in. | |
3998 | ||
3999 | Thu Apr 14 13:30:19 1994 Wilfried Moser (moser@phishhead.cygnus.com) | |
4000 | ||
4001 | * expr.c (build_chill_duration): Add range checking. | |
4002 | ||
4003 | * lex.l (init_lex): Add predefined names DURATION and TIME. | |
4004 | * lex.h (enum rid): Add RID_DURATION and RID_TIME. | |
4005 | * ch-tree.h: Add prototypes and externals. | |
4006 | * decl.c (init_decl_processing): Add builtin function | |
4007 | descriptions. | |
4008 | * expr.c (build_generalized_call): Add processing of some | |
4009 | builtin's. | |
4010 | * expr.c (build_chill_abstime): New function to process builtin | |
4011 | ABSTIME. | |
4012 | * expr.c (build_chill_inttime_type): New function to built type | |
4013 | for the INTTIME builtin. | |
4014 | * expr.c (build_chill_inttime): New function to process builtin | |
4015 | INTTIME. | |
4016 | * expr.c (build_chill_duration): New function to process builtin's | |
4017 | MILLISECS, SECS, MINUTES, HOURS and DAYS. | |
4018 | ||
4019 | Tue Apr 12 11:55:45 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
4020 | ||
4021 | * lex.l (chill_same_grant_file): Rename to same_file. Change to | |
4022 | take two files names rather than two DECLs. Also check that the | |
4023 | filesystems (st_dev) are equal. Finally, make static. | |
4024 | * lex.l (handle_use_seizefile_directive): Check for duplicate | |
4025 | USE_SEIZE_FILE directives using same_file. | |
4026 | * decl.c (pop_module): Remove dubious call to chill_same_grant_file. | |
4027 | ||
4028 | Sun Apr 10 17:19:56 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
4029 | ||
4030 | * decl.c, ch-tree.h (chill_result_decl): New variable. Used to | |
4031 | store RESULT value. (Cannot use DECL_RESULT; see comment in decl.c.) | |
4032 | * actions.c (chill_expand_result, chill_expand_return): | |
4033 | Use chill_result_decl appropriately. | |
4034 | * ch-tree.h, decl.c, actions.c (saved_result_rtx): Removed. | |
4035 | Subsumed by chill_result_decl. | |
4036 | ||
4037 | * expr.c (chill_expand-expr case CONCAT_EXPR): Generate temporary | |
4038 | using the mode of the result type, and don't assume it is BLKmode. | |
4039 | ||
4040 | Fri Apr 8 17:46:13 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
4041 | ||
4042 | * actions.c (chill_expand_assignment): Check for compatibility | |
4043 | _after_ "expanding out" a binary operation. This fixes | |
4044 | the case "STRING //:= CHAR". | |
4045 | ||
4046 | * lex.l (equal_number): Convert symbol to integer_type_node, to | |
4047 | force the value to be INT-derived (and avoid novelty conflicts). | |
4048 | ||
4049 | Mon Apr 4 22:06:31 1994 Per Bothner (bothner@cygnus.com) | |
4050 | ||
4051 | * ch-tree.h (CH_FUNCTION_SETS_RESULT): New flag. | |
4052 | * ch-actions.c (chill_expand_return), ch-tree.h: Extra | |
4053 | parameter, indicates if implicit return at end of function. | |
4054 | * ch-parse.y: Modify accordingly. | |
4055 | * ch-actions.c (chill_expand_return): Various improvements. | |
4056 | ||
4057 | * decl.c, ch-tree.h (result_never_set): New variable. | |
4058 | * actions.c (chill_expand_result, chill_expand_return): Clear it. | |
4059 | * ch-parse.y (end_function): Warn if no RETURN or RESULT action. | |
4060 | ||
4061 | * decl.c, ch-tree.h (saved_result_rtx): New variable. | |
4062 | * decl.c (start_chill_function): Use saved_result_rtx as return | |
4063 | value if there is a RESULT in a REG that might get clobbered. | |
4064 | * actions.c (chill_expand_result): Save result in saved_result_rtx | |
4065 | or assign to DECL_RESULT as appropriate. | |
4066 | * decl.c, ch-tree.h (current_function_returns_value, | |
4067 | current_function_returns_null, current_extern_inline): | |
4068 | Don't use. Only define first two to allow linking with ch-typeck.c. | |
4069 | ||
4070 | * typeck.c (chill_l_equivalent): Add forward declaration. | |
4071 | ||
4072 | Fri Apr 1 11:02:27 1994 Wilfried Moser (fs_moser at rcsw47) | |
4073 | ||
4074 | * lex.l (readstring): Handle control sequence in all cases (Z.200 | |
4075 | 5.2.4.4 page 54). | |
4076 | ||
4077 | Fri Apr 1 13:11:27 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
4078 | ||
4079 | * configure: Simplify and fix the logic for looping through | |
4080 | sub-directories. | |
4081 | ||
4082 | Thu Mar 31 18:59:57 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
4083 | ||
4084 | * ch-tree.h (CH_L_EQUIVALENT): Moved from typeck.c. | |
4085 | * typeck.c (chill_similar): Add support for checking | |
4086 | FUNCTION_TYPEs for similarity. Also, treat | |
4087 | pointer-to-function-type the same as function-type. | |
4088 | ||
4089 | Thu Mar 31 11:22:56 1994 Wilfried Moser (fs_moser at rcsw47) | |
4090 | ||
4091 | * ch-tree.h: Change prototype of function expand_send_signal. | |
4092 | * parse.y: Change calls to expand_send_signal. | |
4093 | * tasking.c (expand_send_signal): Change handling of optsetto | |
4094 | argument. New argument signame to get a possible destination | |
4095 | process for the signal. | |
4096 | ||
4097 | Wed Mar 30 14:54:48 1994 Wilfried Moser (fs_moser at rcsw1j) | |
4098 | ||
4099 | * tasking.c (make_process_struct): Change error message in case of | |
4100 | a process argument has other attribute then IN or LOC. | |
4101 | * tasking.c (build_start_process): Add check that the optset is | |
4102 | referable in case it is specified (this makes | |
4103 | noncompile/start_.ch working). | |
4104 | ||
4105 | Tue Mar 29 13:24:27 1994 Wilfried Moser (fs_moser at rcsw1h) | |
4106 | ||
4107 | * Makefile.in: Change version string to 1.2.1 | |
4108 | * ch-tree.h (enum chill_built_in_function): Delete no longer valid | |
4109 | entries. | |
4110 | * ch-tree.h: Change prototype for build_chill_readtext. | |
4111 | * decl.c (init_decl_processing): Add builtin_function _readstring, | |
4112 | _readunixstd and READTEXT. | |
4113 | * expr.c (build_generalized_call): Add processing of READTEXT. | |
4114 | Delete handling of no longer valid builtin_functions. | |
4115 | * gperf: Remove keyword READTEXT. | |
4116 | * parse.y: Remove token READTEXT. | |
4117 | * inout.c (build_chill_io_list_type): Add building type for | |
4118 | READTEXT. | |
4119 | * inout.c (build_chill_readtext): Implement the function | |
4120 | (partial). | |
4121 | * inout.c (build_chill_writetext): Do some cleanups. | |
4122 | ||
4123 | Tue Mar 29 12:30:59 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
4124 | ||
4125 | * typeck.c (build_chill_cast): Re-arrange, to support casts | |
4126 | of const integer to type of different size, if there is | |
4127 | an integral type of the desired size: Go through the | |
4128 | const conversion code. | |
4129 | ||
4130 | * actions.c (adjust_parm_or_field): Move support for LOC to ... | |
4131 | * expr.c (build_chill_function_call): ... here. | |
4132 | Fix a number of bugs in OUT/INOUT handling. | |
4133 | ||
4134 | * ch-tree.h, actions.c (adjust_parm_or_field), grant.c (print_struct), | |
4135 | parse.y (location), typeck.c (chill_comptypes): Remove unused | |
4136 | support for ENCAPSULATED_ARRAY_P. | |
4137 | * typeck.c (build_chill_array_parm_type), ch-tree.h: Remove; unused. | |
4138 | ||
4139 | * ch-tree.h, decl.c (shadow_record_fields), decl.c | |
4140 | (shadow_record_fields), expr.c (chill_expand_case_expr, | |
4141 | build_chill_function_call), grant.c (chill_finish_compile), | |
4142 | typeck.c (build_empty_string, build_init_struct): Rename magic | |
4143 | identifiers of the form "<...>" to "__..." for better portability. | |
4144 | ||
4145 | * actions.c (adjust_parm_or_field): Remove extraneous | |
4146 | call to build_chill_repetition_op. | |
4147 | * expr.c (build_chill_function_call): Some simplifictions | |
4148 | (since neither valtail nor typetail can be NULL). | |
4149 | Clean up error message for OUT//INOUT not location to use only 1 line. | |
4150 | Add error message for OUT/INOUT if type is READonly. | |
4151 | * typeck.c (build_chill_modify_expr): Simplify. | |
4152 | ||
4153 | Sun Mar 27 19:30:25 1994 Bill Cox (bill@rtl.cygnus.com) | |
4154 | ||
4155 | * Makefile.in: Clean up generally. Assure that | |
4156 | runtime is built before running regressions. | |
4157 | Build correct parameters to regression.sh. | |
4158 | Remove a lot of 'clean' cruft. | |
4159 | * Make-lang.in, config-lang.in: New files for | |
4160 | subdirectory architecture. | |
4161 | ||
4162 | Sat Mar 26 10:39:12 1994 Bill Cox (bill@rtl.cygnus.com) | |
4163 | ||
4164 | * Makefile.in (check): Build correct parameters for regression.sh. | |
4165 | ||
4166 | Fri Mar 25 10:13:06 1994 Bill Cox (bill@rtl.cygnus.com) | |
4167 | ||
4168 | * configure: Also mark regression.awk3 as executable. | |
4169 | * regression.sh: Add comments about command-line options. | |
4170 | Calculate srcdir correctly, defaulting to the script's path. | |
4171 | Add OPT flag to pass to the Makefiles, to specify the | |
4172 | compiler's optimization level, and -O and -O2 options. | |
4173 | Delete GLOBAL flag and tests. Use a different make.log | |
4174 | file for optimized and unoptimized test results. Add the | |
4175 | compiler's host and target triples to the report header. | |
4176 | ||
4177 | Wed Mar 23 21:41:26 1994 Bill Cox (bill@rtl.cygnus.com) | |
4178 | ||
4179 | * expr.c (build_chill_function_call): Handle INOUT and OUT | |
4180 | parameters better (for the rangefail test, at least). | |
4181 | ||
4182 | Wed Mar 23 14:13:45 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
4183 | ||
4184 | * regression.sh (srcdir, objdir): Fixed hard-wired paths. | |
4185 | (grep args): Changed [XYZ-] to [-XYZ] for SCO. | |
4186 | ||
4187 | Wed Mar 23 13:34:18 1994 Bill Cox (bill@rtl.cygnus.com) | |
4188 | ||
4189 | * expr.c (build_generalized_call): Revert previous change. | |
4190 | To do this correctly, we need a new parsing mechanism, and | |
4191 | C++ initializer technology. | |
4192 | ||
4193 | Wed Mar 23 09:34:50 1994 Bill Cox (bill@rtl.cygnus.com) | |
4194 | ||
4195 | * expr.c (build_generalized_call): Be sure we're inside the | |
4196 | module-level function before calling build_gen_inst, for | |
4197 | example. | |
4198 | ||
4199 | Wed Mar 23 09:34:50 1994 Bill Cox (bill@rtl.cygnus.com) | |
4200 | ||
4201 | * regression.sh (dodirectory): Count the gcov and abort tests | |
4202 | among the .dat files. | |
4203 | ||
4204 | Tue Mar 22 15:39:38 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
4205 | ||
4206 | * satisfy.c (safe_satisfy_decl): When checking that a SYN | |
4207 | value fits in a specified discrete type, don't convert first, | |
4208 | and use compare_int_csts instead of tree_int_cst_lt. | |
4209 | ||
4210 | Tue Mar 22 15:25:38 1994 Bill Cox (bill@rtl.cygnus.com) | |
4211 | ||
4212 | * configure: Generate better .gdbinit files. | |
4213 | ||
4214 | Tue Mar 22 11:59:38 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
4215 | ||
4216 | * actions.c (check_range): Don't emit dynamic checks | |
4217 | if not current_function_decl. | |
4218 | ||
4219 | * parse.y (arrayindex): Allow expr (error is emitted | |
4220 | at semantic level if not the NAME of a type). | |
4221 | * typeck.c (build_chill_cast): Re-enable some casts. | |
4222 | * satisfy.c (safe_satisfy_decl): Remove redundant CONST check. | |
4223 | ||
4224 | Tue Mar 22 11:46:28 1994 Bill Cox (bill@rtl.cygnus.com) | |
4225 | ||
4226 | * configure: Access the utils directory correctly. | |
4227 | * expr.c (build_compare_expr): Reenable compatibility test. | |
4228 | ||
4229 | Tue Mar 22 11:24:45 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
4230 | ||
4231 | * typeck.c (valid_array_index_p): Call | |
4232 | build_compare_discrete_expr instead of build_compare_expr. | |
4233 | * typeck.c (build_chill_cast): Improve logic. | |
4234 | * satisfy.c (safe_satisfy_decl): Simplify test. | |
4235 | ||
4236 | Tue Mar 22 10:17:58 1994 Bill Cox (bill@rtl.cygnus.com) | |
4237 | ||
4238 | * actions.c (chill_expand_assignment): Correct detection of | |
4239 | string assignment case. | |
4240 | * expr.c (chill_expand_expr): Now that we're using build_chill_function_call, | |
4241 | the actual parameters need to be converted to the unsigned long | |
4242 | type explicitly. Do that. | |
4243 | * satisfy.c (safe_satisfy_decl): Correct range-checking code. | |
4244 | ||
4245 | Mon Mar 21 16:25:07 1994 Bill Cox (bill@rtl.cygnus.com) | |
4246 | ||
4247 | * Makefile.in: Correct prediction of grammar conflicts. | |
4248 | * actions.c(check_range): Fix reference to NULL_TREE pointer. | |
4249 | And allow compile-time errors even if range_checking is off. | |
4250 | * parse.y: Clean up some comments. | |
4251 | * satisfy.c (safe_satisfy_decl): Add range-check for a SYN's value. | |
4252 | ||
4253 | Mon Mar 21 13:29:23 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
4254 | ||
4255 | * typeck.c (layout_chill_range_type): Instead of tree_int_cst_lt | |
4256 | use compare_int_csts (which is more robust when signedness differs). | |
4257 | Also, convert the bounds *after* doing range checking. | |
4258 | ||
4259 | * ch-tree.def (SET_IN_EXPR): New. | |
4260 | * expr.c (chill_expand_expr): Code to expand SET_IN_EXPR, | |
4261 | moved from expand_expr in ../expr.c. Also add some extra | |
4262 | conversions (because we're now using build_chill_function-call). | |
4263 | * actions.c, decl.c, expr.c, grant.c, parse.y, typeck.c: | |
4264 | Use SET_IN_EXPR in place of IN_EXPR. | |
4265 | ||
4266 | * expr.c (build_compare_discrete_expr), ch-tree.h: New function, | |
4267 | with code moved from build_compare_expr. | |
4268 | * expr.c (build_compare_expr): Re-enable compatibility test. | |
4269 | ||
4270 | Mon Mar 21 11:02:33 1994 Bill Cox (bill@rtl.cygnus.com) | |
4271 | ||
4272 | * Makefile.in: Rewrite byacc related rules. | |
4273 | * actions.c (chill_convert_for_assignment): Use the | |
4274 | referenced type only for generating range checks. | |
4275 | * configure: Add 'utils' directory to SUBDIRS variable. | |
4276 | ||
4277 | Sun Mar 20 21:49:59 1994 Bill Cox (bill@rtl.cygnus.com) | |
4278 | ||
4279 | * actions.c (check_range): Call build_compare_expr rather than | |
4280 | build_binary_op. | |
4281 | (adjust_parm_or_field): Call convert_for_assignment rathern than | |
4282 | convert, to get the range-checking. | |
4283 | * expr.c (build_chill_pred_or_succ): Fix up rangefail code. | |
4284 | Generate a compile-time message if possible. | |
4285 | (build_compare_expr): Comment out compatibility test - should | |
4286 | not be needed in here. Fix a couple of typos. Add some types | |
4287 | to some build calls. | |
4288 | ||
4289 | Sun Mar 20 11:48:10 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
4290 | ||
4291 | * decl.c (init_decl_processing): Clean up parameter type | |
4292 | list for __setbitpowerset, | |
4293 | ||
4294 | * typeck.c (chill_compatible_classes): Allow the M-reference | |
4295 | to be compatible with the N-value class, with suitable M and N. | |
4296 | * typeck.c (build_chill_slice): Don't smash a void TREE_TYPE. | |
4297 | (We don't need to, and it causes confusion.) | |
4298 | ||
4299 | * expr.c (build_compare_expr): Fix thinko. Add save_exprs. | |
4300 | ||
4301 | * expr.c (build_compare_expr): Fix a transcription bug | |
4302 | (for converting NULL INSTANCEs). Also #include convert.h. | |
4303 | ||
4304 | * expr.c (compare_int_csts): New. Compare INTEGER_CSTs. | |
4305 | Works even if their types have different TREE_UNSIGNED. | |
4306 | * expr.c (finish_chill_binary_op): Moved code dealing with | |
4307 | the comparison operators from here ... | |
4308 | * expr.c (build_compare_expr): ... to new function here. | |
4309 | Also, for discrete types, tries to Do The Right Thing, even for | |
4310 | differing values of TYPE_PRECISION and TREE_UNSIGNED. | |
4311 | the code from lay | |
4312 | * ch-tree.h: Declare new functions. | |
4313 | * typeck.c (valid_array_index_p): Various cleanups, | |
4314 | including using new build_parse_expr. | |
4315 | * parse.y: Use new build_compare_expr. | |
4316 | ||
4317 | * inout.c (build_chill_writetext): Handle REFERENCE_TYPE args. | |
4318 | ||
4319 | Sun Mar 20 08:54:27 1994 Bill Cox (bill@rtl.cygnus.com) | |
4320 | ||
4321 | * actions.c (expand_assignment_to_varying_array): | |
4322 | Call build_chill_array_ref to get index checking. | |
4323 | (chill_convert_for_assignment): Delete unused errstr | |
4324 | variable. | |
4325 | (chill_expand_assignment): Call build_chill_array_ref | |
4326 | to get runtime index checking. | |
4327 | (expand_varying_length_assignment): Use new interface | |
4328 | to varying_array_index_p. | |
4329 | * ch-tree.h (varying_array_index_p): New proto. | |
4330 | * convert.c (convert): Call build_chill_array_ref | |
4331 | to get runtime index checking. | |
4332 | * expr.c (build_chill_pred_or_succ): Fix cond tree | |
4333 | to have consistent operand types. | |
4334 | * typeck.c (valid_array_index_p): Change interface to pass | |
4335 | validity conditions back on caller's TREE_LIST. We | |
4336 | cannot link the conditions to anything which a | |
4337 | layout_type routine will expand, since that will occur | |
4338 | before the exception handler is set up. | |
4339 | Change calls to valid_array_index_p also. | |
4340 | ||
4341 | Fri Mar 18 14:40:50 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
4342 | ||
4343 | * actions.c, except.c, loop.c, tasking.c: Call | |
4344 | build_chill_function_call instead of the C-specific | |
4345 | build_function_call. | |
4346 | * except.c (initialize_exceptions): Fix parmtype of __builtin_setjmp. | |
4347 | * loop.c (top_loop_end_check): Coerce library function arg. | |
4348 | * convert.c, expr.c: Re-write to avoid calls to C-specific | |
4349 | function build_unary_op (e.g. by calling build1 directly). | |
4350 | ||
4351 | * typeck.c (chill_equivalent): Change to force failure | |
4352 | for non-matching integral types (even if not ranges). | |
4353 | ||
4354 | * typeck.c, ch-tree.h (build_chill_slice): Make non-static. | |
4355 | * expr.c (varying_to_slice): Call build_chill_slice (and not | |
4356 | build_chill_slice_with_length, which does bunches of range | |
4357 | checking and does not allow the length to be zero). | |
4358 | * convert.c (convert): Fix off-by-one error. | |
4359 | * actions.c (chill_expand_array_assignment): Minor cleaning up. | |
4360 | ||
4361 | Fri Mar 18 00:12:48 1994 Per Bothner (bothner@deneb.cygnus.com) | |
4362 | ||
4363 | * decl.c (init_decl_processing): __lepowerset and __ltpowerset | |
4364 | take *two* pointer parameters, not one. | |
4365 | * satisfy.c (satisfy): Only call the appropriate layout routine | |
4366 | if TYPE_SIZE is 0 (i.e. type hasn't already been laid out). | |
4367 | * typeck.c (build_chill_slice_with_length): Fix Bill's previous fix. | |
4368 | ||
4369 | Thu Mar 17 17:29:43 1994 Bill Cox (bill@rtl.cygnus.com) | |
4370 | ||
4371 | * expr.c (build_chill_function_call): Give function call the correct | |
4372 | type tree. | |
4373 | * typeck.c (build_chill_slice_with_length): Restore dynamic range | |
4374 | checking, so it doesn't obscure the CONSTANTness of the length. | |
4375 | ||
4376 | Wed Mar 16 17:23:31 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
4377 | ||
4378 | * typeck.c (build_chill_slice), expr.c (chill_expand_expr | |
4379 | [case CONCAT_EXPR]): Remove kludge setting slice size upper bound | |
4380 | in TYPE_LANG_SPECIFIC, and restore kludge setting it in MAX_VALUE. | |
4381 | * typeck.c (build_chill_slice): Use TYPE_MAX_VALUE of | |
4382 | array_type if needed for size upper bound of slice_type. | |
4383 | * expr.c (build_concat_expr): Improve calculation of size upper bound. | |
4384 | ||
4385 | * typeck.c (valid_array_index_p): Check compatibility using | |
4386 | correct types. | |
4387 | * typeck.c (build_chill_slice_with_length); For now revert | |
4388 | calling valid_array_index_p on length. (It makes it harder | |
4389 | to realize when the slice is constant length.) | |
4390 | * expr.c (build_chill_indirect_expr): Minor tweak. (This | |
4391 | seems to work around a weird C compiler bug. ??) | |
4392 | ||
4393 | * expr.c (build_chill_function_call): Cleanup so it doesn't | |
4394 | call build_function_call (in c-typeck.c). | |
4395 | * typeck.c, expr.c: Use build_chill_function_call instead of | |
4396 | build_function_call (in c-typeck.c). | |
4397 | ||
4398 | * parse.y (discrete_mode): Move some of the rules from | |
4399 | non_array_mode into new non-terminal. | |
4400 | (arrayindex): Use discrete_mode (with NAME and TYPENAME) to | |
4401 | avoid some misparses. | |
4402 | * ch-tree.h (SLICE_PTR, SLICE_LENGTH): Removed; unused. | |
4403 | * convert.c (digest_structure_tuple): Add missing parameter. | |
4404 | * decl.c (comptypes): Remove unused prototype. | |
4405 | * decl.c (build_chill_function_type): Handle NULL return_type | |
4406 | correctly (convert to void_type_node). | |
4407 | * decl.c (init_decl_processing): layout boolean_type_node *after* | |
4408 | we've set it's TYPE_MIN_VALUE and TYPE_MAX_VALUE. | |
4409 | ||
4410 | Wed Mar 16 16:08:22 1994 Bill Cox (bill@rtl.cygnus.com) | |
4411 | ||
4412 | * ch-tree.h: Add prototype. | |
4413 | * convert.c (convert): Correct calculation of padding length. | |
4414 | * decl.c (grok_chill_fixedfields): Move ignore_exprs test to | |
4415 | parse.y where it belongs. This permits the removal of a kludge | |
4416 | in make_process_struct. | |
4417 | * lex.l, parse.y: Call to_global_level for several errors. Add | |
4418 | code to output error in only one pass. | |
4419 | * tasking.c (make_process_struct): Delete kludge inserted on | |
4420 | March 8. | |
4421 | (build_receive_case_end): Add Wilfried's check for errors. | |
4422 | ||
4423 | Tue Mar 15 08:42:12 1994 Bill Cox (bill@rtl.cygnus.com) | |
4424 | ||
4425 | * actions.c: Fix comment. | |
4426 | (build_rts_call): Ifdef it out - never used. | |
4427 | (expand_varying_length_assignment): call valid_array_index_p. | |
4428 | rather than validate_varying_array_ref. | |
4429 | * ch-tree.h: Fix prototype for valid_array_index_p. | |
4430 | * expr.c (chill_expand_expr): Call build_chill_array_ref to get | |
4431 | index validation. | |
4432 | (build_hill_lower, build_chill_upper): Return value now inherits | |
4433 | the novelty of the input parameter. | |
4434 | (varying_to_slice): Use CH_NOVELTY macro rather than calling | |
4435 | chill_novelty directly. | |
4436 | * grant.c (newstring): Make len unsigned and cast xmalloc parameter | |
4437 | to unsigned. | |
4438 | (print_integer_type): Pass string value as APPEND's second parameter. | |
4439 | (decode_decl): Pass a boolean expression as print_proc_tail's | |
4440 | first parameter. | |
4441 | (chill_finish_module_code): Make xmalloc's parameter unsigned. | |
4442 | * lex.l: Pass sizes to xmalloc as unsigned ints. Pass second | |
4443 | parameter to in_word_set as unsigned. | |
4444 | * loop.c (build_loop_start): Check top_loop_end_check return value. | |
4445 | * parse.y: Add casts to int for third do_decls parameter, fifth | |
4446 | build_loop_iterator parameter, etc. | |
4447 | * tasking.c (build_receive_case_end): Chack cond_stack before popping. | |
4448 | * typeck.c (validate_varying_array_ref, chill_max_vary_array_index, | |
4449 | valid_array_index): Delete them. They're now unused. | |
4450 | (valid_array_index_p): Add function, call it everywhere that an | |
4451 | array index is checked. | |
4452 | (build_chill_slice): Restore old functionality where varying_to_slice | |
4453 | is called to handle slices of varying arrays, rather than handling | |
4454 | handling them here. | |
4455 | (build_chill_slice_with_range, build_chill_slice_with_length): | |
4456 | Check range limits for TREE_CONST before calling tree_int_cst_lt. | |
4457 | Delete now-obsolete checks of constant indices. | |
4458 | ||
4459 | Mon Mar 14 17:26:51 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
4460 | ||
4461 | * parse.y (modeless_expr): New rule to allow ([...]) and (if...) | |
4462 | to count as untyped_exprs. (This is not really permitted by the | |
4463 | Blue Book, but has been requested by customers.) | |
4464 | ||
4465 | Thu Mar 10 10:11:02 1994 Bill Cox (bill@rtl.cygnus.com) | |
4466 | ||
4467 | * chill.texi: Document new command-line options. | |
4468 | * expr.c (build_chill_num): Set unsigned parameter for | |
4469 | type_for_size call correctly (unsigned for enums). | |
4470 | * lang.c (lang_decode_option): Add command-line options to | |
4471 | enable/disable runtime range-checking. | |
4472 | * lex.l: Eat more whitespace. | |
4473 | ||
4474 | Thu Mar 10 09:41:37 1994 Bill Cox (bill@rtl.cygnus.com) | |
4475 | ||
4476 | * Makefile.in: Have rules to make parse.h, y.tab.c and other | |
4477 | derived files. This allows the gcc/configure list of CHILL | |
4478 | files machinery to work. | |
4479 | * ch-tree.h (permanent_allocation): Add a parameter flag. | |
4480 | * decl.c (finish_chill_function, finish_decl): Provide the | |
4481 | new permanent_allocation flag. | |
4482 | (poplevel): Return early, avoid a seg fault. | |
4483 | * lex.l (NORMAL): Replace this whole state with the predefined | |
4484 | INITIAL state. Force compilation state to global level after | |
4485 | compiler directive error - prevents endless loop on error. | |
4486 | (handle_use_seizefile_directive): Rewrite for readability. | |
4487 | (chill_same_grant_file): Reindent. | |
4488 | Generally handle whitespace differently. | |
4489 | * regression.prpt: Print ten PR numbers per line. The report's | |
4490 | getting too long. | |
4491 | ||
4492 | Wed Mar 9 09:58:51 1994 Bill Cox (bill@rtl.cygnus.com) | |
4493 | ||
4494 | * decl.c (do_decl): Suppress the string-assignment-condition | |
4495 | error - it was too often seen. | |
4496 | * expr.c (expand_chill_expr): In CONCAT_EXPR, when argument has a | |
4497 | runtime-changing length (as in a slice), get the parent array's | |
4498 | allocation size from its type tree. | |
4499 | * typeck.c (build_chill_slice): Support VARYING arrays. Pass | |
4500 | parent array's static allocation size along in the slice type. | |
4501 | ||
4502 | Wed Mar 9 08:54:24 1994 Bill Cox (bill@rtl.cygnus.com) | |
4503 | ||
4504 | * lex.l (name_type_signal): Avoid dereferencing a NULL TRE_TYPE. | |
4505 | ||
4506 | Tue Mar 8 11:51:10 1994 Bill Cox (bill@rtl.cygnus.com) | |
4507 | ||
4508 | * expr.c (build_chill_sizeof): Fix typo in error msg, add | |
4509 | some whitespace. | |
4510 | * lex.l (name_type_signal): Add debug output. | |
4511 | * parse.y (call): Allow EVENTNAME and BUFFERNAME parameters | |
4512 | to a call, so that SIZE () works on them. | |
4513 | * tasking.c (make_process_struct): Force ignore_exprs non-zero | |
4514 | when processing a SEIZEd PROCESS declaration. This prevents | |
4515 | grox-fixed_fields from returning a NULL, and indirectly protects | |
4516 | the chill_integer_type_node tree from corruption. | |
4517 | ||
4518 | Mon Mar 7 19:14:05 1994 Bill Cox (bill@rtl.cygnus.com) | |
4519 | ||
4520 | * Makefile.in: Use the 'all' target to build the runtime | |
4521 | library and chillrt0.o. | |
4522 | * README: Explain rules for files in this directory. | |
4523 | * addtest, addtest.man, build-release, | |
4524 | chill.regress.cron: Move to utils subdirectory. | |
4525 | * expr.c (build_chill_function_call): Mark the INOUT | |
4526 | temporary so it doesn't get optimized into a | |
4527 | register. Fixes the execute/inout.ch bug. | |
4528 | * typeck.c (layout_chill_range_type): Restrict it | |
4529 | from complaining about an empty string type's | |
4530 | bounds (0:-1). | |
4531 | ||
4532 | Mon Mar 7 09:06:39 1994 Bill Cox (bill@rtl.cygnus.com) | |
4533 | ||
4534 | * Makefile.in (compiler): Restore this target. | |
4535 | (OBJS, BC_OBJS): Delete unused variables. | |
4536 | Add $(FLAGS_TO_PASS) to sub-make invocations. | |
4537 | * ch_decomment.l, ch_makedepend, chill.patches, printf.c, | |
4538 | tcov.awk, tcov.el, tcov.sh: Move to utils subdirectory. | |
4539 | ||
4540 | Sat Mar 5 18:37:50 1994 Jim Wilson (wilson@sphagnum.cygnus.com) | |
4541 | ||
4542 | * except.c (finish_handler_array): When computing address of | |
4543 | the array ex_decl, don't call build_array_ref. | |
4544 | ||
4545 | Sat Mar 5 17:43:36 1994 Jim Wilson (wilson@sphagnum.cygnus.com) | |
4546 | ||
4547 | * loop.c (declare_temps): Force powerset temp to memory. | |
4548 | ||
4549 | Fri Mar 4 11:20:44 1994 Bill Cox (bill@rtl.cygnus.com) | |
4550 | ||
4551 | * typeck.c (layout_chill_range_type): Convert highval and | |
4552 | lowval to a common type before range-checking them. | |
4553 | ||
4554 | Fri Mar 4 11:20:44 1994 Bill Cox (bill@rtl.cygnus.com) | |
4555 | ||
4556 | * ch-tree.h: Add loop-related prototypes. | |
4557 | * decl.c, grant.c: Fix -Wall violations. | |
4558 | * parse.y: Fix format of %type directives. | |
4559 | ||
4560 | Fri Mar 4 10:04:18 1994 Wilfried Moser (fs_moser at rcsw1h) | |
4561 | ||
4562 | * Makefile.in: Update version number. | |
4563 | * expr.c: Fix a comment. | |
4564 | * inout.c (build_chill_writetext): Add handling of a REAL. | |
4565 | * lex.l (INITIAL): Remove all code to discard 'header lines'. | |
4566 | no longer needed. | |
4567 | * parse.y (optheader): Remove - it's obsolete, as is the | |
4568 | HEADEREL token definition. | |
4569 | ||
4570 | Fri Mar 4 09:41:18 1994 Bill Cox (bill@rtl.cygnus.com) | |
4571 | ||
4572 | * addtest: Fix suffix removal when suffix is .c186. | |
4573 | * regression.sh: Allow for underscores on PR filenames. | |
4574 | * typeck.c: Check in the rewrite mentioned earlier. | |
4575 | ||
4576 | Thu Mar 3 09:42:10 1994 Wilfried Moser (fs_moser at rcsw1h) | |
4577 | ||
4578 | * tasking.c (build_process_header): Build a debug structure | |
4579 | for easier access to PROCESS parameters. | |
4580 | ||
4581 | Thu Mar 3 09:42:10 1994 Bill Cox (bill@rtl.cygnus.com) | |
4582 | ||
4583 | * typeck.c (*string_assignment_condition): Complete rewrite | |
4584 | of a verbose first draft. | |
4585 | ||
4586 | Wed Mar 2 16:49:05 1994 Bill Cox (bill@rtl.cygnus.com) | |
4587 | ||
4588 | * actions.c (adjust_return_value): Simplify. | |
4589 | Delete references to CH_RETURNS_LOC, extra parameters to | |
4590 | push_extern_function and start_chill_functions. | |
4591 | (convert_for_assignment): Check whether to generate runtime | |
4592 | range-checking code. Handle reference_type in convert call. | |
4593 | (chill_expand_assignment): Produce an INDIRECT_REF for a | |
4594 | reference_type on the LHS. Delete conversions subsumed by | |
4595 | convert_for_assignment. | |
4596 | * ch-tree.h: Delete parameters from prototypes. | |
4597 | * decl.c (print_lang_decl): Print out signal flag. | |
4598 | (push_extern_function, start_chill_function): Delete | |
4599 | extra parameters, references to CH_RETURNS_LOC. | |
4600 | * grant.c (chill_finish_compile): Delete extra parameter. | |
4601 | * parse.y: Delete references to CH_RETURNS_LOC, extra parameters to | |
4602 | push_extern_function and start_chill_functions. | |
4603 | * regression.sh (checkprms): Skip PRMS discrepancies if we | |
4604 | can't access PRMS for some reason. | |
4605 | * satisfy.c: Correct indentation. | |
4606 | * tasking.c (build_process_header): Delete extra parameters | |
4607 | passed to push_extern_function and start_chill_functions. | |
4608 | ||
4609 | Wed Mar 2 10:33:50 1994 Bill Cox (bill@rtl.cygnus.com) | |
4610 | ||
4611 | * addtest: Require a fill filename. Be more careful about | |
4612 | adding the same test twice. | |
4613 | * expr.c: Add FIXME to comment. | |
4614 | * regression.sh: Add configure script call. | |
4615 | ||
4616 | Tue Mar 1 16:24:20 1994 Wilfried Moser (fs_moser at rcsw1h) | |
4617 | ||
4618 | * Makefile.in: Change version of chill to 1.1.2 | |
4619 | * inout.c: Add processing of SET and POWERSET types to WRITETEXT. | |
4620 | ||
4621 | Tue Mar 1 07:34:56 1994 Bill Cox (bill@rtl.cygnus.com) | |
4622 | ||
4623 | RETURN of LOC value is only half-baked. Stay tuned... | |
4624 | * actions.c (adjust_parm_or_field): Add to comment. | |
4625 | (adjust_return_value): New function for issuing errors about | |
4626 | RETURN and RESULT expressions. Also converts them. | |
4627 | (chill_expand_result, chill_expand_return): Call new | |
4628 | adjust_return_value function. | |
4629 | * ch-tree.h (CH_RETURNS_LOC): Add new flag for function types. | |
4630 | New parameter for push_extern_function and start_chill_function. | |
4631 | * decl.c (push_extern_function, start_chill_function): New parameter | |
4632 | to say whether return value is a LOC. | |
4633 | * expr.c (build_chill_indirect_ref): Further qualify the issuing | |
4634 | of the error message. | |
4635 | * grant.c (raw_decode_mode): Move test for instance mode under | |
4636 | STRUCT handling. | |
4637 | (start_chill_module_code, chill_finish_compile): Add new | |
4638 | parameter to start_chill_function calls. | |
4639 | * parse.y (get_type_of): Do lookup_name more often. | |
4640 | (quasi_pdef, procedure, procmode, optresultspec): Set | |
4641 | CH_RETURNS_LOC flag. | |
4642 | (optresultattr): Code keywords as a bitmask. | |
4643 | * tasking.c (build_process_header): Add new parameter to | |
4644 | start_chill_function call. | |
4645 | ||
4646 | Sat Feb 26 12:49:05 1994 Bill Cox (bill@rtl.cygnus.com) | |
4647 | ||
4648 | * Makefile.in: Replace undefined $(RM) with rm -f. | |
4649 | * configure: Make sure scripts are executable. | |
4650 | * regression.sh: Make variables to invoke make | |
4651 | and awk. Don't process a directory if it | |
4652 | doesn't exist. | |
4653 | ||
4654 | Fri Feb 25 14:48:48 1994 Bill Cox (bill@rtl.cygnus.com) | |
4655 | ||
4656 | * Makefile.in (check): Force the building of ../gcov and | |
4657 | ../xgcc before testing. Move the printf dependency here | |
4658 | since we don't need it until we're testing. | |
4659 | * addtest: Strip suffix from each input filename. | |
4660 | * decl.c (do_decl): Correct error checking. Call | |
4661 | string_assignment_condition for some of it. | |
4662 | * tasking.c (build_gen_inst): Add ability to pass an integer | |
4663 | for either the process ID or the copy number. If a number | |
4664 | is passed, range-check it against the CHILL unsigned type | |
4665 | limits. | |
4666 | (build_buffer_descriptor): Add draft code to check the buffer | |
4667 | name for correctness. | |
4668 | ||
4669 | Wed Feb 23 15:07:12 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
4670 | ||
4671 | New cleaner solution to the following problem: | |
4672 | Chill allows an action to be followed by an ON-handler. | |
4673 | But we don't know if an action has a handler until we've parsed | |
4674 | its end, yet we want to generate extra code to set up an | |
4675 | exception handling contour only if needed. The old solution | |
4676 | would generate code for the action into an rtl sequence, and then | |
4677 | splice in the exception-setup code if we later found we needed it. | |
4678 | This has a few problems (for example it confuses the management | |
4679 | of stack temporaries), and is ugly. Now that the compiler is 2-pass | |
4680 | we have a cleaner solution: In pass 1, we remember which actions | |
4681 | were followed by ON-handlers. In pass 2, we use this information | |
4682 | to generate appropriate code before an action. | |
4683 | * except.c (push_handler, pop_handler): In pass 1, set up data | |
4684 | structures (global_handler_list) to remember if an action has an | |
4685 | ON-handler. In pass 2, digest this information, and setup | |
4686 | handler if needed. | |
4687 | * except.c, actions.h (pop_handler): Take an extra int arg. | |
4688 | * except.c (emit_setup_handler): New function, with code (moved | |
4689 | from chill_start_on) to emit code before an action that has a handler. | |
4690 | * except.c (except_init_pass_2): New function. | |
4691 | * parse.y (pass1_2): Call except_init_pass_2 before pass 2. | |
4692 | * parse.y (POP_UNUSED_ON_CONTEXT): Don't call pop_sequence. | |
4693 | * parse.y: Invoke POP_UNUSED_ON_CONTEXT and POP_USED_ON_CONTEXT | |
4694 | in pass 1 as well as pass 2. | |
4695 | * parse.y (BEGIN ... END): Re-arrange logic to avoid block_stack | |
4696 | (local to ../stmt.c) getting out of sync. | |
4697 | * actions.c (push_action): Don't need to emit a NOP, | |
4698 | now that we're no longer moving sequences around. | |
4699 | * actions.c (push_action): Call push_handler even in pass one. | |
4700 | ||
4701 | Wed Feb 23 11:06:14 1994 Bill Cox (bill@rtl.cygnus.com) | |
4702 | ||
4703 | * decl.c (do_decl): Check for possible overflow in initializing | |
4704 | a declared variable. | |
4705 | * expr.c (build-chill_indirect_ref): Add error message for | |
4706 | a syntax error that C programmers converting to CHILL are | |
4707 | quite likely to make. | |
4708 | * satisfy.c (safe_satisfy_decl): Keep yesterday's change from | |
4709 | seg-faulting. | |
4710 | ||
4711 | Tue Feb 22 17:54:43 1994 Bill Cox (bill@rtl.cygnus.com) | |
4712 | ||
4713 | * Makefile.in: Use $(CC) rather than FLAGS_TO_PASS, which isn't | |
4714 | defined. Build chill script differently, and build an install script. | |
4715 | Add an action to run the regression test. | |
4716 | * actions.c (chill_expand_assignment): Change | |
4717 | string_assignment_condition call. | |
4718 | * ch-tree.h: Add prototype. | |
4719 | * expr.c (build_chill_function_call): Change | |
4720 | string_assignment_condition call. | |
4721 | * satisfy.c (safe_satisfy_decl): Add check that string INIT value | |
4722 | will fit in the declared mode. | |
4723 | * typeck.c (string_assignment_condition): Add flag to disable | |
4724 | runtime code generation. Add code to generate runtime test. | |
4725 | ||
4726 | Mon Feb 21 14:04:20 1994 Bill Cox (bill@rtl.cygnus.com) | |
4727 | ||
4728 | * Makefile.in (check): Add target to trigger a regression test. | |
4729 | ||
4730 | Mon Feb 21 13:54:20 1994 Bill Cox (bill@rtl.cygnus.com) | |
4731 | ||
4732 | * decl.c (do _based_decls): Add error check for | |
4733 | decls BASED on a PROC or PROCESS name. | |
4734 | ||
4735 | Mon Feb 21 13:24:02 1994 Bill Cox (bill@rtl.cygnus.com) | |
4736 | ||
4737 | * grant.c (chill_finish_compile): Bypass handling | |
4738 | module-level code if an earlier error has made | |
4739 | is useless. | |
4740 | * tasking.c (build_start_process): Generate error, | |
4741 | return if process name unknown. | |
4742 | ||
4743 | Mon Feb 21 14:29:41 1994 Wilfried Moser (fs_moser at rcsw47) | |
4744 | ||
4745 | * expr.c (build_generalized_call): Use | |
4746 | build_arrow_expr semantics for ADDR () builtin. | |
4747 | ||
4748 | Mon Feb 21 12:49:14 1994 Bill Cox (bill@rtl.cygnus.com) | |
4749 | ||
4750 | * tasking.c (build_gen_inst): Output correct | |
4751 | constructor for GEN_INST. | |
4752 | ||
4753 | Mon Feb 21 08:14:59 1994 Wilfried Moser (fs_moser at rcsw47) | |
4754 | ||
4755 | * lex.l (yywrap): Fix punctuation error. | |
4756 | ||
4757 | Sun Feb 20 19:58:14 1994 Bill Cox (bill@rtl.cygnus.com) | |
4758 | ||
4759 | * regression.sh: Fix cvs update-related commands. | |
4760 | Have cron job always perform the update, so it's | |
4761 | always reporting on the current state of the | |
4762 | sources. | |
4763 | * typeck.c (string_assignment_condition): Allow a | |
4764 | mis-match if the LHS is varying. | |
4765 | ||
4766 | Fri Feb 18 18:10:04 1994 Bill Cox (bill@rtl.cygnus.com) | |
4767 | ||
4768 | * actions.c (expand_chill_assignment): Add call to test the | |
4769 | string assignment condition. | |
4770 | * expr.c (build_chill_function_call): Add call to test the | |
4771 | string assignment condition. | |
4772 | * regression.awk2: Report WITHDRAWN PRs as well. | |
4773 | * regression.sh: Delete extra commentary about FEEDBACK PRs. | |
4774 | * typeck.c (string_assignment_condition): Add function to | |
4775 | perform the check. | |
4776 | ||
4777 | Fri Feb 18 16:30:40 1994 Bill Cox (bill@rtl.cygnus.com) | |
4778 | ||
4779 | * regression.awk1, regression.awk3: Recognize 'withdrawn' PRs | |
4780 | and exclude them from the regression test report. Mark them | |
4781 | in the list of PRs as 'W' status. | |
4782 | ||
4783 | Thu Feb 17 09:13:42 1994 Wilfried Moser (fs_moser at rcsw47) | |
4784 | ||
4785 | * Makefile.in: Define a version number. Build chill script | |
4786 | differently. Makefile depends upon ../configure, not configure. | |
4787 | * chill.in: Define some new flags. | |
4788 | ||
4789 | Wed Feb 16 19:44:33 1994 Bill Cox (bill@rtl.cygnus.com) | |
4790 | ||
4791 | * grant.c (decode_constant): Restore a 'return result' statement | |
4792 | that seems to have gotten lost. | |
4793 | ||
4794 | Wed Feb 16 12:37:44 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
4795 | ||
4796 | * ch-tree.h (various STRING-type macros): Use new TYPE_STRING_FLAG. | |
4797 | ||
4798 | * typeck.c (make_chill_array_type): Remove unused args. | |
4799 | Simplify to build only one-dimensionsal arrays, so change | |
4800 | index list to single index. Call layout_chill_array_type | |
4801 | if pass!=1. And rename to: build_simple_array_type. | |
4802 | * typeck.c (layout_chill_array_type): Only recurse | |
4803 | if TREE_TYPE has not been laid out. | |
4804 | * typeck.c (build_chill_array_type): Update accordingly. | |
4805 | * typeck.c (build_chill_slice): Replace calls to build_array_type | |
4806 | (which does hash-canonicalization, which breaks if we later set | |
4807 | the TYPE_STRING_FLAG) by calls to build_simple_array_type. | |
4808 | * convert.c (convert): The same. | |
4809 | ||
4810 | * grant.c (decode_constant): Clean up. Remove remnants of switch | |
4811 | on TREE_TYPE of the value, and fold those cases into first switch. | |
4812 | ||
4813 | Wed Feb 16 09:12:21 1994 Bill Cox (bill@rtl.cygnus.com) | |
4814 | ||
4815 | * Makefile.in: Add printf as a dependency of ../cc1chill. | |
4816 | * regression.sh: Make srcdir and objdir really work. | |
4817 | ||
4818 | Wed Feb 16 09:12:21 1994 Bill Cox (bill@rtl.cygnus.com) | |
4819 | ||
4820 | * expr.c (build_char_array_expr): Fix spelling | |
4821 | error in error msg. | |
4822 | * tree.c (build_string_type): Make check for overlarge | |
4823 | string more robust. | |
4824 | ||
4825 | Wed Feb 16 02:37:43 1994 Mike Stump (mrs@cygnus.com) | |
4826 | ||
4827 | * grant.c (decode_constant): Remove useless tests | |
4828 | for STRING_TYPE (which isn't used by anyone, including CHILL). | |
4829 | ||
4830 | Tue Feb 15 15:35:07 1994 Bill Cox (bill@cygnus.com) | |
4831 | ||
4832 | * build-release: Add refinements to checkout commands. | |
4833 | * decl.c (init_decl_processing): Move initialization of | |
4834 | chill_unsigned_type_node before 1st call to build_string_type. | |
4835 | * tree.c (build_string_type): Add compile-time test of string | |
4836 | allocated length. | |
4837 | * typeck.c (layout_chill_range_type): Add compile-time range limit | |
4838 | checking. | |
4839 | ||
4840 | Tue Feb 15 08:55:37 1994 Bill Cox (bill@cygnus.com) | |
4841 | ||
4842 | * Makefile.in: Add stamp-chill-objs as a dependency of ../cc1chill. | |
4843 | * regression.sh: Rename test directory names. | |
4844 | ||
4845 | Mon Feb 14 09:24:16 1994 Bill Cox (bill@rtl.cygnus.com) | |
4846 | ||
4847 | * Makefile.in: Change interface with parent directory's | |
4848 | Makefile, decoupling the lists of each others' files. | |
4849 | ||
4850 | Mon Feb 14 09:24:16 1994 Bill Cox (bill@rtl.cygnus.com) | |
4851 | ||
4852 | * lex.l: Delete obsolete comment. | |
4853 | * tasking.c (expand_send_signal): Add a type to the OPTSENDTO | |
4854 | instance constructor. | |
4855 | ||
4856 | Mon Feb 14 04:04:16 1994 Bill Cox (bill@rtl.cygnus.com) | |
4857 | ||
4858 | * lex.l (maybe_number): Add octal to numbers | |
4859 | handled by Feb 1 change. | |
4860 | ||
4861 | Sat Feb 12 16:24:22 1994 Bill Cox (bill@rtl.cygnus.com) | |
4862 | ||
4863 | * actions.c, convert.c, decl.c, expr.c, lex.l, | |
4864 | tasking.c, typeck.c: gcc -Wall cleanups. | |
4865 | * ch-tree.h: Change loop-related prototypes. | |
4866 | * loop.c, parse.y: Rewrite to set up correct loop scope. | |
4867 | Fix error path where loop variable not declared. | |
4868 | ||
4869 | Fri Feb 11 11:12:29 1994 Bill Cox (bill@rtl.cygnus.com) | |
4870 | ||
4871 | * Makefile.in: Add rule to build printf. Make it a dependency | |
4872 | of ../cc1chill. | |
4873 | * printf.c: New tool for regression testing script. | |
4874 | * regression.sh: Look for print in ${objdir}. | |
4875 | ||
4876 | Thu Feb 24 17:31:12 1994 Wilfried Moser (fs_moser at rcsw1j) | |
4877 | ||
4878 | * tasking.c (build_gen_inst): Allow integer expression as argument | |
4879 | 1 to this function. This was a change request to get rid of | |
4880 | unsupported value conversion from INSTANCE to ARRAY (0:1) UINT | |
4881 | or STRUCT (t UINT, c UINT). | |
4882 | ||
4883 | Thu Feb 10 09:49:31 1994 Bill Cox (bill@rtl.cygnus.com) | |
4884 | ||
4885 | * regression.awk3: Recognize upper-case PRMS state names. | |
4886 | ||
4887 | Wed Feb 9 15:26:19 1994 Bill Cox (bill@cygnus.com) | |
4888 | ||
4889 | * parse.y (dowithaction): Allow EXIT from DO WITH. | |
4890 | ||
4891 | Tue Feb 8 13:13:54 1994 Bill Cox (bill@rtl.cygnus.com) | |
4892 | ||
4893 | * configure: Change to require grant.c for evidence that we've | |
4894 | found the source directory. | |
4895 | * decl.c (init_decl_processing): delete unused builtin_slice | |
4896 | function declaration. | |
4897 | * expr.c (chill_expand_expr): Calculate powerset's length | |
4898 | correctly, calling powersetlen to do it. | |
4899 | * regression.sh: Replace BASE references with objdir references. | |
4900 | * typeck.c (build_chill_slice): Build the compound expression | |
4901 | in the right order. | |
4902 | ||
4903 | Mon Feb 7 15:56:07 1994 Bill Cox (bill@rtl.cygnus.com) | |
4904 | ||
4905 | * expr.c (build_chill_lower, build_chill_upper): Handle | |
4906 | LOC parameter types. | |
4907 | * regression.sh: Correct path to executable sub-shell-scripts. | |
4908 | ||
4909 | Mon Feb 7 11:33:47 1994 Bill Cox (bill@rtl.cygnus.com) | |
4910 | ||
4911 | * regression.sh: Pervasive changes to allow for separate | |
4912 | source and object directories. | |
4913 | ||
4914 | Wed Feb 2 17:5620 1994 Bill Cox (bill@rtl.cygnus.com) | |
4915 | ||
4916 | * decl.c (find_implied_typed): Delete obsolete reference to | |
4917 | PROCESS_TYPE. | |
4918 | * ch-tree.def (PROCESS_DECL, PROCESS_TYPE): Delete - they're | |
4919 | obsolete. | |
4920 | ||
4921 | Wed Feb 2 13:37:56 1994 Bill Cox (bill@rtl.cygnus.com) | |
4922 | ||
4923 | * Makefile.in: Delete bogus runtime/Makefile lines. | |
4924 | * configure: Build testsuite directory. | |
4925 | ||
4926 | Wed Feb 2 13:37:56 1994 Bill Cox (bill@rtl.cygnus.com) | |
4927 | ||
4928 | * configure: Correct srcdir for chill.examples directory. | |
4929 | ||
4930 | Wed Feb 2 11:24:57 1994 Wilfried Moser (fs_moser at rcsw47) | |
4931 | ||
4932 | * ch-parse.y (rule call): Add | |
4933 | BUFFERNAME LPRN untyped_expr RPRN | |
4934 | to enable generating a descriptor same as for SIGNALS. | |
4935 | * ch-tasking.c (generate_tasking_code variable, | |
4936 | decl_tasking_code_variable): Implement overflow check of | |
4937 | taskingcode in case a tasking code is specified with the | |
4938 | compiler directives SIGNAL_CODE, BUFFER_CODE, EVENT_CODE or | |
4939 | PROCESS_TYPE. | |
4940 | ||
4941 | Wed Feb 2 09:31:37 1994 Bill Cox (bill@rtl.cygnus.com) | |
4942 | ||
4943 | * configure: Add ${srcdir} to Makefile.in's path. | |
4944 | * loop.c: Delete unused whitespace. | |
4945 | ||
4946 | Tue Feb 1 17:09:41 1994 Bill Cox (bill@rtl.cygnus.com) | |
4947 | ||
4948 | * expr.c (string_char_rep): Process STRING_CST correctly. | |
4949 | ||
4950 | Tue Feb 1 15:29:28 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
4951 | ||
4952 | * expr.c (build_boring_bitstring): New function. | |
4953 | * expr.c (build_chill_repetition_op): Fix a number of bugs in | |
4954 | implementation of bitstring repetition. | |
4955 | Also, implement repetition of Booleans. | |
4956 | ||
4957 | Tue Feb 1 15:28:21 1994 Bill Cox (bill@rtl.cygnus.com) | |
4958 | ||
4959 | * configure: Delete code to check for gas or ld. Add code to | |
4960 | store a config.status file in each configured subdirectory. | |
4961 | * expr.c (): Spell concatbitstring as concatps, which is the | |
4962 | runtime routine name. | |
4963 | * regression.sh: Force use of GNU make. | |
4964 | ||
4965 | Tue Feb 1 15:22:12 1994 Bill Cox (bill@rtl.cygnus.com) | |
4966 | ||
4967 | * tasking.c: Mark compiler-generated temps to prevent | |
4968 | GRANTing them. | |
4969 | ||
4970 | Tue Feb 1 17:38:51 1994 Wilfried Moser (fs_moser at rcsw1j) | |
4971 | ||
4972 | * lex.l (equal_number): Improve check for number after = in a | |
4973 | compiler directive. | |
4974 | * tasking.c (build_tasking_struct): Make field TaskValue | |
4975 | pointer to chill_unsigned_type_node. | |
4976 | * tasking.c (generate_tasking_code_variable): Declare tasking | |
4977 | code variable as chill_unsigned_type_node. | |
4978 | * tasking.c (decl_tasking_code_variable): Declare tasking | |
4979 | code variable as chill_unsigned_type_node. | |
4980 | ||
4981 | Mon Jan 31 14:01:58 1994 Bill Cox (bill@rtl.cygnus.com) | |
4982 | ||
4983 | * addtest (update_Makefile): No longer build actions - they're | |
4984 | now in pattern rules. | |
4985 | * ch_makedepend: Do the grep first, to avoid processing non | |
4986 | USE_SEIZE_FILE lines. | |
4987 | * configure: Pervasive rewrite to support configuring regression | |
4988 | test directories. | |
4989 | ||
4990 | Mon Jan 31 04:35:53 1994 Michael Tiemann (tiemann@blues.cygnus.com) | |
4991 | ||
4992 | * typeck.c (build_chill_slice): Compute EXTENT correctly. | |
4993 | ||
4994 | Sun Jan 30 14:33:12 1994 Bill Cox (bill@rtl.cygnus.com) | |
4995 | ||
4996 | * tasking.c (build_gen_inst): Return a typed tuple with | |
4997 | INSTANCE type. | |
4998 | ||
4999 | Sun Jan 30 12:01:07 1994 Bill Cox (bill@rtl.cygnus.com) | |
5000 | ||
5001 | * actions.c (chill_expand_assignment): Recognize LENGTH builtin | |
5002 | in the left hand side, pass it to | |
5003 | expand_varying_length_assignment. | |
5004 | (expand_varying_length_assignment): Clean up bitrot. | |
5005 | * convert.c (convert): Revert most recent change. | |
5006 | * loop.c (maybe_skip_loop): New function, split out of | |
5007 | begin_chill_loop. Add conditional to skip processing an empty | |
5008 | VARYING array. | |
5009 | * parse.y (assignaction): Delete code to recognize LENGTH | |
5010 | on left-hand-side. | |
5011 | * typeck.c (validate_varying_array_ref): Correct misleading comment. | |
5012 | ||
5013 | Sat Jan 29 10:54:06 1994 Michael Tiemann (tiemann@blues.cygnus.com) | |
5014 | ||
5015 | * typeck.c (build_chill_slice): Pass a valid identifier to | |
5016 | `get_unique_identifier'. | |
5017 | ||
5018 | * convert.c (convert): Rename LENGTH variable to MAXIDX, and | |
5019 | use correct value for VAR_LENGTH when initializing a varying array. | |
5020 | ||
5021 | * decl.c (do_decl): Set DECL_COMMON. | |
5022 | ||
5023 | * actions.c (check_range): Temporarily inhibit warnings so the | |
5024 | compiler doesn't warn the user about useless range checks that it | |
5025 | might create. It's far easier for the compiler to figure out that | |
5026 | a range check need not be done than it is for us to try to figure | |
5027 | it out for ourselves. | |
5028 | ||
5029 | * expr.c (build_concat_expr): Generalize to handle bitstrings. | |
5030 | (scalar_to_string): New function. | |
5031 | (chill_expand_expr): Handle SET_TYPEs in CONCAT_EXPR by using new | |
5032 | library call (__concatbitstring). | |
5033 | ||
5034 | Sat Jan 29 08:43:54 1994 Bill Cox (bill@rtl.cygnus.com) | |
5035 | ||
5036 | * ch_makedepend: Fix the 'sed' command so that seize file | |
5037 | name can be delimited by double quotes as well as apostrophes. | |
5038 | ||
5039 | Thu Jan 27 17:26:19 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
5040 | ||
5041 | * typeck.c (my_build_array_ref): Do constant folding. | |
5042 | ||
5043 | Thu Jan 27 16:24:24 1994 Bill Cox (bill@rtl.cygnus.com) | |
5044 | ||
5045 | * actions.c, actions.h, ch-tree.h, chill.texi, convert.c, | |
5046 | decl.c, except.c, expr.c, grant.c, inout.c, lang.c, | |
5047 | lex.h, lex.l, loop.c, parse.y, tasking.c, tasking.h, | |
5048 | tree.c, typeck.c: New 'Copyright' line for 1994. | |
5049 | ||
5050 | Thu Jan 27 14:12:07 1994 Mike Stump (mrs@cygnus.com) | |
5051 | ||
5052 | * configure: Don't configure this directory with this configure, | |
5053 | just subdirectories and cleanup. | |
5054 | * Makefile.in (Makefile): Run config.status in parent directory, | |
5055 | if we need rebuilding. | |
5056 | ||
5057 | Thu Jan 27 10:37:33 1994 Bill Cox (bill@rtl.cygnus.com) | |
5058 | ||
5059 | * decl.c (bind_sub_modules): Need a parameter on the recursive call. | |
5060 | Thanks, Zoo! | |
5061 | ||
5062 | Thu Jan 27 10:37:33 1994 Bill Cox (bill@rtl.cygnus.com) | |
5063 | ||
5064 | * expr.c (build_concat_expr): Fix SunOS portability problem. | |
5065 | ||
5066 | Wed Jan 26 14:57:39 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
5067 | ||
5068 | * convert.c (digest_powerset_tuple): New function, used to set | |
5069 | TREE_CONSTANT and TREE_STATIC properly. | |
5070 | (digest_structure_tuple, convert (NULL to instance, non-varying | |
5071 | to varying)): Set TREE_CONSTANT and TREE_STATIC when appropriate. | |
5072 | * expr.c (varying_to_slice): Preserve novelty of slice type. | |
5073 | * expr.c (build_concat_expr): Make sure class of result is | |
5074 | correct (including correct novelty). | |
5075 | * satisfy.c (safe_satisfy_decl): If value of CONST_DECL is | |
5076 | not TREE_CONSTANT, emit an error. | |
5077 | * typeck.c (build_chill_slice): Preserve novelty of result. | |
5078 | * typeck.c (build_chill_slice): Simplify for varying argument | |
5079 | (by using varying_to_slice). | |
5080 | * typeck.c (expand_constant_to_buffer, extract_constant_from_buffer): | |
5081 | New functions. | |
5082 | * typeck.c (build_chill_cast): Use above new functions to convert | |
5083 | constant expressions. | |
5084 | * typeck.c (copy_novelty), ch-tree.h: New function. | |
5085 | * chill.texi: Update for new constant conversion semantics. | |
5086 | ||
5087 | Tue Jan 25 14:00:02 1994 Wilfried Moser (fs_moser at rcsw1j) | |
5088 | ||
5089 | * ch-decl.c (init_decl_processing): Add new builtin function | |
5090 | DESCR. Add call to build_chill_descr_type. | |
5091 | * ch-expr.c: Add function build_chill_descr_type, which actually | |
5092 | build the type the DESCR builtin returns. | |
5093 | Add function build_chill_descr, which process the DESCR builtin. | |
5094 | * ch-expr.c (build_chill_length): Add code to enable | |
5095 | LENGTH (bitstring). | |
5096 | * ch-expr.ch (build_generalized_call): Add processing of DESCR | |
5097 | builtin. | |
5098 | * ch-grant.c: Add code to avoid producing of unnecessary grant | |
5099 | files. | |
5100 | * ch-tree.h: Add enum for builtin function DESCR. Add prototype | |
5101 | for build_chill_descr. | |
5102 | * ch-inout.c (build_chill_io_list_type): Change generation of the | |
5103 | type passed to runtime library according to the new definition. | |
5104 | * ch-inout.c (build_chill_writetext): Change processing of format | |
5105 | string that a character constant is allowed as format string if | |
5106 | compiler gets called with -fold-strings option. | |
5107 | * ch-inout.c (build_chill_writetext): Change processing of | |
5108 | integers in case NEWMODE x = INT. | |
5109 | * ch-inout.c (build_chill_writetext): Remove processing of ranges. | |
5110 | * ch-inout.c (build_chill_writetext): Add processing of | |
5111 | bitstrings. | |
5112 | ||
5113 | Tue Jan 25 09:07:10 1994 Mike Stump (mrs@cygnus.com) | |
5114 | ||
5115 | * Makefile.in (all, OBSTACK): Build interesting things be default, | |
5116 | and make sure we include OBSTACK. | |
5117 | ||
5118 | Sun Jan 23 12:35:38 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
5119 | ||
5120 | * grant.c (decode_constant): Handle RANGE_EXPR. | |
5121 | Simplify handling of CONSTRUCTOR. | |
5122 | ||
5123 | * typeck.c (build_chill_slice): Use build_chill_array_ref_1, | |
5124 | not build_chill_array_ref. | |
5125 | ||
5126 | Sat Jan 22 16:23:30 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
5127 | ||
5128 | * parse.y: Generate a RANGE_EXPR (instead of a confusing | |
5129 | TREE_LIST) to indicate a range in case and tuple lables. | |
5130 | * actions.c (chill_handle_case_label), convert.c (digest_constructor): | |
5131 | Update accordingly to handle these RANGE_EXPRs. | |
5132 | * satisfy.c (satisfy): Don't call finish_chill_binary_op | |
5133 | for a RANGE_EXPR. | |
5134 | ||
5135 | Fri Jan 21 15:39:36 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
5136 | ||
5137 | * expr.c (force_addr_of): New function, to encapsulate passing | |
5138 | by reference a powerset or string to a library function. | |
5139 | * expr.c (build_min_max, build_set_expr): Use force_addr_of. | |
5140 | * expr.c (chill_expand_expr case CONCAT_EXPR): Fix passing of | |
5141 | rtl modes. (Old code fails on 64-bit Alpha.) | |
5142 | * expr.c (build_chill_function_call): Remove bogues check for | |
5143 | READonly variable passed as parameter. | |
5144 | * expr.c (build_set_expr): Merge common code. | |
5145 | * parse.y (string repetition): Fix logic for 2-pass scheme. | |
5146 | * expr.c (finish_chill_binary_op), grant.c (decode_constant), | |
5147 | satisfy.c (satisfy): Handle REPLICATE_EXPR. | |
5148 | * chill.texi: Fix typo. | |
5149 | ||
5150 | Mon Jan 17 13:55:48 1994 Jim Wilson (wilson@sphagnum.cygnus.com) | |
5151 | ||
5152 | * Makefile.in (INCLUDE): Add -I$(srcdir)/ch so that toplevel | |
5153 | tree.c can find ch-tree.h. | |
5154 | ||
5155 | Sat Jan 15 15:34:11 1994 Mike Stump (mrs@rtl.cygnus.com) | |
5156 | ||
5157 | * configure: Fix problem so that building in a separate directory | |
5158 | works. | |
5159 | ||
5160 | Sat Jan 15 09:51:02 1994 Bill Cox (bill@rtl.cygnus.com) | |
5161 | ||
5162 | * Makefile.in: Recurse down into runtime to | |
5163 | create its Makefile, and to clean up. | |
5164 | * configure: Recurse into runtime to make its Makefile. | |
5165 | ||
5166 | Sat Jan 15 09:15:22 1994 Bill Cox (bill@rtl.cygnus.com) | |
5167 | ||
5168 | << This set of CHILL frontend sources is now the | |
5169 | maintainable and master set. Accept no substitutes! >> | |
5170 | * Makefile.in, configure: Completely rewritten | |
5171 | to be invoked by gcc/Makefile.in and | |
5172 | gcc/configure. | |
5173 | * addtest (update_ChangeLog): Fix insertion | |
5174 | of the '*'. | |
5175 | * regression.sh: Add global option to suppress results of | |
5176 | proprietary tests. | |
5177 | * cpy.sh: Add necessary edits to files as they | |
5178 | are copied down. | |
5179 | * actions.c, ch-tree.def, ch-tree.h, convert.c, | |
5180 | decl.c, except.c, expr.c, grant.c, inout.c, | |
5181 | lang.c, lex.h, lex.l, loop.c, parse.y, | |
5182 | satisfy.c, tasking.c, typeck.c: Latest | |
5183 | versions from the repository. | |
5184 | ||
5185 | Fri Jan 14 12:28:39 1994 Bill Cox (bill@rtl.cygnus.com) | |
5186 | ||
5187 | * addtest: Fix insertion of line into ChangeLog. | |
5188 | * configure: Add a script. | |
5189 | * Makefile.in: Hack from ../Makefile.in | |
5190 | * actions.c, convert.c, decl.c, expr.c, grant.c, inout.c, | |
5191 | * lex.l, loop.c, parse.y, satisfy.c, typeck.c: Latest sources. | |
5192 | ||
5193 | Mon Jan 10 11:38:07 1994 Bill Cox (bill@rtl.cygnus.com) | |
5194 | ||
5195 | * build-release: Rewrite for easier tailoring. | |
5196 | ||
5197 | Wed Jan 5 08:38:21 1994 Bill Cox (bill@cygnus.com) | |
5198 | ||
5199 | * actions.c, convert.c, decl.c, except.c, expr.c, | |
5200 | inout.c, loop.c, parse.y, satisfy.c, typeck.c: | |
5201 | Current versions from devo/gcc. | |
5202 | ||
5203 | Wed Dec 29 14:07:10 1993 Bill Cox (bill@rtl.cygnus.com) | |
5204 | ||
5205 | * addtest: Don't add comment headers to source or .dat files | |
5206 | if they're already present. | |
5207 | ||
5208 | Wed Dec 29 13:15:11 1993 Bill Cox (bill@rtl.cygnus.com) | |
5209 | ||
5210 | * mktg_leads: New file. | |
5211 | * regression.sh, regression.awk2: Updated status report scripts. | |
5212 | * addtest: New script to add a test to a directory. | |
5213 | * ch_makedepend: Add full path to ch_decomment. | |
5214 | * actions.c, convert.c, decl.c, expr.c, grant.c, inout.c, | |
5215 | lex.l, loop.c, parse.y, satisfy.c, tasking.c, typeck.c: | |
5216 | Updated copies of actual sources. | |
5217 | * chill.brochure, chill.texi: Update with current status. | |
5218 | * cpy.sh: Script for updating copies of sources. | |
5219 | * chill.patches: New script for creating a patch release. | |
5220 | Pretty rough. | |
5221 | ||
5222 | Wed Dec 8 09:35:54 1993 Bill Cox (bill@rtl.cygnus.com) | |
5223 | ||
5224 | * build-release: Delete lots of unused regression-testing cruft. | |
5225 | * chill.brochure: Initial draft of marketing brochure. | |
5226 | * chill.patches: Preliminary script for building patch sets | |
5227 | for CHILL. | |
5228 | * tcov.awk, tcov.el, tcov.sh: New files. Script, tools for | |
5229 | building a tcov report on the CHILL compiler. | |
5230 | ||
5231 | Sun Nov 21 08:34:33 1993 Bill Cox (bill@rtl.cygnus.com) | |
5232 | ||
5233 | * Makefile.in: Adjust gperf rule for names in this directory. | |
5234 | * ch_decomment.l: New file. Ignores CHILL comments. | |
5235 | Executable is used bu ch_makedepend. | |
5236 | * ch_makedepend: New script. Makes CHILL dependencies for | |
5237 | Makefiles. | |
5238 | * gperf, hash.h: New files about lexer tokens. | |
5239 | * regression.sh: Delete notes justifying non-summing | |
5240 | report rows. | |
5241 | * regression.awk2: Report PRMS status when there are | |
5242 | missing test results. | |
5243 | * regression.awk3: Add #! line, so this can be used separately. | |
5244 | * Other files: latest versions copied from devo/gcc. | |
5245 | ||
5246 | Sat Oct 30 15:02:24 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
5247 | ||
5248 | * chill.texi: Add new node about conversions. | |
5249 | ||
5250 | Fri Oct 29 14:17:31 1993 Bill Cox (bill@cygnus.com) | |
5251 | ||
5252 | * chill.regress.cron: Change path to executable, enable PR report. | |
5253 | * regression.awk2: Add terminating periods to messages. | |
5254 | * regression.sh: Change path to testsuites. Add disclaimer at end | |
5255 | of report. Print explicit lists of resolved/unresolved PRs. | |
5256 | ||
5257 | Thu Oct 28 09:22:20 1993 Bill Cox (bill@rtl.cygnus.com) | |
5258 | ||
5259 | * regression.sh: More PR-related status is printed. | |
5260 | ||
5261 | Thu Oct 21 19:24:02 1993 Bill Cox (bill@rtl.cygnus.com) | |
5262 | ||
5263 | * regression.sh: Simplify the paths, make the source | |
5264 | and test files accessed separately from the executables. | |
5265 | ||
5266 | Wed Oct 20 16:35:30 1993 Bill Cox (bill@rtl.cygnus.com) | |
5267 | ||
5268 | * regression.sh: Finally fix the file-delete problem. | |
5269 | Thanks, Jeffrey! | |
5270 | * build-release: Make more verbose, fix comment. | |
5271 | ||
5272 | Mon Oct 18 00:21:24 1993 Bill Cox (bill@cygnus.com) | |
5273 | ||
5274 | * regression.sh: Build linker if -U option. Put stderr | |
5275 | into make.log files, too. Also report on Z.200 examples. | |
5276 | * regression.awk3: New script to help build release note. | |
5277 | ||
5278 | Fri Oct 15 16:33:54 1993 Bill Cox (bill@cygnus.com) | |
5279 | ||
5280 | * regression.sh, regression.prpt: Output PR status only | |
5281 | conditionally. Add command-line flag for CVS updates. | |
5282 | ||
5283 | Thu Oct 14 07:53:59 1993 Bill Cox (bill@rtl.cygnus.com) | |
5284 | ||
5285 | * regression.sh: Count PRs accurately. | |
5286 | * Makefile.in: New file. | |
5287 | ||
5288 | Sat Oct 9 19:46:58 1993 Bill Cox (bill@rtl.cygnus.com) | |
5289 | ||
5290 | * regression.awk?: Add program fragments for | |
5291 | report of PRMS/test exceptions. | |
5292 | * regression.sh: Add options and PRMS reports. | |
5293 | ||
5294 | Fri Oct 8 06:44:41 1993 Bill Cox (bill@rtl.cygnus.com) | |
5295 | ||
5296 | Create chill frontend directory, populate it. | |
5297 | Later, the chill-specific frontend files will be moved here. | |
5298 | ||
5299 | * chill: Moved here from gcc directory. | |
5300 | * chill.regress.cron: Add crontab file for regression tests. | |
5301 | * regression.sh: Add regression test control script. | |
5302 | ||
5303 | # | |
5304 | # What follows is a copy of the former devo/gcc/ChangeLog.Chill file, | |
5305 | # | |
5306 | Sat Jan 15 14:54:07 1994 Bill Cox (bill@rtl.cygnus.com) | |
5307 | ||
5308 | * ch-*.*: All of these files are now moved to the ch subdirectory. | |
5309 | Further update changes should be recorded in the ch/ChangeLog file. | |
5310 | ||
5311 | Fri Jan 14 21:09:44 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
5312 | ||
5313 | * c-typeck.c, ch-actions.c, ch-convert.c, ch-decl.c, ch-except.c, | |
5314 | ch-satisfy.c, ch-typeck.c: Undo all of initializer-related changes | |
5315 | that Tiemann did earlier this month. | |
5316 | * c-typeck.c (really_start_incremental_init): Save | |
5317 | constructor_elements and (old value of) constructor_stack | |
5318 | on constructor_stack, to allow for nested initializers. | |
5319 | * ch-convert.c (digest_constructor): If we need a varying | |
5320 | array, and have a constructor (for the array elements), | |
5321 | make sure to use convert so that the constructor gets | |
5322 | wrapped in an implicit record constructor. | |
5323 | * ch-decl.c (do_decl): If there is no initializer for a | |
5324 | varying array (or bitstring), create default constructor. | |
5325 | ||
5326 | * ch-expr.c (build_chill_lower): Fix thinko for ARRAY_TYPE. | |
5327 | * ch-satisfy.c (safe_satisfy_decl): Make sure that we make | |
5328 | original decl to check if we need to make an rtl. | |
5329 | ||
5330 | * ch-typeck.c (build_chill_array_ref_1), ch-tree.h: New function | |
5331 | which does the actual work for build_chill_array_ref (which | |
5332 | now just loops over an argument list). | |
5333 | * ch-actions.c, ch-expr.c, ch-inout.c: Use build_chill_array_ref_1 | |
5334 | instead of build_chill_array_ref where appropriate. | |
5335 | * ch-actions.c, ch-expr.c, ch-typeck.c: Make operand 1 of a | |
5336 | VARY_ARRAY_REF is a single index, not an index list. | |
5337 | ||
5338 | * ch-grant.c (__init_list): Renamed to _ch_init_list, to | |
5339 | avoid a conflict on the Alpha. | |
5340 | ||
5341 | Wed Jan 12 10:19:35 1994 Bill Cox (bill@rtl.cygnus.com) | |
5342 | ||
5343 | * ch-lex.l (WS): Add BS, VT and CR to definition of | |
5344 | whitespace. | |
5345 | (convert_number): Allow for uppercase hex digits. | |
5346 | ||
5347 | Tue Jan 11 19:43:55 1994 Bill Cox (bill@cygnus.com) | |
5348 | ||
5349 | * ch-actions.c (lookup_and_handle_exit): Correct | |
5350 | conditional so error messages are output. | |
5351 | * ch-expr.c (build_chill_addr_expr): Add error message. | |
5352 | * ch-grant.c (chill_finish_module_code): Avoid abort by | |
5353 | giving the init_list constructor a type. | |
5354 | (chill_finish_compile): Delete unused code. | |
5355 | * ch-lex.l: Make most build_init_2 calls from the | |
5356 | permanent obstack, so that enumeration values endure. | |
5357 | * ch-loop.c (build_chill_iterator): Add several error | |
5358 | messages. | |
5359 | ||
5360 | Tue Jan 11 12:31:55 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
5361 | ||
5362 | * ch-expr.c, ch-typeck.c: Rewrite some instances of | |
5363 | 'struct ch_class class = chill_expr_class (expr);' to | |
5364 | 'struct ch_class class; class = chill_expr_class (expr);' | |
5365 | to work around a bug in /usr/ucb/cc on SunOS4. | |
5366 | ||
5367 | Mon Jan 10 18:29:36 1994 Bill Cox (bill@rtl.cygnus.com) | |
5368 | ||
5369 | * ch-actions.c (chill_convert_for_assignment): Avoid seg fault. | |
5370 | * ch-expr.c (expand_packed_set): Add new parameter to pass | |
5371 | set's minimum ordinal value. Fix loop invariant problem. | |
5372 | (fold_set_expr): Change to add new parameter to | |
5373 | expand_packed_set call. | |
5374 | * ch-grant.c: Move extern declaration to ch-tree.h. | |
5375 | * ch-lex.l (convert_bitstring): Also output the bitstring | |
5376 | if yydebug is set. | |
5377 | * ch-tree.h: Add prototype. | |
5378 | ||
5379 | Mon Jan 10 11:29:41 1994 Bill Cox (bill@rtl.cygnus.com) | |
5380 | ||
5381 | * ch-inout.c: Fix comment. | |
5382 | * ch-tree.h: Add prototype. | |
5383 | ||
5384 | Sun Jan 9 18:22:22 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
5385 | ||
5386 | * ch-tree.h (chill_expr_class): New prototype. | |
5387 | * ch-expr.c (build_chill_pred_or_succ, build_chill_unary_op): | |
5388 | Convert result to correct class. | |
5389 | * ch-expr.c (build_chill_repetition_op): Preserve CH_DERIVED_FLAG. | |
5390 | Also, fix some bugs for bitstrings (with ranges). | |
5391 | ||
5392 | (Patches from Tiemann.) | |
5393 | * ch-convert.c (convert1): New function to force TREE_TYPE. | |
5394 | (convert): Use convert1 where appropriate. | |
5395 | * ch-typeck.c: Formatting change. | |
5396 | * ch-parse.y (build_chill_constructor): Fix thinko. | |
5397 | ||
5398 | * ch-expr.c (varying_to_slice): If array is not referable, | |
5399 | call save_expr on it, rather than stabilize_reference. | |
5400 | * ch-satisfy.c (safe_satify_decl, for CONST_DECL): | |
5401 | Don't force value to value class if mode is not explicitly | |
5402 | specified. Also, make sure convert etc is only done once. | |
5403 | ||
5404 | Sat Jan 8 16:37:10 1994 Per Bothner (bothner@kalessin.cygnus.com) | |
5405 | ||
5406 | * ch-decl.c (build_chill_function_type): Don't call | |
5407 | build_function_type, because it does hash canonicalization, | |
5408 | which once in a while looses badly. | |
5409 | * tree.c (build_function_type): Remove no-longer-needed test | |
5410 | for doing_chill_thang. | |
5411 | ||
5412 | * ch-tree.h (CH_DERIVED_FLAG): New flag. | |
5413 | * ch-tree.h (enum ch_expr_class): Renamed to ch_class_kind. | |
5414 | (struct ch_class): New type, used to represent a Chill | |
5415 | 'class' as a first-class value. | |
5416 | (CH_ROOT_RESULTING_MODE): Replaced by CH_ROOT_RESULTING_CLASS. | |
5417 | * ch-typeck.c (chill_expr_class): Change interface to return | |
5418 | a struct ch_class. | |
5419 | (chill_compatible, chill_compatible_classes): Update accordingly. | |
5420 | (chill_root_resulting_mode): Replace by .... | |
5421 | (chill_root_resulting_class): ... new function. | |
5422 | * ch-convert.c (convert_to_class): New function. | |
5423 | * ch-decl.c (layout_enum): Mark enum values with CH_DERIVED_FLAG. | |
5424 | * ch-lex.l (string_or_int): Rename to string_or_char. | |
5425 | * ch-lex.l (build_chill_string, string_or_char, convert_bitstring, | |
5426 | convert_float, convert_number): Set CH_DERIVED_FLAG for literals. | |
5427 | * ch-expr.c (finish_chill_binary_op): Use convert_to_class. | |
5428 | * ch-satisfy.c (safe_satisfy_decl): For CONST_DECL, make sure | |
5429 | DECL_INITIAL gets set to result of convert. | |
5430 | Also, clear CH_DERIVED_FLAG for SYN value. | |
5431 | * expr.c (store_constructor): If a [power]set is exactly one | |
5432 | word long, use single-word move. | |
5433 | ||
5434 | Sat Jan 8 08:38:29 1994 Michael Tiemann (tiemann@blues.cygnus.com) | |
5435 | ||
5436 | * c-typeck.c (chill_initializer_constant_valid_p): Fix typo. | |
5437 | ||
5438 | Wed Jan 5 05:18:46 1994 Michael Tiemann (tiemann@blues.cygnus.com) | |
5439 | ||
5440 | * ch-typeck.c (build_chill_slice_with_length): Test that ARRAY is of | |
5441 | ARRAY_TYPE before assuming so. Also, subtract 1 from LENGTH in | |
5442 | computation of SLICE_END. | |
5443 | ||
5444 | * ch-typeck.c (chill_location): Treat CONSTRUCTORs like STRING_CSTs. | |
5445 | ||
5446 | * ch-expr.c (build_chill_indirect_ref): Handle MODE == NULL_TREE. | |
5447 | ||
5448 | * ch-expr.c (fold_set_expr): Handle OP1 == NULL_TREE (which happens | |
5449 | for unary set operations). | |
5450 | ||
5451 | * ch-expr.c (build_chill_array_expr): Take new argument FORCE. All | |
5452 | callers changed. All callers changed. | |
5453 | ||
5454 | * ch-convert.c (digest_structure_tuple): Handle SELECTED_VARIANT | |
5455 | being NULL_TREE until we've started walking the list of values via | |
5456 | the loop over VARIANTs. | |
5457 | ||
5458 | * ch-parse.y (build_chill_constructor): If we see an IDENTIFIER_NODE, | |
5459 | treat it as an enum value (and hence constant). Also, only set | |
5460 | TREE_STATIC if the constructor is indeed constant. | |
5461 | * c-typeck.c (chill_initializer_constant_valid_p): If we see a | |
5462 | VAR_DECL, test the TREE_CONSTANT field of the DECL_INITIAL, don't | |
5463 | recurse on the DECL_INITIAL. | |
5464 | ||
5465 | Wed Jan 5 01:24:50 1994 Bill Cox (bill@cygnus.com) | |
5466 | ||
5467 | * Makefile.in: Add CHILL to LANGUAGES variable. | |
5468 | * ch-actions.c (check_range): Call build_binary_op instead of | |
5469 | fold, build to get the common types chosen. | |
5470 | (cond_range_exception, cond_overflow_exception, | |
5471 | cond_type_range_exception): Delete, obsolete. | |
5472 | (chill_convert_for_assignment): Enable this, get particular | |
5473 | about when to generate rangecheck code. | |
5474 | * ch-expr.c (build_chill_function_call): Sketch in where to | |
5475 | perform chill_convert_for_assignment on actual parameters. | |
5476 | (build_chill_addr_expr): Correct compiler warning. | |
5477 | * ch-loop.c (build_chill_iterator): Add runtime check for | |
5478 | negative loop step expression. | |
5479 | * ch-tree.h: Add prototype. | |
5480 | * ch-typeck.c (chill_max_vary_array_ref): Correct misunderstanding. | |
5481 | A varying array's length field counts the NUMBER of active array | |
5482 | array entries, not the byte-length of them. | |
5483 | ||
5484 | Tue Jan 4 17:57:39 1994 Michael Tiemann (tiemann@blues.cygnus.com) | |
5485 | ||
5486 | * ch-decl.c (do_decl): Call `suspend_momenary' if the | |
5487 | converted constructor must live on the permanent_obstack. | |
5488 | * ch-convert.c (convert): When building a new SET_TYPE | |
5489 | constructor, re-set the TREE_CONSTANT and TREE_STATIC bits. | |
5490 | * c-typeck.c (chill_initializer_constant_valid_p): Handle VAR_DECLs. | |
5491 | ||
5492 | * ch-typeck.c (chill_location): CONSTRUCTORS that are static | |
5493 | are locations. | |
5494 | * ch-satisfy.c (safe_satisfy_decl): Convert DECL_INITIAL of CONST_DECL | |
5495 | on permanent_obstack if necessary. | |
5496 | ||
5497 | * ch-convert.c (digest_structure_tuple): When building a new SET_TYPE | |
5498 | constructor, re-set the TREE_CONSTANT and TREE_STATIC bits. | |
5499 | ||
5500 | * ch-decl.c (do_decl): Fix handling of REFERENCE_TYPEs which | |
5501 | the patch below helped to mess up. | |
5502 | ||
5503 | * ch-expr.c (build_chill_arrow_expr): Call `mark_addressable'. | |
5504 | (build_chill_addr_expr): Take new argument ERRORMSG. | |
5505 | All callers changed. Also, call `build_chill_addr_expr' where | |
5506 | we used to call `build1 (ADDR_EXPR, ptr_type_node, ...)' since | |
5507 | that now calls `mark_addressable' automagically. | |
5508 | ||
5509 | * ch-decl.c (do_decl): Keep OPT_INIT in DECL_INITIAL if possible. | |
5510 | This is needed because variables may appear in initialization | |
5511 | statements, and their DECL_INITIALs are their values at | |
5512 | initialization time. | |
5513 | * ch-convert.c (digest_structure_tuple,digest_constructor): Changed | |
5514 | to handle VAR_DECLs as initializers. | |
5515 | ||
5516 | * ch-convert.c (digest_structure_tuple): Copy elements of INITS so | |
5517 | they aren't destroyed for later use. | |
5518 | ||
5519 | Tue Jan 4 15:25:30 1994 Bill Cox (bill@cygnus.com) | |
5520 | ||
5521 | * ch-expr.c (chill_expand_expr): Correct check-range lo_limit | |
5522 | parameter for varying_array_ref calculations. | |
5523 | (build_chill_indirect_ref): Prevent seg fault due to syntax error. | |
5524 | * ch-typeck.c (build_chill_slice_with_range): Correct issuance | |
5525 | of bogus error in votrics. | |
5526 | (build_chill_slice_with_length): Change for debug tracability. | |
5527 | ||
5528 | Tue Jan 4 02:43:37 1994 Michael Tiemann (tiemann@blues.cygnus.com) | |
5529 | ||
5530 | * ch-convert.c (digest_structure_tuple): Fix phasing problem in | |
5531 | handling variant record initializers. | |
5532 | (various places): Change `pop_init_level' calls to match | |
5533 | `push_init_level' wrt implicit variable. | |
5534 | ||
5535 | * ch-typeck.c (build_chill_slice): Convert the dynamic max index to | |
5536 | `integer_type_node' before using it in comparisons. FIXME: should | |
5537 | this be done in `chill_max_vary_array_index' by default? | |
5538 | ||
5539 | Tue Jan 4 00:24:14 1994 Bill Cox (bill@cygnus.com) | |
5540 | ||
5541 | * ch-actions.c: Fix comments. | |
5542 | * ch-parse.y: Define caseaction_flag. | |
5543 | (caseaction): Create new caseaction_flag node at the start, | |
5544 | then free it at the end. Check it before the ELSE code. | |
5545 | (expanded_case_label): Check the flag here. If set in either | |
5546 | place, generate a jump to the end of the case. | |
5547 | * ch-typeck.c (build_chill_slice_with_length, | |
5548 | build_chill_slice_with_range): Add lots of compile-time | |
5549 | parameter range checking. | |
5550 | ||
5551 | Mon Jan 3 21:49:04 1994 Michael Tiemann (tiemann@blues.cygnus.com) | |
5552 | ||
5553 | * ch-convert.c (digest_structure_tuple): Call `push_init_level' with | |
5554 | implicit==0 everywhere, not 1. | |
5555 | (digest_constructor): Ditto. | |
5556 | ||
5557 | * ch-actions.c (check_range): Permit limits to be NULL_TREE. | |
5558 | Also, hack out some dead code. | |
5559 | * ch-typeck.c (build_chill_slice): Check varying and non-varying | |
5560 | slice constructs for range failures. | |
5561 | (build_chill_slice_with_range): Reindented, but not changed. | |
5562 | ||
5563 | * ch-typeck.c (chill_max_vary_array_index): New function. | |
5564 | * ch-expr.c (chill_expand_expr): Call it. | |
5565 | ||
5566 | * ch-decl.c (var_data_id, var_length_id): New variables. | |
5567 | (init_decl_processing): Initialize them. All calls to | |
5568 | get_identifier (VAR_LENGTH or VAR_DATA) are now replaced | |
5569 | by references to these variables. This simplifies the code | |
5570 | w/o obscuring anything. | |
5571 | ||
5572 | Mon Jan 3 21:24:44 1994 Bill Cox (bill@cygnus.com) | |
5573 | ||
5574 | * c-typeck.c: Fix comment. | |
5575 | * ch-actions.c (chill_expand_assignment): Error assigning to | |
5576 | READONLY location. (PR_3903) Pass filename, linenumber | |
5577 | to setbitpowerset runtime routine. | |
5578 | * ch-decl.c (init_decl_processing): Add filename, linenumber | |
5579 | parameters to setbitpowerset prototype. | |
5580 | * ch-expr.c (build_chill_function_call): Error when passing a | |
5581 | READonly location as a LOC or INOUT parameter. | |
5582 | * ch-parse.y (mode): Correct code marking type as readonly. | |
5583 | ||
5584 | Mon Jan 3 19:03:55 1994 Michael Tiemann (tiemann@blues.cygnus.com) | |
5585 | ||
5586 | * ch-actions.c (chill_expand_assignment): Disable code that defeats | |
5587 | building varying array references. | |
5588 | * ch-expr.c (chill_expand_expr): Add rangecheck code to | |
5589 | VARY_ARRAY_REF case. | |
5590 | * ch-typeck.c (build_chill_array_ref): Don't call an `expand_' | |
5591 | function (in this case, `validate_varying_array_ref') when we're | |
5592 | doing a `build_' operation. | |
5593 | ||
5594 | * ch-typeck.c (validate_varying_array_ref): Simplify interface | |
5595 | since INDEX parameter can never meaningfully be an INDEXLIST. | |
5596 | * ch-actions.c (expand_varying_length_assignment): Caller changed. | |
5597 | ||
5598 | Mon Jan 3 07:29:45 1994 Michael Tiemann (tiemann@blues.cygnus.com) | |
5599 | ||
5600 | * ch-typeck.c (build_chill_cast): Set TREE_CONSTANT on NOP_EXPRs. | |
5601 | * ch-convert.c (digest_structure_tuple): Switch to permanent_obstack | |
5602 | if we need to build a CONSTRUCTOR for a SET_TYPE initializer. | |
5603 | (digest_structure_tuple): If TREE_VALUE (VALUE) == NULL_TREE, don't | |
5604 | call CH_COMPATIBLE or try to convert it to TREE_TYPE (FIELD). This | |
5605 | can happen when constructors are output incrementally. | |
5606 | * c-typeck.c (initializer_constant_valid_p): Handle SET_TYPEs. | |
5607 | * varasm.c (output_constant): Handle NOP_EXPRs in SET_TYPE | |
5608 | CONSTRUCTORS. | |
5609 | ||
5610 | Sun Jan 2 08:17:09 1994 Michael Tiemann (tiemann@blues.cygnus.com) | |
5611 | ||
5612 | * ch-convert (digest_structure_tuple): Handle SET_TYPEs. Also, call | |
5613 | `convert' so we can handle INSTANCE types (and other anomolies) | |
5614 | correctly. | |
5615 | ||
5616 | * ch-convert.c (digest_structure_tuple): Fixed variant | |
5617 | structure initialization. Also fixed a typo (TYPE_NAME | |
5618 | was being used on a FIELD_DECL instead of DECL_NAME). | |
5619 | * c-typeck.c (initializer_constant_valid_p): Pass missing | |
5620 | ENDTYPE argument on recursive call. | |
5621 | (set_init_field): New function, needed by ch-convert.c change above. | |
5622 | ||
5623 | * ch-decl.c (layout_chill_variants): Added a FIXME next to an | |
5624 | almost certain typo. | |
5625 | ||
5626 | * ch-expr.c (build_chill_arrow_expr): Call `build1' and set | |
5627 | TREE_CONSTANT for static references. | |
5628 | * ch-except.c (chill_start_on): Change calls to | |
5629 | `build_unary_op' (which is C-specific) to `build_chill_arrow_expr' | |
5630 | which has CHILL semantics. | |
5631 | * ch-convert.c (convert): Ditto (albeit in some disabled code). | |
5632 | ||
5633 | Sat Jan 1 21:26:43 1994 Michael Tiemann (tiemann@blues.cygnus.com) | |
5634 | ||
5635 | * ch-satisfy.c (safe_satisfy_decl): Reorder conditional test of | |
5636 | TREE_CODE of DECL in case it's altered by actions in the switch. | |
5637 | ||
5638 | * ch-satisfy.c (satisfy): Undo abort added earlier on 1 Jan. CVS log | |
5639 | mentions where to find code that triggers this case. | |
5640 | ||
5641 | * ch-actions.c (adjust_parm_or_field): Handle CONSTRUCTORS here as | |
5642 | well. | |
5643 | ||
5644 | * ch-convert.c (digest_structure_tuple): Push to permanent_obstack if | |
5645 | we're dealing with a CONSTRUCTOR that is TREE_PERMANENT. | |
5646 | (digest_constructor): Ditto. | |
5647 | ||
5648 | Sat Jan 1 10:29:19 1994 Michael Tiemann (tiemann@blues.cygnus.com) | |
5649 | ||
5650 | * ch-parse.y (handleraction,resultaction,assignaction,call): Modified | |
5651 | so that CONSTRUCTORS are properly handled before being used. | |
5652 | ||
5653 | * ch-convert.c (chill_start_init): New function. All callers to | |
5654 | `start_init' changed to call this function instead. | |
5655 | (digest_struct_tuple): Defend against initialization machinery | |
5656 | mucking with CONSTRUCTOR_ELTS of CONSTRUCTORs by grokking both | |
5657 | IDENTIFIER_NODEs and FIELD_DECLs in the TREE_PURPOSE slots. This is | |
5658 | needed because CONSTRUCTORS stored in DECL_INITIALs of CONST_DECLs | |
5659 | can be refered to throughout the compilation unit. Also remove an | |
5660 | extraneous call to `process_init_element' erroneously added to the | |
5661 | variant record sub-loop. | |
5662 | (digest_constructor): Propagate TREE_CONSTANT and TREE_STATIC to | |
5663 | CONSTRUCTORS of SET_TYPE. | |
5664 | * ch-parse.y (build_chill_constructor): Refix typo. Also set | |
5665 | TREE_STATIC if at top level. | |
5666 | ||
5667 | * ch-expr.c (build_chill_arrow_ref): Fix yet another case of | |
5668 | TREE_CONSTANT not being set by calling `build1' when `build_unary_op' | |
5669 | should have been called. | |
5670 | ||
5671 | * ch-convert.c (digest_struct_tuple): Restore code which tracks | |
5672 | field initializations so that the compiler can deduce what variant | |
5673 | initializations to assume. | |
5674 | ||
5675 | * ch-satisfy (safe_satisfy_decl): Turn on initialization machinery | |
5676 | when we push into a scope that has a DECL with a CONSTRUCTOR as its | |
5677 | DECL_INIT. | |
5678 | ||
5679 | * ch-parse.y (build_chill_constructor): Change the name of the | |
5680 | parameter to something more meaningful. Fix typo. Also, handle case | |
5681 | where element is an untyped CONSTRUCTOR. | |
5682 | ||
5683 | * ch-except.c (finish_handler_array): Set TREE_CONSTANT on | |
5684 | constant ADDR_EXPRs. | |
5685 | (chill_start_on): Call `build_unary_op' to set TREE_CONSTANT | |
5686 | on JBUF_REF (instead of calling `build1' which does not). | |
5687 | ||
5688 | * ch-convert.c (convert): Test LENGTH instead of NEEDED_PADDING. | |
5689 | ||
5690 | * ch-typeck.c (chill_expand_tuple): Deleted. | |
5691 | * ch-parse.y (primval rule): Don't call `chill_expand_tuple'; | |
5692 | instead, use initialization machinery for CONSTRUCTORS that | |
5693 | come through here. | |
5694 | * ch-except.c (finish_handler_array): Ditto for CONSTRUCTORS | |
5695 | that are created here. | |
5696 | * ch-satisfy (satisfy): Abort in case we would have called | |
5697 | chill_expand_tuple. FIXME: some other code is needed here, | |
5698 | but I don't know what yet. | |
5699 | ||
5700 | * ch-parse.y (build_chill_constructor): New function to | |
5701 | propagate TREE_CONSTANT bits to CONSTRUCTORS. | |
5702 | (untyped_expr rule): Use it. | |
5703 | (primval rule): Use it. | |
5704 | ||
5705 | * ch-decl.c (do_decl): Call `finish_init'. | |
5706 | * ch-convert.c (convert): If we spontaneously create a CONSTRUCTOR in | |
5707 | this function, make sure the initialization machinery is set up. | |
5708 | ||
5709 | * ch-convert.c (digest_structure_tuple, digest_constructor): Add | |
5710 | missing prototypes. | |
5711 | ||
5712 | Fri Dec 31 11:31:01 1993 Michael Tiemann (tiemann@blues.cygnus.com) | |
5713 | ||
5714 | * ch-grant.c (chill_finish_module_code): Mark ADDR_EXPR built by hand | |
5715 | as being TREE_CONSTANT. Otherwise it gets bounded by the initializer | |
5716 | code. | |
5717 | ||
5718 | * ch-decl.c (do_decl): Change in CONSTRUCTOR handling due to... | |
5719 | * ch-convert.c (digest_structure_tuple,digest_constructor): Mostly | |
5720 | rewritten to work with GCC's initialization code. The basic change | |
5721 | was to keep the initializers in sync with the initialization | |
5722 | machinery that `process_init_element' imposes. Both of these | |
5723 | functions now return `void'. | |
5724 | * ch-convert.c (convert): Changed calls to `digest_...' functions. | |
5725 | ||
5726 | FIXME: the code handling UNION_TYPE (and variant records) has not | |
5727 | been tested yet. | |
5728 | ||
5729 | Fri Dec 31 15:32:56 1993 Bill Cox (bill@rtl.cygnus.com) | |
5730 | ||
5731 | * ch-lex.l (convert_number): Output the converted number if | |
5732 | yydebug is enabled. | |
5733 | * ch-parse.y (signaldef): Set ignore_exprs correctly for a | |
5734 | SIGNAL declaration. | |
5735 | ||
5736 | Fri Dec 31 13:17:48 1993 Bill Cox (bill@cygnus.com) | |
5737 | ||
5738 | * ch-parse.y: Cleanup handling of RETURN actions, to distinguish | |
5739 | a RETURN without a value (which cannot have an exception | |
5740 | handler) from a RETURN with a value (which can). Eliminate | |
5741 | some shift/reduce and reduce/reduce conflicts. | |
5742 | ||
5743 | Thu Dec 30 17:42:32 1993 Michael Tiemann (tiemann@blues.cygnus.com) | |
5744 | ||
5745 | * ch-inout.c (build_chill_writetext): Deal with 2 cases where | |
5746 | types returned from `type_for_size' are not expected. FIXME. | |
5747 | * ch-decl.c (init_decl_processing): Mark `char_type_node' unsigned. | |
5748 | This is required when range checking is enabled. | |
5749 | ||
5750 | Thu Dec 30 14:28:25 1993 Bill Cox (bill@rtl.cygnus.com) | |
5751 | ||
5752 | DELAY CASE works now. | |
5753 | * ch-decl.c (init_decl_processing): Move rest of tasking-related | |
5754 | initialization into tasking_init(). | |
5755 | * ch-parse.y (delaycaseaction): Pervasive additions/corrections. | |
5756 | (optsetprio): New non-terminal. | |
5757 | * ch-tasking.c (get_task_name): Delete, obsolete. | |
5758 | (build_instance_type): build pointer to instance type also. | |
5759 | (build_receive_case_start): Cleanup per -Wall messages. | |
5760 | (build_receive_case_label): Move between start and end functions. | |
5761 | (build_delay_case_start): Pass SET name and priority also. | |
5762 | Generally update to correct functioning. | |
5763 | (build_delay_case_label): Move between start and end fucntions, | |
5764 | correct its functioning. | |
5765 | (build_delay_case_end): Correct the code. | |
5766 | (tasking_init): Lots of tasking-related code moved here from | |
5767 | init_decl_processing. | |
5768 | * ch-tree.h: Update, add prototypes. | |
5769 | ||
5770 | Wed Dec 29 10:13:10 1993 Bill Cox (bill@rtl.cygnus.com) | |
5771 | ||
5772 | * ch-expr.c (build_chill_indirect_ref): Revert change which | |
5773 | failed full regression testing. | |
5774 | * ch-lex.l (name_type_signal): Add debug output. | |
5775 | * ch-parse.y (structured_variable): Add a debug variable. | |
5776 | ||
5777 | Wed Dec 29 02:05:51 1993 Bill Cox (bill@rtl.cygnus.com) | |
5778 | ||
5779 | * ch-decl.c (get_next_decl): Revert change which failed full | |
5780 | regression testing. | |
5781 | ||
5782 | Tue Dec 28 18:20:14 1993 Bill Cox (bill@rtl.cygnus.com) | |
5783 | ||
5784 | DELAY actions work now. | |
5785 | * ch-decl.c: Correct spelling in comments. | |
5786 | (get_next_decl): NULL out the decl's TREE_CHAIN before returning | |
5787 | it, to prevent accidental access to the remembered_decls. | |
5788 | (init_decl_processing): Add wait_event to runtime functions. | |
5789 | * ch-expr.c (build_chill_indirect_ref): Prevent a syntax error from | |
5790 | becoming a seg fault. | |
5791 | * ch-grant.c: Correct a comment. | |
5792 | * ch-loop.c: Delete/correct comments. | |
5793 | * ch-parse.y (delaycaseaction): Add push/poplevel calls. Turn 'sorry' | |
5794 | into rough draft of actual code. | |
5795 | (delayaction): Don't make a new scope here, use get_unique_identifier | |
5796 | instead. | |
5797 | (locdec): process event decls here, too. | |
5798 | (mode): Add code to forbid READonly EVENT and BUFFER decls. Delete | |
5799 | code which required EVENTs and BUFFERs to be declared at global scope. | |
5800 | (simple_name_string): Add an EVENTNAME. | |
5801 | * ch-satisfy.c (safe_satisfy_decl): Prevent a syntax error from | |
5802 | becoming a seg fault. | |
5803 | * ch-tasking.c (tasking_setup): Add the event queue's max. length | |
5804 | as the 'entry_point' parameter in the list. | |
5805 | (build_receive_case_start, build_receive_case_label): Defer | |
5806 | calling runtime routine until we know whether we have a signal | |
5807 | or a buffer to wait for. | |
5808 | (build_delay_case_start, build_delay_case_end, | |
5809 | build_delay_case_label, build_delay_action, | |
5810 | process_event_decls): Added functions. | |
5811 | * ch-typeck.c (chill_similar): Allow all integers of differing | |
5812 | precisions to be similar. | |
5813 | ||
5814 | Thu Dec 23 18:00:40 1993 Bill Cox (bill@rtl.cygnus.com) | |
5815 | ||
5816 | * gcc.c (CHILL SPECS): Delete references to -M -MM -MD -MMD | |
5817 | options. Delete C-specific defines. Disable piping from | |
5818 | pre-processor to cc1chill (even if -pipe is specified), since cc1chill | |
5819 | rewinds its input for its second pass. Piping still works | |
5820 | from cc1chill to as. | |
5821 | ||
5822 | Thu Dec 23 12:31:55 1993 Bill Cox (bill@rtl.cygnus.com) | |
5823 | ||
5824 | * ch-tasking.c (decl_tasking_code_variable): Assure that the | |
5825 | tasking_code variable is allocated on the permanent obstack. | |
5826 | (tasking_setup): Lots of changes - handle EVENT/BUFFER max. | |
5827 | queue length (passed as the entry_point parameter). | |
5828 | Other changes to variable names to increase 'self-documentation' | |
5829 | the only kind GNU CHILL will get, for a while.. | |
5830 | ||
5831 | Wed Dec 22 10:46:31 1993 Bill Cox (bill@rtl.cygnus.com) | |
5832 | ||
5833 | * ch-decl.c (do_seize): Delete - it's unused. Fix comments. | |
5834 | * ch-loop.c (build_chill_iterator): Convert BY expression | |
5835 | so loop involving a SET works. Additional errors generated | |
5836 | for numbered SET expression as start or end expression. | |
5837 | * ch-tree.h: Prototypes for future DELAY functions. | |
5838 | * ch-typeck.c: Standard indentation. | |
5839 | ||
5840 | Tue Dec 21 15:30:57 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
5841 | ||
5842 | * ch-actions.c (build_cause_exception): New function. | |
5843 | (expand_cause_exception): Re-write to use build_cause_exception. | |
5844 | (check_expression, check_range): New functions. | |
5845 | (chill_convert_for_assignment): New function. | |
5846 | * ch-expr.c (build_chill_pred_or_succ): New function. | |
5847 | (build_chill_succ, build_chill_pred): Removed. | |
5848 | (build_generalized_call): Use build_chill_pred_or_succ. | |
5849 | * ch-lex.h, ch-lex.l (init_lex): Add RID_OVERFLOW and RID_RANGEFAIL. | |
5850 | * ch-lex.l (init_lex): Use new macro to make more terse. | |
5851 | * ch-typeck.c (chill_equivalent): New function. | |
5852 | Also check that ranges have the same bounds. | |
5853 | * ch-typeck.c (my_build_array_ref): Add optional range-checking. | |
5854 | * ch-typeck.c (chill_location): Handle COMPOUND_EXPR properly. | |
5855 | Return 2 if also a referable. | |
5856 | * ch-typeck.c (chill_referable): Re-define to use chill_location. | |
5857 | * ch-tree.h (CH_EQUIVALENT): Re-defined to use chill_equivalent. | |
5858 | ||
5859 | * dbxout.c (dbxout_type): Output the type attribute "@S;" to | |
5860 | distinguish a string from a char array, and to distinguish a | |
5861 | bitstring from regulat (power)set. (Needed for Chill.) | |
5862 | * dbxout.c (dbxout_type): Only check for baseclasses in | |
5863 | type.binfo is a vector. (It is used in Chill for tagged unions.) | |
5864 | ||
5865 | Fri Dec 17 09:56:07 1993 Bill Cox (bill@rtl.cygnus.com) | |
5866 | ||
5867 | * ch-actions.c, ch-convert.c, ch-decl.c, ch-expr.c, | |
5868 | ch-grant.c, ch-inout.c, ch-loop.c, ch-parse.y, | |
5869 | ch-satisfy.c, ch-tasking.c, ch-tree.h, ch-typeck.c: | |
5870 | Fix -Wall problems. | |
5871 | * ch-actions.c (chill_expand_assignment): Error if assigning | |
5872 | a value to a BUFFER or EVENT variable. | |
5873 | * ch-expr.c (invalid_left_operand): Delete, unused. | |
5874 | * ch-grant.c (tasking_setup): Call build_enum_tables. | |
5875 | * ch-inout.c (get_final_type_and_range, build_enum_tables,): | |
5876 | New functions. | |
5877 | (build_chill_writetext): Lots of changes to support other | |
5878 | basic CHILL data types. | |
5879 | * ch-loop.c (build_chill_iterator): Lots of new code to check | |
5880 | the expressions in a STEP loop. | |
5881 | * ch-tasking.c (rc_state): Add fields to flag SIGNAL and BUFFER | |
5882 | names in receivecasealternative. Generate error messages | |
5883 | if they're mixed in the same receive case. | |
5884 | (process_buffer_decl): Renamed from build_buffer_decl. | |
5885 | * ch-tree.h: Fix prototypes. | |
5886 | * ch-typeck.c (smash_dummy_type): Handle all four kinds of LANG_TYPE | |
5887 | correctly. Thanks Per! | |
5888 | ||
5889 | Wed Dec 15 15:05:56 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
5890 | ||
5891 | * ch-decl.c (push_scope_decls): Re-arrange some more, so | |
5892 | that normal SEIZES (without ALL) are handled before SEIZE ALL. | |
5893 | ||
5894 | Wed Dec 15 13:01:22 1993 Bill Cox (bill@rtl.cygnus.com) | |
5895 | ||
5896 | * ch-loop.c (declare_temps): Calculate end-of-array pointer | |
5897 | using correct type (NOT chill_integer_type). | |
5898 | (begin_chill_loop): Build loop-bypass expression in the | |
5899 | type of the start expression, not in the unsigned type. | |
5900 | ||
5901 | Tue Dec 14 15:41:32 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
5902 | ||
5903 | * ch-decl.c (push_scope_decls): Re-arrange so that normal | |
5904 | (non-seize) declarations are proclaim_decl'd *before* we | |
5905 | handle the ALIAS_DECLs for seizes. The advantage is | |
5906 | that we can now test for (an approximation) to the | |
5907 | 'seizeable' concept, thus avoiding duplicate definitions | |
5908 | when a module has both GRANTs and SEIZE ALL. | |
5909 | ||
5910 | * ch-expr.c (build_chill_arrow_expr): No longer re-write | |
5911 | addr-of-conversion to pointer-conversion-of-addr. | |
5912 | * ch-expr.c (build_chill_addr_expr): Re-write to just use | |
5913 | build_chill_arrow_expr. | |
5914 | ||
5915 | Mon Dec 13 16:44:43 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
5916 | ||
5917 | * ch-expr.c (build_chill_addr_expr, build_chill_addr_expr): Don't re-write | |
5918 | ||
5919 | * ch-tree.h (chill_root_resulting_mode): Fix typo (missing '_'). | |
5920 | ||
5921 | * ch-expr.c (finish_chill_binary_op): Use CH_ROOT_RESULTING_MODE | |
5922 | macro (which works on expressions), rather than CH_RESULTING_MODE | |
5923 | (which works on modes, and isn't quite correct). | |
5924 | * ch-tree.h (CH_IS_BOUND_REFERENCE_MODE): New macro. | |
5925 | * ch-typeck.c (chill_read_compatible, chill_compatible): | |
5926 | Use the new macro, which handles NEWMODEs of PTR correctly. | |
5927 | * ch-typeck.c (chill_similar): Return 1 rather than 0 for | |
5928 | dynamic-length array (and string) types (e.g. slices). | |
5929 | * ch-typeck.c (chill_root_mode): If the mode has a Novelty, | |
5930 | just return it as is. (This is still not 100% correct for | |
5931 | NEWMODE of RANGEs, but is close enough.) | |
5932 | ||
5933 | Mon Dec 13 16:27:06 1993 Bill Cox (bill@rtl.cygnus.com) | |
5934 | ||
5935 | * ch-parse.y (locdec): Avoid passing IDENTIFIER_NODEs to | |
5936 | build_buffer_decl, which then seg faults. | |
5937 | * ch-tasking.c (build_buffer_descriptor): Move declaration | |
5938 | of bufdecl closer to its use. | |
5939 | ||
5940 | Mon Dec 13 14:57:55 1993 Bill Cox (bill@rtl.cygnus.com) | |
5941 | ||
5942 | * ch-actions.c (chill_expand_result): Use expand_expr_stmt | |
5943 | to avoid C-specific conversions. | |
5944 | * ch-lex.l (name_type_signal): Rewrite to support BUFFERs and EVENTs. | |
5945 | * ch-parse.y (sendaction): Delete unused statement, use the 'name' | |
5946 | variable. | |
5947 | * ch-tasking.c: Use expand_expr_stmt to avoid C-specific | |
5948 | conversions. | |
5949 | (build_buffer_decl): Save the tasking_code_variable's decl | |
5950 | in the buffer decl tree. | |
5951 | (build_buffer_descriptor): Real, working version. | |
5952 | ||
5953 | Mon Dec 13 03:13:36 1993 Bill Cox (bill@rtl.cygnus.com) | |
5954 | ||
5955 | * ch-decl.c (print_lang_identifier): Delete code | |
5956 | to print buffer size - it's no longer kept here. | |
5957 | * ch-parse.y (expand_send_buffer): Renamed from | |
5958 | build_send_buffer. | |
5959 | (locdec): Enable building of a buffer decl. | |
5960 | (optresultspec, optresultattr): Add optional | |
5961 | result attributes such as LOC. Semantics | |
5962 | not enabled yet. | |
5963 | * ch-tasking.c (expand_send_buffer): Renamed. | |
5964 | * ch-tree.h (build_send_buffer): Renamed. | |
5965 | * ch-typeck.c (chill_expr_class): Do more complete, | |
5966 | job of classifying expressions. Thanks, Per. | |
5967 | ||
5968 | Mon Dec 13 00:59:30 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
5969 | ||
5970 | * ch-typeck.c (chill_expr_class): Return CH_DERIVED_CLASS | |
5971 | for bitstring constants. | |
5972 | * ch-typeck.c (chill_novelty): The novelty of an (unnamed) | |
5973 | range mode is that of its parent mode; the novelty of READ M | |
5974 | is that of M. | |
5975 | ||
5976 | Sat Dec 11 15:14:41 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
5977 | ||
5978 | * ch-expr.c (varying_to_slice): Call stabilize_reference | |
5979 | rather than save_expr. | |
5980 | * ch-typeck.c (build_chill_slice): Don't emit warning | |
5981 | if array is a SAVE_EXPR (it is effectively referable). | |
5982 | * ch-typeck.c (chill_root_resulting_mode): Handle | |
5983 | correctly the case that one operand is DERIVED and one is VALUE. | |
5984 | ||
5985 | Fri Dec 10 10:00:42 1993 Bill Cox (bill@rtl.cygnus.com) | |
5986 | ||
5987 | * ch-grant.c (decode_decl): Restore code mistakenly deleted. | |
5988 | Move instance-handling code to raw_decode_mode. | |
5989 | * ch-parse.y (formpar): Allow READ modifier in SPEC MODULE. | |
5990 | Add rough draft of DELAY statement handling. | |
5991 | * ch-tasking.c (build_event_type): New function. | |
5992 | * ch-tree.h (build_event_type): Add prototype. | |
5993 | * ch-typeck.c (smash_dummy_type): Add buffer & event handling. | |
5994 | ||
5995 | Wed Dec 8 18:02:26 1993 Bill Cox (bill@rtl.cygnus.com) | |
5996 | ||
5997 | Parse and grant BUFFER modes. | |
5998 | * ch-grant.c (raw_decode_mode): Format BUFFER, EVENT modes. | |
5999 | Moved from decode_decl. | |
6000 | * ch-parse.y: Fix several sorry() messages. | |
6001 | * ch-tasking.c (build_buffer_type): Use a LANG_TYPE to pass the | |
6002 | info. | |
6003 | ||
6004 | Wed Dec 8 12:59:54 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6005 | ||
6006 | * ch-actions.c (chill_expand_assignment): In a multiple | |
6007 | assignment, check that all the targets are equivalent. | |
6008 | ||
6009 | * ch-typeck.c (chill_l_equivalent, CH_L_EQUIVALENT): New function | |
6010 | and macro to (partially) implement the relation l-equivalent. | |
6011 | * ch-typeck.c (chill_read_compatible): Implement at least | |
6012 | initial check of read-only-ness. | |
6013 | * ch-typeck.c (build_readonly_type): Fix thinkos. | |
6014 | ||
6015 | Wed Dec 8 09:11:46 1993 Bill Cox (bill@rtl.cygnus.com) | |
6016 | ||
6017 | * ch-decl.c (pop_module): Only warn about duplicate grant | |
6018 | statements if they inhabit different files, by examining | |
6019 | inode numbers. Only report compatibility problems in pass 1. | |
6020 | * ch-lex.l (chill_same_grant_file): New function to support the | |
6021 | above test. | |
6022 | ||
6023 | Tue Dec 7 17:10:36 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6024 | ||
6025 | * ch-decl.c (start_chill_function): Handle attributes in pass 1, | |
6026 | rather than in pass 2. (It seems to make more sense that way.) | |
6027 | * ch-parse.y (procedureattr): Build attribute list if pass != 2. | |
6028 | ||
6029 | * ch-parse.y (mode): Don't call build_readonly_type in pass 2. | |
6030 | ||
6031 | Mon Dec 6 14:35:31 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6032 | ||
6033 | This implements NOVELTY and READONLY checking. | |
6034 | * ch-tree.def: Added comment about use of LANG_TYPE. | |
6035 | * ch-typeck.c (build_readonly_type, smash_dummy_type): New functions. | |
6036 | * ch-tree.h: New prototypes. | |
6037 | * ch-decl.c (push_modedef): If newmode, lazily "copy" the given mode | |
6038 | immediately (even if it's just a type name), using a LANG_TYPE. | |
6039 | * ch-parse.y (mode): Call build_readonly_type to handle READ. | |
6040 | * ch-decl.c (find_implied_types), ch-grant.c (raw_decode_mode), | |
6041 | ch-satisfy.c (satisfy): Handle a LANG_TYPE. | |
6042 | * ch-decl.c: Remove chill_modes_equiv and other unused junk. | |
6043 | * ch-satisfy.c (safe_satisfy_decl/CONST_DECL): Better | |
6044 | mode compatibility checking for SYN declarations. | |
6045 | ||
6046 | * ch-typeck.c (chill_similar): Be more general when checking set | |
6047 | modes for similarity - specifically support calling chill_similar | |
6048 | BEFORE the modes have been satisfied (needed by proclaim_decl). | |
6049 | * ch-decl.c (proclaim_decl): Allow duplicate definitions | |
6050 | of set elements of similar set modes. | |
6051 | ||
6052 | * ch-parse.y (caseaction): Call language-independent | |
6053 | expand_start_case rather than c_expand_start_case (which | |
6054 | doesn't allow chars or booleans). | |
6055 | ||
6056 | Sat Dec 4 22:16:19 1993 Bill Cox (bill@rtl.cygnus.com) | |
6057 | ||
6058 | * ch-actions.c (cond_range_exception, | |
6059 | cond_type_range_exception): Check command-line flag before | |
6060 | generating code. Fix comments. | |
6061 | * ch-expr.c (build_chill_num): Add generation of OVERFLOW | |
6062 | code, commented out. | |
6063 | * ch-loop.c (build_chill_iterator): Comment out | |
6064 | exception code generation. | |
6065 | * ch-parse.y: Delete quasi_signal flag, use | |
6066 | current_module->is_spec_module instead. | |
6067 | * ch-tasking.c (build_buffer_decl, build_buffer_descriptor): | |
6068 | Delete quasi_decl flag. Look at current_module | |
6069 | instead. | |
6070 | * ch-tree.h: Take quasi_decl flag out of buffer | |
6071 | related prototypes. | |
6072 | * ch-typeck.c (valid_array_index, chill_similar): | |
6073 | Comment out runtime range checking for now. | |
6074 | * expr.c (store_constructor): Fix word-size set problem. | |
6075 | * varasm.c (emit_set_data): Fix word-size set problem. | |
6076 | ||
6077 | Wed Dec 1 19:08:12 1993 Bill Cox (bill@rtl.cygnus.com) | |
6078 | ||
6079 | * ch-actions.c: Delete unused prototype for build_compound_expr. | |
6080 | * ch-loop.c (begin_chill_loop): Convert operands of the conditional | |
6081 | expression to lp->iter_type before expanding it. Prevents an abort | |
6082 | deep in expand_expr and friends. | |
6083 | ||
6084 | Wed Dec 1 17:00:44 1993 Bill Cox (bill@rtl.cygnus.com) | |
6085 | ||
6086 | * ch-actions.c (chill_expand_assignment): Comment out strange | |
6087 | test and its error message. | |
6088 | * ch-loop.c (begin_chill_loop): Correct call to generate conditional | |
6089 | jump around the loop. | |
6090 | * ch-typeck.c (build_chill_slice): Call correct temporary generator. | |
6091 | ||
6092 | Wed Dec 1 14:19:51 1993 Bill Cox (bill@rtl.cygnus.com) | |
6093 | ||
6094 | * ch-actions.c (cond_exception): Clarify that it generates | |
6095 | an exception if the given expression is TRUE. Make it so, Number One. | |
6096 | * ch-decl.c (DOLLARS_IN_IDENTIFIERS): Disable these. | |
6097 | (print_lang_type): Print max queue size. | |
6098 | Add casts to DECL_TASKING_CODE_DECL references. Fixes a | |
6099 | portability problem. | |
6100 | (init_decl_processing): Add filename and linenumber arameters | |
6101 | to tasking and memory-allocate runtime prototypes. | |
6102 | * ch-expr.c (finish_chill_binary_op): Check for division | |
6103 | by a constant zero. Replace build_temporary_variable | |
6104 | calls with decl_temp1 calls, to decouple from ch-loop.c. | |
6105 | (build_chill_succ, build_chill_pred): Sketch code to generate | |
6106 | exceptions. Add error check for numbered set. | |
6107 | (build_generalized-call): Correct call for return_memory. | |
6108 | Standardize whitespace before left parens. | |
6109 | * ch-grant.c: Use new macro for checking for BUFFER mode. | |
6110 | * ch-lex.l (name_type_signal): Add attempts to recognize BUFFER | |
6111 | and EVENT names. | |
6112 | * ch-loop.c (build_temporary_variable): Make static, unavailable | |
6113 | to outsiders. | |
6114 | (declare_temps): Make user's variable for him/her, in the | |
6115 | true Z.200 case, where it hasn't previously been declared. | |
6116 | (begin_chill_loop): simplify control flow a bit. | |
6117 | * ch-parse.y (quasi_locdec): Set/reset quasi_flag. | |
6118 | (rccase_label): Delete bogus error checks. Rough draft of | |
6119 | BUFFER-related code. | |
6120 | (assertaction): Remove logical negation - it's now in cond_exception. | |
6121 | (locdec): Sketch of buffer-related code. | |
6122 | (non_array_mode): Add EVENT and BUFFER modes here. Add setting of | |
6123 | set-numbered flag for pred and succ functions. | |
6124 | (optqueuesize): Default to integer_zero_node. | |
6125 | (simple_name_string): Add BUFFERNAME. | |
6126 | * ch-tasking.c: Add casts to DECL_TASKING_CODE_DECL references. | |
6127 | (build_chill_start_process, expand_send_signal, | |
6128 | build_receive_case_start, build_send_buffer): Add filename, linenumber parameters | |
6129 | to tasking-related runtime calls. Sketches of BUFFER mode | |
6130 | processing. | |
6131 | * ch-tree.h: Remove left-hand-side cast in DECL_TASKING_CODE_DECL | |
6132 | macro, for portability to non-gcc compilers. Add prototypes | |
6133 | for buffer-related functions. | |
6134 | * ch-typeck.c: Replace build_temporary_variable calls with | |
6135 | decl_temp1 calls, to decouple from ch-loop.c. | |
6136 | (chill_similar): Add tests for BUFFER and EVENT modes. | |
6137 | ||
6138 | Wed Dec 1 14:05:26 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6139 | ||
6140 | * ch-actions.c (malloc prototype): Remove; can cause conflicts. | |
6141 | ||
6142 | Wed Dec 1 09:49:58 1993 Bill Cox (bill@rtl.cygnus.com) | |
6143 | ||
6144 | * ch-grant.c (raw_decode_mode): Process a REFERENCE_TYPE. | |
6145 | ||
6146 | Tue Nov 30 14:05:23 1993 Bill Cox (bill@rtl.cygnus.com) | |
6147 | ||
6148 | * ch-decl.c (init_decl_processing): Add filename, line number | |
6149 | parameters to tasking-related runtime routines. | |
6150 | * ch-grant.c (decode_decl): Check for BUFFER mode differently. | |
6151 | * ch-parse.y (BUFFER_CODE, EVENT_CODE): Move token to | |
6152 | lex-only list. | |
6153 | (quasi_locdec): Set/reset quasi_decl flag. | |
6154 | * ch-tasking.c (build_start_process, expand_send_signal, | |
6155 | build_receive_case_start, build_send_buffer): Add filename. linenumber to | |
6156 | (build_buffer_decl, build_buffer-type): New rough-draft functions. | |
6157 | generated runtime routine call. | |
6158 | * ch-tree.h (CH_IS_BUFFER_MODE, CH_IS_EVENT_MODE): New macros | |
6159 | to mark a synchronization mode. Update the prototypes. | |
6160 | * ch-typeck.c (chill_similar): Check EVENT or BUFFER modes for | |
6161 | similarity. | |
6162 | ||
6163 | Tue Nov 30 09:51:47 1993 Doug Evans (dje@canuck.cygnus.com) | |
6164 | ||
6165 | * cccp.c (main): Add missing chill sanitization. | |
6166 | ||
6167 | Sun Nov 28 15:50:10 1993 Bill Cox (bill@rtl.cygnus.com) | |
6168 | ||
6169 | * ch-loop.c (initialize_iter_var): Build count expression | |
6170 | more robustly. | |
6171 | (bottom_loop_end_check): Call emit_line_note. | |
6172 | (end_chill_loop): Delete emit_line_note call. | |
6173 | * ch-parse.y (doaction): Move DO keyword | |
6174 | after end_chill_loop call. | |
6175 | ||
6176 | Wed Nov 24 08:49:07 1993 Bill Cox (bill@rtl.cygnus.com) | |
6177 | ||
6178 | * c-typeck.c (c_expand_start_case): Back out previous | |
6179 | change. | |
6180 | ||
6181 | Tue Nov 23 12:33:50 1993 Bill Cox (bill@rtl.cygnus.com) | |
6182 | ||
6183 | * c-typeck.c (c_expand_start_case): Allow any CHILL discrete | |
6184 | type as a CASE label. | |
6185 | ||
6186 | Tue Nov 23 11:37:42 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6187 | ||
6188 | * ch-decl.c (grok_chill_variantdefs): Use NULL as the name | |
6189 | of variant fields (not __CASE or anything based on it). | |
6190 | * ch-decl.c (handle_one_parent), ch-expr.c (compare_records): | |
6191 | Don't check for field name __CASE. | |
6192 | ||
6193 | Tue Nov 23 09:37:54 1993 Bill Cox (bill@rtl.cygnus.com) | |
6194 | ||
6195 | * ch-decl.c (grok_chill_variantdefs): Use a unique dummy | |
6196 | name for the FIELD_DECL. | |
6197 | * ch-parse.y (optstartset): More error tests. | |
6198 | * ch-tasking.c (make_process_struct): Only report error in pass 1. | |
6199 | (build_start_process): Remove bogus restriction, allowing | |
6200 | an INSTANCE expression as the optset parameter. | |
6201 | ||
6202 | Mon Nov 22 17:56:34 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6203 | ||
6204 | * ch-tree.h (expand_function_end): Now is takes parameters, not 2. | |
6205 | * ch-decl.c (finish_chill_function): Add 3rd parameter to | |
6206 | call of expand_function_end. | |
6207 | ||
6208 | * ch-expr.c (chill_expand_expr): For set and strings ops, | |
6209 | if target is in a register, use a stack temporary (since we must | |
6210 | take its address). (Similar to Oct 29 change for store_constructor.) | |
6211 | * ch-expr.c (resolve_component_ref): Fix variant field lookups. | |
6212 | ||
6213 | Mon Nov 22 14:23:13 1993 Bill Cox (bill@rtl.cygnus.com) | |
6214 | ||
6215 | * ch-expr.c (chill_expand_expr): Assure that emit_library_call | |
6216 | parameter 1 and its mode are always in sync. | |
6217 | (build_chill_pred, build_chill_succ): Allow pred/succ of a | |
6218 | pointer. | |
6219 | * ch-loop.c (chill_unsigned_type): New function, used instead of | |
6220 | unsigned-type, since it understands the chill_integer_type. | |
6221 | (decl_iteration_var): Delete, use build_temporary_variable | |
6222 | instead. | |
6223 | (declare_temps): Use lp->iter_type for the temp evaluations. | |
6224 | (initialize_iter_var): More careful calculation, to handle | |
6225 | MININT to MAXINT loops w/o overflow/underflow. | |
6226 | (begin_chill_loop): Use the original start/end expressions | |
6227 | for the loop bypass test. | |
6228 | ||
6229 | Mon Nov 22 14:02:06 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6230 | ||
6231 | * ch-typeck.c (build_chill_slice): If the argument is | |
6232 | is constant, use a read-only static variant, as the | |
6233 | existing algorithm assumes addressability. | |
6234 | * ch-typeck.c (chill_compatible): De-reference reference types. | |
6235 | * ch-typeck.c (layout_chill_range_type): Set TREE_UNSIGNED. | |
6236 | ||
6237 | Sat Nov 20 20:17:15 1993 Bill Cox (bill@rtl.cygnus.com) | |
6238 | ||
6239 | * ch-decl.c (init_decl_processing): Add filename | |
6240 | and linenumber to allocate, free memory calls. | |
6241 | * ch-expr.c (build_allocate_memory_call, | |
6242 | (build_allocate_global_memory_call): Add | |
6243 | filename, linenumber to call. | |
6244 | * ch-loop.c: Complete rewrite for maintainability. | |
6245 | ||
6246 | Sat Nov 20 17:30:05 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6247 | ||
6248 | * ch-except.c: Make it so that (by default at least) the | |
6249 | code to push/pop the __exceptionStack is done using library | |
6250 | functions __ch_link_handler and __ch_unlink_handler. This | |
6251 | provides better flexibility (for e.g. multi-threading). | |
6252 | ||
6253 | * ch-decl.c (layout_chill_variants): Allow (useless) selectors | |
6254 | even for tag-less variants. | |
6255 | ||
6256 | Fri Nov 19 14:32:20 1993 Bill Cox (bill@rtl.cygnus.com) | |
6257 | ||
6258 | * ch-decl.c (init_decl_processing): Add memmove builtin | |
6259 | function definition. | |
6260 | * ch-actions.c (chill_expand_array_assignment): Use memmove | |
6261 | call to copy an array or slice across the assignment. | |
6262 | ||
6263 | Wed Nov 17 18:23:15 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6264 | ||
6265 | * ch-satisfy.c (satisfy): If a CONTRUCTOR already has a | |
6266 | TREE_TYPE, temporarily clear it before calling chill_expand_tuple, | |
6267 | to force expansion (processing of the elements). | |
6268 | * ch-grant.c (decode_constant): If a tuple (CONTRUCTOR) has | |
6269 | a mode, write it out. | |
6270 | * ch-decl.c (init_decl_processing): Add some missing inits. | |
6271 | ||
6272 | Wed Nov 17 17:13:20 1993 Bill Cox (bill@rtl.cygnus.com) | |
6273 | ||
6274 | * ch-loop.c: Fix unterminated strings in design comments. | |
6275 | Add enumeration to the iterator structure for type of loop. | |
6276 | unused for now. | |
6277 | ||
6278 | Wed Nov 17 16:40:05 1993 Bill Cox (bill@rtl.cygnus.com) | |
6279 | ||
6280 | * ch-decl.c (init_decl_processing): Add long parameters to lots | |
6281 | of powerset runtime routines. | |
6282 | * ch-expr.c (chill_expand_expr): Change parameters to powerset | |
6283 | runtimes so bitlengths are long unsigned ints. | |
6284 | * ch-inout.c (build_chill_writetext): Add filename and linenumber | |
6285 | as runtime parameters, for better error messages. | |
6286 | * ch-loop.c: general pre-rewrite cleanup. | |
6287 | * expr.c (store_constructor): Rewrite set interface to | |
6288 | setpowersetbits for long bitnumbers, rather than shorts. | |
6289 | ||
6290 | Tue Nov 16 13:41:12 1993 Bill Cox (bill@rtl.cygnus.com) | |
6291 | ||
6292 | * ch-expr.c (build_chill_function_call): Stop generating empty | |
6293 | copyback statements, which lead to a seg fault. | |
6294 | ||
6295 | Tue Nov 16 12:20:17 1993 Per Bothner (bothner@cygnus.com) | |
6296 | ||
6297 | * ch-satisfy.c (satisfy): If satisfying a type whose | |
6298 | TYPE_MAIN_VARIANT is not itself, also satisfy the TYPE_MAIN_VARIANT. | |
6299 | * ch-actions.c (build_exception_variant): Remove some crud. | |
6300 | * ch-actions.c (build_exception_variant), ch-tree.h, ch-decl.c: | |
6301 | Remove unused first argument. | |
6302 | * ch-decl.c (start_chill_function): Call build_exception_variant | |
6303 | in pass 1, not in pass 2. | |
6304 | ||
6305 | Tue Nov 16 11:10:03 1993 Bill Cox (bill@rtl.cygnus.com) | |
6306 | ||
6307 | * ch-decl.c (shadow_record_fields): Call new function | |
6308 | build_chill_arrow_expr, which returns a ptr-to-a-type. | |
6309 | * ch-expr.c (build_chill_arrow_expr): New function, works like | |
6310 | build_chill_addr_expr used to do, returning a typed ptr. | |
6311 | (build_chill_addr_expr): Now returns unbound ref - analogous | |
6312 | to C 'void *'. | |
6313 | * ch-parse.y (PREDEF_MODEDECL): Delete unused token. | |
6314 | (operand6): Call build_chill_arrow_expr. Reindent a bit. | |
6315 | * ch-tree.h (build_chill_arrow_expr): New prototype. | |
6316 | ||
6317 | Mon Nov 15 16:38:28 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6318 | ||
6319 | * stor-layout.c (layout_type): If a SET_TYPE needs more than | |
6320 | INT_TYPE_SIZE bits, use BLKmode (and never DImode). | |
6321 | ||
6322 | * ch-decl.c (start_chill_function): Set DECL_CONTEXT of params. | |
6323 | ||
6324 | Mon Nov 15 14:49:17 1993 Bill Cox (bill@rtl.cygnus.com) | |
6325 | ||
6326 | * ch-decl.c (init_decl_processing): Move tasking stuff (__whoami | |
6327 | build_function_call, etc.) to tasking_init. | |
6328 | * ch-gperf, ch-hash.h: Add ASM keyword. | |
6329 | * ch-parse.y: Add ASM statement rules. | |
6330 | (format_str, text_arg): Delete last rules for WRITETEXT, READTEXT. | |
6331 | * ch-tasking.c: Move tasking stuff here. | |
6332 | ||
6333 | Sun Nov 14 15:50:34 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6334 | ||
6335 | * ch-parse.y (mode2): Split into array_mode and non_array_mode | |
6336 | to resolve layout ambiguity. | |
6337 | * ch-parse.y (checked_name): Remove. Use name_string instead. | |
6338 | * ch-parse.y (variantdef): Don't crash if no tag fields. | |
6339 | * ch-typeck.c (build_chill_array_type): If varying_p, | |
6340 | actually do build_varying_struct here (rather than in ch-parse.y). | |
6341 | ||
6342 | Fri Nov 12 15:37:45 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6343 | ||
6344 | * ch-satisfy.c (safe_satisfy_decl): Don't mangle function-local | |
6345 | static names. (Let make_decl_rtl generate a unique name.) | |
6346 | ||
6347 | Sun Nov 14 13:15:26 1993 Bill Cox (bill@rtl.cygnus.com) | |
6348 | ||
6349 | * ch-expr.c (build_chill_lower, cuild_chill_upper): | |
6350 | Rewrite for modes, values, etc. | |
6351 | * ch-inout.c (build_chill_writetext): Add ability | |
6352 | to write out characters. | |
6353 | * ch-satisfy.c (safe_satisfy_decl): Don't mangle function-local | |
6354 | static names. (Let make_decl_rtl generate a unique name.) | |
6355 | * varasm.c (unpack_set_constructor): Subtract | |
6356 | lower domain value from a bit's index value, | |
6357 | to match the runtime and allow powersets | |
6358 | with negative lower bounds. | |
6359 | ||
6360 | Fri Nov 12 14:00:48 1993 Bill Cox (bill@rtl.cygnus.com) | |
6361 | ||
6362 | * ch-inout.c (build_chill_writetext): Save reserved words in | |
6363 | uppercase if -fspecial_UC was specified. | |
6364 | ||
6365 | Fri Nov 12 13:27:12 1993 Per Bothner (bothner@rtl.cygnus.com) | |
6366 | ||
6367 | * ch-expr.c (chill_expand_expr, build_concat_expr): Simplify | |
6368 | string concatenation by treating varying strings as slices. | |
6369 | (varying_to_slice): New function. | |
6370 | * ch-typeck.c (build_chill_slice): Changed to support the above. | |
6371 | ||
6372 | Fri Nov 12 12:07:28 1993 Bill Cox (bill@rtl.cygnus.com) | |
6373 | ||
6374 | * ch-convert.c (convert): Fall through & convert a VARY_ARRAY_REF. | |
6375 | * ch-expr.c (build_generalized_call): Start module before a | |
6376 | writetext action, so its variables are inside the module-level | |
6377 | function. | |
6378 | * ch-loop.c (init_loop_counter): Correct for_u_bound computation | |
6379 | for enumeration loop on a varying array. | |
6380 | ||
6381 | Thu Nov 11 07:49:53 1993 Bill Cox (bill@rtl.cygnus.com) | |
6382 | ||
6383 | * cccp.c (main): Disable trigraphs for CHILL. | |
6384 | * ch-decl.c (grok_chill_fixedfields): Add special_UC | |
6385 | to conditional to determine case of reserved words. | |
6386 | Make PACK/UNPACK warning more specific. | |
6387 | * ch-expr.c (build_generalized_call): Enable recognition | |
6388 | of WRITETEXT call here. | |
6389 | * ch-gperf, ch-hash.h: Remove WRITETEXT as a reserved | |
6390 | word. It's only predefined. | |
6391 | * ch-inout.c: Add special_UC to conditionals | |
6392 | to determine case of reserved words. | |
6393 | (build_chill_writetext): Change for call from | |
6394 | build_generalized_call. Add code to format | |
6395 | integers. | |
6396 | * ch-lang.c (lang_decode_option): Add special_UC and | |
6397 | special_LC flags and logic to interlock with | |
6398 | ignore_case flag. | |
6399 | * ch-lex.l: Add special_UC to conditionals | |
6400 | to determine case of reserved words. | |
6401 | * ch-parse.y: Delete WRITETEXT as reserved word. | |
6402 | * ch-tasking.c: Add special_UC to conditionals | |
6403 | to determine case of reserved words. | |
6404 | (build_instance_type): Make components of INSTANCE | |
6405 | unsigned 16-bit integers. | |
6406 | * ch-tree.h (build_chill_writetext): Fix prototype. | |
6407 | * ch-typeck.c (build_chill_array_type): Make PACK | |
6408 | /UNPACK warning more specific. | |
6409 | * toplev.c (lang_options): Add -fspecial_LC | |
6410 | and -fspecial_UC flags. | |
6411 | ||
6412 | Wed Nov 10 02:29:53 1993 Bill Cox (bill@rtl.cygnus.com) | |
6413 | ||
6414 | * Makefile.in: Move ch-hash.h from ch-lex.o | |
6415 | rule to ch-lex.c rule, so flex is rerun. | |
6416 | * ch-actions.c (chill_expand_assignment): Error if | |
6417 | user tries to assign to a LHS function. | |
6418 | * ch-decl.c (grok_chill_fixedfields): Use of PACK | |
6419 | /UNPACK is only a warning. | |
6420 | (init_decl_processing): Add ADDR as a builtin function. | |
6421 | * ch-expr.c (build_generalized_call): Add ADDR | |
6422 | as a builtin function. | |
6423 | (build_chill_addr_expr): Sanity check parameters. | |
6424 | * ch-gperf: Remove ADDR as a reserved word, | |
6425 | make ASM into one. | |
6426 | * ch-hash.h: gperf'd version of the above. | |
6427 | * ch-inout.c (chill_stdio_p): Recognize upper/lower | |
6428 | case file names. | |
6429 | * ch-lex.l: Make ignore-case work. Downcase | |
6430 | token before checking for reserved words. | |
6431 | * ch-parse.y: Delete ADDR as a reserved word. | |
6432 | (mode2, optlayout): Allow PACK/UNPACK specifier. | |
6433 | (call): Use build_generalized_call for | |
6434 | primval LPRN modename RPRN. | |
6435 | (primval): Delete ADDR reference. It's now only | |
6436 | predefined, not reserved. | |
6437 | * ch-tree.h: Add BUILT_IN_ADDR as a predefined. | |
6438 | * ch-typeck.c (build_chill_array_type): Just | |
6439 | a warning for PACK/UNPACK usage. | |
6440 | * toplev.c: Add -fignore-case and -fno-ignore-case. | |
6441 | ||
6442 | Tue Nov 9 15:07:02 1993 Bill Cox (bill@rtl.cygnus.com) | |
6443 | ||
6444 | * ch-actions.c: Reindent for readability. | |
6445 | * ch-convert.c (convert): Turn a NULL keyword into [0, 0] for | |
6446 | a conversion to INSTANCE. | |
6447 | * ch-decl.c: Change special_UC to ignore_case everywhere. | |
6448 | (init_decl_processing): Add builtin_function calls for lots of | |
6449 | predefined functions. | |
6450 | * ch-expr.c: Change builtin function handlers back to accepting | |
6451 | args, not a treelist. | |
6452 | (route_to_predefined_function): Delete it and its call. | |
6453 | (build_generalized_call): Add lots of builtin functions. | |
6454 | * ch-gperf (backwards, duration, inttime, null): Delete them. | |
6455 | * ch-hash.h: New version. | |
6456 | * ch-inout.c: Change special_UC to ignore_case everywhere. | |
6457 | * ch-lang.c: Delete special_UC flag. | |
6458 | * ch-lex.l: Change special_UC to ignore_case everywhere. | |
6459 | * ch-loop.c (high_domain_value, low_domain_value): Change | |
6460 | interfaces to build_chill_upper and built_chill_lower. | |
6461 | * ch-parse.y: Delete lots of stuff which should only be predefined. | |
6462 | * ch-tasking.c: Change special_UC to ignore_case everywhere. | |
6463 | Change builtin function handlers back to accepting args, | |
6464 | not a treelist. | |
6465 | * ch-tree.h: Add lots of builtin functions to the enumerator. | |
6466 | ||
6467 | Mon Nov 8 18:08:27 1993 Bill Cox (bill@rtl.cygnus.com) | |
6468 | ||
6469 | * ch-tasking.c (tasking_init): Disable last-minute change for now. | |
6470 | ||
6471 | Mon Nov 8 17:30:22 1993 Bill Cox (bill@rtl.cygnus.com) | |
6472 | ||
6473 | * Makefile.in: New commands to build ch-hash.h. Add ch-lex.h to | |
6474 | dependencies where it's used. | |
6475 | * ch-decl.c (init_decl_processing): Build predefined constants | |
6476 | for TRUE, FALSE and NULL. Add declaration for abs builtin | |
6477 | function. | |
6478 | (lookup_name): Check for a CONST_DECL, don't ask about DECL_NESTING | |
6479 | stuff for builtin constant like TRUE. | |
6480 | * ch-expr.c (route_to_predefined_function): Add a bunch of | |
6481 | predefined functions to the list. | |
6482 | * ch-gperf: Define the list of reserved words, minus the predefined | |
6483 | words, using the special_UC flag. Remove NULL, TRUE, FALSE - | |
6484 | these are only predefined, not reserved. | |
6485 | * ch-hash.h: Check this into repository, even though it's derived | |
6486 | from ch-gperf, for those users who don't have gperf. | |
6487 | * ch-inout.c (build_chill_io_list_type): Use the special_UC flag | |
6488 | to refer to the IO types. Standardize the indentation. | |
6489 | * ch-lex.h: Add enumerators for TRUE, FALSE, NULL. | |
6490 | * ch-lex.l: Total rewrite of reserved-word recognition, using | |
6491 | the ch-hash.h lookup routines. | |
6492 | * ch-parse.y: Delete a bunch of unused rules for predefined | |
6493 | procedures and their parameters. | |
6494 | * ch-tasking.c (tasking_init): Build predefined functions | |
6495 | for COPY_NUMBER, GEN_CODE, GEN_INST, and GEN_PTYPE. Not | |
6496 | complete yet. Change interface to builtin handlers to accept | |
6497 | just an expression list. | |
6498 | ||
6499 | Wed Nov 3 18:07:08 1993 Bill Cox (bill@rtl.cygnus.com) | |
6500 | ||
6501 | * Makefile.in: Debug, activate rule to make CHILL hash table. | |
6502 | * ch-actions.c: Compress parameter type lists per standard. | |
6503 | * ch-decl.c: Correct spelling in comment, compress parameter lists. | |
6504 | (init_decl_processing): Check special_UC flag to build builtin | |
6505 | function declarations. | |
6506 | * ch-expr.c (route_to_predefined_function): Check for upper OR | |
6507 | lowercase function names. | |
6508 | * ch-gperf: Update the list of keywords. | |
6509 | * ch-inout.c (build_chill_io_list): Check for special_UC flag | |
6510 | to build I/O list type. Compress parameter lists. | |
6511 | (chill_stdio_p): Check for special_UC flag in recognizing | |
6512 | file streams. | |
6513 | * ch-lang.c (lang_decode_option): Add command-line options | |
6514 | for upper-case keywords and user labels. | |
6515 | * ch-lex.l (init_lex): Initialize ridpointers to uppercase | |
6516 | if special_UC flag is set. | |
6517 | (downcase, getlc, check_newline): Don't do this if ignore_case | |
6518 | flag is set. | |
6519 | * ch-parse.y (variantdef, case_expr): Report 'sorry' for use of | |
6520 | multiple selector expressions. | |
6521 | ||
6522 | Sat Oct 30 01:06:19 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6523 | ||
6524 | * ch-expr.c (compare_record, finish_chill_binary_op): Compare | |
6525 | STRUCTs (and INSTANCEs) for equality. | |
6526 | * ch-expr.c (invalid_operand): New functions, combines most of | |
6527 | the functionality of invalid_left_operand and invalid_right_operand. | |
6528 | * ch-convert.c (digest_constructor): Set TREE_CONSTANT if it is. | |
6529 | ||
6530 | Sat Oct 30 11:12:47 1993 Bill Cox (bill@rtl.cygnus.com) | |
6531 | ||
6532 | * Makefile.in (chill): Add back in the commands to build chill | |
6533 | (the script) from chill.in. | |
6534 | ||
6535 | Fri Oct 29 16:25:38 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6536 | ||
6537 | * expr.c (store_constructor): If SET_TYPE target is in a register, | |
6538 | use a stack temporary (since we must take its address). | |
6539 | ||
6540 | * ch-expr.c (build_allocate_global_memory_call, | |
6541 | build_allocate_memory_call): Cast argument pointer to PTR, | |
6542 | if needed (using location cast). Also, some other cleanups. | |
6543 | * ch-parse.y (bracketed_action): Re-arrange things so that | |
6544 | a handler following BEGIN END comes before the final poplevel. | |
6545 | * ch-typeck.c (build_chill_cast): Just return if already correct type. | |
6546 | ||
6547 | Re-do DO WITH so that build_component_ref for is done lazily | |
6548 | (at each reference) instead of eagerly (at the beginning | |
6549 | of DO WITH). This is needed for tagged variants, | |
6550 | * ch-tree.def (WITH_DECL): New declaration tree code. | |
6551 | * ch-decl.c (lookup_name): Recognize WITH_DECLs. | |
6552 | * ch-decl.c (handle_one_level): Variant parts are currently | |
6553 | indicacted with '__CASE'. Recognize that. | |
6554 | Generate a WITH_DECL (instead of ALIAS_DECL) for each field name. | |
6555 | ||
6556 | Thu Oct 28 22:17:41 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6557 | ||
6558 | * ch-expr.c (build_chill_length), ch-typeck.c (build_chill_cast): | |
6559 | Remove some old crud. | |
6560 | * ch-typeck.c (build_chill_cast): Another attempt at a | |
6561 | compromise between robustness and generality for casts. | |
6562 | Location conversions are now less likely to confuse things. | |
6563 | * ch-parse.y (optactions): Allow further optactions following | |
6564 | an initial semicolon. | |
6565 | * ch-parse.y: Add error messages on EVENT and BUFFER. | |
6566 | ||
6567 | * ch-decl.c, ch-expr.c, ch-parse.y, ch-typeck.c: | |
6568 | Undo some of the Oct 27 changes. | |
6569 | ||
6570 | Convert (some) builtin functions previously using reserved | |
6571 | names to be just predefined. | |
6572 | * tree.h (enum builtin_in_function): Added END_BUILTINS at end. | |
6573 | * ch-decl.c: Add predefines for allocate_memory, | |
6574 | allocate_global_memory, return_memory, writetext. | |
6575 | * ch-expr.c (check_arglist_length): New function. | |
6576 | * ch-expr.c (build_generalized_call): If "function" is | |
6577 | a builtin, build the appropriate tree. | |
6578 | * ch-parse.y, ch-lex.l: No longer recognize many pre-defined | |
6579 | functions at the lexer/parser level. | |
6580 | * ch-tree.h (enum chill_built_in_function): New type. | |
6581 | ||
6582 | Thu Oct 28 16:43:36 1993 Bill Cox (bill@rtl.cygnus.com) | |
6583 | ||
6584 | * ch-expr.c (allocate_memory, allocate_global_memory): | |
6585 | Check for invalid parameters, issue errors. | |
6586 | * expr.c (store_constructor): Calculate bitlength, startrtx | |
6587 | and endrtx of powerset correctly. Define targetx, use it | |
6588 | and XEXP correctly. | |
6589 | ||
6590 | Wed Oct 27 08:25:56 1993 Bill Cox (bill@rtl.cygnus.com) | |
6591 | ||
6592 | * ch-expr.c (build_max_min): Error for passing empty tuple | |
6593 | as the argument. | |
6594 | ||
6595 | Wed Oct 27 08:25:56 1993 Bill Cox (bill@rtl.cygnus.com) | |
6596 | ||
6597 | * ch-decl.c (init_decl_processing): Make allocate | |
6598 | builtins have a pointer-to-pointer-to-void | |
6599 | first parameter, rather than a reference parameter. | |
6600 | * ch-expr.c (build_allocate_memory_call, | |
6601 | build_allocate_global_memory_call): Do automatic | |
6602 | ADDR () on the first parameter, for backward | |
6603 | compatibility. | |
6604 | * ch-grant.c (grant_one_decl): Don't grant if | |
6605 | DECL_SOURCE_LINE is zero. | |
6606 | (start_chill_module_code): Set DECL_SOURCE_LINE | |
6607 | to zero so that module-level function isn't granted. | |
6608 | * ch-parse.y (handleraction): Add return_memory action. | |
6609 | * ch-typeck.c (chill_similar): Allow a void_type | |
6610 | to be similar to anything. This makes allocate_memory | |
6611 | and return_memory pointer parameters slide through. | |
6612 | ||
6613 | Tue Oct 26 00:12:19 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6614 | ||
6615 | * ch-typeck.c (build_chill_array_ref): Check for and complain | |
6616 | if there are more index expressions than the array rank. | |
6617 | ||
6618 | * ch-actions.c (chill_expand_assignment): Emit appropriate | |
6619 | error message if RHS of multiple assignment is tuple/case/if. | |
6620 | * ch-tree.def (CONCAT_EXPR): Change TREE_CODE_CLASS from | |
6621 | 'e' to the more specific '2'. (Fixes a satisfy bug.) | |
6622 | ||
6623 | Thu Oct 21 17:25:33 1993 Bill Cox (bill@rtl.cygnus.com) | |
6624 | ||
6625 | * ch-parse.y: Revert experimental error-generating change | |
6626 | that was checked in by mistake. | |
6627 | ||
6628 | Thu Oct 21 12:15:30 1993 Bill Cox (bill@rtl.cygnus.com) | |
6629 | ||
6630 | * ch-satisfy.c (safe_satisfy_decl): Satisfy the hidden tasking | |
6631 | code variables associated with a process or signal. | |
6632 | (Apparently I forgot to actually check these in last time.) | |
6633 | * ch-tasking.c: Replace last calls to get_tasking_code with | |
6634 | working references to DECL_TASKING_CODE_DECL. | |
6635 | ||
6636 | Thu Oct 21 10:27:42 1993 Bill Cox (bill@rtl.cygnus.com) | |
6637 | ||
6638 | * ch-satisfy.c (safe_satisfy_decl): Satisfy the hidden tasking | |
6639 | code variables associated with a process or signal. | |
6640 | * ch-tasking.c (build_gen_inst, build_gen_ptype): Use the decl's | |
6641 | tasking_code_decl pointer, rather than trying to look it up | |
6642 | in the hash table or linked scope list. | |
6643 | ||
6644 | Wed Oct 20 09:52:44 1993 Bill Cox (bill@rtl.cygnus.com) | |
6645 | ||
6646 | * ch-actions.c (lookup_and_handle_exit): Only output error message | |
6647 | in pass 1. | |
6648 | * ch-convert.c (convert): Correct conversion of VARYING array to/ | |
6649 | from non-VARYING one. | |
6650 | * ch-decl.c (print_lang_decl): Add debug output for DECL_TASKING_CODE_DECL | |
6651 | field in the node. | |
6652 | (decl_tasking_code_var): Delete it. Its calls are replaced woth | |
6653 | generate_tasking_code_variable calls, plus a little glue. | |
6654 | (push_extern_process): generate tasking_code_variable as local | |
6655 | static variable, point the process' function_decl at it for later | |
6656 | reference by build_start_process. | |
6657 | (print_mode): Use CHILL upper-case convention to print modes. | |
6658 | * ch-lex.l: Must initialize tasking-related trees to NULL at start | |
6659 | of each pass, or we lose the fact that the user did or did not | |
6660 | specify a value for each of them. | |
6661 | * ch-parse.y (check_end_label, action, exceptlist): Only output | |
6662 | error message in pass 1. | |
6663 | (sendaction): Add comments. | |
6664 | (sigdef): Comment out special handling for external signals. | |
6665 | Chain tasking_variable_decl onto signal structure decl, for | |
6666 | easier non-symbol-table access later. | |
6667 | * ch-tasking.c (generate_tasking_code_variable): Do work in both | |
6668 | passes, using do_decl so we can pass the pass 2 value of the | |
6669 | process_type or signal_code to it. Only update the process_type | |
6670 | if the incoming pointer isn't null and pass == 2. Use a new | |
6671 | parameter to know whether to include an init expression. | |
6672 | (build_process_header): Attach tasking-code_variable to process | |
6673 | function_decl for easy access later, not through the hash table. | |
6674 | (build_start_process): Get tasking_code_variable out of the process' | |
6675 | function decl. | |
6676 | (build_signal_struct_type): Return the type decl, to be accessed by ... | |
6677 | (build_signal_descriptor): .. this function. | |
6678 | (build_receive_case_label): Get data buffer pointer not from hash | |
6679 | table, but from Tiemann's current rc_state structure instead. | |
6680 | * ch-tree.h: Change prototype, fix comment, add DECL_TASKING_CODE_DECL | |
6681 | macro for tasking_code_variable storage. | |
6682 | ||
6683 | Tue Oct 19 17:39:40 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6684 | ||
6685 | * ch-lex.l (equal_number): If the "number" is a CONST_DECL, | |
6686 | return its DECL_INITIAL. | |
6687 | * ch-satisfy.c (safe_satisfy_decl): Change logic for rtl | |
6688 | generation for decls to not use DECL_ASSEMBLER_NAME. | |
6689 | * ch-decl.c: Set DECL_ASSEMBLER_NAME to DECL_NAME. | |
6690 | This matches C, and allows dbxout to emit proper user-level names. | |
6691 | (It would be cleaner to fix dbxout to use DECL_NAME ...) | |
6692 | * ch-decl.c (outer_decls): New global list of the decls granted | |
6693 | into the outer scope. | |
6694 | (pop_module): Change code that grants into outer scope accordingly. | |
6695 | (lookup_name_for_seizing): Similarly update. | |
6696 | (push_scope_decls): Handle SEIZE ALL from the global scope | |
6697 | by searching outer_decls. | |
6698 | * ch-grant.c (grant_array_type): Fix thinko. | |
6699 | * ch-inout.c (build_chill_writetext): Remove excessive TREE_TYPE. | |
6700 | ||
6701 | Mon Oct 18 15:57:00 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6702 | ||
6703 | * varasm.c (output_constructor): Add support for non-zero | |
6704 | lower array bound. | |
6705 | * c-typeck.c (output_init_element): Revert recent changes. | |
6706 | * varasm.c (emit_set_data): Fix emitting set constant data. | |
6707 | * ch-lex.l (yywrap): Reset line number to 0, not 1. | |
6708 | It sets incremented to 1 by check_newline. | |
6709 | * ch-tree.h: Restore old version. | |
6710 | * ch-expr.c (finish_chill_binary_op): Convert TRUNC_DIV_EXPR | |
6711 | to RDIV_EXPR if an operand is floating. (This functionality | |
6712 | got dropped when hacking finish_chill_binary_op). | |
6713 | ||
6714 | * ch-actions.c (build_chill_case_expr): Set type to NULL_TREE. | |
6715 | not error_mark_node. | |
6716 | * ch-actions.c (chill_expand_assignment): Allow such borderline | |
6717 | constructs as: LHS OR:= [X]. | |
6718 | * ch-convert.c (convert): Hande CASE_EXPR (and COND_EXPR) | |
6719 | with unknown (NULL_EXPR) type, not just CONSTRUCTORS. | |
6720 | * ch-decl.c (do_decl): Remove CONSTRUCTOR kludge. | |
6721 | * ch-typeck.c (chill_compatible): Allow expr to have NULL mode | |
6722 | if it's a CASE_EXPR or COND_EXPR (and not just CONSTRUCTOR). | |
6723 | ||
6724 | Mon Oct 18 13:20:53 1993 Ken Raeburn (raeburn@rover.cygnus.com) | |
6725 | ||
6726 | * c-typeck.c (output_init_element): Limit previous changes to | |
6727 | ARRAY_TYPE and SET_TYPE initializers. | |
6728 | ||
6729 | Sun Oct 17 23:15:00 1993 Bill Cox (bill@cygnus.com) | |
6730 | ||
6731 | * c-typeck.c (output_init_element): Handle NULL domain case. | |
6732 | * ch-decl.c (do_decl): Revert bogus initializer type change. | |
6733 | * ch-grant.c (chill_finish_module_code): Put module's decl onto | |
6734 | the module_init_list, for chill_finish_compile's possible use. | |
6735 | (chill_finish_compile): Rename variables for clarity, add | |
6736 | commented-out code as example for assignment of module address to its | |
6737 | init_list entry. | |
6738 | ||
6739 | Sun Oct 17 15:16:54 1993 Bill Cox (bill@cygnus.com) | |
6740 | ||
6741 | * ch-convert.c: Move semicolon to separate line - easier to see. | |
6742 | * ch-decl.c (do_decl): Handle untyped_expr initializers by | |
6743 | simply using the variable's declared type - no compatibility | |
6744 | check can be made if the expression has no type. | |
6745 | * ch-expr.c (expand_packed_set): Fix endless loop - increment | |
6746 | the loop variable. | |
6747 | (fold_set_expr): Fix two other endless loops by passing | |
6748 | correct parameters to unpack_set_constructor. | |
6749 | * varasm.c: Standardize 'for' loop. | |
6750 | ||
6751 | Sun Oct 17 12:16:21 1993 Bill Cox (bill@cygnus.com) | |
6752 | ||
6753 | * c-typeck.c (output_init_element): Handle initializer for | |
6754 | array with non-zero lower index bound. | |
6755 | ||
6756 | Sat Oct 16 16:48:48 1993 Per Bothner (bothner@cygnus.com) | |
6757 | ||
6758 | * ch-expr.c (finish_chill_binary_op): Use TREE_SET_CODE | |
6759 | to change TREE_CODE. | |
6760 | ||
6761 | Sat Oct 16 08:07:17 1993 Bill Cox (bill@rtl.cygnus.com) | |
6762 | ||
6763 | * ch-expr.c (finish_chill_binary_op): Disable | |
6764 | rough-draft code, not intended for release. | |
6765 | ||
6766 | Fri Oct 15 21:44:11 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) | |
6767 | ||
6768 | * expr.c (store_constructor): use PROTO for pack_set_constructor | |
6769 | ||
6770 | Fri Oct 15 10:30:09 1993 Bill Cox (bill@cygnus.com) | |
6771 | ||
6772 | * ch-expr.c (finish_chill_binary_op): Activate some | |
6773 | type-setup code. | |
6774 | * expr.c (store_constructor): Subtract arrays minimum element. | |
6775 | Makes orientexpress work. | |
6776 | ||
6777 | Fri Oct 15 09:26:24 1993 Bill Cox (bill@cygnus.com) | |
6778 | ||
6779 | * ch-convert.c, ch-expr.c: Add externs so it'll compile. | |
6780 | * ch-tree.def: Add BASED_DECL definition. | |
6781 | ||
6782 | Thu Oct 14 13:20:02 1993 Bill Cox (bill@cygnus.com) | |
6783 | ||
6784 | * ch-actions.c (build_chill_cause_exception): Pass the | |
6785 | *address* of the filename string to the runtime routine, | |
6786 | rather than passing the string by value. | |
6787 | ||
6788 | Thu Oct 14 13:08:07 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6789 | ||
6790 | * expr.c (store_constructor): Use a (usually) more efficient | |
6791 | algorithm for setting SET types. | |
6792 | ||
6793 | Thu Oct 14 13:08:07 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6794 | ||
6795 | Changes to better support 1984 version of Chill, which doesn't | |
6796 | really distinguish BOOL and BITS(1) or CHAR and CHARS(1). | |
6797 | * ch-lang.c, toplev.c, ch-tree.h (flag_old_strings): New flag. | |
6798 | * ch-typeck.c (chill_similar): Support flag_old_strings. | |
6799 | * ch-convert.c (convert_to_boolean): Generalize code to | |
6800 | convert singleton bitstring to Boolean. | |
6801 | * ch-convert.c (convert): Use string_one_type_node. | |
6802 | * ch-convert.c (convert): Add code to convert Boolean to BOOLS(1). | |
6803 | * ch-convert.c (convert): In code that converts fixed string to | |
6804 | varying use new 'e' variable, rather than original 'expr' variable. | |
6805 | Allows cascaded conversions: CHAR -> CHARS(1) -> varying CHARS. | |
6806 | * ch-decl.c (string_type_node, const_string_type_node, | |
6807 | int_array_type_node), ch-tree.h: Removed. | |
6808 | * ch-decl.c (string_one_type_node, bitstring_one_type_node, | |
6809 | bit_zero_node, bit_one_node), ch-tree.h: New globals tree nodes. | |
6810 | * ch-decl.c (init_decl_precessing): Remove some junk. | |
6811 | * ch-expr.c (build_generalized_call): If flag_old_strings, | |
6812 | treat string index as string slice. Also, better error checking. | |
6813 | ||
6814 | Added support for (some kinds of) BASED declarations. | |
6815 | * ch-tree.def (BASED_DECL): New tree code. | |
6816 | * ch-decl.c (lookup_name): Implement BASED_DECL using | |
6817 | build_chill_indirect_ref. | |
6818 | * ch-decl.c (do_based_decls): Make a BASED_DECL. | |
6819 | * ch-parse.y: Call do_based_decls for DCL ... BASED(...). | |
6820 | * ch-satisfy.c (safe_satisfy_decl): Handle BASED_DECL. | |
6821 | ||
6822 | Improve handling of set binary operations. | |
6823 | * ch-expr.c (expand_packed_set): New function. | |
6824 | (fold_set_expr): Re-write. Simpler, more general algorithm. | |
6825 | (build_set_expr): Only used for comparsions now. | |
6826 | (finish_chill_binary_op): Handle set ops better (more directly). | |
6827 | (fold_set_and, fold_set_diff, fold_set_eq, fold_set_or, | |
6828 | fold_set_ne, fold_set_xor): Removed. No longer needed. | |
6829 | ||
6830 | * ch-decl.c: Remove calls to allocate_lang_decl. | |
6831 | * ch-tree.c (build_string_type): If const length, layout immediately. | |
6832 | ||
6833 | Mon Oct 11 17:23:02 1993 Bill Cox (bill@cygnus.com) | |
6834 | ||
6835 | * ch-decl.c (init_decl_processing): Define __whoami and | |
6836 | __wait_buffer functions. | |
6837 | * ch-lex.l (ch_lex_init): Reset tasking numbers to zero. | |
6838 | * ch-parse.y (sigdef): Add new add_taskstuff_to_list | |
6839 | parameter. | |
6840 | * ch-tasking.c (get_tasking_code): Search tasking_list for | |
6841 | tasking code name match. Can't use lookup_name. | |
6842 | (get_task_name): New function. | |
6843 | (generate_tasking_code_variable): Return if pass 1. | |
6844 | Always update *tasking_code_ptr. | |
6845 | (build_process_header): Add new add_taskstuff_to_list | |
6846 | parameter. | |
6847 | (tasking_setup): New code to unpack the tasking | |
6848 | list entries no built by .. | |
6849 | (add_taskstuff_to_list): Accept new parameter, | |
6850 | add it to the list. | |
6851 | * ch-tree.h (add_taskstuff_to_list): Add new | |
6852 | parameter. | |
6853 | ||
6854 | Mon Oct 11 14:54:50 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6855 | ||
6856 | * Makefile.in (cc1chill): Also link in $(BC_OBJS). | |
6857 | ||
6858 | Mon Oct 11 06:28:39 1993 Doug Evans (dje@canuck.cygnus.com) | |
6859 | ||
6860 | * ch-decl.c (flag_allow_single_precision): New global, | |
6861 | from ss-931002 merge. | |
6862 | ||
6863 | Sun Oct 10 09:11:52 1993 Bill Cox (bill@rtl.cygnus.com) | |
6864 | ||
6865 | * Makefile.in: Remove references to chill.in and | |
6866 | ch-hash.h. Remove bogus cc1chil : chill | |
6867 | dependency. | |
6868 | ||
6869 | Fri Oct 8 16:00:04 1993 Bill Cox (bill@cygnus.com) | |
6870 | ||
6871 | * ch-actions.c (adjust_parm_or_field): Add parameter to | |
6872 | decl_temp1 call. | |
6873 | *ch-decl.c (decl_tasking_code_var): Replace do_decl call with | |
6874 | decl_temp1 call. | |
6875 | (decl_temp1): Add parameter to signal 'make this external'. | |
6876 | (shadow_record_fields): Add parameter to decl_temp1 call. | |
6877 | * ch-expr.c (chill_expand_case_expr): Add parameter | |
6878 | to decl_temp1 call. | |
6879 | * ch-grant.c (chill_finish_compile): Add code to spoof | |
6880 | get_file_function_name, so we don't get __tmp_s1_code, | |
6881 | for example, as the module-level code's name. | |
6882 | * ch-loop.c (build_temporary_variable, begin_for_range, | |
6883 | init_loop_counter): Add parameter to decl_temp1 call. | |
6884 | * ch-parse.y (quasi_signaldef): Clear quasi_signal flag here, | |
6885 | for easier maintenance. | |
6886 | (sendaction): Rewrite to receive SIGNALNAME token correctly | |
6887 | from ch-lex.l (name_type_signal). | |
6888 | (signaldef): Don't clear quasi_signal here. | |
6889 | * ch-tasking.c (generate_tasking_code_variable): Tell decl_temp1 | |
6890 | to make the variable public (visible to linker). | |
6891 | (build_start_process): Add parameter to decl_temp1 call. | |
6892 | (tasking_setup): Comment out band-aid hack which calls | |
6893 | generate_tasking_code_variable. Shouldn't be necessary. | |
6894 | Use null_pointer_node rather than integer_zero_node in | |
6895 | entry_point. More rewrites. | |
6896 | (build_signal_descriptor): Name the non-signal in the error msg. | |
6897 | Rewrite the building of the signal envelope - avoid seg fault. | |
6898 | Add parameter to decl_temp1 call. | |
6899 | (expand_send_signal, build_receive_case_start, | |
6900 | build_receive_case_end, build_buffer_descriptor): Add parameter | |
6901 | to decl_temp1 call. | |
6902 | * ch-tree.h: Add parameter to decl_temp1 proto. | |
6903 | * chill: Add new CHILL frontend directory | |
6904 | ||
6905 | Tue Oct 5 13:51:27 1993 Bill Cox (bill@cygnus.com) | |
6906 | ||
6907 | * ch-grant.c: Standardize indentation. | |
6908 | * ch-parse.y (end_function): Unconditionally poplevel for processes. | |
6909 | * ch-tasking.c (build_process_header): Unconditionally pushlevel. | |
6910 | (generate_tasking_code_variable): Stop using pass number to | |
6911 | force a one-time action. | |
6912 | * ch-tree.h (build_chill_slice): Delete proto since function went static. | |
6913 | ||
6914 | Mon Oct 4 13:52:36 1993 Bill Cox (bill@cygnus.com) | |
6915 | ||
6916 | * ch-decl.c (decl_tasking_code_var): Use do_decl, since we're | |
6917 | called here in both passes. Set DECL_ASSEMBLER_NAME. | |
6918 | (lookup_name_for_seizing): Move NULL test forward to prevent | |
6919 | seg fault. | |
6920 | * ch-expr.c (finish_chill_binary_op): Mode access to TREE_CODE | |
6921 | to prevent a seg fault in telebras/dynsto.ch. Make indentation | |
6922 | changes. | |
6923 | * ch-tasking.c (build_signal_struct): Rename to build_signal_struct_type. | |
6924 | (build_send_signal): Rename to expand_send_signal. | |
6925 | (generate_tasking_code_variable): Return the var's decl. | |
6926 | (build_signal_struct_type): Move generate_tasking_code_variable | |
6927 | and add_taskstuff_to_list calls to .. | |
6928 | * ch-parse.y (sigdef): .. here. And make indentation changes. | |
6929 | * ch-tree.h: Rename functions, add return values. | |
6930 | ||
6931 | Mon Oct 4 15:43:56 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6932 | ||
6933 | * ch-convert.c (digest_constructor): Convert element to element_type. | |
6934 | * ch-parse.y (end_function): Use DECL_ARGUMENTS to check | |
6935 | for parameterless process. | |
6936 | ||
6937 | Fri Oct 1 13:57:30 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6938 | ||
6939 | * ch-typeck.c (chill_location): New function. | |
6940 | Based on lvalue_p, but also handle Chill-specific VARY_ARRAY_REF. | |
6941 | * ch-typeck.c, ch-tree.h (CH_LOCATION_P), ch-convert.c: Use | |
6942 | chill_location instead of lvalue_p. | |
6943 | ||
6944 | ||
6945 | Fri Oct 1 11:28:42 1993 Bill Cox (bill@cygnus.com) | |
6946 | ||
6947 | * ch-convert.c (convert): Back out Michael's changes, unintentionally | |
6948 | checked in. | |
6949 | * ch-lex.l (handle_use_seizefile_directive): No longer downcase | |
6950 | seize file names. | |
6951 | * ch-parse.y (sendaction): Fix a couple of seg faults. Comment out | |
6952 | SEND BUFFER processing for now. | |
6953 | * ch-tree.h: Fix comment. | |
6954 | ||
6955 | Thu Sep 30 17:00:42 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6956 | ||
6957 | * ch-tree.h (CH_CHARS_ONE_P, CH_BOOLS_ONE_P): New macros, | |
6958 | for recognizing singleton strings. | |
6959 | * ch-tree.h (MARK_AS_STRING_TYPE): New macro. | |
6960 | * ch-tree.c (build_string_type, build_bitstring_type), | |
6961 | ch-convert.c (convert): Use it. | |
6962 | * ch-typeck.c (build_chill_slice): Take length rather than upper | |
6963 | bound. This makes it easier to recognize that A(X UP LENGTH) | |
6964 | really has fixed length. Also, if the argument is string, | |
6965 | mark the slice as a string too. Also, handle varying strings. | |
6966 | ||
6967 | * ch-typeck.c (conflate_singleton_strings): New global. | |
6968 | * ch-typeck.c (chill_similar): If conflate_singleton_strings is | |
6969 | set (as it currently is), allow CHARS(1)/BOOLS(1) to be similar | |
6970 | to CHAR/BOOL, as required by the 1984 version of Z.200. | |
6971 | * ch-convert.c (convert_to_char): Convert CHARS(1) to CHAR. | |
6972 | * ch-convert.c ( build_array_type_for_scalar): If input is string, | |
6973 | so is output. | |
6974 | * ch-convert (maybe_turn_scalar_into_arra), ch-tree.h: Removed. | |
6975 | * ch-convert.c (convert): Convert CHAR to CHARS(1). | |
6976 | ||
6977 | This fixes 'X // := Y' and is also a general simplification. | |
6978 | * ch-actions.c (chill_expand_assignment): Convert 'LHS OP := RHS' | |
6979 | to 'LHS := LHS OP RHS' (using stabilize_reference on LHS). | |
6980 | Also, call save_expr on RHS if a multiple assignment. | |
6981 | * ch-parse.y (assignaction): Therefore, no longer need to call | |
6982 | stabilize_reference on RHS. | |
6983 | * ch-typeck.c (build_chill_modify_expr), ch-tree.h: Remove | |
6984 | modifycode parameter. Make it the caller's responsibility to | |
6985 | handle <assigning operator>. | |
6986 | * ch-actions.c, ch-decl.c, ch-except.c, ch-expr.c, ch-grant.c, | |
6987 | ch-loop.c: Fix calls to build_chill_modify_expr accordingly. | |
6988 | ||
6989 | Wed Sep 29 18:02:55 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
6990 | ||
6991 | * ch-lang.c (string_index_type_dummy), ch-tree.h: New variable. | |
6992 | * ch-decl.c (integer_minus_one_node), ch-tree.h: New variable. | |
6993 | ||
6994 | * ch-parse.y (arrayindex: modename): Remove useless code. | |
6995 | * ch-satisfy.c (satisfy): Don't gag on string_index_type_dummy, | |
6996 | * ch-tree.c (build_string_type): Pass string_index_type_dummy as | |
6997 | the parent type of the index range. | |
6998 | * ch-typeck.c (layout_chill_range_type): Recognize and handle | |
6999 | string_index_type_dummy - specifically allow an empty range. | |
7000 | ||
7001 | Wed Sep 29 13:36:23 1993 1993 Bill Cox (bill@cygnus.com) | |
7002 | ||
7003 | * ch-convert.c (convert_to_reference): Check for loc-identity | |
7004 | mismatches correctly (and remove one of those chill_compatible | |
7005 | calls). | |
7006 | * ch-decl.c (decl_tasking_code_var): New function, called from | |
7007 | push_extern_process and push_extern_signal. | |
7008 | * ch-parse.y (end_function): Delete parameter. Check current_function_decl | |
7009 | whether it's actually a process, and whether it has parameters. | |
7010 | Make Michael's change simplifying the pass 2 test, preventing a seg | |
7011 | fault. | |
7012 | (procedure, process): Change calls to end_function, remove | |
7013 | code saving value from build_process_header. Delete redundant chill_ | |
7014 | phrases from some function calls. | |
7015 | * ch-tasking.c: Remove some redundant _chill phrases from function | |
7016 | names. | |
7017 | * ch-tree.h: Remove some redundant _chill phrases from function | |
7018 | names. Add the CH_VARYING_ARRAY_TYPE macro, call it from | |
7019 | all relevant places. | |
7020 | * ch-typeck.c: Use the new macro. Cast TREE_CODEs to chill_tree_code. | |
7021 | ||
7022 | Wed Sep 29 13:07:43 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7023 | ||
7024 | * ch-convert.c (convert_to_reference): Remove redundancies. | |
7025 | * ch-convert.c (convert): Handle convert_to_reference | |
7026 | with a recursive convert call. | |
7027 | * ch-decl.c (do_decl): Add missing compatibility-checking | |
7028 | of initializer (don't depend on convert). | |
7029 | ||
7030 | Tue Sep 28 00:02:25 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7031 | ||
7032 | * ch-tree.h (CH_LOCATION_P): New macro. | |
7033 | * ch-typeck.c (layout_chill_range_type): Fix call to | |
7034 | type_for_size, when figuring out a defaulted parent type. | |
7035 | * ch-expr.c (build_chill_lower, build_chill_sizeof): Check | |
7036 | for TREE_CODE_CLASS != 't' rather than == 'd'. | |
7037 | * ch-expr.c (build_chill_function_call): Use CH_LOCATION_P | |
7038 | to check for location, rather than TYPE_CODE_CLASS == 'd'. | |
7039 | ||
7040 | * ch-tree.c (build_string_type): Make 2-pass safe. Also, | |
7041 | change parameter to be length, not index type. | |
7042 | * ch-parse.y (mode2), ch-expr.c (build_concat_expr), ch-lex.l | |
7043 | (build_chill_string): Modify callers of build_string_type accordingly. | |
7044 | * ch-lex.l (check_newline): Don't look for # directive inside a | |
7045 | C-style comment. | |
7046 | * ch-grant.c (grant_array_type): Make more robust for char- | |
7047 | and bit-strings (allow non-constant sizes). Change parameters | |
7048 | and return types. (raw_decode_mode): Use grant_array_type | |
7049 | for bitstrings. (otherwise): Fix grant_array_type callers. | |
7050 | ||
7051 | Mon Sep 27 16:57:57 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7052 | ||
7053 | Remove changes of Sep 15. | |
7054 | * ch-tree.h (CH_SINGLETON_DOMAIN): Removed. | |
7055 | * ch-typeck.c (chill_similar): Don't allow a singleton | |
7056 | powerset to be similar to its domain. | |
7057 | * ch-convert.c (convert_to_boolean): Don't convert a singleton | |
7058 | SET_TYPE constructor to a Boolean. | |
7059 | ||
7060 | * ch-actions.c (chill_expand_assignment): Handle IN_EXPR on | |
7061 | LHS of assignment, which is what we're current (temporarily?) using. | |
7062 | ||
7063 | Mon Sep 27 06:01:57 1993 Bill Cox (bill@rtl.cygnus.com) | |
7064 | ||
7065 | * ch-actions.c, ch-convert.c, ch-decl.c, ch-expr.c, | |
7066 | ch-grant.c, ch-inout.c, ch-parse.y, ch-satisfy.c, | |
7067 | ch-tasking.c, ch-tree.c, ch-tree.h, ch-typeck.c: | |
7068 | -Wall cleanup. Add prototypes where missing. | |
7069 | Delete unused variables. Cast uses of tree_codes | |
7070 | to chill_tree_code, which they are. | |
7071 | ||
7072 | Sun Sep 26 13:09:57 1993 Bill Cox (bill@rtl.cygnus.com) | |
7073 | ||
7074 | * ch-decl.c (do_decl): Save initializer in pass zero | |
7075 | case also. | |
7076 | * ch-lex.l: Fix comments, indentation. | |
7077 | * ch-parse.y: Standardize error messages to use | |
7078 | uppercase for CHILL keywords rather than quoting them. | |
7079 | Suggestion from docs department. | |
7080 | * ch-tasking.c: Pervasive changes to get processes to | |
7081 | compile and START. | |
7082 | * ch-tree.h: Delete prototypes for functions whic | |
7083 | I made static inside ch-tasking.c. | |
7084 | ||
7085 | Sun Sep 26 02:40:02 1993 Michael Tiemann (tiemann@blues.cygnus.com) | |
7086 | ||
7087 | * ch-lex.l (yywrap): Call `check_newline' in case the file | |
7088 | started with a line directive. | |
7089 | ||
7090 | Sat Sep 25 13:54:41 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7091 | ||
7092 | * ch-decl.c: Expand pre-amble comment. | |
7093 | * ch-decl.c (struct scope, push_module): Use new field | |
7094 | tail_chain_module to build child-module list in order. | |
7095 | (Just to make compiler debugging a little less confusing.) | |
7096 | ||
7097 | * ch-decl.c (struct scope): New field weak_decls. | |
7098 | * ch-decl.c (find_implied_types): New interface. Now pre-pend | |
7099 | new enum types to a given input list. This makes it easier to | |
7100 | avoid duplicates, which should at least be more efficient. | |
7101 | Also, handle FUNCTION_DECL. | |
7102 | * ch-decl.c (bind_saved_names): Removed. Distribute its | |
7103 | functionality over new functions (push_scope_decls, pop_scope_decls, | |
7104 | build_implied_names, bind_sub_modules). The goal (which seems to | |
7105 | have been more-or-less attained) was to fix weak name handling. | |
7106 | * ch-decl.c (poplevel): Use new function pop_scope_decls. | |
7107 | ||
7108 | * ch-tasking.c (build_signal_struct, build_tasking_message_type): | |
7109 | Use build_decl directly, rather than grok_chill_fixedfields | |
7110 | (which depends on ignore_exprs and has more overhead). | |
7111 | * ch-tasking.c (build_signal_struct): Construct the type | |
7112 | only in pass 1. | |
7113 | * ch-typeck.c (build_chill_slice): Use my_build_array_ref rather | |
7114 | than build_array_ref (which does C-specific "optimizations"). | |
7115 | (Hence move my_build_array_ref up earlier in the file.) | |
7116 | ||
7117 | Sat Sep 25 03:47:28 1993 Michael Tiemann (tiemann@blues.cygnus.com) | |
7118 | ||
7119 | * ch-tasking.c: Declare static variable `void_ftype_void'. | |
7120 | (chill_tasking_init): Initialize `void_ftype_void' here. | |
7121 | (build_tasking_struct): Use, don't declare `void_ftype_void'. | |
7122 | (generate_tasking_code_variable): Call `do_decl', not | |
7123 | `decl_temp1' to declare TASKING_CODE_NAME. | |
7124 | (tasking_setup): Drop into 1-pass mode so that all | |
7125 | tasking-related declarations are installed in the global | |
7126 | scope. Use correct CHILL types for initializers (since | |
7127 | ptr_type_node doesn't have the right meaning for CHILL). | |
7128 | Also, call `do_decl' instead of `decl_temp1' for | |
7129 | `init_struct'. | |
7130 | (add_taskstuff_to_list): Set TASKING_LIST in pass 1 to keep | |
7131 | `chill_finish_compile' in sync between passes. | |
7132 | ||
7133 | * ch-decl.c (do_decl): Set DECL_ASSEMBLER_NAME for | |
7134 | declarations on pass zero. Keep obstacks in sync, and always | |
7135 | call `finish_decl' for pass zero declarations. | |
7136 | (push_chill_extern_function): Keep obstacks in sync, and always | |
7137 | call `finish_decl' for pass zero declarations. | |
7138 | (build_enumerator): Ditto. | |
7139 | (grok_chill_variantdefs): Change PASS test to exclude only | |
7140 | pass one. | |
7141 | (finish_struct): Ditto. | |
7142 | * ch-expr.c (build_chill_component_ref): Ditto. | |
7143 | (build_chill_binary_op): Ditto. | |
7144 | * ch-tree.c (build_powerset_type): Ditto. | |
7145 | (build_bitstring_type): Ditto. | |
7146 | * ch-typeck.c (build_chill_range_type): Ditto. | |
7147 | (build_chill_struct_type): Ditto. | |
7148 | ||
7149 | * ch-decl.c (build_chill_exception_decl): Clarify reasons for | |
7150 | extra pushing and popping of obstacks. | |
7151 | ||
7152 | * ch-inout.c (build_chill_io_list_type): Call `satisfy_decl' | |
7153 | on IO_DESCRIPTOR. This causes IO_DESCRIPTOR to be laid out. | |
7154 | ||
7155 | * ch-grant.c (chill_finish_compile): Clear out both | |
7156 | MODULE_INIT_LIST and TASKING_LIST if either contains stuff | |
7157 | from pass one. | |
7158 | ||
7159 | * ch-parse.y (rccase_label): Add NAME rules so that pass one | |
7160 | works w/o knowing we're parsing a signal. Simplify SIGNALNAME | |
7161 | rules since we only get SIGNALNAME tokens in pass two. | |
7162 | (sendaction): Ditto. | |
7163 | * ch-lex.l (name_type_signal): Enable returning SIGNALNAME and | |
7164 | BUFFERNAME on pass two. The grammar now handles this. | |
7165 | * ch-decl.c (lookup_remembered_decl): Deleted. | |
7166 | ||
7167 | Fri Sep 24 15:27:13 1993 Bill Cox (bill@cygnus.com) | |
7168 | ||
7169 | * ch-decl.c (lookup_remembered_names): Removed. It was being | |
7170 | misused in ch-lex.l. | |
7171 | * ch-lex.l (name_type_signal): Revert last change. Basically, | |
7172 | we cannot use the C typedef/variable name trick in CHILL, due | |
7173 | due to the language's 2-pass nature. | |
7174 | * ch-parse.y (arrayindex): Rewrite for correctness, and to avoid | |
7175 | a seg fault. | |
7176 | * ch-tree.h (lookup_remembered_name): Comment out the prototype. | |
7177 | ||
7178 | Fri Sep 24 11:01:31 1993 Michael Tiemann (tiemann@blues.cygnus.com) | |
7179 | ||
7180 | * ch-decl.c (do_decl, push_chill_extern_function): Change pass | |
7181 | checks so the pass == 0 case is handled for built-in types. | |
7182 | (push_modedef): Add check for error_mark_node. | |
7183 | (lookup_remembered_decl): New function. | |
7184 | (pushlevel, poplevel) Change pass checks. | |
7185 | (pushdecl): Check type as well for NULL. | |
7186 | (build_enumerator): Handle pass == 0 case. | |
7187 | * ch-lex.l: Use lookup_remembered_decl to get lastiddecl | |
7188 | during pass 1. | |
7189 | * ch-parse.y: Set pass to zero to indicate initial decl processing. | |
7190 | Replace NAME references with SIGNALNAME references. | |
7191 | (startaction): Only check copy number if not ignoring actions. | |
7192 | Always call build_chill_start_process. | |
7193 | (optstartset): Don't lookup the instance name. | |
7194 | * ch-tasking.c (generate_tasking_code_variable): Replace | |
7195 | do_decl call with decl_temp1 call. | |
7196 | (build_chill_start_action): Check for ignore_actions here. | |
7197 | (build_tasking_message_type): Layout the type. | |
7198 | (rc_state_type): New structure to keep nested receive-case | |
7199 | info in. | |
7200 | (build_chill_receive_case_start, build_chill_receive_case_end): | |
7201 | Use the new struct. | |
7202 | ||
7203 | ||
7204 | Fri Sep 24 04:19:15 1993 Michael Tiemann (tiemann@blues.cygnus.com) | |
7205 | ||
7206 | * ch-tasking.c (build_chill_receive_case_start): `namedecl' | |
7207 | should be a _DECL, not an IDENTIFIER_NODE. | |
7208 | ||
7209 | Thu Sep 23 18:18:24 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7210 | ||
7211 | * ch-decl.c (find_implied_types): Handle VAR_DECLs. | |
7212 | ||
7213 | * ch-decl.c (print_lang_identifier): Print IDENTIFIER_OUTER_VALUE. | |
7214 | * ch-actions.c (chill_expand_result): Allow value-less RETURN. | |
7215 | * ch-expr.c (resolve_component_ref): Recognize error_mark. | |
7216 | ||
7217 | * ch-convert.c (digest_constructor): Handle a nested powerset tuple. | |
7218 | * ch-satisfy.c (satisfy): Use return value of layout_chill_range_type. | |
7219 | * ch-typeck.c (chill_similar): Repeatedly get parent modes | |
7220 | of ranges, not just once. | |
7221 | * ch-typeck.c (chill_root_resulting_mode), ch-tree.h: New function. | |
7222 | * ch-typeck.c (layout_chill_rang_type): Re-do type-checking | |
7223 | to follow Blue Book better (check for Compatibility). | |
7224 | ||
7225 | * ch-tree.h (CH_ROOT_RESULTING_MODE): New macro. | |
7226 | * ch-lex.l (use_seizefile_name, current_seizefile_name), ch-tree.h: | |
7227 | New variables. The latter replaces in_seizefile. | |
7228 | ||
7229 | Changes to store in the new DECL_SEIZEFILE field each seize | |
7230 | ALIAS_DECL the name in the most recent use_seize_file directive. | |
7231 | (This requires that use_seize_file directives written to the | |
7232 | grant file be written before the SEIZEs that need it.) | |
7233 | Allow clashing declarations granted into the global scope | |
7234 | (produce a warning), but remember the seizefile case from | |
7235 | (using the DECL_SEIZEFILE field of the grant ALIAS_DECL). | |
7236 | The a SEIZE will select the granted decl that matches its | |
7237 | DECL_SEIZEFILE (in other words: grants from the most recent | |
7238 | use_seize_file will be preferred). | |
7239 | * ch-tree.h (DECL_SEIZEFILE), ch-tree.def: New macro. | |
7240 | * ch-tree.h (global_value, IDENTIFIER_GLOBAL_VALUE): Renamed | |
7241 | to outer_value, IDENTIFIER_OUTER_VALUE. | |
7242 | Changes to cause the use_seize_file directives to be written | |
7243 | out in order as they're seen in source. | |
7244 | * ch-lex.l (files_to_seize, next_file_to_seize, last_file_to_seize): | |
7245 | Changed to have type TREE_LIST of pointer to IDENTIFIER_NODE. | |
7246 | * ch-lex.l (handle_use_seizefile_directive): Modify appropriately. | |
7247 | Don't call grant_use_seizefile. | |
7248 | * ch-lex.l (mark_use_seizefile_written): New function. | |
7249 | * ch-grant.c (decode_decl): Write out use_seize_file directive, | |
7250 | if needed, before writing a seize declarations. | |
7251 | * ch-decl.c (pop_module): Handle decls granted into the global | |
7252 | module specially, setting IDENTIFIER_OUTER_VALUE. | |
7253 | * ch-decl.c (lookup_name_for_seizing): Check IDENTIFIER_OUTER_VALUE. | |
7254 | ||
7255 | Thu Sep 23 19:05:37 1993 Bill Cox (bill@cygnus.com) | |
7256 | ||
7257 | * ch-decl.c (push_chill_extern_process): Delete unused variables, | |
7258 | declare the process' tasking_code variable as external. | |
7259 | * ch-parse.y (process): Force ignore_exprs to FALSE while parsing | |
7260 | the process header. | |
7261 | * ch-tasking.c (sigdef): Move resetting of quasi_signal from here | |
7262 | to (signaldef). | |
7263 | * ch-tree.h: Add prototype. | |
7264 | * expr.c (store_constructor): Emergency first-aid. Rewrite later. | |
7265 | ||
7266 | Thu Sep 23 12:57:53 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7267 | ||
7268 | * ch-expr.c (build_chill_function_call): Move possible call to | |
7269 | chill_start_module_code until we know we're not calling a builtin. | |
7270 | * ch-decl.c (save_expr_under_name): Use pushdecllist, | |
7271 | not proclaim_decl (which provide for popping the decl). | |
7272 | * ch-parse.y (optname): Also allow TYPENAME. | |
7273 | ||
7274 | Thu Sep 23 09:18:35 1993 Bill Cox (bill@cygnus.com) | |
7275 | ||
7276 | * ch-decl.c (print_lang_decl): Make weak name output more standard. | |
7277 | (print_lang_identifier): Make signal-data flag output more standard. | |
7278 | (push_chill_extern_process): Pass correct arg tree to | |
7279 | push_chill_extern_function. | |
7280 | (push_syn_decls, fixup_unknown_type, chill_modes_equiv): | |
7281 | Standardize function header layouts (Makes the tcov script | |
7282 | work better). | |
7283 | * ch-except.c (chill_finish_on): Standardize function header. | |
7284 | * ch-expr.c (fold_set_or): Standardize function header. | |
7285 | * ch-grant.c (print_proc_tail, print_proc_exceptions): Standardize | |
7286 | function headers. | |
7287 | (decode_constant): Make sure that alpha operators are surrounded | |
7288 | with whitespace. | |
7289 | * ch-parse.y: Spell Z.200 correctly in comments. | |
7290 | ||
7291 | Wed Sep 22 10:42:31 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7292 | ||
7293 | * ch-expr.c (build_chill_addr_expr), ch-tree.h: New function. | |
7294 | * ch-parse.y, ch-decl.c (shadow_record_fields): Use it. | |
7295 | * ch-lex.l (handle_use_seizefile_directive): Don't emit | |
7296 | use_seize_file directive if in_seizefile. | |
7297 | ||
7298 | * ch-convert.c (digest_structure_tuple): Fix code that checks | |
7299 | for excess init values. | |
7300 | * ch-decl.c (layout_chill_variants): Move increment of nlabels | |
7301 | inside the proper loop. | |
7302 | * ch-grant.c (print_struct): Add missing loop for tag_list. | |
7303 | (print_struct): Look for variant fields by checking for a | |
7304 | UNION_TYPE, not a NULL name, since we must use a dummy name. | |
7305 | * ch-parse.y (structured_variable): Various fixing. | |
7306 | * ch-decl.c (shadow_record_fields): Rename arg decl -> struct_val. | |
7307 | ||
7308 | * ch-satisfy.c (safe_satisfy_decl): Disable copying of modes | |
7309 | for NEWMODE (and hence novelty checking), until we figure out | |
7310 | a better way. | |
7311 | ||
7312 | * ch-except.c (finish_handler_array): Use null_pointer_node, | |
7313 | not integer_zero_node (which fails to type-check). | |
7314 | ||
7315 | * c-typeck.c (get_constructor_element_type): New function. | |
7316 | * ch-tree.h (CH_NOVELTY_FLAG): Now also used in TYPE_DECLs. | |
7317 | (CH_NOVELTY): Redefined to call new function chill_novelty. | |
7318 | (CH_CLASS_IS_XXX, TYPE_NEWMODE, CH_CLASS_MODE): Removed. | |
7319 | * ch-typeck.c (classify_chill_expr renamed to chill_expr_class): | |
7320 | Take extra output parameter (for M, as in M-value class). | |
7321 | * ch-typeck.c (chill_novelty): New function. (Also de-references.) | |
7322 | ||
7323 | * ch-expr.c (resolve_component_ref, build_chill_component_ref): | |
7324 | New functions. Handle 2-pass and variant records. | |
7325 | * ch-parse.y (primval DOT name): Use instead of build_component_ref. | |
7326 | * ch-satisfy.c (satisfy, case COMPONENT_REF): | |
7327 | New case, call resolve_component_ref. | |
7328 | ||
7329 | * ch-expr.c (build_generalized_call): Extract single arg from | |
7330 | arg list before calling build_chill_cast. | |
7331 | ||
7332 | * ch-parse.y (defining_occurrence_list): New non-terminal. | |
7333 | Use it to replace locnamelist, synnames, and modenames. | |
7334 | * ch-parse.y: Re-write parsing of variant records. | |
7335 | ||
7336 | * ch-decl.c (grok_chill_variantdefs): Now return a FIELD_DECL | |
7337 | rather than just its type. | |
7338 | * ch-inout.c (build_chill_io_list_type), ch-parse.y: | |
7339 | Change callers appropriately. | |
7340 | ||
7341 | * ch-tree.h (TYPE_TAG_VALUES): Add an extra level of TREE_LIST, | |
7342 | to support multiple tag fields. | |
7343 | * ch-grant.c (print_struct), ch-decl.c (layout_chill_variants): | |
7344 | Support multiple tag fields. | |
7345 | ||
7346 | * ch-convert.c (remove_tree_element, digest_structure_tuple): | |
7347 | New functions, to digest structure tuples, without calling the | |
7348 | code in c-typeck.c. Handles variant tuples and tags (partially). | |
7349 | * ch-convert.c (digest_constructor, convert): Call | |
7350 | digest_structure_tuple when appropriate. | |
7351 | * ch-convert.c (digest_constructor): Re-arrange a bit. | |
7352 | ||
7353 | * ch-decl.c (push_modedef): Defer copying of tree until ... | |
7354 | * ch-satisfy (safe_satisfy_decl): ... here. | |
7355 | ||
7356 | * ch-decl.c (getdecls): Add kludge to help dbxout_init. | |
7357 | ||
7358 | Tue Sep 21 14:19:11 1993 Bill Cox (bill@cygnus.com) | |
7359 | ||
7360 | Partial tasking update - not done yet. | |
7361 | * ch-actions.c: Comments, indentation. | |
7362 | * ch-decl.c (push_chill_extern_process): No longer need to | |
7363 | reformat the arg list for make_process_struct. | |
7364 | (pop_module): Don't seg fault on null DECL_NAME. | |
7365 | (handle_one_level): Error, not warning if tree not recognized. | |
7366 | (shadow_record_fields): Rename formal param for readability. | |
7367 | * ch-grant.c (decode_decl): Write proper header for a process. | |
7368 | * ch-parse.y (quasi_pdef): process now uses processparlist, | |
7369 | which doesn't change with the passes. | |
7370 | (quasi_locdec): Call build_chill_reference_type to defer | |
7371 | doing the type's layout. | |
7372 | (processpar): Use paramnamelist, but reformat it into a | |
7373 | list of identifiers in pass 2, so a processpar is the same | |
7374 | structure in both passes. | |
7375 | (locdec): Call build_chill_reference_type to defer doing the | |
7376 | type's layout. | |
7377 | * ch-tasking.c (generate_tasking_code_variable): Call do_decl to | |
7378 | build the decl. Only update the variable's tree in pass 2. | |
7379 | (make_process_struct): Call build_chill_reference_type to defer | |
7380 | doing the type's layout. | |
7381 | (build_process_header): New code to call make_process_struct. | |
7382 | New pass-2 code to make a PARM_DECL for start_chill_function. | |
7383 | Pass a void_type_node, not a NULL_TREE for an empty list. | |
7384 | Get input for shadow_record_fields from current_function_decl. | |
7385 | (build_buffer_decl): Call do_decl not decl_temp1. | |
7386 | * ch-typeck.c: Reindent to standards. | |
7387 | * gcc.c (SPECS): Add recognition for the '.chi' CHILL suffix. | |
7388 | ||
7389 | Mon Sep 20 12:00:24 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7390 | ||
7391 | * ch-typeck.c (classify_chill_expr): An expression with a | |
7392 | REFERENCE_TYPE still has VALUE class, even if an ADDR_EXPR. | |
7393 | * ch-actions.c (adjust_parm_or_field):, ch-tree.h: Change last | |
7394 | parameter, so we can reliably recognize LOC parameters. | |
7395 | * ch-tasking.c, ch-expr.c: Change callers appropriately. | |
7396 | ||
7397 | Sun Sep 19 22:26:25 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7398 | ||
7399 | * ch-tree.h (CH_READ_COMPATIBLE, CH_REFERABLE): New macros. | |
7400 | * ch-typeck.c (chill_referable, chill_read_compatible): New functions. | |
7401 | * ch-typeck.c (chill_compatible): Allow un-resolved CONSTRUCTOR | |
7402 | (with NULL TREE_TYPE), when reasonable. (Simplifies callers.) | |
7403 | Also, handle case of expr being of reference class. | |
7404 | * ch-actions.c (adjust_parm_or_field): Major re-arrange | |
7405 | to handle conversions and LOC args better. | |
7406 | * ch-actions.c (chill_expand_assignment): Simplify conversions. | |
7407 | * ch-expr.c (build_chill_function_call): If needed, call | |
7408 | chill_start_module_code. | |
7409 | * ch-decl.c (declare_predefined_file): New function, used | |
7410 | to pre-define stdin, stdout, and stderr. | |
7411 | * ch-inout.c (chill_stdio_p): Change names of predefined | |
7412 | files from chill-stdin etc to plain stdin (and change their types). | |
7413 | * ch-lex.l: Remove some obsolete stuff. | |
7414 | * ch-convert.c (convert): Move conversion from reference to | |
7415 | to beginning of convert() so other conversion can work better. | |
7416 | Also, remove bogus direct setting of TREE_TYPE. | |
7417 | ||
7418 | Fri Sep 10 12:23:41 1993 Wilfried Moser (fs_moser@cygnus.com) | |
7419 | ||
7420 | * Makefile.in: Change installation of the chill script. gcc will | |
7421 | be called always with the full path. That made problems when | |
7422 | somebody was using chill but didn't have the installation | |
7423 | directory in PATH. | |
7424 | * ch-parse.y: Change parsing of WRITETEXT action. | |
7425 | * ch-tree.h: Add some new prototypes according to the | |
7426 | (partial) implementation of WRITETEXT. | |
7427 | * ch-typeck.c: Add new function chill_varying_string_type_p. This | |
7428 | functions checks a type for being CHAR(n) VARYING. | |
7429 | * ch-decl.c (init_decl_processing): Add new built-in functions | |
7430 | _writestring and _writeunixstd. | |
7431 | Add call to build_chill_io_list_type in ch-inout.c. | |
7432 | * ch-inout.c (build_chill_writetext): Add some code there. | |
7433 | Add new function build_chill_io_list_type. | |
7434 | Add new static function chill_stdio_p. This function checks | |
7435 | the text argument for being chill_stdin, chill_stdout or | |
7436 | chill_stderr. | |
7437 | ||
7438 | Fri Sep 17 22:02:04 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7439 | ||
7440 | * ch-decl.c (push_modedef): Fix TYPE_MAIN_VARIANT thinko. | |
7441 | ||
7442 | Thu Sep 16 18:38:53 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7443 | ||
7444 | * ch-decl.c (allocate_lang_decl): Do nothing. | |
7445 | * ch-tree.h (struct lang_decl, DECL_GRANT_FILE, DECL_SEIZE_FILE): | |
7446 | No longer used; remove. | |
7447 | ||
7448 | * ch-tree.h (TYPE_TAG_FIELD renamed to TYPE_TAGFIELDS), ch-grant.c | |
7449 | (print_struct), ch-parse.y (opttagfield -> opttagfields), ch-decl.c | |
7450 | (make_chill_variants, layout_chill_variants): Add (initial) part | |
7451 | of support for multiple tags. | |
7452 | * ch-decl.c (lookup_tag_fields): New function. | |
7453 | * ch-parse.y (stmt_count): Not used; removed. | |
7454 | * ch-parse.y (mode2): Clear current_fieldlist before | |
7455 | parsing STRUCT fields; restore afterwards. | |
7456 | ||
7457 | * ch-parse.y (push_action): Moved to ch-actions.c. | |
7458 | ||
7459 | Wed Sep 15 18:19:37 1993 Bill Cox (bill@rtl.cygnus.com) | |
7460 | ||
7461 | * ch-convert.c (convert_to_boolean): Convert a SET_TYPE | |
7462 | constructor to a boolean. | |
7463 | ||
7464 | Wed Sep 15 17:52:10 1993 Bill Cox (bill@rtl.cygnus.com) | |
7465 | ||
7466 | * ch-decl.c (push_modedef): Enable novelty-setting code. | |
7467 | * ch-tree.h (CH_SINGLETON_DOMAIN): New macro. | |
7468 | * ch-typeck.c (chill_similar): Add checking of singleton | |
7469 | powerset against its base type. | |
7470 | ||
7471 | Tue Sep 14 17:11:52 1993 Bill Cox (bill@rtl.cygnus.com) | |
7472 | ||
7473 | * ch-actions.c (adjust_parm_or_field): Create a | |
7474 | temporary for an non-referencable actual parameter | |
7475 | passed to a LOC formal parameter. | |
7476 | (chill_expand_assignment): Correct compatibility checking. | |
7477 | ||
7478 | * ch-decl.c (push_modedef): Set up a type's NOVELTY value. | |
7479 | * ch-parse.y (opsigdest): Only check for process name | |
7480 | in pass 2, when we know. | |
7481 | * ch-tree.h (CH_NOVELTY_FLAG, CH_NOVELTY): Define. | |
7482 | * ch-typeck.c: Fix comment. | |
7483 | ||
7484 | Mon Sep 13 17:33:11 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7485 | ||
7486 | * ch-grant.c (lookup_decl_in_process, register_decl_as_output, | |
7487 | decl_seen_p, processed_decls, allocated, nr_decls): Removed | |
7488 | no-longer-useful functions and variables that used to guard | |
7489 | against writing a decl multiple times. Since we now just | |
7490 | go through the decl list linearly, that is no longer an issue. | |
7491 | * ch-satisfy.c (safe_satisfy_decl): Handle missing current_module. | |
7492 | ||
7493 | * ch-decl.c (start_chill_function): Clear DECL_ASSEMBLER_NAME. | |
7494 | Don't make TREE_PUBLIC. Don't generate rtl yet. | |
7495 | * ch-decl.c (pop_module): If a decl is granted, set TREE_PUBLIC, | |
7496 | and its DECL_ASSEMBLER_NAME. | |
7497 | * ch-decl.c (fix_identifier): New function. | |
7498 | * ch-grant.c (grant_one_decl): Don't set TREE_PUBLIC. | |
7499 | * ch-tree.h (struct module): New field prefix_name. | |
7500 | * ch-satisfy.c (safe_satisfy_decl): If assembler_name isn't | |
7501 | set, prefix it by the module name(s). | |
7502 | * ch-satisfy.c (safe_satisfy_decl, case FUNCTION_DECL): | |
7503 | Call make_function_rtl if needed and !LOOKUP_ONLY. | |
7504 | * ch-typeck.c (chill_similar): Flesh out substantially. | |
7505 | * ch-typeck.c (chill_compatible): Re-structure. | |
7506 | ||
7507 | * ch-actions.c (adjust_parm_or_field): Use CH_COMPATIBLE | |
7508 | instead of chill_comptypes to compare actual and formal. | |
7509 | ||
7510 | Sun Sep 12 21:10:10 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7511 | ||
7512 | * ch-parse.y (labellist): Don't do anything if ignore_exprs. | |
7513 | ||
7514 | * c-typeck.c (output_pending_init_elements): Handle | |
7515 | !constructor_incremental case of filling in empty positions. | |
7516 | (Patch by Jim Wilson. CYGNUS LOCAL until we have approval.) | |
7517 | * ch-decl.c (pop_module): Don't grant a seized name. | |
7518 | * ch-grant.c (decode_constant): Support CALL_EXPR. | |
7519 | * ch-tree.c (build_bitstring_type): Don't try to fold non-constant | |
7520 | size if pass==1 (since it may be an unsatisfied name). | |
7521 | ||
7522 | ||
7523 | Sun Sep 12 18:06:23 1993 Bill Cox (bill@rtl.cygnus.com) | |
7524 | ||
7525 | 2-pass fixes for processes. Partially done. | |
7526 | * ch-actions.c (chill_expand_assignment): Add real | |
7527 | novelty-checking sketch, $ifdef'd out for now. | |
7528 | * ch-decl.c: Generally fix indentation. Move tasking | |
7529 | init code from init_decl_processing to ch-tasking.c. | |
7530 | Delete ObjC-related cruft. More accurate parameter name | |
7531 | for shadow_record_fields. Move debug_scope before | |
7532 | its first call. | |
7533 | * ch-expr.c (build_chill_function_call): Return if not | |
7534 | pass 2. | |
7535 | * ch-grant.c (print_proc_tail): Avoid trying to format | |
7536 | a VOID return type, or using a NULL pointer. | |
7537 | (decode_decl): Minor changes for PROCESS arg access. | |
7538 | * ch-lang.c (lang_decode_option): Use -itu flag to | |
7539 | enable 'pedantic' mode. | |
7540 | * ch-lex.l (init_lex): Initialize compiler-directive | |
7541 | variable trees. | |
7542 | (name_type-signal): Disable the returning of SIGNAL and BUFFER | |
7543 | name tokens. | |
7544 | * ch-parse.y (rccase_label_flag): Renamed from rccase_ifs. | |
7545 | All uses renamed also. | |
7546 | (end_function): Always poplevel, not just in pass 2. | |
7547 | (quasi_pdef): Check for end-label matching. | |
7548 | (quasi_formparlist): Write more clearly. | |
7549 | (rcaltlist, optelsercvcase, optstartset): Add ignore_actions | |
7550 | guards. | |
7551 | (rccase_label, sendaction): Use NAME, not SIGNALNAME | |
7552 | or BUFFERNAME. | |
7553 | (process): Handle like procedure. | |
7554 | (mode): Add SIGNAL as a generic signal parameter. This | |
7555 | is a client-specific extension, so pedantic is checked. | |
7556 | * ch-tasking.c: Pervasive rewrites for 2-pass. Still not done. | |
7557 | * ch-tree.h (CH_NOVELTY): Make it an lvalue. | |
7558 | * ch-typeck.c: Fix comment. | |
7559 | ||
7560 | Sun Sep 12 15:03:21 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7561 | ||
7562 | * c-typeck.c (digest_init): Compare types using comptypes | |
7563 | instead of comparing pointers. (Helps Chill front end.) | |
7564 | * ch-expr.c (finish_chill_binary_op): | |
7565 | * ch-typeck.c (build_chill_array_ref, build_chill_bitref), | |
7566 | ch-expr.c (finish_chill_binary_op): For now, prefer IN_EXPR | |
7567 | over BIT_FIELD_REF because of various problems with BIT_FIELD_REF | |
7568 | (incomplete support for variable fields, and possible bug in | |
7569 | optimize_bit_field_compare). | |
7570 | * ch-expr.c (finish_chill_binary_op): Fix type-checking | |
7571 | and appropriately coerce operands for IN_EXPR and comparsions. | |
7572 | * expr.c (expand_expr, case ARRAY_REF): Coerce lower bound (if | |
7573 | non-zero) to sizetype before subtraction. | |
7574 | * expr.c (expand_expr): Remove Chills-specific calls to | |
7575 | __inpowerset from case BIT_FIELD_REF to case IN_EXPR. | |
7576 | ||
7577 | Fri Sep 10 15:47:52 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7578 | ||
7579 | * ch-tree.def (UNDEFINED_EXPR): New kind of expression. | |
7580 | * ch-grant.c (decode_constant), ch-expr.c (chill_expand_expr), | |
7581 | ch-convert.c (convert): Handle UNDEFINED_EXPR. | |
7582 | ||
7583 | * ch-expr.c (build_char_array_expr): Move CONCAT_EXPR support to ... | |
7584 | * ch-expr.c (build_concat_expr): ... here. | |
7585 | Now also folds concatenation of STRING_CST and UNDEFINED_EXPR. | |
7586 | Also, make result varying only if one of the operands are. | |
7587 | ||
7588 | * ch-expr.c (build_chill_binary_op): Move stuff from here to ... | |
7589 | * ch-expr.c (finish_chill_binary_op): ... here, as needed for | |
7590 | proper 2-pass split. Also, clean up and simplify heavily. | |
7591 | ||
7592 | * ch-tree.h (enum ch_expr_class): The 5 kinds of expression classes. | |
7593 | * ch-typeck.c (classify_chill_expr): New function: Determine | |
7594 | class of expression. | |
7595 | * ch-typeck.c (chill_compatible_classes): Re-structure; fix | |
7596 | asymmetry bugs. | |
7597 | * ch-tree.h (CH_CLASS_IS_XXX): Re-define to use classify_chill_expr. | |
7598 | ||
7599 | * ch-convert.c (maybe_turn_scalar_into_array): Complain | |
7600 | unless scalar is a char constant (and we want a string). | |
7601 | * ch-convert.c (convert): New code for converting to variable | |
7602 | string/array. Avoid type errors by padding (with an UNDFIEND_EXPR). | |
7603 | * ch-typeck.c (chill_expand_tuple): Don't do conversion to | |
7604 | varying type here; that is handled by convert now. | |
7605 | * ch-decl.c (digest_constructor): Moved to ... | |
7606 | * ch-convert.c (digest_constructor): ... here. | |
7607 | * ch-decl.c (do_decl): Simplify; just use convert for initializer. | |
7608 | * ch-decl.c (chill_digest_init): Merged into convert, and removed. | |
7609 | * ch-decl.c (init_decl_processing): Set constructor_no_implicit flag. | |
7610 | * ch-except.c (finish_handler-array), ch-decl.c (finish_decl): | |
7611 | Replace chill_digest_init by convert. | |
7612 | * ch-actions.c (chill_expand_array_assignment): Simplify; use convert. | |
7613 | * ch-lex.l (build_chill_string): Make string type be derived | |
7614 | from integer, not sizetype, because upper bound can be -1. | |
7615 | ||
7616 | Thu Sep 9 18:21:46 1993 Bill Cox (bill@rtl.cygnus.com) | |
7617 | ||
7618 | * ch-typeck.c (my_build_array_ref): Delete pedantic | |
7619 | C-specific error message. | |
7620 | ||
7621 | Thu Sep 9 17:44:20 1993 Jeffrey Wheat (cassidy@eclipse.cygnus.com) | |
7622 | ||
7623 | * gcc.c: pass {I*} spec to cc1chill. Fixes -Ifoo not working problem. | |
7624 | ||
7625 | Thu Sep 9 12:22:22 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7626 | ||
7627 | * ch-typeck.c (build_chill_array_ref): Remove redundant and | |
7628 | broken call to my_build_array_ref. | |
7629 | ||
7630 | Wed Sep 8 13:03:49 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7631 | ||
7632 | * ch-except.c (finish_handler_array), ch-decl.c (finish_decl): | |
7633 | Don't use store_init_value, since it calls digest_init instead | |
7634 | of chill_digest_init. | |
7635 | * ch-except.c (finish_handler_array): Use build1 (ADDR_EXPR, ...) | |
7636 | instead build_unary_op to avoid C-specific optimizations. | |
7637 | * ch-typeck.c (my_build_array_ref): Don't use default_conversion | |
7638 | to convert array to pointer. | |
7639 | * c-typeck.c (process_init_default): New function, to support | |
7640 | default values for array tuples in Chill. | |
7641 | * c-typeck.c (default_conversion): Don't convert array to pointer | |
7642 | if compiling Chill. | |
7643 | * ch-decl.c (digest_constructor): New function; used to be guts | |
7644 | of chill_digest_init. Now recursive, to handle nested tuples. | |
7645 | ||
7646 | * ch-decl.c (chill_digest_init): Handle struct labels. | |
7647 | * ch-grant.c (get_tag_value): Use decode_constant in general case. | |
7648 | * ch-grant.c (decode_constant): Add support for lots of missing | |
7649 | binary and unary operators. | |
7650 | ||
7651 | Wed Sep 8 10:11:04 1993 Bill Cox (bill@rtl.cygnus.com) | |
7652 | ||
7653 | * ch-lang.c: Look for '-I' option for seize file path. | |
7654 | * ch-lex.l: Fix comment about above option. | |
7655 | ||
7656 | Wed Sep 8 00:37:32 1993 Per Bothner (bothner@rtl.cygnus.com) | |
7657 | ||
7658 | * ch-satisfy.c: Move code to set (and restore) file-and-line | |
7659 | from satisfy_decl to safe_satisfy_decl, for the sake of satisfying | |
7660 | alias decls that refer to real decls with errors. | |
7661 | * ch-actions.c (lang_init): Move to ch-lang.c. | |
7662 | * ch-decl.c (init_decl_processing): Move code to initialize | |
7663 | file-and-line from here ... | |
7664 | * ch-lang.c (lang_init): ... to here, to avoid clobbering. | |
7665 | ||
7666 | * ch-decl.c (chill_digest_init): Add support for SET_TYPE, | |
7667 | and index values. | |
7668 | * ch-typeck.c (chill_expand_typle): Just call chill_digest_init. | |
7669 | * c-typeck.c: Fix various things that got broken | |
7670 | in the latest merge. | |
7671 | ||
7672 | Tue Sep 7 15:45:58 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7673 | ||
7674 | * ch-decl.c (build_enumerator): Handle a "unnamed set element" | |
7675 | (obsolete feature) by generating a dummy name. | |
7676 | * ch-decl.c (finish_decl): Call rest_of_decl_compilation with | |
7677 | "correct" value of top-level (to get better debugging output). | |
7678 | * ch-decl.c (bind_saved_names): Allow a null DECL_NAME. | |
7679 | ||
7680 | Tue Sep 7 15:48:35 1993 Bill Cox (bill@rtl.cygnus.com) | |
7681 | ||
7682 | * ch-actions.c (chill_expand_return): Correct breakage | |
7683 | due to recent fsf merge. | |
7684 | ||
7685 | Tue Sep 7 11:16:10 1993 Bill Cox (bill@rtl.cygnus.com) | |
7686 | ||
7687 | * .cvsignore: Add multilib.h. | |
7688 | * ch-decl.c (chill_digest_init): New function. Calls were | |
7689 | changed, since it has fewer parameters than old digest_init. | |
7690 | * ch-parse.y (untyped_expr, primval, tupleelement): Calls to | |
7691 | new init stuff. | |
7692 | (elementlist): Delete unused code. | |
7693 | * ch-satisfy.c (safe_satisfy_decl): Just return if decl == NULL. | |
7694 | * ch-tasking.c (build_tasking_enum): Attempt to adapt to 2-pass. | |
7695 | * ch-tree.h: Delete digest_init prototype. | |
7696 | * ch-typeck.c (digest_init): Much new code. | |
7697 | ||
7698 | Tue Sep 7 12:06:28 1993 Bill Cox (bill@rtl.cygnus.com) | |
7699 | ||
7700 | * ch-decl.c, ch-parse.y, ch-tree.h, ch-typeck.c: Revert | |
7701 | files to their pre-init-change state. | |
7702 | ||
7703 | Mon Sep 6 15:28:27 1993 Bill Cox (bill@rtl.cygnus.com) | |
7704 | ||
7705 | Preliminary adaptation to rms' new initializer code. | |
7706 | * ch-decl.c (do_decl): Call chill_digest_init, not | |
7707 | digest_init, which rms made static. | |
7708 | * ch-expr.c (chill_truthvalue_conversion): Delete C- | |
7709 | specific code. | |
7710 | * ch-loop.c (init_loop_counter): Indent for readability. | |
7711 | * ch-parse.y (untyped_expr, primval, tupleelement): Call new init code. | |
7712 | * ch-tree.h: Prototype changes for new init code. | |
7713 | * ch-typeck.c (chill_expand_tuple): Call new init code. | |
7714 | * chill.texi: Add necessary '-f' prefix on options. | |
7715 | ||
7716 | Wed Sep 1 13:21:53 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7717 | ||
7718 | * ch-convert.c (build_array_type_for_scalar), | |
7719 | ch-tasking.c (build_chill_receive_case_end): Index type | |
7720 | specification is now chain of types (not chain of TREE_LIST). | |
7721 | * ch-satisfy.c (satisfy): Don't try to satisfy the | |
7722 | abstract_origin of an ALIAS_DECL if DECL_POSTFIX_ALL. | |
7723 | * ch-expr.c (build_chill_binary_op): If pass 1, do NOT | |
7724 | call finish_chill_binary_op. | |
7725 | * ch-parse.y (arrayindex): Simplify. | |
7726 | ||
7727 | Tue Aug 31 14:57:35 1993 Bill Cox (bill@rtl.cygnus.com) | |
7728 | ||
7729 | * ch-decl.c (print_lang_decl): Print weak-name status. | |
7730 | (print_lang_identifier): Print signal_data as T or F. | |
7731 | * ch-lex.l (convert_bitstring, convert_charliteral, | |
7732 | convert_float, convert_number): Pass string directly to convert | |
7733 | as a parameter. Return token code consistently, return 0 | |
7734 | for error. | |
7735 | (equal_number): Parse differently, allowing hex, binary | |
7736 | and octal constants. | |
7737 | * ch-parse.y (dowithaction, structured_variable): Only | |
7738 | push/pop scopes once per DO WITH. | |
7739 | (structured_variable_list): Check ignore_actions flag here. | |
7740 | * gcc.c: Delete 'traditional' from string, add 'itu' | |
7741 | as the standard flag's name. | |
7742 | ||
7743 | Mon Aug 30 15:12:26 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7744 | ||
7745 | * ch-typeck.c, ch-tree.h (build_chill_range_type): Take 3 | |
7746 | parameters instead of 2 (explicit low and high bounds). | |
7747 | * ch-parse.y (arrayindex): Build range type from low:high. | |
7748 | (rangesize, optrangesize): Removed. | |
7749 | (where appropriate): Use new build_chill_range_type interface. | |
7750 | * ch-grant.c: Clean up writing of range and array types. | |
7751 | * ch-satisfy.c (satisfy): Don't ignore the return value of | |
7752 | layout_chill_array_type. (It may be an error mark.) | |
7753 | * ch-typeck.c (build_chill_array_type): Simplify. | |
7754 | * ch-typeck.c (layout_chill_array_type): Clean up checks. | |
7755 | ||
7756 | Fri Aug 27 12:55:59 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7757 | ||
7758 | * ch-decl.c (decl_temp1): Set DECL_ASSEMBLER_NAME. | |
7759 | (push_chill_extern_function) Don't set current_function_decl. | |
7760 | * ch-parse.y (tupleelement): Don't wrap index is a TREE_LIST | |
7761 | (i.e. a range), don't wrap a PAREN_EXPR around it. | |
7762 | * ch-grant.c (decode_constant): For tuple CONSTRUCTORs, | |
7763 | add support for ranges in purpose. | |
7764 | ||
7765 | Wed Aug 25 16:58:13 1993 Bill Cox (bill@rtl.cygnus.com) | |
7766 | ||
7767 | * .cvsignore: Add g++.sum | |
7768 | * ch-actions.c (chill_expand_result): Stop building a temp. | |
7769 | Assign the expression directly into function's DECL_RESULT. | |
7770 | * ch-decl.c: Add formfeeds. | |
7771 | (start_chill_function): Don't need to zero DECL_RESULT's pointer any more. | |
7772 | (push_chill_function_context): Delete C pedwarn message. | |
7773 | * ch-expr.c: Move builtin functions together. | |
7774 | * ch-parse.y (end_function): Delete unused code. | |
7775 | Reformat %union for readability. Delete _MAX and _MIN | |
7776 | tokens. | |
7777 | ||
7778 | Wed Aug 25 13:24:06 1993 Bill Cox (bill@rtl.cygnus.com) | |
7779 | ||
7780 | * ch-actions.c (get_result_tmp_name): Delete unused function. | |
7781 | (chill_expand_result, chill_expand_return): Rewrite for | |
7782 | 2-pass. | |
7783 | * ch-decl.c (start_chill_function): NULL out the RESULT_DECL's | |
7784 | chain field, so we can make a temp, evaluate a RESULT action's | |
7785 | expression into it, and hang it on here. | |
7786 | * ch-parse.y (end_function): Look for RESULT temps to emit. | |
7787 | (assertaction): Indentation. | |
7788 | ||
7789 | Wed Aug 25 08:34:36 1993 Bill Cox (bill@rtl.cygnus.com) | |
7790 | ||
7791 | * ch-lex.l, ch-parse.y: Delete CONTINUE_EVENT token. | |
7792 | It wasn't used anyway. | |
7793 | ||
7794 | Tue Aug 24 17:51:18 1993 Bill Cox (bill@rtl.cygnus.com) | |
7795 | ||
7796 | * ch-actions.c (chill_expand_result, chill_expand_return): | |
7797 | No need to make a temp for the value, just use DECL_RESULT. | |
7798 | ||
7799 | Tue Aug 24 16:38:24 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7800 | ||
7801 | * ch-tree.c (layout_powerset_type): Remove redundant code. | |
7802 | Generalize (in error message) to also handle bitstrings. | |
7803 | * ch-tree.c (build_bitstring_type): Remove all layout-like | |
7804 | stuff, and defer that to layout_powerset_type. | |
7805 | * ch-expr.c (chill_expand_expr): For various SET_xxx_EXPRs, | |
7806 | allocate stack temp for target using correct mode. | |
7807 | ||
7808 | Tue Aug 24 10:27:19 1993 Bill Cox (bill@rtl.cygnus.com) | |
7809 | ||
7810 | * ch-actions.c, ch-decl.c, ch-except.c, | |
7811 | ch-grant.c, ch-lang.c, ch-loop.c, ch-tree.h, | |
7812 | ch-typeck.c: Change build_modify_expr calls to | |
7813 | build_CHILL_modify_expr calls. | |
7814 | * ch-expr.c (build_chill_modify_expr): Adapted from | |
7815 | build_modify_expr in c-typeck.c. | |
7816 | ||
7817 | Mon Aug 23 16:48:39 1993 Bill Cox (bill@rtl.cygnus.com) | |
7818 | ||
7819 | * ch-actions.c, ch-convert.c, ch-decl.c, ch-expr.c, | |
7820 | ch-grant.c, ch-lang.c, ch-lex.l, ch-loop.c, | |
7821 | ch-satisfy.c, ch-tasking.c, ch-tree.c, ch-typeck.c: | |
7822 | Major re-allocation of functions to files. | |
7823 | ||
7824 | Mon Aug 23 12:15:11 1993 Bill Cox (bill@rtl.cygnus.com) | |
7825 | ||
7826 | Thanks for the tip, Jim. | |
7827 | * Makefile.in: Add dependency lines for ch-except.o and | |
7828 | ch-satisfy.o. Correct dependency lines for ch-convert.o, | |
7829 | ch-expr.o, ch-inout.o, and ch-loop.o. | |
7830 | (chill, install-common): Add clean-up commands. | |
7831 | ||
7832 | Sat Aug 21 17:11:26 1993 Bill Cox (bill@rtl.cygnus.com) | |
7833 | ||
7834 | * ch-decl.c (get_type_precision): New function. | |
7835 | (layout_enum): Call it. | |
7836 | * ch-tree.c (layout_powerset_type, build_bitstring_type): | |
7837 | Call it. | |
7838 | ||
7839 | Sat Aug 21 13:59:40 1993 Bill Cox (bill@rtl.cygnus.com) | |
7840 | ||
7841 | * ch-decl.c (init_decl_processing): Define setbitpowerset | |
7842 | runtime function. | |
7843 | * ch-expr.c (chill_expand_assignment): Call setbitpowerset | |
7844 | to set a bit. | |
7845 | * ch-parse.y: Indentation. | |
7846 | ||
7847 | Fri Aug 20 17:29:56 1993 Bill Cox (bill@rtl.cygnus.com) | |
7848 | ||
7849 | * ch-parse.y: Delete unused %type declaration. | |
7850 | * ch-tasking.c (build_signal_struct): Delete return, since | |
7851 | function returns void. | |
7852 | * ch-typeck.c: Indent to standard. | |
7853 | * stor-layout.c: Fix comment. | |
7854 | * toplev.c: Change -L option ti -I. | |
7855 | * varasm.c (emit_set_data): Align set constant to word | |
7856 | boundary. | |
7857 | ||
7858 | Fri Aug 20 08:20:07 1993 Bill Cox (bill@rtl.cygnus.com) | |
7859 | ||
7860 | * ch-actions.c: Fix indentation, comments. | |
7861 | * ch-decl.c (push_chill_extern_signal): Use same interface | |
7862 | as build_signal_struct. | |
7863 | * ch-parse.y (quasi_signaldef): Move build_signal_decl | |
7864 | here to sigdef. Add quasi_signal to distinguish contexts | |
7865 | where sigdef gets used. | |
7866 | * ch-tasking.c: Replace make_signal_struct and build_signal_decl | |
7867 | with build_signal_decl, which doesn't loop through a | |
7868 | TREE_LIST. | |
7869 | * ch-tree.h: Fix protos. | |
7870 | ||
7871 | Wed Aug 18 17:36:53 1993 Bill Cox (bill@cygnus.com) | |
7872 | ||
7873 | * ch-actions.c: Fix comments. | |
7874 | * ch-decl.c (push_modedefs): Return the new decl. | |
7875 | (shadow_record_fields): Move pushlevel (0) calls into | |
7876 | the grammar, so they'll get done in both passes. | |
7877 | * ch-parse.y (dowithaction): Always compute & save # of | |
7878 | 'with' variables seen (both passes), and always pop that | |
7879 | number of levels. | |
7880 | (structured_variable_list): Always chain variables into a list. | |
7881 | (structured_variable): Put pushlevel here (from shadow_record_fields). | |
7882 | * ch-tasking.c: Indentation fixes. | |
7883 | * ch-tree.h: Change proto. | |
7884 | * chill.texi: Add Blue Book section numbers to unimplemented | |
7885 | features list. | |
7886 | ||
7887 | Wed Aug 18 15:48:43 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7888 | ||
7889 | * ch-actions.c (build_generalized_call): New function. | |
7890 | Classifies semantically (if pass 2) this that look like calls. | |
7891 | * ch-parse.y (call): Invoke build_generalized_call. | |
7892 | * ch-parse.y (sigdef): Use defining_occurrence instead of NAME. | |
7893 | * ch-parse.y (opt_untyped_exprlist): New non-terminal. | |
7894 | * ch-satisfy.c (satisfy): Handle CALL_EXPR. | |
7895 | ||
7896 | Tue Aug 17 16:36:15 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7897 | ||
7898 | * ch-decl.c (find_implied_types): Handle INTEGER_TYPEs (ranges). | |
7899 | ||
7900 | Mon Aug 16 18:07:36 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7901 | ||
7902 | * ch-tree.h (TUPLE_NAMED_FIELD): New macro. | |
7903 | * ch-parse.y (labelled structure tupleelement): | |
7904 | Set TUPLE_NAMED_FIELD flag. | |
7905 | * ch-grant.c (decode_constant): Check for TUPLE_NAMED_FLAG. | |
7906 | * ch-satisfy.c (satisfy): Check for TUPLE_NAMED_FLAG. | |
7907 | Do satisfy the elements of a CONSTRUCTOR even if call | |
7908 | chill_expand_tuple isn't correct. | |
7909 | * ch-satisfy.c (satisfy): Satisfy TYPE_TAG_VALUES of a RECORD_TYPE. | |
7910 | * ch-parse.y (label_spec): Defer any semantic checking until ... | |
7911 | * ch-decl.c (layout_chill_variants): ... here. | |
7912 | Also make sure to call layout_type on the union type. | |
7913 | * ch-decl.c (bind_saved_names): For weak names, allocate an | |
7914 | ALIAS_DECL, rather than a CONST_DECL. | |
7915 | ||
7916 | Add support for implied (weakly visible) names. | |
7917 | * ch-tree.h (DECL_WEAK_NAME): New macro. | |
7918 | * ch-satisfy.c (satisfy of IDENTIFIER_NODE): Don't complain | |
7919 | if lookup_name fails if LOOKUP_ONLY - name might be weakly visible. | |
7920 | * ch-decl.c (proclaim_name): Handle DECL_WEAK_NAME appropriately. | |
7921 | * ch-decl.c (concat_lists, find_implied_types): New functions. | |
7922 | * ch-decl.c (bind_saved_names): Search for implied names. | |
7923 | * ch-tree.h (C_DECL_VARIABLE_SIZE): Removed. | |
7924 | * ch-lang.c (layout_chill_struct_type): Don't use | |
7925 | C_DECL_VARIABLE_SIZE. | |
7926 | ||
7927 | Mon Aug 16 16:10:43 1993 Bill Cox (bill@rtl.cygnus.com) | |
7928 | ||
7929 | * ch-actions.c: Delete extra space in error message. | |
7930 | * ch-parse.y: Fix comment. | |
7931 | * expr.c (store_constructor): Avoid passing NULL to convert, | |
7932 | and getting back an error_mark_node and trying to process | |
7933 | *that* node. | |
7934 | ||
7935 | Mon Aug 16 14:41:29 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7936 | ||
7937 | * ch-decl.c: Add more overview comments. | |
7938 | * ch-decl.c (proclaim_decl): New function. | |
7939 | * ch-decl.c (temp_pushdecl, struct shadowing): Removed. | |
7940 | * ch-decl.c (bind_saved_names): Remove blevel parameter; | |
7941 | use current_scope global instead. Do some other cleanups. | |
7942 | * ch-decl.c (save_expr_under_name): Create an ALIAS_DECL. | |
7943 | * ch-decl.c (pushdecllist, save_expr_under_name): Use proclaim_decl. | |
7944 | * ch-satisfy.c (satisfy, safe_satisfy_decl): Be more careful | |
7945 | to not do inappropriate things (e.g. type layout) if LOOKUP_ONLY. | |
7946 | ||
7947 | * chill.texi: Start collecting Chill documentation here. | |
7948 | * ch-parse.y (mode): Ignore READ specifier, for now. | |
7949 | ||
7950 | Mon Aug 16 11:13:07 1993 Bill Cox (bill@rtl.cygnus.com) | |
7951 | ||
7952 | * ch-actions.c (chill_comptypes): Correct handling reference | |
7953 | of type 1. | |
7954 | (build_chill_length, build_chill_num, | |
7955 | build_chill_sizeof): Convert result to CHILL integer. | |
7956 | (build_chill_function_call): Clean up INOUT and OUT | |
7957 | parameter handling. | |
7958 | * ch-decl.c (build_chill_function_type): Handle INOUT and | |
7959 | OUT parameters. | |
7960 | * ch-loop.c: Fix up comments. | |
7961 | * ch-parse.y: Fix up comments. | |
7962 | ||
7963 | Sun Aug 15 15:06:01 1993 Bill Cox (bill@rtl.cygnus.com) | |
7964 | ||
7965 | * ch-actions.c (build_chill_lower, build_chill_upper): | |
7966 | Re-write, mostly to delete bogus ENUMERAL_TYPE handling. | |
7967 | * ch-decl.c (save_expr_under_name): New function to save | |
7968 | addressing expressions for DO WITH and DO FOR handling. | |
7969 | (handle_one_level): Call new function. | |
7970 | * ch-loop.c (init_loop_counter): Call it here, too. | |
7971 | Check lp->user_var before passing it to lookup_name. | |
7972 | (high_domain_value, low_domain_value): Correct call | |
7973 | to build_chill_upper and build_chill_lower. | |
7974 | (begin_chill_loop, end_chill_loop): Move pushlevel, | |
7975 | poplevel up into the grammar, so they're done in both | |
7976 | passes. | |
7977 | * ch-parse.y (doaction): Unconditionally make a scope | |
7978 | for a loop, pop it later. | |
7979 | (controlpart, iteration): Save return from | |
7980 | build_chill_iterator. | |
7981 | * expr.c: Readability changes. | |
7982 | ||
7983 | Sat Aug 14 19:42:32 1993 Bill Cox (bill@rtl.cygnus.com) | |
7984 | ||
7985 | * ch-expr.c (chill_expand_case_expr): Complete rewrite | |
7986 | for 2-pass. About 1/2 the size, too. | |
7987 | * ch-parse.y (actionlabel): Unconditionally do INIT_ACTION. | |
7988 | This assures that a label preceding a module's first action | |
7989 | is enclosed in the module-level function that's generated. | |
7990 | ||
7991 | Sat Aug 14 14:56:07 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
7992 | ||
7993 | Re-implement how EXIT is done. | |
7994 | 'LABEL: BEGIN ... EXIT LABEL; ... END' is converted to | |
7995 | 'LABEL: BEGIN ... GOTO EXIT!LABEL; ... EXIT!LABEL: ; END'. | |
7996 | Hence we no longer need any support for EXIT in stmt.c. | |
7997 | * stmt.c (stamp_nesting_label, expand_exit_labelled): Removed. | |
7998 | * ch-actions.c (lookup_and_handle_exit): Handle like 'GOTO EXIT!name'. | |
7999 | * ch-tree.c, ch-tree.h (munge_exit_label): New function. | |
8000 | * ch-parse.y: Re-write bracked actions to support EXIT new way. | |
8001 | * ch-decl.c, ch-loop.c: Remove calls to stamp_nesting_level. | |
8002 | * ch-parse.y: Replace SC by new token semi_colon, which | |
8003 | resets the 'label' global. Also make sure that label gets | |
8004 | reset whenever we might start a new action statement. | |
8005 | * ch-parse.y (possibly_define_exit_label): New function. | |
8006 | ||
8007 | * ch-except.c (chill_start_on): Wrap an ADDR_EXPR round the jmpbuf. | |
8008 | * ch-grant.c (chill_finish_compile): Make sure | |
8009 | get_file_function_name is only called once. | |
8010 | * ch-expr.c (chill_expand_array_assignment): Use store_expr, | |
8011 | instead of incorrectly calling emit_block_move. | |
8012 | ||
8013 | * ch-parse.y (procedure): Call push_chill_function_context | |
8014 | in *both* passes (if nested). | |
8015 | * ch-parse.y (primval): Call get_type_of before chill_expand_type. | |
8016 | * ch-parse.y (tupleelement): Only build PAREN_EXPR during pass 1. | |
8017 | ||
8018 | Fri Aug 13 16:36:36 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8019 | ||
8020 | Re-implement GRANT and SEIZE, to support prefixes and prefix | |
8021 | rename. All of the Blue Book semantics for these should | |
8022 | now work (except FORBID). | |
8023 | * ch-tree.def, ch-tree.h (DECL_OLD_PREFIX, DECL_NEW_PREFIX, | |
8024 | DECL_POSTFIX, DECL_POSTFIX_ALL): New ALIAS_DECL layout and macros. | |
8025 | * ch-tree.c (get_identifier3, build_alias_decl, decl_old_name, | |
8026 | decl_check_rename): New functions. | |
8027 | * ch-lex.h, ch-lex.l, ch-grant, ... (grant_all_seen): Removed. | |
8028 | * ch-satisfy.c (satisfy_decl): Handle SYN initialized with tuple. | |
8029 | * ch-satisfy.c (satisfy_decl): Set DECL_ASSEMBLER_NAME here ... | |
8030 | * ch-decl.c (pushdecllist): ... instead of here, which is too late. | |
8031 | * ch-grant.c (decode_prefix_rename): New function. | |
8032 | Use to print out GRANT and SEIZE statements. | |
8033 | * ch-decl.c (ALL_POSTFIX): New global variable. | |
8034 | * ch-decl.c (bind_saved_names, pop_module): Change to use new | |
8035 | ALIAS_DECL layout, and support general prefix rename and ALL. | |
8036 | * ch-decl.c (various places): Don't barf if DECL_ANME is NULL. | |
8037 | * ch-parse.y (build_prefix_clause): New function (handle PREFIXED). | |
8038 | * ch-parse.y (optprogendname, optname): Rename to opt_end_label. | |
8039 | * ch-parse.y: Add support for compound name strings, but defer | |
8040 | using all over teh place, due to parser ambiguities. | |
8041 | Howver, do use defining_occurrence where appropriate. | |
8042 | * ch-parse.y: Re-write syntax and semantics of GRANT and SEIZE | |
8043 | statements to support Blue Book functionality. Neato! | |
8044 | ||
8045 | Fri Aug 13 17:10:52 1993 Bill Cox (bill@rtl.cygnus.com) | |
8046 | ||
8047 | * ch-actions.c: Redo decl_temp1 calls to save resulting decl. | |
8048 | * ch-decl.c (decl_temp1): Rewrite to return generated decl. | |
8049 | (decl_temp): Deleted. | |
8050 | * ch-loop.c: Redo decl_temp1 calls to save resulting decl. | |
8051 | * ch-satisfy.c (safe_satisfy_decl): Reorder switch for | |
8052 | readability, add comment. | |
8053 | * ch-tasking.c: Redo decl_temp1 calls to save resulting decl. | |
8054 | * ch-tree.h: Delete decl_temp proto, change decl_temp1. | |
8055 | ||
8056 | Fri Aug 13 13:39:59 1993 Bill Cox (bill@rtl.cygnus.com) | |
8057 | ||
8058 | * ch-decl.c (decl_temp): Break the chain of decls. This | |
8059 | prevents an infinite loop. | |
8060 | * ch-lang.c (make_chill_pointer_type): Fix compiler warning. | |
8061 | * ch-lex.l (equal_number): Check passes in looking up a | |
8062 | symbolic value. | |
8063 | * ch-parse.y: Fix comments. | |
8064 | * ch-tasking.c (tasking_setup): Only act in pass 2. | |
8065 | (make_signal_struct, build_signal_decl, | |
8066 | build_chill_receive_case_label): Don't go indirect | |
8067 | thru NULL decl pointer. | |
8068 | ||
8069 | Thu Aug 12 11:02:34 1993 Bill Cox (bill@rtl.cygnus.com) | |
8070 | ||
8071 | * ch-actions.c (route_to_predefined_function): New function called | |
8072 | from build_chill_function_call, to call the proper predefined routine. | |
8073 | (build_chill_card, build_chill_length, build_chill_lower, | |
8074 | build_chill_max, build_chill_min, build_chill_num, | |
8075 | build_chill_pred, build_chill_sizeof, build_chill_succ, | |
8076 | build_chill_upper): Rewritten to run only in pass 2. | |
8077 | * ch-decl.c (init_decl_processing): Build predefined functions for card, | |
8078 | length, lower, max, min, num, pred, sizeof, succ and upper. Delete | |
8079 | unused builtin_function calls. | |
8080 | * ch-grant.c (chill_finish_module_code): Save current_function_decl | |
8081 | before calling finish_chill_function, and use that to build the | |
8082 | initializer structure. | |
8083 | * ch-lex.l: Remove following tokens, since they're now just predefined, | |
8084 | not reserved: card, length, lower, max, min, num, pred, sizeof, succ | |
8085 | and upper. | |
8086 | * ch-loop.c: Readability, indentation changes. | |
8087 | * ch-parse.y: Delete tokens for card, length, lower, max, min, num, pred, | |
8088 | sizeof, succ and upper. Delete special rules for calls to these. | |
8089 | Delete mode_location and upper_lower_arg non-terminals. | |
8090 | (pmodearg): Eliminate convolutions. | |
8091 | (call): Add rule for typename parameter. | |
8092 | * ch-tasking.c: Readability changes. | |
8093 | * ch-tree.h: Add prototypes. | |
8094 | ||
8095 | Thu Aug 12 00:38:17 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8096 | ||
8097 | * ch-decl.c (save_decl): Set DECL_CONTEXT (decl). | |
8098 | * ch-grant.c (chill_finish_module_code): Call | |
8099 | finish_chill_function with nested==0. | |
8100 | * ch-tree.h, ch-decl.c, ch-tasking, ch-parse.y: Rename | |
8101 | {push,pop}_c_function_context to {push,pop}_chill_function_context. | |
8102 | * ch-parse.y (end_function): If nested, call | |
8103 | pop_chill_function_context regardless of which pass we're in. | |
8104 | ||
8105 | Wed Aug 11 02:34:02 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8106 | ||
8107 | * ch-actions.c (finish_chill_binary_op): Handle error marks. | |
8108 | * ch-decl.c (do_decl): Laying out decl and generating rtl | |
8109 | is too late to do here (if there are forward references), so ... | |
8110 | * ch-satisfy.c (satify_decl): ... do it here instead. | |
8111 | * ch-decl.c (finish_enum): Fixup types of enum decls now. | |
8112 | * ch-satisfy.c (safe_satisfy_decl): New routine. Supports | |
8113 | checking illegal cyclic definitions. | |
8114 | All *satisfy* routines now take a 'chain' parameter (instead | |
8115 | of 'lookup_only') used for checking cycles. | |
8116 | * ch-satisfy.c (satisfy_decl): Return DECL_INITIAL if appropriate. | |
8117 | * ch-satisfy.c (satisfy): Lots of little fixes. | |
8118 | ||
8119 | * ch-lex.l (init_lex): Make all the standard ridpointers be | |
8120 | lowercase, so that lookup_name on lower-cased user input | |
8121 | will find the standard types. | |
8122 | * ch-lex.l: Remove all the standard types, in effect | |
8123 | converting them from reservered anmes to predefined names. | |
8124 | * ch-lex.l, ch-parse.y: Remove PREDEF_MODEDECL - no longer used. | |
8125 | * ch-grant.c (gfile): Rename to grant_file_name. | |
8126 | * ch-lex.l (yywrap): Don't try to seize current grant_file_name. | |
8127 | ||
8128 | * initname.c: Removed. get_file_function_name is now in tree.c | |
8129 | * Makefile.in (CHILL_OBJS): Remove initname.o | |
8130 | ||
8131 | * ch-decl.c (do_decl): New function, based on loop body of do_decls, | |
8132 | * ch-decl.c (do_decls): Just call do_decl. | |
8133 | * ch-grant.c (chill_finish_module_code): Minor cleasnups. | |
8134 | Use new do_decl routine. Clear init_entry_decl's source line. | |
8135 | * ch-grant.c (print_proc_tail): Fix for new param list structure. | |
8136 | * ch-parse.y (whatpdef): Removed. Cleaned up procedure | |
8137 | and process, allowing proper end-label-checking. | |
8138 | * ch-typeck.c (build_chill_cast): Remove decl->type conversion. | |
8139 | ||
8140 | Wed Aug 11 00:33:44 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8141 | ||
8142 | * ch-decl.c (layout_enum): Don't call rest_of_type_compilation. | |
8143 | ||
8144 | * ch-lex.l (RETURN_PREDEF): Don't call lookup_name. | |
8145 | * ch-expr.c (build_chill_indirect_ref): Call get_type_of. | |
8146 | * ch-parse.y (call): Call get_type_of before build_chill_cast. | |
8147 | ||
8148 | Tue Aug 10 21:33:10 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8149 | ||
8150 | * ch-actions.c (build_char_array_expr): If a concat operand is | |
8151 | a constant char, convert it to a STRING_CST. | |
8152 | * ch-decl.c (finish_decl): Call rest_of_decl_compilation | |
8153 | with toplev=0. | |
8154 | * ch-typeck.c (build_chill_cast): Allow type to be TYPE_DECL. | |
8155 | ||
8156 | * ch-parse.y (actionlabel): Call define_label in both passes. | |
8157 | * ch-actions.c (lookup_and_expand_goto, lookup_and_handle_exit): | |
8158 | New functions, using lookup_name to find LABEL_DECLs. | |
8159 | * ch-parse.y (GOTO, EXIT): Use above new functions. | |
8160 | * ch-tasking.c (struct rc_state_type *current_rc_state): | |
8161 | Use to store state for the current receive case statement. | |
8162 | (build_chill_receive_case_start, build_chill_receive_case_end): | |
8163 | Don't generate temporary LABEL_DECL; just use gen_label_rtx. | |
8164 | * ch-decl.c: Remove all stuff dealing with specific label scopes, | |
8165 | including functions push_label_level, pop_label_level. | |
8166 | * ch-decl.c (define_label): Re-write for 2-pass. | |
8167 | * ch_tree.h (lang_identifier): Removed label_value. | |
8168 | * ch-tree.h (IDENTIFIER_LABEL_VALUE): Removed. | |
8169 | ||
8170 | * ch-parse.y (modename): Changed to yield identifier, not type. | |
8171 | This allows following changes, which work better for 2-pass: | |
8172 | (location): primval ARROW optmodename -> primval ARROW optname. | |
8173 | (primval): Tuple can now be prefixed by unsatisfied name. | |
8174 | ||
8175 | * ch-actions.c (chill_grant_only): Renamed to grant_only_flag. | |
8176 | * ch-lex.l (yywrap): Don't read seizefiles if grant_only_flag. | |
8177 | * ch-decl.c (switch_to_pass_2): Exit if grant_only_flag, | |
8178 | ||
8179 | * ch-satisfy.c (satisfy): Support CONSTRUCTOR, REFERENCE_TYPE. | |
8180 | * ch-satisfy.c (satisfy_decl, satisfy): Kludge around | |
8181 | to a TYPE_DECL can be simplified to its type. | |
8182 | * ch-expr.c (build_chill_indirect_ref): New function. | |
8183 | * ch-lex.l (prepare_paren_colon): Make kludge even uglier, | |
8184 | since the left paran might already have been seen. | |
8185 | * ch-lang.c (make_chill_pointer_type): Allow parameter | |
8186 | to select pointer or reference type. | |
8187 | (build_chill_reference_type): New function. | |
8188 | Either function: Be more careful (in case arg is identifier). | |
8189 | * ch-except.c (initialize_exceptions): Make | |
8190 | exception_stack_decl be public. | |
8191 | * ch-actions.c (build_char_array_expr): Can only | |
8192 | constant fold if operands are STRING_CST. | |
8193 | * ch-grant.c (raw_decode_mode): Allow TYPE_DECL. | |
8194 | (chill_finish_compile: Set TREE_PUBLIC of init function to 1. | |
8195 | ||
8196 | Tue Aug 10 17:55:12 1993 Bill Cox (bill@rtl.cygnus.com) | |
8197 | ||
8198 | * ch-actions.c (build_char_array_expr): Set array sizes correctly. | |
8199 | * ch-decl.c: Fix comment. | |
8200 | * ch-parse.y (pmodearg): Build tree_list in all cases. | |
8201 | * varasm.c (assemble_tasssking_entry): Delete unused code. | |
8202 | ||
8203 | Tue Aug 10 13:58:21 1993 Bill Cox (bill@rtl.cygnus.com) | |
8204 | ||
8205 | * ch-actions.c (build_char_array_expr): save/restore | |
8206 | a tree's constant status. | |
8207 | (build_chill_binary_op): Don't convert an expression | |
8208 | if the type we're converting to is NULL. | |
8209 | * ch-convert.c (maybe_turn_scalar_into_array): New functions. | |
8210 | Call it from convert, and from .. | |
8211 | * ch-expr.c (chill_expand_assignment): call new function. | |
8212 | Move convert code earlier, too. | |
8213 | * ch-decl.c (lookup_name): Delete bogus error message. | |
8214 | * ch-tree.h (CH_NOVELTY, SCALAR_P): Handle NULL_TREE. | |
8215 | Add protos. | |
8216 | * ch-typeck.c (valid_array_index): Comment out some strange code | |
8217 | which now seg faults. | |
8218 | (chill_expand_tuple): Re-enable prepending of VARYING | |
8219 | length to a tuple. | |
8220 | (chill_similar): Return FALSE if either mode is NULL_TREE. | |
8221 | ||
8222 | Tue Aug 10 07:29:31 1993 Bill Cox (bill@rtl.cygnus.com) | |
8223 | ||
8224 | * ch-decl.c: Delete proto for unused function shadow_tag_warned. | |
8225 | Add commented-out calls to pushtag, in case we decide later | |
8226 | to fill in TYPE_STUB_DECL for dbxout. | |
8227 | * ch-lang.c (build_chill_struct_type): Add commented-out | |
8228 | calls to pushtag, in case we decide later to fill in | |
8229 | TYPE_STUB_DECL for dbxout. | |
8230 | ||
8231 | Mon Aug 9 23:09:08 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8232 | ||
8233 | * ch-decl.c (chill_seize): Don't get_next_next in pass 2. | |
8234 | * ch-decl.c (get_next_decl): Skip ALIAS_DECLs. | |
8235 | * ch-decl.c (bind_saved_names): Handle SEIZE ALL. | |
8236 | * ch-lang.c (layout_chill_struct_type): Don't call | |
8237 | rest_of_type_compilation - it crashes without a TYPE_STUB_DECL. | |
8238 | * initname.c (get_file_function_name): Get new file and | |
8239 | function for language-independent constructor name generation. | |
8240 | * ch-grant.c (get_init_function_id): Removed. | |
8241 | * ch-grant.c (chill_finish_compile): Call get_file_function_name | |
8242 | instead of get_init_function_id. | |
8243 | ||
8244 | Mon Aug 9 18:33:36 1993 Bill Cox (bill@rtl.cygnus.com) | |
8245 | ||
8246 | * ch-decl.c: Formfeeds and comments. | |
8247 | * ch-parse.y (quasi_formpar): Treat just like real formpar. | |
8248 | Eliminate restriction on single name. | |
8249 | (pmodearg, pmodearglist): Remove ignore_exprs stuff. | |
8250 | ||
8251 | Mon Aug 9 17:21:14 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8252 | ||
8253 | * ch-lex.h (enum rid), ch-lex.l (init_lex): Added RID_ALL. | |
8254 | * ch-lang.c (build_chill_pointer_type): Layout the pointer type, | |
8255 | if the pointee is laid out, even if pass==1. | |
8256 | * ch-parse.y: Set ignore_exprs=(pass=2) for entire spec module. | |
8257 | ||
8258 | Mon Aug 9 15:44:01 1993 Bill Cox (bill@rtl.cygnus.com) | |
8259 | ||
8260 | This version compiles the 5-line program. Thanks, Per! | |
8261 | * ch-decl.c (print_lang_decl, print_lang_identifier): | |
8262 | Add appropriate calls to indent_to(). Rename reverse_scopes | |
8263 | to switch_to_pass_2, and wait to set pass = 2 until | |
8264 | here. | |
8265 | * ch-grant.c (chill_finish_module_code): Set module_init_list | |
8266 | non-NULL in pass 1; in pass2, chain on the module_init | |
8267 | structure's decl. | |
8268 | (chill_finish_compile): Clear module_init_list to NULL. | |
8269 | * ch-parse.y (quasi_formparlist): Rewrite to avoid seg fault. | |
8270 | Rename reverse_scopes to switch_to_pass_2, delete setting | |
8271 | of pass = 2. | |
8272 | * ch-tree.h: Rename reverse_scopes proto. | |
8273 | ||
8274 | Mon Aug 9 13:21:34 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8275 | ||
8276 | * ch-decl.c (build_enumerator): If name is NULL, | |
8277 | don't call save_decl or get_next_decl. | |
8278 | * ch-decl.c (layout_enum): Fix calculation of next value. | |
8279 | * ch-grant.c (print_enumeral): Re-do for new 2-pass scheme. | |
8280 | * ch-grant.c (decode_constant): Better CONSTRUCTOR support. | |
8281 | ||
8282 | Mon Aug 9 11:59:12 1993 Bill Cox (bill@rtl.cygnus.com) | |
8283 | ||
8284 | * ch-actions.c, ch-convert.c, ch-decl.c, ch-grant.c, | |
8285 | ch-lang.c, ch-parse.y, ch-tree.h: gcc -Wall cleanup. | |
8286 | Lots of new prototypes. | |
8287 | ||
8288 | Mon Aug 9 01:00:33 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8289 | ||
8290 | * ch-lex.h: Remove unused RID_'s. Make sure RID_MAX is last. | |
8291 | * ch-decl.c (init_decl_processing): Moved ridpointers | |
8292 | initialization to init_lex(). Use them consistently. | |
8293 | * ch-lex.l (RETURN_PREDEF): New macro. Uses ridpointers | |
8294 | for all preferedined types. | |
8295 | * ch-lex.l (init_lex): Upper case all RIDs, so grantfiles | |
8296 | (and error messages?) will use uppercase. | |
8297 | * ch-decl.c (build_chill_enumerator): Merged into build_enumerator. | |
8298 | * ch-lang.c (finish_chill_enum): Merged into ... | |
8299 | * ch-decl.c (finish_enum): .... this function. | |
8300 | * ch-decl.c (layout_enum): New function. Does all the pass-2 | |
8301 | stuff for enumerations. | |
8302 | * ch-decl.c (finish_enum, start_enum): Only trivial pass-1 stuff. | |
8303 | * ch-satisfy.c (satisfy): Support ENUMERAL_TYPE. Improve ranges. | |
8304 | * ch-parse.y: Check ignore_exprs instead of ignore_decls when | |
8305 | parsing and building types. | |
8306 | ||
8307 | Sun Aug 8 16:26:40 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8308 | ||
8309 | * ch-lex.h: Add some missing RID_'s. | |
8310 | * ch-decl.c (init_decl_processing): | |
8311 | ||
8312 | Sun Aug 8 15:32:54 1993 Bill Cox (bill@rtl.cygnus.com) | |
8313 | ||
8314 | * ch-grant.c (module_has_actions): Delete this and all | |
8315 | references. It was a botch. | |
8316 | (chill_finish_module_code): Move finish_chill_function_call inside | |
8317 | the test whether actions were found at module level. | |
8318 | Use current_function_name in the initializer build, | |
8319 | and init_entry_id in the module_list setup. | |
8320 | (chill_finish_compile): Call lookup_name to get the | |
8321 | decl from a module_init_list entry. | |
8322 | * ch-parse.y: Revert module_has_actions additions. | |
8323 | * ch-satisfy.c (satisfy): After satisfying the type referenced | |
8324 | by a pointer_type, call layout type for the pointer. | |
8325 | * ch-tasking.c (tasking_registry): Only active in pass 2. | |
8326 | * ch-typeck.c: Call build_chill_pointer_type everywhere. | |
8327 | ||
8328 | Sun Aug 8 13:13:29 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8329 | ||
8330 | * ch-tree.def (PAREN_EXPR): New unary op: '(' EXPR ')'. | |
8331 | * ch-parse.y (primval): If pass 1, generate PAREN_EXRR. | |
8332 | * ch-satisfy.c (satisfy): Reduce PAREN_EXPR to its operand. | |
8333 | * ch-grant.c (decode_const): Handle PAREN_EXPR. | |
8334 | * ch-decl.c (pop_module): Fix think. Inprove error message. | |
8335 | ||
8336 | Sun Aug 8 10:31:04 1993 Bill Cox (bill@rtl.cygnus.com) | |
8337 | ||
8338 | Generally, replace 'function' with 'procedure' | |
8339 | and 'type' with 'mode' in error/warning messages. | |
8340 | * ch-actions.c: See Generally. Fix up 'too many' and 'too few' error msgs. | |
8341 | * ch-decl.c: See Generally. | |
8342 | (init_decl_processing): Call build_tasking_enum from here. | |
8343 | Now, it doesn't need a flag to do its work only once. | |
8344 | Also, build the TaskingStruct decl here. | |
8345 | * ch-grant.c: Remove references to `current_grant_file'; | |
8346 | there's now only one. See Generally. Do gcc -Wall cleanup. | |
8347 | * ch-lex.l: Remove references to `current_grant_file' | |
8348 | and delete USE_GRANT_FILE token. | |
8349 | * ch-parse.y: Remove call to build_tasking_enum, and its extern. | |
8350 | * ch-tasking.c (tasking_setup): Move TaskingStruct build | |
8351 | to init_decl_procesing. Delete build_tasking_enum calls. | |
8352 | * ch-tree.c: See Generally. | |
8353 | * ch-tree.h: Add proto for build_tasking_struct. | |
8354 | ||
8355 | Sun Aug 8 08:59:23 1993 Bill Cox (bill@rtl.cygnus.com) | |
8356 | ||
8357 | * ch-decl.c: Make unnamed_module_number static, reset it to zero | |
8358 | before pass 2, so same module names get generated in both passes. | |
8359 | (push_module): Return user name or generated name. | |
8360 | (init_decl_processing): Build __tmp_initializer_type. | |
8361 | Code moved from chill_finish_module_code. | |
8362 | * ch-grant.c: New flag module_has_actions. Set TRUE by push_actions, | |
8363 | used, reset by chill_finish_module_code. Replaces test of | |
8364 | module_function_name. Shuffled finish-up code to end of module. | |
8365 | (chill_finish_module_code): Use global_bindings_p to determine | |
8366 | 'nested' parameter for finish_chill_function. Use new | |
8367 | module_has_actions flag to trigger generation of module_init list | |
8368 | entry. We now can handle not only multiple modules per file, | |
8369 | but modules nested inside functions (I think). | |
8370 | * ch-lang.c (build_chill_pointer_type): Restore missing assignment. | |
8371 | * ch-parse.y (push_actions): Set module_has_actions flag. | |
8372 | (modulion, spec_module): Save possibly-generated module name | |
8373 | returned by push_module. | |
8374 | * ch-satisfy.c (satisfy): Put switch cases into alpha order, add | |
8375 | case for POINTER_TYPE. | |
8376 | * ch-tasking.c: Replace build_pointer_type calls with | |
8377 | build_chill_pointer_type calls. | |
8378 | * ch-tree.h: Fix, add prototypes. | |
8379 | ||
8380 | Sat Aug 7 17:32:22 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8381 | ||
8382 | * ch-parse.y: Remove many useless tests for ignore_decls. | |
8383 | * ch-parse.y: Remove obsolete support for _EXTERN and _INIT. | |
8384 | * ch-parse.y: Reset ignore_exprs while parsing declarations, | |
8385 | but handle initializers appropriately. | |
8386 | * ch-grant.c (decode_constant): Update (for 2-pass) support | |
8387 | for CONSTRUCTOR and SET_TYPE. | |
8388 | * ch-grant.c (chill_initializer_name): Renamed to | |
8389 | module_function_name. | |
8390 | * ch-grant.c (function_generated): Removed; | |
8391 | use module_function_name != NULL instead. | |
8392 | * ch-tree.h, ch-parse.y: Removed unused current_locnamelist. | |
8393 | * ch-decl.c (push_modedef): Simplify to take just one mode. | |
8394 | * ch-tasking.c (make_process_struct, make_signal_struct): | |
8395 | Change calls to push_modedef correspondingly. | |
8396 | * ch-tree.c (build_powerset_type): Move the stuff that's | |
8397 | suitable for pass 1 into new function make_powerset_type, | |
8398 | and that for pass 2 into new function layout_powerset_type. | |
8399 | * ch-lang.c: Move pass-1 stuff from build_chill_pointer_type | |
8400 | into new function make_chill_pointer_type, and split | |
8401 | build_chill_struct_type into make_chill_struct_type | |
8402 | and layout_chill_struct_type. | |
8403 | * ch-decl.c (grok_chill_variantdefs): Similarly split up | |
8404 | into make_chill_variants and layout_chill_variants. | |
8405 | * ch-satisfy.c (satisfy): Add support for SET_TYPE, and UNION_TYPE. | |
8406 | Call layout_chill_struct_type for RECORD_TYPE. | |
8407 | ||
8408 | Sat Aug 7 09:59:55 1993 Bill Cox (bill@rtl.cygnus.com) | |
8409 | ||
8410 | Fixup previous check-in. | |
8411 | * ch-decl.c: Restore unnamed_module_number, which *was* | |
8412 | used after all. | |
8413 | * ch-grant.c (get_init_function_id): Return type s.b. tree. | |
8414 | ||
8415 | Sat Aug 7 09:28:17 1993 Bill Cox (bill@rtl.cygnus.com) | |
8416 | ||
8417 | * ch-decl.c (print_lang_decl, print_lang_type): Add | |
8418 | correct parameter list. Add print statements for | |
8419 | nesting_level, signal_dest, buffer_size, and the | |
8420 | signal_data flag. | |
8421 | (decl_temp, decl_temp1): Delete unused code. | |
8422 | (init_decl_processing): Call build_instance_type and | |
8423 | build_tasking_type in both passes. | |
8424 | Generally change current_scope comparisons against | |
8425 | global_scope to global_biidings_p calls. | |
8426 | * ch-except.c (push_handler): Add space before parameter paren. | |
8427 | * ch-grant.c (chill_start_module, chill_finish_module, | |
8428 | chill_finish_compile): Complete re-write for 2-pass and | |
8429 | multiple modules per source file. | |
8430 | * ch-parse.y (pass1_2): Call chill_finish_compile once each pass. | |
8431 | * ch-tasking.c: Diffused small adaptations to 2-pass. | |
8432 | * ch-tree.h (print_lang_decl, print_lang_type): Correct | |
8433 | the prototypes. | |
8434 | (chill_finish_module_code): Add module name parameter. | |
8435 | * ch-typeck.c: Fix comments, add whitespace. | |
8436 | ||
8437 | Fri Aug 6 12:17:07 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8438 | ||
8439 | * ch-decl.c (temp_pushdecl, bind_saved_names): The simple-minded | |
8440 | way I allocated the shadow_list on an obstack was too fragile, | |
8441 | so just use xmalloc/free instead. | |
8442 | ||
8443 | Fri Aug 6 08:31:49 1993 Bill Cox (bill@rtl.cygnus.com) | |
8444 | ||
8445 | * ch-satisfy.c (satisfy): Satisfy TYPE_MIN_VALUE and | |
8446 | TYPE_MAX_VALUE for vanilla integer type. Only need | |
8447 | to satisfy TREE_TYPE for integer range type. | |
8448 | ||
8449 | Fri Aug 6 00:53:11 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8450 | ||
8451 | * ch-lang.c (build_chill_range_type): Split up into two new | |
8452 | functions (make_chill_range_type, layout_chill_range_type); | |
8453 | only former part is done in pass 1. | |
8454 | * ch-lang.c (build_chill_array_type): Split up in the same | |
8455 | way (yielding make_chill_array_type, layout_chill_array_type). | |
8456 | * ch-satisfy.c (satisfy): Handle array and range types. | |
8457 | * ch-tree.h (TYPE_RANGE_PARENT): Removed. Not used. | |
8458 | * ch-parse.y (mode2): Handle optional rangesize. | |
8459 | ||
8460 | Thu Aug 5 15:13:42 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8461 | ||
8462 | * ch-grant.c (print_an_int): Re-enable (but don't search for SYN). | |
8463 | * ch-grant.c (raw_decode_mode): Support printing | |
8464 | of an IDENTIFIER_NODE (unresolved type name). | |
8465 | * ch-grant.c (decode_constant): Support printing of an unresolved | |
8466 | IDENTIFIER_NODE, as well as some kinds of binary operations. | |
8467 | * ch-grant.c (grant_one_decl): Don't call globalize_decl. | |
8468 | ||
8469 | * ch-grant.c (decode_decl): Add support for ALIAS_DECLs | |
8470 | (from SEIZEs and GRANTs). | |
8471 | * ch-grant.c: Remove support for multiple grantfiles. | |
8472 | * ch-grant.c, ch-parse.y: Removed grant_count, for now at least. | |
8473 | * ch-lex.h (in_seizefile): Moved to ch-tree.h. | |
8474 | * ch-tree.h (CH_DECL_SEIZED), ch-tasking.c, ch-decl.c: Removed. | |
8475 | * ch-tree.h (CH_DECL_GRANTED): Added. | |
8476 | * ch-actions.c (build_chill_exception_decl): Use | |
8477 | IDENTIFIER_LOCAL_VALUE, not obsolete IDENTIFIER_GLOBAL_VALUE. | |
8478 | * ch-grant.c (write_grant_file -> write_spec_module): Rename. | |
8479 | Change to accept list of remember_decls and granted_decls. | |
8480 | ||
8481 | Thu Aug 5 11:58:21 1993 Stan Shebs (shebs@rtl.cygnus.com) | |
8482 | ||
8483 | * expr.c: Remove no-longer-used PROCESS_DECL tree type. | |
8484 | ||
8485 | Thu Aug 5 10:03:27 1993 Bill Cox (bill@rtl.cygnus.com) | |
8486 | ||
8487 | * ch-decl.c (init_decl_processing): Only build types | |
8488 | in pass 2, since dbxout machinery is only ready for | |
8489 | output then. | |
8490 | * ch-grant.c (chill_finish_module_code): Do most of the | |
8491 | work in pass 2. | |
8492 | ||
8493 | Thu Aug 5 06:54:10 1993 Bill Cox (bill@rtl.cygnus.com) | |
8494 | ||
8495 | * ch-parse.y (receivecaseaction): Pass label-group | |
8496 | numbers around. | |
8497 | * ch-tasking.c (build_chill_receive_case_start): | |
8498 | Generate unique labels for each case, pass back | |
8499 | the label-group's number. | |
8500 | (build_chill_receive_case_end): Accept label-group | |
8501 | number from parser, use it to build labels | |
8502 | * ch-tree.h: Change prototypes. | |
8503 | ||
8504 | Wed Aug 4 13:21:13 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8505 | ||
8506 | * ch-decl.c (decl_temp1): Call finish_decl(). | |
8507 | ||
8508 | * ch-grant.c (chill_start_module_code): Don't call | |
8509 | push_c_function_context - not needed since we're not nested. | |
8510 | * ch-grant.c (chill_finish_module_code): Call finish_chill_function | |
8511 | with nested=0, not 1 (twice). | |
8512 | * ch-grant.c (chill_finish_module_code): Clear function_generated. | |
8513 | ||
8514 | Tue Aug 3 20:06:22 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8515 | ||
8516 | * ch-decl.c (push_chill_extern_function): Set TREE_PUBLIC. | |
8517 | ||
8518 | Tue Aug 3 19:08:51 1993 Bill Cox (bill@rtl.cygnus.com) | |
8519 | ||
8520 | * ch-actions.c (build_chill_function_call): Handle parameter | |
8521 | attributes better - LOC still not handled. | |
8522 | * ch-tree.def: Amplify comment. | |
8523 | ||
8524 | Tue Aug 3 18:07:36 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8525 | ||
8526 | * ch-lex.l (handle_use_seizefile_directive): Update | |
8527 | next_file_to_seize correctly. | |
8528 | * ch-actions.c (build_chill_abs): Create an ABS_EXPR, not an rts_call. | |
8529 | ||
8530 | Tue Aug 3 14:03:50 1993 Bill Cox (bill@rtl.cygnus.com) | |
8531 | ||
8532 | First Aid, not real long-term fixes... | |
8533 | * ch-decl.c (pop_module, lookup_name_for_seizing): Check | |
8534 | current_module pointer for NULL before using it. | |
8535 | (init_decl_processing): Set up wchar_type_node before using it. | |
8536 | * ch-grant.c (chill_finish_module_code): Don't build | |
8537 | initializer_type or initializer_decl until pass 2. | |
8538 | * ch-lex.l: Readability - single statement per line. | |
8539 | * ch-tasking.c (make_process_struct): Hide get_parm_info | |
8540 | call inside #ifdef for now. | |
8541 | ||
8542 | Tue Aug 3 09:59:23 1993 Bill Cox (bill@rtl.cygnus.com) | |
8543 | ||
8544 | * ch-decl.c (pushdecllist): Add forward decl. | |
8545 | * ch-parse.y (handler): Add rules which allo | |
8546 | empty onalternativelist. | |
8547 | * ch-tasking.c (get_tasking_code_name): Add | |
8548 | cast of alloca() result. | |
8549 | ||
8550 | Tue Aug 3 00:11:40 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8551 | ||
8552 | * ch-lex.l (handle_use_seizefile_directive): Make files_to_seize | |
8553 | a queue. Check for duplicate use_seizefile-s immediately. | |
8554 | * ch-lex.l (yywrap): Use this more portable mechanism, | |
8555 | rather than the flex-specific <<EOF>>. Also, clear saw_eof. | |
8556 | * ch-lex.l: Don't call push_module/pop_module automatically. | |
8557 | * ch-decl.c (push_chill_extern_function: Modify for 2-pass. | |
8558 | ||
8559 | Mon Aug 2 14:24:59 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8560 | ||
8561 | * ch-parse.y: Rename actionstatement -> nonempty_actionstatement. | |
8562 | New actionstatement is now nonempty_actionstatement | SC. Use | |
8563 | where appropriate. This is closer to Blue Book terminology. | |
8564 | ||
8565 | * ch-tree.def (ALIAS_DECL): New tree type. | |
8566 | * ch-decl.c: Merged all the code we need (I hope) from c-decl.c, | |
8567 | which is no longer used for cc1chill. | |
8568 | * c-decl.c: Remove all Chill-related code. | |
8569 | * Makefile.in (CHILL_OBJS): Don't use c-decl.o. | |
8570 | * ch-decl.c: No longer use IDENTIFIER_GLOBAL_VALUE anywhere. | |
8571 | Introduce a 'nesting_level' level concept instead. | |
8572 | * ch-decl.c: Merged push_scope into pushlevel; pop_scope into | |
8573 | poplevel; struct scope and struct binding_level. | |
8574 | * ch-decl.c: Other major name lookup algorithm changes. | |
8575 | * ch-tree.h (struct lang_identifier): Remove granted_value field. | |
8576 | * ch-tree.h (IDENTIFIER_GRANTED_VALUE macro): Removed. | |
8577 | * ch-tree.h (DECL_NESTING_LEVEL): New macro. | |
8578 | * ch-satisfy.c (satisfy, satisfy_decl): New 'lookup_only' arg. | |
8579 | * ch-tree.h (struct module): New fields nesting_level, granted_decls. | |
8580 | * ch-grant.c (seize_implied_names, do_seize, chill_seize): Move ... | |
8581 | * ch-decl.c: ... here. | |
8582 | * ch-grant.c (start_chill_function2): Remove. | |
8583 | * ch-grant.c (chill_start_module_code): Now called in both passes. | |
8584 | * ch-actions.c (lang_init): Code moved to ... | |
8585 | * ch-decl.c (init_decl_processing): ... here. | |
8586 | * ch-actions.c (chill_expand_result, chill_expand_return): | |
8587 | Handle being called during pass 1. | |
8588 | * ch-lex.l (name_type_signal): Don't try lookup_name during pass 1. | |
8589 | * ch-parse.y (PUSH_ACTION, push_action): Is now invoked during | |
8590 | both passes, for the sake of chill_start_module_code. Change all | |
8591 | actions rules to invoke PUSH_ACTION unconconditionally. | |
8592 | * ch-parse.y, ch-decl.c (push_module): Module label is now optional. | |
8593 | ||
8594 | Mon Aug 2 15:02:32 1993 Bill Cox (bill@rtl.cygnus.com) | |
8595 | ||
8596 | * expr.c (store_constructor): Convert library function | |
8597 | parameters to proper integer precision before calling | |
8598 | emit_library_call. | |
8599 | ||
8600 | Mon Aug 2 08:46:06 1993 Bill Cox (bill@rtl.cygnus.com) | |
8601 | ||
8602 | * ch-grant.c (seize_implied_names): Check POWERSET's | |
8603 | base type for names to seize. | |
8604 | ||
8605 | Fri Jul 30 19:59:30 1993 Bill Cox (bill@rtl.cygnus.com) | |
8606 | ||
8607 | * ch-tree.h: Delete unused definition of JOINER | |
8608 | macro. Expand comment about INSTANCE_TYPE. | |
8609 | ||
8610 | Thu Jul 29 14:57:11 1993 Bill Cox (bill@rtl.cygnus.com) | |
8611 | ||
8612 | * ch-convert.c (unreferenced_type_of): New function. | |
8613 | (convert): Call new function. | |
8614 | ||
8615 | Thu Jul 29 07:34:57 1993 Bill Cox (bill@rtl.cygnus.com) | |
8616 | ||
8617 | * ch-lex.l: Allow C-style comments before the module | |
8618 | header. Use #undef to assure that strchr isn't a | |
8619 | macro (portability), and remove the extra paren- | |
8620 | theses in its extern name. | |
8621 | (check_newline): Call getlc less often, so that user | |
8622 | labels aren't lowercased before their time. Add BEGIN | |
8623 | INITIAL before starting pass 2, so the header is | |
8624 | correctly ignored. | |
8625 | ||
8626 | Wed Jul 28 14:23:24 1993 Bill Cox (bill@rtl.cygnus.com) | |
8627 | ||
8628 | * ch-grant.c (chill_start_module_code): Cast alloca() | |
8629 | return value. | |
8630 | ||
8631 | Wed Jul 28 12:39:51 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) | |
8632 | ||
8633 | * ch-grant.c: remove extra parens around extern function | |
8634 | declarations (they confuse the DECstation compiler) | |
8635 | ||
8636 | Wed Jul 28 12:28:56 1993 Bill Cox (bill@rtl.cygnus.com) | |
8637 | ||
8638 | * Makefile.in: Stop deleting flex's #line lines. | |
8639 | ||
8640 | Wed Jul 28 07:05:25 1993 Bill Cox (bill@cygnus.com) | |
8641 | ||
8642 | Adjust after FSF merge: | |
8643 | * calls.c (expand_call): Add comment. | |
8644 | * ch-expr.c: Add newline. | |
8645 | * expmed.c (store_split_bit_field): Add comment. | |
8646 | ||
8647 | Tue Jul 27 17:32:13 1993 Bill Cox (bill@rtl.cygnus.com) | |
8648 | ||
8649 | * ch-actions.c (build_chill_binary_op): Set code0 and | |
8650 | code1 only in pass 2. | |
8651 | (get_result_tmp_name): Cast alloca return for portability. | |
8652 | * ch-decl.c (pop_module): Test current_module ptr before | |
8653 | using it. | |
8654 | * ch-lex.l: Set lineno and input_filename for pass 2 | |
8655 | error messages. | |
8656 | ||
8657 | Tue Jul 27 15:14:06 1993 Bill Cox (bill@rtl.cygnus.com) | |
8658 | ||
8659 | * ch-lex.l: Fix the syntax error at line 329. Will I | |
8660 | *ever* quit fixing these in the ch-lex.c file? Stay tuned.. | |
8661 | ||
8662 | Tue Jul 27 15:01:25 1993 Bill Cox (bill@rtl.cygnus.com) | |
8663 | ||
8664 | * ch-lex.l: Pervasive rewrite for queueing seize files, | |
8665 | then parsing them at the end of pass 1. Still some | |
8666 | problems. | |
8667 | ||
8668 | Tue Jul 27 07:40:39 1993 Bill Cox (bill@rtl.cygnus.com) | |
8669 | ||
8670 | * chill.in: Check for .i suffices only, and use -xchill | |
8671 | to bracket the argument. | |
8672 | ||
8673 | Thu Jul 22 19:17:23 1993 Bill Cox (bill@rtl.cygnus.com) | |
8674 | ||
8675 | * c-decl.c (print_lang_identifier): Oops. Syntax error. | |
8676 | ||
8677 | Thu Jul 22 18:56:16 1993 Bill Cox (bill@rtl.cygnus.com) | |
8678 | ||
8679 | * c-decl.c (pushdecllist): Standardize loop for readability. | |
8680 | * ch-decl.c (decl_temp): Call pushdecllist to store decl | |
8681 | into hash table, move after current_scope declaration. | |
8682 | (decl_temp1): Move also. | |
8683 | * ch-lex.l (getlc): New function. Force char to lower case. | |
8684 | (check_newline): Call it, so comparisons work on uppercase | |
8685 | keywords. | |
8686 | ||
8687 | Wed Jul 21 22:17:22 1993 Bill Cox (bill@rtl.cygnus.com) | |
8688 | ||
8689 | * ch-decl.c (do_decls): Add saving of decl tree | |
8690 | address into ID node in pass 2, reindent. | |
8691 | * ch-grant.c (start_chill_function2): New function. | |
8692 | (chill_start_module_code, chill_finish_module_code): Call it. | |
8693 | * ch-loop.c (build_temporary_variable, begin_for_range): | |
8694 | Replace start_decl, finish_decl pairs with decl_temp1 calls. | |
8695 | * ch-parse.y (parnamelist): Eliminate warning by eliminating | |
8696 | the %type for now. | |
8697 | * ch-actions.c, ch-tasking.c: Replace do_decls calls with | |
8698 | decl_temp1 calls. | |
8699 | * ch-tree.h: New prototypes. | |
8700 | * stmt.c (stamp_nesting_label): Check parameters for NULL. | |
8701 | * toplev.c (lang_options): Add '-L' option. | |
8702 | ||
8703 | Wed Jul 21 21:06:18 1993 Bill Cox (bill@rtl.cygnus.com) | |
8704 | ||
8705 | Portability fixes. | |
8706 | * ch-decl.c (save_decl): Make definition match forward declaration. | |
8707 | * ch-lex.l (RETURN_TOKEN): Don't use the 'do { .. return } while 0' | |
8708 | in the macro - Sun's compiler throws warnings. Thanks, Brendan. | |
8709 | * ch-satisfy.c (satisfy): Add forward declaration. | |
8710 | (SATISFY): Add outer parens for greater safety. | |
8711 | ||
8712 | Wed Jul 21 12:59:20 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8713 | ||
8714 | * c-decl.c (pushdecllist): New function. Add a list of decls | |
8715 | to the current scope, checking for duplicates. | |
8716 | * c-decl.c (start_function): Remove some Chill junk. | |
8717 | (This function should no longer be used for Chill.) | |
8718 | * ch-lex.l (ch_lex_init): New function, to re-init for 2nd pass. | |
8719 | * ch-lex.l (<<EOF>>): Cleanup, and re-start for 2nd pass. | |
8720 | * ch-tree.h (UNSATISFIED, UNSATISFIED_FLAG): New flags. | |
8721 | * ch-tree.h (CH_CLASS_IS_VALUE, CH_CLASS_IS_REFERENCE): | |
8722 | Implement. Add comments. | |
8723 | * ch-tree.h (CH_COMPATIBLE_CLASSES, CH_ROOT_MODE, CH_RESULTING_MODE): | |
8724 | Better Blue Book type checking. | |
8725 | * ch-actions.c (finish_chill_binary_op): Handle folding | |
8726 | and other stuff that couldn't be done in pass 1. | |
8727 | * ch-actions.c (build_chill_binary_op): Bail out early if pass 1. | |
8728 | Use new CH_ROOT_MODE macro to handle integer promotions etc. | |
8729 | * ch-except.c (push_handler): Bail out if pass 1. | |
8730 | * ch-tasking.c (make_process_struct): Defer making this work. | |
8731 | * ch-parse.y (assignaction): Simplify, and move some code ... | |
8732 | * ch-expr.c (chill_expand_assignment): ... here. | |
8733 | * ch-typeck.c (chill_root_mode, chill_resulting_mode, | |
8734 | chill_compatible_classes): New functions, implementing the | |
8735 | correspondingly named Blue Book concepts. | |
8736 | * ch-parse.y generally: Lots of little tweaks to support | |
8737 | 2-pass compilation. | |
8738 | * ch-parse.y (push_module, pop_module): Moved to ... | |
8739 | * ch-decl.c (push_module, pop_module): ... here. | |
8740 | * ch-parse.y (push_action): New function. | |
8741 | * ch-parse.y (pdef): Move complicated action to ... | |
8742 | * ch-parse.y (end_function): ... new function here. | |
8743 | * ch-parse.y (procedure): Major re-write. | |
8744 | * ch-parse.y (paramname, paramnamelist): New, to avoid conflict (?). | |
8745 | * ch-decl.c (do_decls, push_syndecls, push_modedef, | |
8746 | start_chill_function, finish_chill_function): Do different things | |
8747 | on each pass. Hence, can use code in c-decl.c to lesser extent. | |
8748 | * ch-decl.c (build_chill_function_type): First arg is now | |
8749 | just the return type, rather than a singleton list. | |
8750 | * ch-decl.c (massage_param_node): Remove not needed (we | |
8751 | now encode parameter attributes directly in the TREE_PURPOSE). | |
8752 | * ch-decl.c (chill_munge_params): New function, called by parser. | |
8753 | * ch-decl.c (push_parms): Removed function. | |
8754 | * ch-decl.c (push_cope, pop_scope, save_decl, get_next_decls): | |
8755 | New functions, to coordinate decls between passes. | |
8756 | ||
8757 | Wed Jul 21 14:23:25 1993 Bill Cox (bill@rtl.cygnus.com) | |
8758 | ||
8759 | * ch-actions.c (lang_decode_option): Add option -Lpath | |
8760 | to specify seize file path. | |
8761 | (ch_singleton_set): Readability formatting. | |
8762 | Add comment, move functions to easier found places. | |
8763 | * ch-lex.l (setup_seizefile_read): Check for *no* slashes. | |
8764 | (register_seize_path): Use memcpy so pathlen has an effect. | |
8765 | * gcc.c (default_compilers): Add -L option to chill | |
8766 | compiler SPECs. | |
8767 | ||
8768 | Wed Jul 21 12:59:20 1993 Per Bothner (bothner@kalessin.cygnus.com) | |
8769 | ||
8770 | * ch-satisfy: New file. Used for name lookup. | |
8771 | * Makefile.in (CHILL_OBJS): Add ch-satisfy.o. | |
8772 | ||
8773 | Wed Jul 21 12:16:51 1993 Bill Cox (bill@rtl.cygnus.com) | |
8774 | ||
8775 | * toplev.c (main): Delete -L option handling - breaks | |
8776 | non-chill compilers. | |
8777 | ||
8778 | Wed Jul 21 09:29:24 1993 Bill Cox (bill@rtl.cygnus.com) | |
8779 | ||
8780 | * ch-grant.c: #undef strchr and strrchr names in extern | |
8781 | declarations, to prevent RS6000 compiler from reporting | |
8782 | their misuse as macros. | |
8783 | * ch-lex.l (setup_seizefile_read): Refer to list of paths | |
8784 | for seizefiles specified by -L options on command line. | |
8785 | (register_seize_path): Add a new path to the seize file list. | |
8786 | * toplev.c (strip_off_ending): Recognize chill suffix. | |
8787 | (main): Recognize -L option, specifying a seize file path. | |
8788 | ||
8789 | Tue Jul 20 12:41:52 1993 Bill Cox (bill@rtl.cygnus.com) | |
8790 | ||
8791 | * ch-lex.l (convert_float): Make it really portable, | |
8792 | using the appropriate macros. | |
8793 | ||
8794 | Tue Jul 20 11:26:02 1993 Bill Cox (bill@rtl.cygnus.com) | |
8795 | ||
8796 | * ch-lex.l (convert_float): More casts for vxworks | |
8797 | portability. | |
8798 | ||
8799 | Tue Jul 20 11:01:30 1993 Bill Cox (bill@rtl.cygnus.com) | |
8800 | ||
8801 | * ch-lex.l (convert_float): Give variable `d' correct | |
8802 | type so build_real call is correct. Should remove | |
8803 | vxworks portability problem. | |
8804 | (convert_float): Re-indent to standards. | |
8805 | ||
8806 | Mon Jul 19 17:32:10 1993 Bill Cox (bill@rtl.cygnus.com) | |
8807 | ||
8808 | * ch-actions.c (build_char_array_expr): Add field decls to | |
8809 | constructor. Now, it generates the library call. | |
8810 | * ch-expr.c (chill_expand_array_assignment): Make sure that all | |
8811 | error messages say 'mode' not 'type'. | |
8812 | ||
8813 | Mon Jul 19 14:44:46 1993 Bill Cox (bill@rtl.cygnus.com) | |
8814 | ||
8815 | * ch-actions.c, ch-convert.c, ch-decl.c, ch-grant.c, ch-lang.c, | |
8816 | ch-loop.c, ch-parse.y, ch-tasking.c, ch-tree.c, ch-typeck.c: | |
8817 | Make sure that all error messages say 'mode' not 'type'. | |
8818 | * ch-decl.c (push_modedef): Add novelty computation, | |
8819 | storage in each newmode. | |
8820 | * ch-parse.y: Delete novelty counter - moved to ch-decl.c. | |
8821 | Reformat slightly for readability. Fix comments. | |
8822 | * ch-tree.h: Delete print_lang_type prototype. | |
8823 | ||
8824 | Mon Jul 19 06:43:51 1993 Bill Cox (bill@rtl.cygnus.com) | |
8825 | ||
8826 | * ch-actions.c (chill_expand_return): Disable | |
8827 | error message which requires 2-pass analysis, for | |
8828 | now. | |
8829 | * ch-convert.c (convert): Build length-only constructor | |
8830 | for empty string (PR 2930). | |
8831 | ||
8832 | Fri Jul 16 16:08:33 1993 Bill Cox (bill@rtl.cygnus.com) | |
8833 | ||
8834 | * ch-expr.c (chill_expand_array_assignment): Check | |
8835 | non-varying string assignments for conformance to | |
8836 | the "string assignment condition" (PR 2920). | |
8837 | ||
8838 | Thu Jul 15 13:25:33 1993 Bill Cox (bill@rtl.cygnus.com) | |
8839 | ||
8840 | * ch-actions.c (build_chill_array_expr): Check parameters. | |
8841 | Call convert to build unitary array from scalar if | |
8842 | needed. Rewrite CONCAT_EXPR handling. | |
8843 | * ch-convert.c (build_array_type_for_scalar): New functions. | |
8844 | (convert): Call new function, to convert scalar to unitary | |
8845 | array. Only call chill_expand_tuple if expression hass | |
8846 | NULL_TREE type. | |
8847 | * ch-expr.c (chill_expand_expr): Allow a larger static | |
8848 | varying array to be assigned to a smaller, with a runtime | |
8849 | test (to be provided). | |
8850 | * ch-parse.y (locdec): Comment out bogus error msg. | |
8851 | (elementlist): Replace several lines with chainon call. | |
8852 | * ch-tree.h (SCALAR_P): New macro. New prototype for | |
8853 | build_array_type_for_scalar. | |
8854 | * ch-typeck.c (build_chill_cast): Re-indent. | |
8855 | (chill_expand_tuple): Comment out strange addition of | |
8856 | varying string's length to front of constructor list. | |
8857 | ||
8858 | Thu Jul 15 05:58:46 1993 Bill Cox (bill@rtl.cygnus.com) | |
8859 | ||
8860 | * ch-except.c (start_handler_array): Use unique identifier for | |
8861 | exception array, so we can have > 1 array per reach | |
8862 | (PR 2931). The change was originally entered June 23, and | |
8863 | subsequently lost. | |
8864 | ||
8865 | Mon Jul 12 16:07:53 1993 Bill Cox (bill@rtl.cygnus.com) | |
8866 | ||
8867 | Get executable test cases running again... | |
8868 | * c-typeck.c (build_function_call): Bypass default | |
8869 | parameter promotions, format param syntax check for | |
8870 | CHILL; they've already been converted in | |
8871 | build_chill_function_call. | |
8872 | * ch-actions.c (chill_expand-return): Correct tests | |
8873 | for function which returns no value. | |
8874 | * ch-convert.c (base_type_size_in_bytes): Check for | |
8875 | NULL type parameter, just return. | |
8876 | (convert): Allow conversion of CHAR to varying array | |
8877 | of CHAR. | |
8878 | Change error msg to "conversion" from "assignment". | |
8879 | Remove default from case, which short-circuited before | |
8880 | REFERENCE_TYPEs got converted. Deleted second copy | |
8881 | of REFERENCE_TYPE code. | |
8882 | * ch-lang.c (build_chill_range_type): Simply exit if | |
8883 | NULL input parameter. | |
8884 | * ch-loop.c: Fix comment. | |
8885 | ||
8886 | Sun Jul 11 11:27:08 1993 Bill Cox (bill@cygnus.com) | |
8887 | ||
8888 | * ch-actions.c (chill_expand_result, chill_expand_return): | |
8889 | Move here from ch-typeck.c. Add a temporary to remember the | |
8890 | result value in. Change return handler to fetch that | |
8891 | temporary value, if there is one. | |
8892 | * ch-parse.y (pdef): Call chill_expand_return to fetch | |
8893 | the temp's value. | |
8894 | * ch-tree.h, ch-typeck.c: Move return, result functions to | |
8895 | ch-actions.c. And their prototypes. | |
8896 | ||
8897 | Fri Jul 9 15:47:51 1993 Bill Cox (bill@rtl.cygnus.com) | |
8898 | ||
8899 | * ch-actions.c, ch-convert.c, ch-decl.c, ch-except.c, | |
8900 | ch-expr.c, ch-grant.c, ch-inout.c, ch-lang.c, | |
8901 | ch-lex.l, ch-loop.c, ch-parse.y, ch-tasking.c, | |
8902 | ch-tree.c, ch-tree.h, ch-typeck.c: gcc -Wall cleanup. | |
8903 | ||
8904 | Fri Jul 9 09:41:05 1993 Bill Cox (bill@rtl.cygnus.com) | |
8905 | ||
8906 | * ch-grant.c (decode_decl): Grant BUFFER, INSTANCE variables. | |
8907 | (print_integer): Delete old non-working INSTANCE code. | |
8908 | * ch-lex.l (name_type_signal): Recognize BUFFER name, too. | |
8909 | * ch-parse.y (rccase_label): Move all actions inside if. | |
8910 | Use BUFFERNAME to recognize receice case buffer clause, | |
8911 | eliminate one shift-reduce conflict. | |
8912 | * ch-tasking.c (build_buffer_descriptor): Check for | |
8913 | CH_DECL_BUFFER flag, remove unused code. | |
8914 | ||
8915 | Thu Jul 8 11:17:32 1993 Bill Cox (bill@rtl.cygnus.com) | |
8916 | ||
8917 | Declaring and sending buffers.. first draft | |
8918 | * ch-actions.c (lang_init): Define the send_buffer runtime | |
8919 | function. | |
8920 | * ch-decl.c (do_decls): Standardize loop, so stepping | |
8921 | isn't hidden. | |
8922 | * ch-lex.l: Clean up prototypes for readability. | |
8923 | * ch-parse.y (sendaction): Add send buffer action. | |
8924 | (locdec): Add rule for buffer declaration. | |
8925 | * ch-tasking.c (generate_tasking_code): standardize indentation. | |
8926 | (make_signal_struct): Readability changes. | |
8927 | (build_chill_send_buffer, build_buffer_decl, | |
8928 | build_buffer_descriptor): New functions. | |
8929 | * ch-tree.h (IDENTIFIER_BUFFER_SIZE): Add place to save | |
8930 | buffer's maximum queue length in buffer decl. | |
8931 | (CH_DECL_BUFFER): Add flag in decl. Clean up for | |
8932 | readability. Add prototypes. | |
8933 | * ch-typeck.c (build_chill_cast): Call convert rather | |
8934 | than storing directly into TREE_TYPE field. | |
8935 | ||
8936 | Tue Jul 6 12:34:32 1993 Bill Cox (bill@rtl.cygnus.com) | |
8937 | ||
8938 | * ch-actions.c (lang_init): Set warn_switch so case labels | |
8939 | get checked. Move build_chill_case_expr to ch-expr.c. | |
8940 | * ch-expr.c (chill_expand_case_expr): Enable checking | |
8941 | of expression case labels. | |
8942 | * ch-grant.c: Move a comment. | |
8943 | ||
8944 | Mon Jul 5 10:02:27 1993 Wilfried Moser (fs_moser at rcsw1j) | |
8945 | ||
8946 | * ch-lex.l: Add compiler directive SUPPORT_CAUSING_ADDRESS. | |
8947 | * ch-except.c (initialize_exceptions): Change the layout of the | |
8948 | structure __ch_handler. The entry __jbuf is moved to the end | |
8949 | of the structure and its size was changed to _JBLEN+10. | |
8950 | * ch-decl.c (push_chill_extern_process): Add processing of | |
8951 | processes with no arguments. | |
8952 | * ch-grant.c (decode_decl, do_seize): Add processing of | |
8953 | processes with no arguments. | |
8954 | * ch-tasking.c (build_process_header, build_chill_start_process): | |
8955 | Add processing of processes with no arguments. | |
8956 | (make_process_struct): Add processing of IN attribute for | |
8957 | process arguments. | |
8958 | (tasking_setup): Add NUL-character to name of a tasking | |
8959 | element. The name must be NUL terminated. | |
8960 | (build_chill_send_signal): Default SEND_SIGNAL_PRIORITY | |
8961 | to 0 with a warning if -Wall specified on command-line. | |
8962 | ||
8963 | Fri Jul 2 16:01:57 1993 Bill Cox (bill@rtl.cygnus.com) | |
8964 | ||
8965 | * ch-parse.y: Change 'empty' comments to new non-terminal | |
8966 | so that exyacc doesn't discard them. | |
8967 | * ch-lang.c (build_chill_range_type): New error messages. | |
8968 | ||
8969 | Fri Jul 2 12:43:25 1993 Bill Cox (bill@rtl.cygnus.com) | |
8970 | ||
8971 | * ch-parse.y (action): Catch and report actions which | |
8972 | shouldn't have exception clauses, but do. Unfortunately, | |
8973 | catching more than one of these per compilation will | |
8974 | have to await the general addition of syntax error | |
8975 | recovery to the parser. | |
8976 | ||
8977 | Fri Jul 2 10:45:35 1993 Bill Cox (bill@rtl.cygnus.com) | |
8978 | ||
8979 | * ch-parse.y (locdec): Issue error for initialization | |
8980 | of bitstring with tuple, not for powerset init with | |
8981 | tuple. | |
8982 | ||
8983 | Thu Jul 1 15:29:26 1993 Bill Cox (bill@rtl.cygnus.com) | |
8984 | ||
8985 | * ch-lang.c (build_chill_array_type): Check for indices | |
8986 | that didn't fold into constants, issue error (PR 2924b). | |
8987 | * ch-parse.y: Add novelty counter, alphabeticalize. | |
8988 | * ch-tree.h: Define CH_NOVELTY for novelty checks later. | |
8989 | ||
8990 | Thu Jul 1 14:03:04 1993 Bill Cox (bill@rtl.cygnus.com) | |
8991 | ||
8992 | For Wilfried Moser. | |
8993 | * chill.in: Add -ansi switch at compiler call to avoid | |
8994 | translation of i.e. sun to 1 by cpp. | |
8995 | ||
8996 | Wed Jun 30 22:21:33 1993 Bill Cox (bill@rtl.cygnus.com) | |
8997 | ||
8998 | * ch-grant.c (raw_decode_mode): Add code for | |
8999 | integer and enumeral ranges. Standardize indentation. | |
9000 | ||
9001 | Wed Jun 30 14:02:23 1993 Bill Cox (bill@rtl.cygnus.com) | |
9002 | ||
9003 | * ch-grant.c (print_an_int): New function to print a | |
9004 | decimal integer string or the CONST_DECL (SYN) which | |
9005 | best matches it. | |
9006 | (print_integer): Call the above function. Replace | |
9007 | calls to SAME_TYPE macro with TYPE_MAIN_VARIANT | |
9008 | comparisons, as suggested by Jim Wilson. | |
9009 | (decode_decl): Set current_grant_modename sooner, | |
9010 | be sure to clear it when done. | |
9011 | ||
9012 | Wed Jun 30 10:10:57 1993 Bill Cox (bill@rtl.cygnus.com) | |
9013 | ||
9014 | * ch-actions.c (build_max_min): Change interface to accept | |
9015 | just a max/min flag. Get min/max values from an | |
9016 | enumeral constructor. | |
9017 | (build_chill_max, build_chill_min): Change calls to | |
9018 | build_max_min. | |
9019 | * ch-lang.c (deep_const_expr): Check for NULL_TREE | |
9020 | arguments, don't seg fault. | |
9021 | ||
9022 | Wed Jun 30 09:20:09 1993 Bill Cox (bill@rtl.cygnus.com) | |
9023 | ||
9024 | * config/sparc/sparc.c (sparc_type_code): Add SET_TYPE | |
9025 | to switch cases, preventing abort. | |
9026 | ||
9027 | Tue Jun 29 19:04:37 1993 Bill Cox (bill@rtl.cygnus.com) | |
9028 | ||
9029 | * ch-expr.c: Update comment. | |
9030 | * ch-parse.y (range_or_mode): New non-terminal used in | |
9031 | lexpr to implement mode as case label. | |
9032 | ||
9033 | Tue Jun 29 13:13:46 1993 Bill Cox (bill@rtl.cygnus.com) | |
9034 | ||
9035 | * ch-actions.c (build_chill_case_expr): Pass in the | |
9036 | optional ELSE clause, error for multiple case-selector | |
9037 | expressions, error for missing ELSE clause. | |
9038 | * ch-expr.c (chill_expand_assignment): Error if multiple | |
9039 | location assignment and locations not novelty | |
9040 | equivalent. | |
9041 | * ch-parse.y (caseaction): Add range_list_clause non- | |
9042 | terminal, sorry message for it. | |
9043 | (assignaction): error if operator used on multiple | |
9044 | assignment. | |
9045 | (case_expr): Pass optional ELSE tree to | |
9046 | build_chill_case_expr for checking. | |
9047 | * ch-tree.h (build_chill_case_expr): Change proto. | |
9048 | ||
9049 | Fri Jun 25 17:22:41 1993 Bill Cox (bill@rtl.cygnus.com) | |
9050 | ||
9051 | * ch-actions.c (chill_comptypes, build_chill_binary_op): | |
9052 | Allow PROC mode variables. | |
9053 | * ch-convert.c (convert): Turn a NULL literal into a zero | |
9054 | valued pointer-to-function, given such a type. Also | |
9055 | build the ADDR_EXPR of a function variable. | |
9056 | * ch-grant.c: Pervasive -Wall -pedantic cleanup. | |
9057 | (print_enumeral, print_integer, print_struct) Moved these | |
9058 | large functions out of the switch in raw_decode_mode for | |
9059 | readability, and to encourage future code-sharing. | |
9060 | (print_proc_tail, print_proc_exceptions): Moved these out | |
9061 | of decode_decl, to share them. They're used also to | |
9062 | output PROC modes. | |
9063 | * ch-parse.y (mode2): Enable PROC modes. | |
9064 | (procmode): Represent PROC mode as a ptr-to-function type. | |
9065 | (call): Recognize ptr-to-function as indirect call. | |
9066 | Cleanup 'primval LPRN untyped_exprlist RPRN' action code. | |
9067 | ||
9068 | Thu Jun 24 15:59:20 1993 Bill Cox (bill@rtl.cygnus.com) | |
9069 | ||
9070 | * ch-grant.c: (raw_decode_mode): Add support for unnamed | |
9071 | and user-numbered enumeration members. | |
9072 | ||
9073 | Thu Jun 24 13:52:10 1993 Bill Cox (bill@rtl.cygnus.com) | |
9074 | ||
9075 | * ch-actions.c (build_chill_array_expr, build_chill_length): | |
9076 | Explicitly convert a varying array's length field to an | |
9077 | integer_type_node, now that it's only a chill_integer_ | |
9078 | type_node. | |
9079 | * ch-expr.c (chill_expand_expr, | |
9080 | expand_assignment_to_varying_array, | |
9081 | chill_expand_array_assignment, | |
9082 | expand_varying_length_assignment): Explicitly | |
9083 | convert a varying array's length field to an integer_type_node, | |
9084 | now that it's only a chill_integer_type_node. | |
9085 | * ch-loop.c (init_loop_counter, top_of_loop_test): Change | |
9086 | to handle varying array location iterations. | |
9087 | * ch-parse.y (mode2): Count number of named SET members, | |
9088 | as opposed to '*' members. Issue error if there were none. | |
9089 | (setelement): Count named set members. Generate a unique | |
9090 | identifier for the '*' element. | |
9091 | * ch-typeck.c (validate_varying_array_ref): Explicitly | |
9092 | convert a varying array's length field to an integer_type_node, | |
9093 | now that it's only a chill_integer_type_node. | |
9094 | ||
9095 | Wed Jun 23 19:18:28 1993 Bill Cox (bill@rtl.cygnus.com) | |
9096 | ||
9097 | * ch-lang.c (finish_chill_enum): Change test for too- | |
9098 | large enumerations. | |
9099 | * ch-parse.y (setelement, optsetvalue): Allow numbered, | |
9100 | unnamed set elements. | |
9101 | ||
9102 | Wed Jun 23 16:25:06 1993 Bill Cox (bill@rtl.cygnus.com) | |
9103 | ||
9104 | * c-typeck.c (process_init_constructor): Suppress | |
9105 | errors about un-initialized array elements if the | |
9106 | array is VARYING, as signaled by C_TYPE_VARIABLE_SIZE. | |
9107 | * ch-actions.c (lang_init): Set flag_short_enums, so that CHILL | |
9108 | enumerations *can* be only a byte in size. | |
9109 | (adjust_parm_or_field): Convert untyped parameter before | |
9110 | looking at its type to process it. | |
9111 | * ch-convert.c (convert): Generate [ -1, -1 ] value for | |
9112 | an INSTANCE type. | |
9113 | * ch-decl.c (do_decls): Assure that a CONSTRUCTOR has a | |
9114 | type, so that output_constant doesn't seg fault. | |
9115 | * ch-except.c (start_handler_array): Use unique identifier for | |
9116 | exception array, so we can have > 1 array per reach. | |
9117 | * ch-lang.c (finish_chill_enum): Error if number of | |
9118 | enumeration values exceeds 256. | |
9119 | * ch-parse.y (check_end_label): Error, not warning if start | |
9120 | and end labels don't match. | |
9121 | (assignaction): Convert RHS. Allows untyped tuples to be | |
9122 | passed to stabilize_reference. | |
9123 | (exceptlist, onexceptprefix): Error if non-unique exception | |
9124 | name is coded. | |
9125 | * ch-tree.c: Added form feeds, comment reformatted. | |
9126 | * ch-typeck.c (chill_expand_tuple): Compare tree value to | |
9127 | NULL_TREE, not zero. Add a constructor element for a | |
9128 | VARYING array's length to the constructor list. | |
9129 | (build_varying_struct): Mark the type as VARYING for | |
9130 | process_init_constructor. | |
9131 | * toplev.c (lang_options): Add '-lang-chill' and | |
9132 | '-fchill-grant-only' options to table. | |
9133 | ||
9134 | Tue Jun 22 13:13:41 1993 Bill Cox (bill@rtl.cygnus.com) | |
9135 | ||
9136 | * ch-actions.c (build_chill_function_call): Add check | |
9137 | to prevent calling a PROCESS like a PROCEDURE. | |
9138 | * ch-parse.y (rcalternative): Add check for an | |
9139 | receive case alternative after a RECEIVE CASE | |
9140 | statement. | |
9141 | * ch-tree.h: Fix macro ENCAPSULATED_ARRAY_P. | |
9142 | * ch-lang.c (lang_finish): Remove resetting errorcount | |
9143 | and sorrycount for granting. | |
9144 | ||
9145 | Mon Jun 21 17:56:48 1993 Bill Cox (bill@rtl.cygnus.com) | |
9146 | ||
9147 | Receiving signals works. | |
9148 | * ch-actions.c (lang_init): Add else_clause flag to | |
9149 | __wait_signal parameter list. | |
9150 | * ch-lex.l: Add SIGNALNAME token, return when appropriate. | |
9151 | * ch-parse.y (SIGNALNAME): New token. Delete | |
9152 | empty_untyped_exprlist token, no longer used. Add | |
9153 | name_or_signal non-terminal. Standardize a few NULL | |
9154 | tests. Add real RECEIVE CASE semantics. Add checks that | |
9155 | SIGNALS, BUFFERs are only declared at global scope. | |
9156 | (call): Add signal declarations with/without data fields. | |
9157 | * ch-tasking.c (get_tasking_code_name, get_tasking_code, | |
9158 | build_chill_receive_case_start, build_chill_receive_case_end, | |
9159 | build_chill_receive_case_label): New functions. | |
9160 | Replace build (CONSTRUCTOR, ... calls with build_nt | |
9161 | (CONSTRUCTOR, calls. | |
9162 | * ch-tree.h: New prototypes. | |
9163 | ||
9164 | Thu Jun 17 18:36:38 1993 Bill Cox (bill@rtl.cygnus.com) | |
9165 | ||
9166 | SIGNAL declaration compilation, seizing & granting, | |
9167 | SENDing also. | |
9168 | * ch-actions.c (lang_init): Move instance_type_node | |
9169 | build to ch-tasking.c. Call build_tasking_message_type. | |
9170 | Build a type for send_signal. Put builtin_function | |
9171 | calls into alpha order. | |
9172 | (adjust_proc_param): Rename to adjust_parm_or_field, | |
9173 | add is_signal flag, so signal fields can use it. Rename | |
9174 | calls to it, add flag to calls. | |
9175 | * ch-decl.c (push_chill_extern_signal): Add function. | |
9176 | * ch-grant.c (decode_decl): Correct signal decl output. | |
9177 | (do_seize): Correct check for process seizure. Add | |
9178 | code for seized signal decl. | |
9179 | * ch-lex.l (yylex): Treat POS, ROW, STEP as reserved. | |
9180 | * ch-loop.c (get_unique_identifier): Standardize loop | |
9181 | temporary's name to assure that it's not granted. | |
9182 | * ch-parse.y (SIG_NAME): Delete unused token. | |
9183 | (spec_declist): Delete silly printf. | |
9184 | (quasi_signaldef): Add non-terminal. | |
9185 | (sendaction, optsendwith, optsendto, optpriority): | |
9186 | Implement actual working semantics. | |
9187 | (call, empty_untyped_exprlist): Allow empty signal | |
9188 | fields between parens. | |
9189 | * ch-tasking.c: Rename adjust_proc_param calls, add | |
9190 | is_signal flag to calls. Make instance_type_node a | |
9191 | type, not a TYPE_DECL, change references. Fix all | |
9192 | CONSTRUCTOR builds. Add make_signal_struct function. | |
9193 | Move build_instance_type here from lang_init. | |
9194 | (build_tasking_message-type, build_signal_descriptor, | |
9195 | build_chill_send_signal): New functions. | |
9196 | * ch-tree.h: Add, update protos. | |
9197 | * ch-typeck.c (build_chill_cast): Check for NULL expression | |
9198 | type as well as error_mark. | |
9199 | ||
9200 | Thu Jun 17 12:28:03 1993 Jim Wilson (wilson@sphagnum.cygnus.com) | |
9201 | ||
9202 | * Makefile.in (STAGESTUFF): Add chill to list. | |
9203 | ||
9204 | Wed Jun 16 07:12:53 1993 Bill Cox (bill@rtl.cygnus.com) | |
9205 | ||
9206 | * Makefile.in: Complete the renaming of ch-process.c | |
9207 | to ch-tasking.c. | |
9208 | * ch-decl.c (push_chill_extern_function): Drop is_process | |
9209 | parameter, and marking process decl trees. | |
9210 | (push_chill_extern_process): New function for | |
9211 | SEIZEd processes. Lotsa form feeds added for print | |
9212 | readability. | |
9213 | * ch-grant.c (decode_decl): Handle GRANTing of SIGNAls. | |
9214 | (do_seize): New parameter seize_all. Handle sseizing | |
9215 | processes. | |
9216 | (chill_seize): Pass seize_all parameter. | |
9217 | (chill_grant): Check for __tmp_ prefix, to disable | |
9218 | *either* seizing or granting. | |
9219 | * ch-parse.y (quasi_pdef): Delete is_process parameter for | |
9220 | push_chill_extern_functon, call push_chill_extern_process | |
9221 | for processes. | |
9222 | (specialinit): Comment these rules as needed only until | |
9223 | 2-pass compiler is operational. | |
9224 | (extprocedure): Delete is_process parameter. | |
9225 | (simpledec): Delete `sorry' about SIGNAL decls. | |
9226 | (optsigdest): Correct check for process name. | |
9227 | * ch-tasking.c (build_signal_decl): Finish coding. | |
9228 | * ch-tree.h: Add macro to save a SIGNAL's destination | |
9229 | process name in an id node. Add/change prototype. | |
9230 | ||
9231 | Mon Jun 14 18:17:13 1993 Bill Cox (bill@rtl.cygnus.com) | |
9232 | ||
9233 | * ch-actions.c (lang_init): Build instance_type_node. | |
9234 | Change `this' to a runtime function call. | |
9235 | * ch-grant.c (do_seize): Generate tasking-code | |
9236 | variable for seized process. | |
9237 | * ch-lex.l (equal_number): Also accept synonym | |
9238 | name for numeric value. | |
9239 | * ch-parse.y (primval): Add process-related | |
9240 | function calls. | |
9241 | (signaldef, etc.): Rough draft of SIGNAL definition | |
9242 | processing. | |
9243 | (stopaction): Call runtime function. | |
9244 | (pdef): Pop symbol level if ending a process | |
9245 | and there were parameters. | |
9246 | (primval): Call `whoami' runtime function for THIS. | |
9247 | * ch-tasking.c (build_process_header): Be sure | |
9248 | to define the tasking enum, if it hasn't already | |
9249 | been done. Only call shadow_record_fields if there | |
9250 | are parameters. | |
9251 | (build_tasking_enum): Only call start_enum *after* | |
9252 | checking the already_built flag. | |
9253 | (build_copy_number, get_tasking_code, | |
9254 | build_gen_code, build_gen_inst, build_get_ptype, | |
9255 | build_proc_type): New functions for process-related | |
9256 | builtins. | |
9257 | (build_signal_decl): New function for SIGNAL | |
9258 | declaration - rough draft. | |
9259 | * ch-tree.def (INSTANCE_TYPE): new tree code. | |
9260 | * ch-tree.h: New prototypes. Defines for instance | |
9261 | type field access. | |
9262 | ||
9263 | Sat Jun 12 21:15:02 1993 Bill Cox (bill@rtl.cygnus.com) | |
9264 | ||
9265 | Get start-process action working: | |
9266 | * ch-actions.c (adjust_proc_param): new function, | |
9267 | extracted from build_chill_function_call and called | |
9268 | from there. | |
9269 | * ch-tree.h, ch-grant.c (do_seize): Add process_type | |
9270 | parameter to add_taskstuff_to_list call, prototype. | |
9271 | * ch-parse.y (start_parlist): New non-terminal for | |
9272 | START action. | |
9273 | (startaction): Reference start_parlist, check for | |
9274 | integer-valued process copy-number. | |
9275 | (optstartset): Check instance parameter - must be | |
9276 | an INSTANCE_TYPE location. | |
9277 | * ch-tasking.c (generate_tasking_code_variable): New | |
9278 | function, extracted from tasking_setup and called | |
9279 | from there. Also called from build_process_header. | |
9280 | (build_process_header): Add process_type parameter | |
9281 | to add_taskstuff_to_list call. Remove incrementing | |
9282 | of process_type (moved into generate_tasking_code | |
9283 | _variable). | |
9284 | (build_chill_start_process): Complete rewrite. | |
9285 | (add_tasking_stuff_to_list): Add stuffnumber parameter | |
9286 | putit on the list. | |
9287 | ||
9288 | Sat Jun 12 06:08:09 1993 Bill Cox (bill@rtl.cygnus.com) | |
9289 | ||
9290 | Getting processes compiled, initialized and granted: | |
9291 | * .cvsignore: Add chill file. | |
9292 | * c-decl.c (shadow_record_fields): Allow PARM_DECL | |
9293 | as well as VAR_DECL. | |
9294 | * ch-actions.c (lang_init): Move build of | |
9295 | initializer_type into ch-tasking.c. Change | |
9296 | definition of THIS to function call. | |
9297 | * ch-decl.c (massage_param_node): Add comments. | |
9298 | (start_chill_function): Set nested flag in | |
9299 | start_function call based upon current_function_decl, | |
9300 | not as constant zero. | |
9301 | * ch-grant.c (decode_decl): lotsa code by Wilfried to | |
9302 | GRANT process decls. | |
9303 | (finish_chill_module): Completely rewrote interface | |
9304 | to runtime. | |
9305 | * ch-lex.l (THIS): Just return the token code. | |
9306 | * ch-parse: Add THIS token. | |
9307 | (processpar, processparlist): New rules, to collect | |
9308 | process parameters. | |
9309 | (pdef): Add code to pop the process' WITH scope. | |
9310 | (procedure): Set process WITH scope flag to zero. | |
9311 | (process): Move most code into build_process_header. | |
9312 | (primval): Output function call for THIS. | |
9313 | * ch-tasking.c (add_taskstuff_to_list, build_tasking_enum, | |
9314 | make_process_struct, build_process_header): New code | |
9315 | to handle process translation and interface to runtime. | |
9316 | * ch-tree.h: New prototypes. | |
9317 | ||
9318 | Thu Jun 10 13:32:51 1993 Bill Cox (bill@rtl.cygnus.com) | |
9319 | ||
9320 | * Makefile.in: Change ch-process.c to ch-tasking.c. | |
9321 | A delayed part of the last change.. | |
9322 | ||
9323 | Thu Jun 10 11:14:59 1993 Bill Cox (bill@rtl.cygnus.com) | |
9324 | ||
9325 | * .cvsignore: Add 'chill' file. | |
9326 | * ch-actions.c (lang_init): Add new runtime function | |
9327 | __register_process. | |
9328 | * ch-decl.c (push_chill_extern_function): Add is_process | |
9329 | input flag, use it. | |
9330 | * ch-grant.c (decode_decl): Recognize a process for | |
9331 | granting. | |
9332 | (do_seize): Put seized processes onto the tasking_list. | |
9333 | (chill_finish_module_code): Declare init_list entry, | |
9334 | link it onto the init_list. Call tasking_setup and | |
9335 | tasking_registry. | |
9336 | * ch-lex.l: Make tasking-related variables global, | |
9337 | delete their initialized flags. | |
9338 | * ch-parse.y: Add is_process flag to push_chill_extern_function | |
9339 | calls. Put processes onto the tasking_list. | |
9340 | * ch-process.c: Renamed to ch-tasking.c. | |
9341 | * ch-tasking.h: New file. | |
9342 | * ch-tree.h: New, adjusted prototypes. | |
9343 | ||
9344 | Wed Jun 9 10:59:27 1993 Wilfried Moser (moser@deneb.cygnus.com) | |
9345 | ||
9346 | * chill: This file is replaced by chill.in and will be | |
9347 | generated during 'make' and 'make install'. This script | |
9348 | now finds the correct chillrt0.o and libchill.a during | |
9349 | linking. | |
9350 | * chill.in: New file that replaced chill. | |
9351 | * Makefile.in: Add rules to make chill out of chill.in. | |
9352 | ||
9353 | Wed Jun 9 09:03:55 1993 Bill Cox (bill@rtl.cygnus.com) | |
9354 | ||
9355 | * .cvsignore: Add gfloat.h and xlimits.h. | |
9356 | * ch-actions.c (lang_init): Create new type for module- | |
9357 | level initializer list entry. | |
9358 | * ch-grant.c (chill_start_module_code): Rename actual | |
9359 | module-level code to just the modulename, which is | |
9360 | *not* public. | |
9361 | (chill_finish_module_code): Allocate space for initializer | |
9362 | list entry, build real initializer function, which puts | |
9363 | the list entry on the runtime list. Name the init function | |
9364 | as the module's constructor function. | |
9365 | * ch-tree.h (build_init_struct): Add prototype. | |
9366 | * ch-typeck.c (build_init_struct): Add function, called | |
9367 | from lang_init. | |
9368 | Note: these changes require a new devo/chillrt/chillrt0.c. | |
9369 | ||
9370 | Thu Jun 3 17:04:01 1993 Bill Cox (bill@rtl.cygnus.com) | |
9371 | ||
9372 | * c-decl.c: Fix comment. | |
9373 | * ch-actions.c, ch-grant.c: Standardize front end: | |
9374 | #define first, etc. Add comments. | |
9375 | (lang_init): Delete unused flag, code for inapplicable | |
9376 | gen-decls option. (lang_decode_option): Delete | |
9377 | gen-decls option, add grant-only option, flag. | |
9378 | * ch-convert.c, ch-decl.c, ch-except.c, ch-tree.c, | |
9379 | ch-typeck.c: Add form feed after front end. | |
9380 | * ch-expr.c: Standardize testing for error_mark node. | |
9381 | * ch-lang.c: Remove unused deep_fold function. | |
9382 | ||
9383 | Fri May 21 11:04:22 1993 Bill Cox (bill@rtl.cygnus.com) | |
9384 | ||
9385 | * c-typeck.c (build_binary_op, build_unary_op): | |
9386 | Recognize BOOLEAN_TYPE. | |
9387 | * ch-actions.c (build_chill_unary_op): Remove | |
9388 | some crufty work-arounds. | |
9389 | ||
9390 | Thu May 20 19:03:48 1993 Per Bothner (bothner@deneb.cygnus.com) | |
9391 | ||
9392 | * ch-grant.c (decode_constant): If the granted value is a | |
9393 | cast, make sure to emit an appropriate expression conversion. | |
9394 | ||
9395 | Thu May 20 16:35:35 1993 Bill Cox (bill@rtl.cygnus.com) | |
9396 | ||
9397 | * ch-lang.c (build_chill_range_type): Initialize the | |
9398 | precision variable. Double-negative ranges work now. | |
9399 | ||
9400 | Thu May 20 11:24:42 1993 Bill Cox (bill@rtl.cygnus.com) | |
9401 | ||
9402 | * ch-actions.c (build_unary_op): Compound a wretched | |
9403 | hack which hides a BOOLEAN_TYPE from the underlying | |
9404 | C code. | |
9405 | ||
9406 | Wed May 19 16:45:54 1993 Bill Cox (bill@rtl.cygnus.com) | |
9407 | ||
9408 | * ch-actions.c: (CH_SINGLETON_SET): Add function, call it | |
9409 | from chill_comptypes. (build_chill_unary_op): Give | |
9410 | better name to unsigned flag. | |
9411 | * ch-expr.c (chill_expand_assignment): Correct calling | |
9412 | sequence for setpowersetbits runtime routine. | |
9413 | * ch-grant.c (raw_decode_mode): Give better name to | |
9414 | unsigned flag. (decode_constant): Check for null | |
9415 | 'val' ptr, avoid seg fault. | |
9416 | * ch-lex.l (convert_number): Give better name to | |
9417 | unsigned flag. (convert_bitstring): Move increment | |
9418 | of bl counter to emphasize that it increments once | |
9419 | per loop. | |
9420 | * ch-tree.h: (NO_SOURCE_UNARY_MINUS): Define new flag. | |
9421 | * ch-typeck.c (chill_expand_tuple): Build BOOLEAN | |
9422 | constructor if given a singleton set constructor. | |
9423 | ||
9424 | Thu May 13 17:03:04 1993 Bill Cox (bill@rtl.cygnus.com) | |
9425 | ||
9426 | * c-decl.c (pushdecl): Complete May 9 change. | |
9427 | * ch-actions.c (build_chill_unary_op): Set the | |
9428 | TREE_UNSIGNED flag FALSE for raw_decode_mode. | |
9429 | * ch-grant.c (grant_array_type): Correct the May 12 | |
9430 | check for circularity. | |
9431 | (raw_decode_mode): Use TREE_UNSIGNED flag to | |
9432 | control range's printing. | |
9433 | (chill_grant): Remove useless, bogus code. | |
9434 | * ch-lex.l (convert_number): Set the TREE_UNSIGNED | |
9435 | flag TRUE for raw_decode_mode. | |
9436 | ||
9437 | Wed May 12 18:04:01 1993 Bill Cox (bill@rtl.cygnus.com) | |
9438 | ||
9439 | * ch-decl.c (push_syndecls, push_modedef): Comment | |
9440 | reminders to check for circular definitions. Later! | |
9441 | * ch-grant.c (grant_array_type, decode_decl): Prevent | |
9442 | circular definitions in the use of the array's | |
9443 | type name. | |
9444 | ||
9445 | Wed May 12 16:06:13 1993 Bill Cox (bill@rtl.cygnus.com) | |
9446 | ||
9447 | * ch-grant.c (grant_array_type): If array_type has | |
9448 | a name, just use it. | |
9449 | * ch-lang.c (build_chill_range_type): Don't force | |
9450 | unsigned ranges on output. | |
9451 | * expr.c (store_constructor): Preclude seg fault. | |
9452 | ||
9453 | Wed May 12 07:49:00 1993 Bill Cox (bill@rtl.cygnus.com) | |
9454 | ||
9455 | * ch-actions.c (fold_set_*): Correct tests for | |
9456 | range set-constructor list entries. | |
9457 | (lang_init): Define setpowersetbits function. | |
9458 | * expr.c (store_constructor): Handle non-constant | |
9459 | set constructors. | |
9460 | ||
9461 | Tue May 11 18:25:40 1993 Per Bothner (bothner@cygnus.com) | |
9462 | ||
9463 | * ch-lang.c (build_chill_range_type): If the parent type | |
9464 | is unknown, and the endpoints of the range are integer | |
9465 | constants, use the smallest suitable integer type. | |
9466 | * ch-lang.c (build_chill_range_type): Remove kludge | |
9467 | for dealing with char ranges. | |
9468 | ||
9469 | Tue May 11 15:24:31 1993 Bill Cox (bill@rtl.cygnus.com) | |
9470 | ||
9471 | * ch-actions.c (build_chill_repetition_op): Build a | |
9472 | range-type set constructor if there's only one value | |
9473 | in the repeated constructor. | |
9474 | (fold_set_*): Abort if range value seen, for now. | |
9475 | * expr.c (store_constructor): Handle range-type by | |
9476 | storing bytes rather than bits as much as possible. | |
9477 | ||
9478 | Mon May 10 18:45:18 1993 Bill Cox (bill@rtl.cygnus.com) | |
9479 | ||
9480 | * ch-actions.c (invalid{left right}_operand): Add | |
9481 | handlers for REPLICATE_EXPR. | |
9482 | (build_chill_repetition_op): Build constructor list | |
9483 | for repetition of bitstring. | |
9484 | * ch-parse.y (call): Recognize more trees as arrays, | |
9485 | to avoid error msg. | |
9486 | (operand5): Add count, string temporaries, use them. | |
9487 | ||
9488 | Mon May 10 16:49:08 1993 Per Bothner (bothner@cygnus.com) | |
9489 | ||
9490 | * ch-grant.c (seize_implied_names): Fix code that assumed | |
9491 | a FUNCTION_DECL (or PROCESS_DECL) to work on types instead. | |
9492 | * ch-grant.c (generate_set, grant_parent_of_enum, | |
9493 | grant_parent_enum): Removed unused functions. | |
9494 | * ch-grant.c (raw_decode_mode): Remove commented-out code. | |
9495 | ||
9496 | Mon May 10 10:54:57 1993 Bill Cox (bill@rtl.cygnus.com) | |
9497 | ||
9498 | * ch-grant.c (do_seize, seize_implied_types): Move | |
9499 | result and parameter processing to proper place. | |
9500 | (chill_seize): Mark unseized identifier with | |
9501 | error_mark_node, to avoid excessive errors. | |
9502 | * ch-parse.y (call): Check for ERROR_MARK before | |
9503 | reporting an error. | |
9504 | ||
9505 | Sun May 9 17:21:24 1993 Bill Cox (bill@rtl.cygnus.com) | |
9506 | ||
9507 | * c-decl.c (pushdecl): If a strongly-visible name is | |
9508 | seen, in conflict with a weakly-visible name, take | |
9509 | the strongly-visible one and don't complain. | |
9510 | * ch-actions.c (chill_comptypes): Allow chain of ref- | |
9511 | erence types > 1 in length. | |
9512 | * ch-grant.c: Turn disguised for-loops into actual | |
9513 | ones, so continue works. Delete redundant code in | |
9514 | seize_implied_names. Reindent. | |
9515 | * expmed.c (store_split_bit_field): Disable abort for | |
9516 | CHILL. | |
9517 | ||
9518 | Sun May 9 17:11:33 1993 Per Bothner (bothner@cygnus.com) | |
9519 | ||
9520 | * ch-convert.c (convert): Move handling of SET_TYPE until | |
9521 | after we've handled de-referencing and such like. | |
9522 | * ch-grant.c (grant_array_type): Simplify; remove (now-) | |
9523 | bogus call to generate_set. | |
9524 | * ch-grant.c (get_type): Remove obsolete stuff. | |
9525 | ||
9526 | Fri May 7 10:30:34 1993 Bill Cox (bill@rtl.cygnus.com) | |
9527 | ||
9528 | * ch-actions.c (lang_init): Add definition of psslice | |
9529 | runtime routine. (build_chill_binary_op_1, | |
9530 | build_chill_binary_op): Have result type of | |
9531 | TRUTH_ANDIF_EXPR be boolean, not integer. Some | |
9532 | reindenting. | |
9533 | * ch-convert.c (convert): Use consistent notation | |
9534 | for expression. | |
9535 | * ch-parse.y: Add front-end pass count. (locdec): | |
9536 | Add syntax for other BASED declaration. | |
9537 | * ch-tree.c: Fix comment. | |
9538 | * ch-typeck.c (build_chill_slice): Implement a runtime | |
9539 | call for bitstring slices. (build_chill_cast): | |
9540 | Add code for BITS_BIG_ENDIAN bit loop. | |
9541 | (chill_expand_tuple): Don't pass ref type to | |
9542 | digest_init, only underlying type. | |
9543 | ||
9544 | Thu May 6 12:52:14 1993 Per Bothner (bothner@cygnus.com) | |
9545 | ||
9546 | * ch-typeck.c (build_chill_cast): type_for_size takes | |
9547 | a size in bits, not bytes. | |
9548 | ||
9549 | Wed May 5 19:02:55 1993 Bill Cox (bill@rtl.cygnus.com) | |
9550 | ||
9551 | * ch-actions.c: Break out separate routines for set | |
9552 | folding, handle ranges in set_fold_eq and set_fold_ne. | |
9553 | Fix folding as req'd by TTC test. | |
9554 | * ch-grant.c (raw_decode_more): Check for content match | |
9555 | to decide output mode, not pointer identity. | |
9556 | * ch-typeck.c: Add cross-reference comment. | |
9557 | * varasm.c (emit_set_data): Clarify parameter name. | |
9558 | Handle INTEGER_CST as set constructor. | |
9559 | (output_constant): Handle CONSTRUCTOR node for sets. | |
9560 | Apparently forgot to actually 'checkin' this one last | |
9561 | time. | |
9562 | ||
9563 | Wed May 5 12:23:58 1993 Jim Wilson (wilson@sphagnum.cygnus.com) | |
9564 | ||
9565 | * ch-parse.y, ch-tree.h (get_current_declspecs): Obsolete; deleted. | |
9566 | ||
9567 | Tue May 4 15:47:44 1993 Bill Cox (bill@rtl.cygnus.com) | |
9568 | ||
9569 | * ch-actions.c (fold_set_expr): new function to fold | |
9570 | set expressions. Calls inserted into | |
9571 | build_chill_binary_op and build_chill_unary_op. | |
9572 | (build_chill_repetition_op): New function, called | |
9573 | from build_chill_function_call. | |
9574 | * ch-expr.c (chill_expand_assignment): Call | |
9575 | build_chill_repetition_op. | |
9576 | * ch-grant.c (decode_constant): Comment out deep_fold | |
9577 | call. The earlier fold_set_expr calls should make | |
9578 | this one unnecessary. Prevent seg fault when name | |
9579 | of structure field is NULL. Standardize for loop. | |
9580 | * ch-parse.y: Fix comments. | |
9581 | (operand5): build a REPLICATE_EXPR. Don't call | |
9582 | build_repetition_op until we have a type. | |
9583 | * ch-tree.def (REPLICATE_EXPR): Define tree-code. | |
9584 | * ch-tree.h (build_chill_repetiton_op): Fix proto. | |
9585 | * ch-typeck.c (chill_expand_result): Call | |
9586 | build_chill_repetition_op if needed. | |
9587 | * varasm.c (emit_set_data): Clarify parameter name. | |
9588 | Handle INTEGER_CST as set constructor. | |
9589 | (output_constant): Handle CONSTRUCTOR node for sets. | |
9590 | ||
9591 | Mon May 3 13:06:47 1993 Per Bothner (bothner@cygnus.com) | |
9592 | ||
9593 | * ch-typeck.c (build_chill_cast): Allow more liberality to | |
9594 | casting: Any discrete type to any non-discrete type that is the | |
9595 | same size as some other discrete type (and vice versa). | |
9596 | * stor-layout.c (layout_type, case SET_TYPE): If the number | |
9597 | of bits will fit in a char or short, only use that many bits. | |
9598 | ||
9599 | Mon May 3 08:22:45 1993 Bill Cox (bill@rtl.cygnus.com) | |
9600 | ||
9601 | * ch-grant.c (decode_constant): Revert interpretation | |
9602 | of SET_TYPE as integer. | |
9603 | ||
9604 | Mon May 3 07:55:46 1993 Bill Cox (bill@rtl.cygnus.com) | |
9605 | ||
9606 | * chparse.y (casealternative): Allow empty action list. | |
9607 | ||
9608 | Sat May 1 15:07:01 1993 Bill Cox (bill@rtl.cygnus.com) | |
9609 | ||
9610 | * expr.c (expand_expr): Add parameter to __inpowerset | |
9611 | runtime call, to match new runtime. | |
9612 | ||
9613 | Sat May 1 14:55:58 1993 Bill Cox (bill@rtl.cygnus.com) | |
9614 | ||
9615 | * ch-actions.c: Cleanup from -Wall. Reindent. | |
9616 | Redefine __inpowerset to take a 'minval' parameter | |
9617 | that matches the new runtime. Added comments. | |
9618 | * ch-expr.c (chill_handle_case_label): Handle | |
9619 | NULL or ERROR trees. | |
9620 | * ch-grant.c (get_type): Survive bogus type params, | |
9621 | return empty string. | |
9622 | * ch-tree.c (build_powerset_type): Diagnose powerset | |
9623 | of non-discrete type. | |
9624 | * ch-typeck.c (discrete_type_p): Reindent. | |
9625 | ||
9626 | Fri Apr 30 16:08:54 1993 Bill Cox (bill@rtl.cygnus.com) | |
9627 | ||
9628 | * ch-grant.c (decode_constant): Interpret SET_TYPE | |
9629 | with integer value, so we output the same stuff as | |
9630 | the user gave us. | |
9631 | * ch-parse.y: Fix indentation. | |
9632 | ||
9633 | Fri Apr 30 09:34:03 1993 Bill Cox (bill@rtl.cygnus.com) | |
9634 | ||
9635 | * ch-actions.c (chill_comptypes): Simplify, correct | |
9636 | integer subrange analysis. | |
9637 | * ch-grant.c (seize_implied_names): Add handling for | |
9638 | PROCESS_DECL, PROCESS_TYPE. | |
9639 | (do_seize): Call seize_implied_names for process, | |
9640 | procedure parameters and return value. | |
9641 | * ch-lang.c (finish_chill_enum): Canonicalize enum | |
9642 | types. | |
9643 | * ch-tree.def (PROCESS_TYPE): Add. | |
9644 | * ch-typeck.c (valid_array_index): Call chill_comptypes | |
9645 | rather than broken macro CH_COMPATIBLE. The logic | |
9646 | in chill_comptypes will get moved to the macro later. | |
9647 | ||
9648 | Thu Apr 29 13:07:55 1993 Bill Cox (bill@rtl.cygnus.com) | |
9649 | ||
9650 | * ch-actions.c (build_chill_lower, build_chill_upper): | |
9651 | Handle enumeration types. | |
9652 | (build_chill_binary_op): Call chill_comptypes | |
9653 | to error check IN arguments. Change error | |
9654 | messages to say 'mode' rather than 'type'. Cast | |
9655 | tree codes when build is called. | |
9656 | * ch-expr.c (chill_expand_array_assignment): Call | |
9657 | chill_comptypes to validate assignment args. | |
9658 | * ch-lex.l: Add newline for readability. | |
9659 | ||
9660 | Wed Apr 28 15:22:18 1993 Bill Cox (bill@rtl.cygnus.com) | |
9661 | ||
9662 | * Makefile.in (ch-hash.h): Add rule to build this | |
9663 | from chill.gperf. Not yet used. | |
9664 | * ch-actions.c (build_chill_binary_op): Allow enum | |
9665 | subranges on RHS of IN operator. | |
9666 | * ch-grant.c (decode_constant): Recognize | |
9667 | error_mark_node as empty powerset initializer, | |
9668 | re-indent a bit. | |
9669 | * ch-lang.c (deep_fold): Return error_mark_node for | |
9670 | NULL input pointer or incoming error_mark_node. | |
9671 | * ch-lex.l: Ignore PACK and UNPACK keywords. Return | |
9672 | POS, ROW, and STEP as user-defined names. | |
9673 | (name_or_type): New function for above. | |
9674 | * ch-parse.y: Move token defs for following, comment | |
9675 | them separately: NOPACK, PACK, POS, ROW, STEP | |
9676 | * varasm.c (output_constant): Check for VAR_DECLs in | |
9677 | records & unions, like arrays. Don't abort. | |
9678 | ||
9679 | Tue Apr 27 17:42:29 1993 Bill Cox (bill@rtl.cygnus.com) | |
9680 | ||
9681 | * ch-actions.c (CH_PROMOTING_INTEGER_TYPE_P): | |
9682 | rewrite for generality. | |
9683 | * ch-decl.c (grok_chill_variantdefs): Use chill | |
9684 | comptypes, so that subrange compatibility is ok. | |
9685 | (start_chill_function): Use lookup_name(), not | |
9686 | IDENTIFIER_GLOBAL_VALUE, for full generality. | |
9687 | * ch-expr.c (chill_expand_assignment): Need to | |
9688 | handle non-NOP modify codes here, since C code | |
9689 | in build_modify_expr won't understand powersets, | |
9690 | etc. | |
9691 | ||
9692 | Tue Apr 27 09:05:31 1993 Bill Cox (bill@rtl.cygnus.com) | |
9693 | ||
9694 | * ch-actions.c (build_max_min): Assign the set's | |
9695 | base type to the function's return type. | |
9696 | (build_chill_function_call): Before complaining | |
9697 | about parameter mismatches, convert certain actual | |
9698 | parameters. | |
9699 | * ch-expr.c (chill_expand_assignment): Before | |
9700 | complaining about LHS/RHS mismatches, convert | |
9701 | certain RHS expressions. | |
9702 | * ch-grant.c (decode_constant): Deep-fold incoming | |
9703 | expression, so we can output it. | |
9704 | * ch-lang.c (deep_const_expr): New function, called | |
9705 | from const_expr, actually traverses the tree | |
9706 | looking at its leaves for 'const'ness. | |
9707 | (deep_fold): New function to fold already-built | |
9708 | trees. | |
9709 | * ch-parse.y (case_expr): Add whitespace. | |
9710 | * ch-tree.h: Add prototype for deep_fold. | |
9711 | ||
9712 | Tue Apr 27 07:21:43 1993 Bill Cox (bill@rtl.cygnus.com) | |
9713 | ||
9714 | * ch-actions.c (chill_comptypes): Allow enumeration | |
9715 | subranges as compatible with the parent enum. | |
9716 | (build_chill_function_call): Before checking type | |
9717 | compatibility, use convert on typeless expressions, | |
9718 | like constructors. | |
9719 | * ch-expr.c (chill_expand_assignment): Before | |
9720 | checking type compatibility, use convert on | |
9721 | typeless expressions, like constructors. | |
9722 | * ch-lex.l: Add comment. | |
9723 | ||
9724 | Thu Apr 22 17:23:25 1993 Bill Cox (bill@rtl.cygnus.com) | |
9725 | ||
9726 | * .cvsignore: Add genopinit, insn-opinit.c | |
9727 | * c-common.c (binary_op_error): Prevent seg fault on | |
9728 | unknown node code. | |
9729 | * ch-typeck.c (build_chill_array_ref): Remove old | |
9730 | lower-bound-of-array-index-nonzero code. | |
9731 | * expr.c (expand-expr, get_inner_reference): Remove | |
9732 | old lower-bound-of-array-index-nonzero code. | |
9733 | ||
9734 | Thu Apr 22 16:01:09 1993 Bill Cox (bill@rtl.cygnus.com) | |
9735 | ||
9736 | * c-decl.c (shadow_record_fields): Add pushlevel for | |
9737 | each PROCESS parameter, too. | |
9738 | * ch-process.c (make_process_struct): First working | |
9739 | version. | |
9740 | * ch-tree.def: Add PROCESS_DECL definition. | |
9741 | * ch-tree.h: Add CH_IS_EVENT_MODE macro, change proto | |
9742 | for make_process_struct. | |
9743 | * expr.c (expand_expr): Add references to | |
9744 | PROCESS_DECL. Add #include of ch-tree.h. | |
9745 | * tree.c (decl_function_context): Add check for a | |
9746 | PROCESS_DECL, and #include for ch-tree.h. | |
9747 | ||
9748 | Thu Apr 22 09:25:08 1993 Bill Cox (bill@rtl.cygnus.com) | |
9749 | ||
9750 | * expr.c (expand_expr): Add missing prototypes, and | |
9751 | parameters to expand_expr call. | |
9752 | ||
9753 | Wed Apr 21 16:17:07 1993 Bill Cox (bill@rtl.cygnus.com) | |
9754 | ||
9755 | * c-decl.c (shadow_record_fields): Add ability to | |
9756 | handle pointers to records/unions. For PROCESS | |
9757 | compilation. | |
9758 | ||
9759 | Thu Apr 22 09:25:08 1993 Bill Cox (bill@rtl.cygnus.com) | |
9760 | ||
9761 | * ch-expr.c (chill_expand_expr): Add missing | |
9762 | parameters to expand_expr calls. Some trivial | |
9763 | reformatting for readability. | |
9764 | ||
9765 | Wed Apr 21 16:17:07 1993 Bill Cox (bill@rtl.cygnus.com) | |
9766 | ||
9767 | * ch-lex.l: Make send_*_prio externally visible, | |
9768 | default them to zero, eliminate the init flags. | |
9769 | Same for process_type. | |
9770 | ||
9771 | Sat Apr 17 10:59:50 1993 Bill Cox (bill@rtl.cygnus.com) | |
9772 | ||
9773 | * ch-actions.c (build_chill_binary_op): Build a | |
9774 | BIT_FIELD_REF tree for IN_EXPR operations. | |
9775 | * ch-typeck.c (build_chill_array_ref): Build a | |
9776 | BIT_FIELD_REF tree for access to packed array of | |
9777 | bits. | |
9778 | ||
9779 | Fri Apr 16 12:33:34 1993 Bill Cox (bill@rtl.cygnus.com) | |
9780 | ||
9781 | * ch-parse.y (EXIT action): Improve error checking, | |
9782 | messages. | |
9783 | * ch-typeck.c (chill_expand_tuple): Remove code to | |
9784 | pack sets (moved to varasm.c long ago). | |
9785 | * varasm.c (unpack_set_constructor): Rename size to | |
9786 | bit_size, since 'size' always means bytes. | |
9787 | (pack_set_constructor): Rename size to wd_size, | |
9788 | since 'size' always means bytes. | |
9789 | (output_constant): Set size to zero, so that extra | |
9790 | bytes of padding aren't output after set constants. | |
9791 | ||
9792 | Fri Apr 16 11:57:50 1993 Bill Cox (bill@rtl.cygnus.com) | |
9793 | ||
9794 | * .cvsignore: Add .gdbinit. | |
9795 | * ch-decl.c (start_chill_bindings): Add function name | |
9796 | to binding contour's exit_label for EXIT stmt. | |
9797 | * ch-parse.y (EXIT action): Call lookup_name to avoid | |
9798 | inserting label for function name. Also check | |
9799 | IDENTIFIER_LABEL_VALUE for label's decl. | |
9800 | (caseaction, beginendblock, ifaction): Call | |
9801 | stamp_nesting_label to put action's label into | |
9802 | contour for EXIT to find. | |
9803 | ||
9804 | Thu Apr 15 17:17:05 1993 Bill Cox (bill@rtl.cygnus.com) | |
9805 | ||
9806 | * expr.c (expand_expr): Unify, clean up handling of | |
9807 | IN_EXPR, and handling of bit-string element ref. | |
9808 | Now, all goes through IN_EXPR handler. | |
9809 | * stmt.c (stamp_nesting_label, expand_exit_labelled): | |
9810 | New functions, which allow either label or | |
9811 | function decls. | |
9812 | ||
9813 | Thu Apr 15 17:17:05 1993 Bill Cox (bill@rtl.cygnus.com) | |
9814 | ||
9815 | * ch-actions.c ch-actions.h ch-convert.c ch-decl.c ch-except.c | |
9816 | ch-expr.c ch-grant.c ch-inout.c ch-lang.c ch-lex.h ch-lex.l | |
9817 | ch-loop.c ch-parse.y ch-process.c ch-tree.c ch-tree.def | |
9818 | ch-tree.h ch-typeck.c: Add 1993 copyright, fix titles. | |
9819 | * ch-actions.c (build_chill_binary_op): Move runtime function call | |
9820 | to expr.c. Just build a tree here. Clean up error checking. | |
9821 | * ch-convert.c (convert): Simply store a type into an expression if | |
9822 | TREE_TYPE (expr) == NULL. Prevent error if an enum is to be | |
9823 | converted to a set of such enums. | |
9824 | * ch-loop.c (init_loop_counter): Restore error msg for undeclared | |
9825 | variable if no local scope is to be created for the loop. | |
9826 | * ch-typeck.c (build_chill_array_ref): Turn bit array ref into IN_EXPR, | |
9827 | remove redundant code which wasn't ever called. | |
9828 | ||
9829 | Wed Apr 14 07:54:00 1993 Bill Cox (bill@rtl.cygnus.com) | |
9830 | ||
9831 | * .cvsignore (y.tab.c) : Add to list. | |
9832 | * ch-convert.c (convert): Check pointers better - avoid NULL reference. | |
9833 | Remove redundant check for ERROR_MARK - already checked earlier. | |
9834 | * ch-parse.y (get_type_of): Add parameter checks for NULL ptrs and | |
9835 | error_mark_node. | |
9836 | ||
9837 | Tue Apr 13 16:00:37 1993 Per Bothner (bothner@cygnus.com) | |
9838 | ||
9839 | * c-decl.c (start_function): If there is a previous | |
9840 | function declaration of the same name, steal its RTL. | |
9841 | This is a kludge needed for forward declarations of | |
9842 | nested functions. | |
9843 | * ch-decl.c (push_chill_extern_function), ch-tree.h: New | |
9844 | function, for external and seized function declarations. | |
9845 | Make sure to use permanent obstack. | |
9846 | * ch-parse.y (quasi_pdef, extprocedure): Use new function. | |
9847 | ||
9848 | * ch-grant.c (chill_finish_module_code): Since module | |
9849 | function is no longer visible,, can't get it using | |
9850 | lookup_name(). Use current_function_decl instead. | |
9851 | ||
9852 | * ch-decl.c (build_chill_function_type): Add void_type_node | |
9853 | to end of parameter types list. | |
9854 | ||
9855 | * ch-grant.c (chill_start_module_code): Make sure module | |
9856 | function isn't visible (and hence isn't granted). | |
9857 | ||
9858 | Tue Apr 13 15:48:25 1993 Bill Cox (bill@rtl.cygnus.com) | |
9859 | ||
9860 | * ch-loop.c (begin_chill_loop): Also stamp the user's loop name into | |
9861 | current contour for DO FOR EVER loops. | |
9862 | ||
9863 | Tue Apr 13 14:37:39 1993 Bill Cox (bill@rtl.cygnus.com) | |
9864 | ||
9865 | * ch-parse.y (actionstatement): Add error rule. Delete | |
9866 | POP_UNUSED_ON_CONTEXT. Add comments about label name usage. | |
9867 | (nohandleraction): Better error check in EXIT processing. | |
9868 | (optexprlist): Comment out make_function_rtl call. | |
9869 | (seizestatement): Change error to warning. | |
9870 | ||
9871 | Tue Apr 13 08:29:31 1993 Bill Cox (bill@rtl.cygnus.com) | |
9872 | ||
9873 | * ch-grant.c (raw_decode_mode): Supply missing parameter in get_type | |
9874 | call. | |
9875 | * ch-loop.c (begin_chill_loop): Take loop label as parameter. Stamp | |
9876 | its name into the current contour's exit_label, for EXIT to use. | |
9877 | * ch-parse.y: (actionlabel): Save label tree in global variable. | |
9878 | (actionstatement): Clear label to NULL when action is finished. | |
9879 | (handlerstatement, nohandlerstatement): Split actions into | |
9880 | categories which do/don't permit exception handlers. | |
9881 | (exitaction): Move code into nohandleraction, make it work. | |
9882 | (doaction): Pass (possibly NULL) label tree to begin_chill_loop. | |
9883 | * ch-tree.h: Add parameter to begin_chill_tree prototype. | |
9884 | * stmt.c (stamp_nesting_label, expand_exit_labelled): Add functions. | |
9885 | Note: This implementation of EXIT only exits from loops, not yet | |
9886 | from other bracketted statements. | |
9887 | ||
9888 | Mon Apr 12 13:41:55 1993 Per Bothner (bothner@rtl.cygnus.com) | |
9889 | ||
9890 | * ch-grant.c (chill_grant): Remove obsolete code. | |
9891 | ||
9892 | * ch-decl.c (push_synmode, push_newmode): Merged to yield ... | |
9893 | * ch-decl.c (push_modedef): ... w/ slightly different interface. | |
9894 | * ch-tree.h, ch-process.c (make_process_struct), ch-parse.y | |
9895 | (modedefinition): Use new push_modedef function. | |
9896 | * ch-parse.y (modedefinition): Don't depend on inherited | |
9897 | attributes (- implemented incorrectly!): Use a global variable | |
9898 | parsing_newmode to distinguish synmode and newmode. | |
9899 | ||
9900 | Mon Apr 12 08:10:34 1993 Bill Cox (bill@rtl.cygnus.com) | |
9901 | ||
9902 | * ch-loop.c: Diffuse cleanup after big functional changes. | |
9903 | * ch-parse.y: Eliminate temporary variables, now unnecessary. Use | |
9904 | parse-time stack instead. | |
9905 | * ch-tree.h: Change build_chill_iterator prototype. | |
9906 | ||
9907 | Sun Apr 11 15:50:33 1993 Bill Cox (bill@rtl.cygnus.com) | |
9908 | ||
9909 | * ch-convert.c (convert): Replace an ERROR_MARK type - from a | |
9910 | untyped_expr with the given type. Move chill_expand_case_expr | |
9911 | call inside chill_expand_expr. | |
9912 | * ch-expr.c, ch-tree.h, ch-typeck.c (chill_handle_case_default, | |
9913 | chill_handle_case_label, chill_expand_case_expr): Move to ch-expr.c | |
9914 | from ch-typeck.c. | |
9915 | * ch-loop.c: Major reorganization to support multiple iterators in | |
9916 | DO FOR loop, very little new code, just a re-org. | |
9917 | * ch-parse.y (iterationlist): Add handling for multiple loop iterators. | |
9918 | ||
9919 | Sat Apr 10 14:40:12 1993 Bill Cox (bill@rtl.cygnus.com) | |
9920 | ||
9921 | * ch-actions.c (build_chill_lower, build_chill_upper): Clean up. | |
9922 | * ch-grant.c (chill_grant): Avoid making strange SYNMODE for enum | |
9923 | member. | |
9924 | * ch-lex.l (equal_number): Add function to look in the input for '=' | |
9925 | followed by a decimal literal. Call it from directive scanning. | |
9926 | (start state 'ccitt'): Deleted, unused. Moved unused, but reserved, | |
9927 | tokens to NORMAL state. | |
9928 | (compiler_directive): Replaced by equal_number. Now the only | |
9929 | recursive call to yylex happens in check_newline at the beginning | |
9930 | of a compilation. | |
9931 | ||
9932 | Sat Apr 10 09:55:50 1993 Bill Cox (bill@rtl.cygnus.com) | |
9933 | ||
9934 | * ch-actions.c (build_chill_case_expr): Added from ch-parse.y. | |
9935 | * ch-lex.l (ENTRY, PERVASIVE, ROW, STEP): Add token recognition to | |
9936 | 'reserve' them. | |
9937 | * ch-parse.y (case_expr): Move code into ch-actions.c. There will | |
9938 | need to be much more written. | |
9939 | * ch-tree.def (VARY_ARRAY_REF): Add comment. | |
9940 | * ch-tree.h (build_chill_case_expr): Add prototype. | |
9941 | * ch-typeck.c (build_chill_cast): Allow untyped_expr - just assign the | |
9942 | type to the expr. Check for CASE_EXPR, call expand_case_expr. | |
9943 | ||
9944 | Sat Apr 10 01:10:51 1993 Per Bothner (bothner@rtl.cygnus.com) | |
9945 | ||
9946 | * ch-parse,y (in_pseudo_module): New variable. Try if we're | |
9947 | in a seizefile, but not in a module nested in the seizefile. | |
9948 | Use for backwards compatibility with old grantfiles. | |
9949 | * ch-decl.c (do_decls, push_syndecls, push_newmode, push_synmode): | |
9950 | If in_pseudo_module, grant new declaration. | |
9951 | * ch-decl.c (pushd_newmode): If there is a granted previous | |
9952 | incomplete type, fix it up. | |
9953 | * ch-grant.c (seize_implied_names): Do remaining types. | |
9954 | Guard against recursion. | |
9955 | * ch-tree.h (IDENTIFIER_ENUM_VALUE): Removed, not used. | |
9956 | * ch-tree.h (CH_DECL_ENUM), ch-grant.c (chill_grant), ch-lang.c | |
9957 | (finish_chill_enum): Enum constants are marked with | |
9958 | CH_DECL_ENUM so they don't get written to the grantfile. | |
9959 | * ch-tree.h (IDENTIFIER_GRANTED_VALUE): Allow fast seizing. | |
9960 | * ch-lex.l: Re-write to use start states, to avoid calling | |
9961 | yylex() recursively. | |
9962 | * ch-lex.l (compiler_directive); This is now obsolste. FIXME. | |
9963 | * ch-lex.l: Call push_module and pop_module when reading a | |
9964 | seizefile. This creates a pseudo-module. | |
9965 | * ch-parse.y: Clean up handling of empty declarations and | |
9966 | action statements; semicolons are now optional a number of | |
9967 | places. | |
9968 | * ch-parse.y: Remove some bogus tests for "statement | |
9969 | out of sequence" (they're both legal and work). | |
9970 | * varasm.c (mak_function_rtl): Remove kludge that may | |
9971 | not be necessary (and loses anyway). | |
9972 | ||
9973 | Fri Apr 9 09:37:38 1993 Bill Cox (bill@rtl.cygnus.com) | |
9974 | ||
9975 | * ch-expr.c (chill_expand_array_assignment): Remove false error about | |
9976 | arrays that are too small. | |
9977 | * ch-parse.y (callaction): Don't pass an error_mark_node to | |
9978 | c_expand_expr_stmt. | |
9979 | ||
9980 | Fri Apr 9 00:26:54 1993 Per Bothner (bothner@rtl.cygnus.com) | |
9981 | ||
9982 | * ch_tree.h (DECL_HIDDEN_BY_MODULE, ENCAPSULATED_ARRAY_P): | |
9983 | New macros. | |
9984 | * ch-actions.c (build_chill_function_call): Use latter. | |
9985 | * ch-typeck.c (chill_similar): Fix typo. | |
9986 | * ch-grant.c (raw_decode_mode): Handle ENCAPSULATED_ARRAY_P | |
9987 | parameter types. | |
9988 | * ch-grant.c (seize_implied_names): Handle ranges of enums. | |
9989 | * ch-grant.c (do_seize): Set DECL_SOURCE_FILE and _LINE of | |
9990 | seized declaration to be the point of the seize itself. | |
9991 | * ch-grant.c (chill_grant), ch-tree.h: Add a parameter | |
9992 | which is the list (in order) of decls in the module. | |
9993 | Don't reverse the getdecls() list; that is handled by caller. | |
9994 | * ch-grant.c (chill_grant): Test that a declaration is | |
9995 | visible before writing it. | |
9996 | * ch-parse.y (push_module): Make sure to hide declarations | |
9997 | from surrounding module. | |
9998 | * ch-parse.y (pop_module): Restore those declarations. | |
9999 | * ch-parse.y (pop_module): This function is now responsible | |
10000 | for writing out for calling chill_grant() to the grant file. | |
10001 | * ch-actions.c (lang_finish): Remove calls to chill_grant(). | |
10002 | ||
10003 | Thu Apr 8 16:56:52 1993 Bill Cox (bill@rtl.cygnus.com) | |
10004 | ||
10005 | * ch-actions.c (build_char_array_expr): Add handling of varying | |
10006 | arrays in relational expressions. | |
10007 | * ch-decl.c: Add prototype for lookup_name_current_level. | |
10008 | * ch-expr.c (chill_expand_expr): Make concat_expr's temp a BLKmode, | |
10009 | so its length is used as the temp's size. | |
10010 | (chill_expand_array_assignment): Correct for varying := varying | |
10011 | assignment, clean up. | |
10012 | * ch-typeck.c: Add prototype for require_complete_type. | |
10013 | ||
10014 | Wed Apr 7 16:41:29 1993 Bill Cox (bill@rtl.cygnus.com) | |
10015 | ||
10016 | * ch-loop.c (for_location, begin_chill_loop, end_chill_loop): Major | |
10017 | diffuse changes to fix location loops. | |
10018 | * ch-parse.y (location): Remove ref through NULL ptr. | |
10019 | ||
10020 | Wed Apr 7 13:42:06 1993 Per Bothner (bothner@rtl.cygnus.com) | |
10021 | ||
10022 | * ch-decl.c (massage_param_node): New function. | |
10023 | It handles the LOC/IN/OUT/INOUT parameter distinction, | |
10024 | as well as calling build_chill_array_parm_type if needed. | |
10025 | * ch-tree.h (massage_param_node): New prototype. | |
10026 | * ch-decl.c (push_parms): Use new massage_param_node(). | |
10027 | * ch-parse.y (pmodearg): Use new massage_param_node(). | |
10028 | * ch-parse.y (formpar): Don't call build_chill_array_parm_type; | |
10029 | now handled by massage_param_node. | |
10030 | * ch-typeck.c (my_build_array_ref): Handle non-zero array | |
10031 | lower bounds. | |
10032 | * ch-actions.c (build_chill_function_call): If the formal | |
10033 | parameter is a pseudo record wrapped around an array, make | |
10034 | sure we wrap the actual parameter in a record CONSTRUCTOR. | |
10035 | * ch-typeck.c (build_chill_array_parm_type): Make sure | |
10036 | the pseudo struct type is allocated on the permanent_obstack. | |
10037 | * ch-parse.y (location): Remove thinko. | |
10038 | * ch-actions.c (chill_comptypes): Comment out test for | |
10039 | NEWMODEness - it gets broken by the forward declaration hacks. | |
10040 | ||
10041 | Tue Apr 6 18:05:40 1993 Bill Cox (bill@rtl.cygnus.com) | |
10042 | ||
10043 | * ch-actions.c: Move build_varying_struct to ch-typeck.c. | |
10044 | * ch-parse.y (formpar): Turn ARRAY_TYPE parms into structure. | |
10045 | * ch-parse.y (location): Do build_component_ref for an array wrapped | |
10046 | in a structure. | |
10047 | * ch-tree.h: Add prototype, #define for build_chill_array_parm_type. | |
10048 | * ch-typeck.c (build_chill_array_parm_type): Add function, move | |
10049 | build_varying_struct here from ch-actions.c. | |
10050 | ||
10051 | Mon Apr 5 19:56:56 1993 Bill Cox (bill@rtl.cygnus.com) | |
10052 | ||
10053 | * ch-actions.c, ch-decl.c: Use tree_int_cst_equal and integer_zerop | |
10054 | rather than in-line code - tests LOW and HIGH values. | |
10055 | * ch-lang.c: Use tree_int_cst_lt rather than inline code. | |
10056 | * ch-typeck.c (my_build_array_ref): Handle case where array low bound | |
10057 | isn't zero. | |
10058 | ||
10059 | Mon Apr 5 15:45:10 1993 Bill Cox (bill@rtl.cygnus.com) | |
10060 | ||
10061 | * ch-typeck.c (my_build_array_ref): Add some more code from | |
10062 | build_array_ref. Change checks, error messages to mention | |
10063 | 'discrete types'. I.E. types which don't kiss and tell.. | |
10064 | ||
10065 | Sat Apr 3 09:27:03 1993 Bill Cox (bill@rtl.cygnus.com) | |
10066 | ||
10067 | * ch-except.c, ch-expr.c: Turn externs into prototypes. | |
10068 | * ch-grant.c (chill_grant): Remove orphan #else. | |
10069 | * ch-tree.h: Add prototype for build_chill_bin_type. | |
10070 | * ch-typeck.c: Turn externs into prototypes, delete code which | |
10071 | was commented out in chill_expand_return; it will never be used. | |
10072 | ||
10073 | Fri Apr 2 21:55:14 1993 Per Bothner (bothner@rtl.cygnus.com) | |
10074 | ||
10075 | Major re-write of New module/seize/grant stuff. | |
10076 | Now, a grantfile is a spec module and contains all the | |
10077 | top-level declarations of the granting module, not just | |
10078 | those that are granted. It also contains explicit grant | |
10079 | statments naming those declared names that are granted. | |
10080 | It also has seize statements and use_seize_file directives | |
10081 | to correctly handle transitive dependencies. | |
10082 | ||
10083 | * ch-parse.y: Change to allow multiple modules per source file. | |
10084 | Allow spec modules (including quasi definitions) as well as | |
10085 | regular modules. | |
10086 | Allow spec modules inside normal modules; these behave as if | |
10087 | they were outermost. This violates the Blue Book, but is | |
10088 | needed by the new grantfile mechanism. (A grant file is a | |
10089 | spec module that gets included by the use_seize_file directive.) | |
10090 | * ch-parse.y (struct module *current_module, push_module, | |
10091 | pop_module): Support module nesting (for spec modules only). | |
10092 | ||
10093 | * ch-tree.h (struct module): New. | |
10094 | * ch-grant.c (granted_decls): New list of declarations | |
10095 | that have been granted into the outermode pseudo-module. | |
10096 | * ch-grant.c (decode_mode): If the decl has a name, | |
10097 | always write the name, not just if the decl has already | |
10098 | been written. Since we write out all decls, we can assume | |
10099 | it will be written later, and depend on the forward | |
10100 | declaration kludges to catch it. | |
10101 | * ch-grant.c (decode_decl): Don't write out _EXTERN. | |
10102 | Instead write out standard (Blue Book) quasi-definitions. | |
10103 | * ch-grant.c (push_granted): New function. | |
10104 | * ch-grant.c (seize_implied_names): New function. Re-write | |
10105 | how set element names are seized when a set type is seized. | |
10106 | * ch-grant.c (chill_seize): Work by seraching the | |
10107 | granted_decls list and copying the declaration. | |
10108 | * ch-grant.c (chill_grant): Write all declarations | |
10109 | declared in this module. Write GRANT statements for | |
10110 | those granted. seize statements for decls seized from | |
10111 | other modules. Write extra syntax to make a complete | |
10112 | spec module. | |
10113 | * ch-grant.c (grant_use_seizefile): Copy use_seize_file | |
10114 | directives into grant file. | |
10115 | * ch-lex.l (setup_seizefile_read): Call grant_use_seizefile. | |
10116 | ||
10117 | * ch-lex.l (struct input_state, current_input_state, | |
10118 | push_input_file, pop_input_file): New (type, variable, | |
10119 | function*2). Used to save and restore state on an input file. | |
10120 | * ch-lex.l: Clean up to handle nested input seizefiles | |
10121 | (needed by new grant/seize mechanism. | |
10122 | * ch-lex.l (skip_to_end_of_directive): New function. | |
10123 | * ch-lex.l (compiler_directive: USE_SEIZE_FILE): Make sure | |
10124 | we skip to the end of the directive *before* we switch | |
10125 | input files. | |
10126 | * ch-lex.l (setup_seizefile_read): Prevent reading the | |
10127 | same seizefile twice (otherwise likely with new grant/seize). | |
10128 | * ch-lex.l: Recognize SPEC. Misc cleanups. | |
10129 | ||
10130 | * ch-parse.y: Fixed foreward references of types. | |
10131 | Removed the unknown_type_node crock. | |
10132 | * ch-decl.c: Remove all uses of unknown_type_node. | |
10133 | Check for TYPE_SIZE zero instead. | |
10134 | * ch-decl.c (fixup_unknown_type): Make sure new mode | |
10135 | gets copied into old mode. Merge their variant chains. | |
10136 | * c-decl.c (lookup_name_current_level): Make non-static. | |
10137 | * ch-decl.c (lookup_name_current_level): No longer needed. | |
10138 | ||
10139 | * ch-parse.y (call): Allow an implicitly defined function | |
10140 | name following the CALL keyword. | |
10141 | * ch-tree.h (struct lang_identifier): Add implicit_decl, | |
10142 | and make sure order of fields matches c-tree.h. | |
10143 | ||
10144 | * ch-actions.c (lang_init, build_allocate_memory_call, | |
10145 | build_allocate_globals_memory_call): Fix names (add initial '_') | |
10146 | and prototypes of _allocate_[global_]memory (2nd param is ref). | |
10147 | Use build_chill_function_call, not build_function_call, | |
10148 | so the reference parameter gets handled. | |
10149 | * ch-actions.c. (lang_init): Make sure boolean_{true,false}_node | |
10150 | have boolean_type_node as their types. | |
10151 | * ch-actions.c (build_chill_lower, build_chill_upper): Fix to | |
10152 | work for arrays with BOOLEAN_TYPE ranges (and simplify some). | |
10153 | ||
10154 | * ch-except.c: Make sure an end_label is generated, | |
10155 | and jump to it if there is no exception. | |
10156 | ||
10157 | * ch-convert.c (convert_to_reference): Strip off NOP_EXPR casts. | |
10158 | * expr.c (expand_expr): Handle NOP_EXPR as Chill-style casts. | |
10159 | (Need cleaning up and FSF installation!) | |
10160 | * ch-parse.y: If taking the address of a cast, move the | |
10161 | ADDR_EXPR inside the NOP_EXPR. | |
10162 | ||
10163 | * ch-typeck.c (my_build_array_ref): Simplified, more suitable | |
10164 | versions of build_array_ref from c-decl.c. (E.g. don't barf | |
10165 | if index type is char or bool.) | |
10166 | * ch-typeck.c (build_chill_array_ref): Use my_build_array-ref. | |
10167 | ||
10168 | * ch-typech.c (build_chill_bin_type): New function. | |
10169 | Support BIN(N) range type specification. | |
10170 | * ch-parse.y (mode2), ch-lex.l: Recognize BIN(N). | |
10171 | ||
10172 | * ch-tree.h (CH_SIMILAR): Redefine in terms of chill_similar. | |
10173 | * ch-typeck.c (chill_similar): New function. Recognize that | |
10174 | that range types are similar to their parent types. | |
10175 | ||
10176 | * ch-tree.h: Declare flag_local_loop_counter. | |
10177 | * ch-loop.c: Whether the loop variable is local to the loop | |
10178 | in now controlled by flag_local_loop_counter, instead of | |
10179 | #ifdef'd on CREATE_SCOPE. | |
10180 | * ch-actions.c (lang_decode_option): Recognize flags | |
10181 | "-f[no-]local-loop-counter". | |
10182 | * toplev.c (lang_options): Add Chill flags -f[no-]local-loop-counter. | |
10183 | ||
10184 | * varasm.c (make_function_rtl): Due to problems with forward | |
10185 | references, don't rename nested functions in Chill. (Kudge!) | |
10186 | ||
10187 | Sun Mar 28 10:12:45 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) | |
10188 | ||
10189 | * ch-lex.l (push_back, readstring): Fix prototypes. | |
10190 | ||
10191 | Fri Mar 26 18:32:15 1993 Bill Cox (bill@rtl.cygnus.com) | |
10192 | ||
10193 | * ch-parse.y: Put %type directives back into alpha order. | |
10194 | (variant_alternative): Simplify error_mark test. | |
10195 | (variantfields, varianthack): Add error_mark checks. | |
10196 | ||
10197 | Fri Mar 26 13:36:23 1993 Bill Cox (bill@rtl.cygnus.com) | |
10198 | ||
10199 | * ch-lex.l (convert_charliteral): Rewrite to avoid bogus error msg. | |
10200 | * ch-parse.y (get_type_of): Add function to deal with possible fwd | |
10201 | declared type name. Call it from lotsa places. Add lotsa checks | |
10202 | for error_mark_node. Standardize indentations. | |
10203 | ||
10204 | Thu Mar 25 15:00:11 1993 Bill Cox (bill@rtl.cygnus.com) | |
10205 | ||
10206 | * ch-expr.c (chill_expand_assignment): Avoid seg fault while checking | |
10207 | for array assignments. | |
10208 | * ch-parse.y (action): Add recognition for allocate_memory and | |
10209 | allocate_global_memory system calls. | |
10210 | (mode2): Remove ill-conceived error check that broke REFs to | |
10211 | as-yet-undeclared types. Check for IDENTIFIER_NODE, lookup its | |
10212 | DECL if there, pass TREE_TYPE of decl to build_pointer_type. | |
10213 | (variantfields, varianthack): Clean up. | |
10214 | (variantfield): Check for IDENTIFIER_NODE, lookup its DECL if | |
10215 | there, pass TREE_TYPE of decl to grok_fixedfields. | |
10216 | (labellist): Explicitly assign error_mark_node to signal error. | |
10217 | * ch-typeck.c (chill_compatible): Report FALSE for bad parameters, | |
10218 | rather than seg faulting. | |
10219 | ||
10220 | Thu Mar 25 10:35:58 1993 Bill Cox (bill@rtl.cygnus.com) | |
10221 | ||
10222 | * ch-actions.c (lang_init): build_function_type for allocate_memory | |
10223 | and allocate_global_memory runtime routines. Move discrete_type_p | |
10224 | into ch-typeck.c. | |
10225 | * ch-typeck.c (discrete_type_p): Move here, where it belongs, call it | |
10226 | in build_chill_cast. | |
10227 | ||
10228 | Wed Mar 24 16:25:16 1993 Per Bothner (bothner@rtl.cygnus.com) | |
10229 | ||
10230 | * ch-grant.c: Don't grant previously seized names. | |
10231 | ||
10232 | Tue Mar 23 15:25:39 1993 Bill Cox (bill@rtl.cygnus.com) | |
10233 | ||
10234 | * Makefile.in (ch-actions.o): Add dependencies (expr.h insn-codes.h) | |
10235 | * dwarfout.c (fundamental_type_code): Add handling of BOOLEAN_TYPEs, | |
10236 | avoid abort. | |
10237 | ||
10238 | Tue Mar 23 09:03:35 1993 Bill Cox (bill@rtl.cygnus.com) | |
10239 | ||
10240 | * ch-actions.c (build_char_array_expr): Just build a type for the | |
10241 | result of a CONCAT_EXPR, and pass the tree back. | |
10242 | chill_expand_array_assignment can do a better job of | |
10243 | code-generation. | |
10244 | * ch-expr.c (chill_expand_array_assignment): Generate the CONCAT_EXPR | |
10245 | code. | |
10246 | ||
10247 | Mon Mar 22 12:42:58 1993 Per Bothner (bothner@rtl.cygnus.com) | |
10248 | ||
10249 | * ch-except.c (start_handler_array): Make sure the handler | |
10250 | array and its type get on the permanent obstack. | |
10251 | * ch-grant.c (write_grant_file): Don't write the _INIT=name | |
10252 | specifier: It isn't needed, and loses (because of funny | |
10253 | characters in the chill_initializer_name). | |
10254 | * ch-decl.c (push_synmode): Set TYPE_NAME(mode) = syndecl. | |
10255 | * ch-lang.c (finish_chill_enum): Don't allocate a dummy | |
10256 | TYPE_DECL for the enum. I don't think it is needed (?), | |
10257 | and removing it is needed for the change above. | |
10258 | ||
10259 | * ch-grant.c (grant_array_type, decode_mode): Remove unused | |
10260 | 'decl' parameter. | |
10261 | * ch-grant.ch (raw_decode_mode): New function, based on old | |
10262 | decode_mode. | |
10263 | * ch-grant.c (decode_mode); This is now just a wrapper around | |
10264 | raw-decode_mode - but does not call raw_decode_mode if the | |
10265 | type is named and has already been emitted. | |
10266 | ||
10267 | Fri Mar 19 11:55:35 1993 Bill Cox (bill@rtl.cygnus.com) | |
10268 | ||
10269 | * ch-actions.c: Add prototypes, remove unused variables. Attempt to | |
10270 | continue generating grant file in presence of error (Wilfried's | |
10271 | patch to lang_finish). | |
10272 | * ch-expr.c: Change assign_stack_temp calls so temps get recovered | |
10273 | after each statement. Move convert call into | |
10274 | chill_expand_assignment from ch-parse.y. | |
10275 | * ch-grant.c: Generally re-order, clean up. Include Per's decode_mode | |
10276 | simplification. Include commented-out hack in decode_mode to return | |
10277 | type's name if type SEIZEd or already GRANTed in this file. | |
10278 | * ch-lex.l: Add prototypes. | |
10279 | * ch-parse.y (assignaction): Move convert call into | |
10280 | chill_expand_assignment. | |
10281 | ||
10282 | Thu Mar 18 16:04:45 1993 Bill Cox (bill@rtl.cygnus.com) | |
10283 | ||
10284 | * ch-convert.c (convert): Remove unused variable, fix int_size_in_bytes | |
10285 | comparison. | |
10286 | * ch-decl.c: Add prototypes, correct error message spelling, remove | |
10287 | unused variables. | |
10288 | * ch-lang.c (build_chill_range_type): Add error message. Add prototypes. | |
10289 | Correct comment spelling. | |
10290 | * ch-lex.l: Add prototypes, remove unused variable, put double parens aarround | |
10291 | assignment in conditional. | |
10292 | * ch-loop.c: Add prototypes, remove unused variable. | |
10293 | * ch-parse.y (structured_variable): Return NULL_TREE is invalid WITH | |
10294 | parameter is seen, don't count it in structured_variable_list. Pre- | |
10295 | vents seg fault when only WITH operand is invalid. | |
10296 | * ch-parse.y (label_spec): Correct assignment within IF expression which | |
10297 | was intended to be equality test. Remove unused variables. | |
10298 | * ch-tree.h: Add prototype. Remove unused EXCP_CODE enumeration, and | |
10299 | prototyping editorial comments. | |
10300 | * ch-typeck.c: Disable generation of code to validate array index for | |
10301 | now. Should be done as a call-back from more generic array_ref code. | |
10302 | Clean up parameter checking. Remove unused variables. | |
10303 | ||
10304 | Fri Mar 12 11:57:32 1993 Bill Cox (bill@rtl.cygnus.com) | |
10305 | ||
10306 | * ch-actions.c (chill_varying_type_p): Return FALSE if given NULL type. | |
10307 | * ch-actions.c (build_chill_binary_op): Pass ALL arrays to | |
10308 | build_char_array_expr. | |
10309 | * ch-convert.c (convert): protect against seg fault, if type == NULL. | |
10310 | * ch-expr.c (chill_expand_expr): Add FIXME comment. | |
10311 | ||
10312 | Fri Mar 12 11:04:02 1993 Bill Cox (bill@rtl.cygnus.com) | |
10313 | ||
10314 | * ch-expr.c (chill_expand_expr): Completely rethink set unary ops. | |
10315 | Thanks very much to dje! | |
10316 | ||
10317 | Thu Mar 11 21:06:55 1993 Bill Cox (bill@rtl.cygnus.com) | |
10318 | ||
10319 | * ch-actions.c (build_char_array_expr, build_chill_binary_op): | |
10320 | Move CONCAT_EXPR handling from binary_op to array_expr. Add | |
10321 | handling for relationals between varying arrays to array_expr. | |
10322 | ||
10323 | Thu Mar 11 19:20:37 1993 Bill Cox (bill@rtl.cygnus.com) | |
10324 | ||
10325 | * ch-actions.c (build_set_expr, build_chill_binary_op): Calculate | |
10326 | *BIT* length of powersets and arrays of BOOLs. | |
10327 | (invalid_left_operand, invalid_right_operand): Disallow relationals | |
10328 | with arrays of BOOL as operands. | |
10329 | * ch-convert.c (convert): Test TREE_CODE for ERROR_MARK rather than | |
10330 | comparing pointers. | |
10331 | * ch-decl.c (push_newmode): Re-indent. | |
10332 | * ch-expr.c (chill_expand_expr): Calculate *BIT* length of powersets | |
10333 | and arrays of BOOLs. | |
10334 | * ch-lang.c (build_chill_array_type): Add parameter error checking. | |
10335 | ||
10336 | Mon Mar 8 17:13:00 1993 Bill Cox (bill@rtl.cygnus.com) | |
10337 | ||
10338 | * expr.c (store_constructor): Handle set construction. | |
10339 | * varasm.c (output_constant): Prevent seg fault - terminate case | |
10340 | alternative with a 'break'. | |
10341 | ||
10342 | Mon Mar 8 17:13:00 1993 Bill Cox (bill@rtl.cygnus.com) | |
10343 | ||
10344 | * ch-expr.c (): Move SET_TYPE constructor to expr.c. | |
10345 | * ch-loop.c (end_chill_loop): Only do expand_end_loop if not POWERSET loop. | |
10346 | * ch-typeck.c (build_chill_cast): Fix error msg spelling. | |
10347 | ||
10348 | Mon Mar 8 13:16:05 1993 Bill Cox (bill@rtl.cygnus.com) | |
10349 | ||
10350 | * fold-const.c (fold_convert): Allow CHAR_TYPE CONVERT_EXPR to | |
10351 | be folded. | |
10352 | ||
10353 | Mon Mar 8 10:13:57 1993 Bill Cox (bill@rtl.cygnus.com) | |
10354 | ||
10355 | * ch-grant.c (get_tag_value): Correctly output certain enumerations. | |
10356 | Correct some non-standard indentations. | |
10357 | ||
10358 | Fri Mar 5 14:58:35 1993 Bill Cox (bill@rtl.cygnus.com) | |
10359 | ||
10360 | * ch-actions.c: Fix up comment. | |
10361 | ||
10362 | Thu Mar 4 18:05:43 1993 Bill Cox (bill@rtl.cygnus.com) | |
10363 | ||
10364 | * ch-actions.c: Define builtin '__nepowerset' and call it - avoid | |
10365 | negating the result of calling __eqpowerset. New function | |
10366 | discrete_type_p(). | |
10367 | * ch-grant.c (get_tag_value): Don't seg fault referring to an | |
10368 | anonymous enumeration's name. | |
10369 | * ch-lex.l: Turn EVEN token into an ignored compiler directive. | |
10370 | * ch-loop.c (end_chill_loop): Output end-of-loop marker. | |
10371 | * ch-parse.y (label_spec): redefine variant structure label_spec | |
10372 | to agree with the Z.200 spec. | |
10373 | (locdec): Error if set/bitstring initialized with a tuple. | |
10374 | (case_label, arrayindex): Use new discrete_type_p | |
10375 | function. | |
10376 | * ch-process.c: Fix typo. | |
10377 | ||
10378 | Wed Mar 3 14:30:53 1993 Per Bothner (bothner@rtl.cygnus.com) | |
10379 | ||
10380 | * ch-lang.c, ch-tree.h: Rename build_range_type to | |
10381 | build_chill_range_type. Call new build_range_type() in tree.c. | |
10382 | * ch-parse.y: Call build_chill_range_type as approriate. | |
10383 | * ch-typeck.c (build_chill_cast); Clean up. | |
10384 | ||
10385 | Wed Mar 3 09:36:56 1993 Bill Cox (bill@rtl.cygnus.com) | |
10386 | ||
10387 | * ch-parse.y: Define CONTINUE_EVENT token. | |
10388 | * ch-parse.y (mode2): Give error message for SYN modea = modeb | |
10389 | where modeb is undefined. | |
10390 | ||
10391 | Tue Mar 2 20:16:37 1993 Bill Cox (bill@rtl.cygnus.com) | |
10392 | ||
10393 | * ch-actions.c: Add builtin function descriptions for memset and | |
10394 | bitsetpowerset. Allow build_chill_num expression to exceed 16 bits, | |
10395 | but not 32. | |
10396 | * ch-tree.h: Correct chill_handle_case_default prototype. | |
10397 | * ch-actions.h, ch-lex.h: Add prototypes. | |
10398 | * ch-lex.l, chill.gperf: Add CONTINUE_EVENT token. | |
10399 | ||
10400 | Thu Feb 25 17:35:46 1993 Bill Cox (bill@rtl.cygnus.com) | |
10401 | ||
10402 | * c-decl.c (init_decl_processing): Disable creation of C-specific | |
10403 | builtin functions. They pollute the CHILL name space. | |
10404 | * stor-layout.c (variable_size): Allow variable-size objects at file | |
10405 | scope, for CHILL. | |
10406 | ||
10407 | Fri Feb 26 07:14:34 1993 Bill Cox (bill@rtl.cygnus.com) | |
10408 | ||
10409 | * c-decl.c (finsh_decl): Don't output non-constant storage size | |
10410 | error for CHILL | |
10411 | * ch-actions.c: Call build_temporary_variable, fix build_tree_list | |
10412 | call in build_chill_cause_exception. | |
10413 | * ch-convert.c, ch-expr.c: Use tree_cons to build list's last entry | |
10414 | * ch-loop.c (build_temporary_variable): New function | |
10415 | * ch-process.c: Call build_temporary_variable, spell start_process | |
10416 | correctly. | |
10417 | * ch-tree.h: Extern for build_temporary_variable | |
10418 | ||
10419 | Thu Feb 25 12:09:01 1993 Bill Cox (bill@rtl.cygnus.com) | |
10420 | ||
10421 | * c-decl.c (init_decl_processing): Disable initial creation of C-specific | |
10422 | builtins - they pollute the CHILL name space. | |
10423 | * ch-typeck.c (valid_array_index): Correct upper-bound check. | |
10424 | * expr.c (expand_expr): Use actual library name for __inpowerset | |
10425 | builtin. | |
10426 | * stor-layout.c (variable_size): Disable complaint about variable- | |
10427 | size type or decl at file scope. Perhaps later this s.b. a warning. | |
10428 | * varasm.c (emit_set_data): Add function. | |
10429 | (output_constant): Call new emit_set_data function for VAR_DECLs, | |
10430 | in addition to CONSTRUCTORs. | |
10431 | ||
10432 | Thu Feb 25 11:34:36 1993 Bill Cox (bill@rtl.cygnus.com) | |
10433 | ||
10434 | * ch-actions.c: Change all builtin functions names to their | |
10435 | actual library names. Change references to boolean_type_node | |
10436 | to references to the TREE_CODE == BOOLEAN_TYPE, to follow the | |
10437 | convention. | |
10438 | build_set_expr: Remove length parameter, call powersetlen() instead. | |
10439 | remove handling of CHAR arrays - they're handled in build_char_array_expr. | |
10440 | Call __eqpowerset to test for equality - we can't use a byte-length - | |
10441 | need bitcount instead. | |
10442 | build_chill_compound_expr, internal_build_compound_expr: Copy from C | |
10443 | version that does stuff we don't want. | |
10444 | build_binary_op: Check for in_size_in_bytes return < 0, indicating | |
10445 | size is changeable at run time. Build two memcpy calls to implement | |
10446 | string concatenation. | |
10447 | powersetlen: Add function. | |
10448 | build_chill_card: Call powersetlen. | |
10449 | build_chill_max_min: Common code for powerset max/min. | |
10450 | build_chill_length: Move VARYING array handling before regular char | |
10451 | array handling. | |
10452 | * ch-expr.c chill_expand_expr: Disable concatenate code - we need to | |
10453 | the VARYING status of the target to do this correctly. Use powersetlen | |
10454 | for the powerset operations, not a byte length. | |
10455 | * ch-loop.c: Make CREATE_SCOPE #define to enable creation of a new scope | |
10456 | for each CHILL loop, as Z.200 requires. Add powerset and error flags | |
10457 | to loop structure. Evaluate user's powerset expression into a temp, | |
10458 | scan it destructively with __ffsetclrpowerset or __flsetclrpowerset | |
10459 | for powerset loop. Only do loop-end assignments if NOT a powerset | |
10460 | loop, which has much less overhead now. | |
10461 | * ch-tree.h: Add prototype for powersetlen. | |
10462 | ||
10463 | Fri Feb 19 08:40:24 1993 Bill Cox (bill@rtl.cygnus.com) | |
10464 | ||
10465 | * ch-lex.l (convert_number): Evaluate number and pass it as | |
10466 | HOST_WIDE_INT. | |
10467 | ||
10468 | Fri Feb 19 08:56:44 1993 Michael Tiemann (fs_tie at rcsw18) | |
10469 | ||
10470 | * ch-typeck.c (build_chill_array_ref): Handle newmodes | |
10471 | correctly. | |
10472 | ||
10473 | * ch-actions.c (chill_comptypes): Always initilize ERRSTR if | |
10474 | we are going to return 0. | |
10475 | ||
10476 | * ch-convert.c (convert_to_reference): Don't use | |
10477 | TYPE_MAIN_VARIANT, because REFTYPE's type may be a newmode | |
10478 | (which must match the type of the expr). | |
10479 | ||
10480 | * ch-grant.c (chill_seize): Don't let a type be copied just | |
10481 | because we are seizing it. | |
10482 | ||
10483 | * ch-lang.c (finish_chill_enum): Convert TYPE_MIN_VALUE and | |
10484 | TYPE_MAX_VALUE to integer type. | |
10485 | ||
10486 | * ch-loop.c (begin_for_range): Set lp->iter_type based on the | |
10487 | tree type of the bounds. | |
10488 | (build_loop_top): type of GE_EXPR and LE_EXPR is | |
10489 | boolean_type_node, not lp->iter_type. | |
10490 | (for_location): Ditto. | |
10491 | ||
10492 | * ch-action.c (build_chill_lower,build_chill_upper): Handle | |
10493 | ENUMERAL_TYPE. Also, handle different kinds of arguments more | |
10494 | cleanly. | |
10495 | ||
10496 | * ch-parse.y (iteration): Convert start_exp and end_exp to | |
10497 | match the type of modename. | |
10498 | ||
10499 | * ch-grant.c (chill_seize_aggr): Search also through anonymous | |
10500 | types. | |
10501 | ||
10502 | * ch-grant.c (chill_seize): Check to see if SEIZEITEM has | |
10503 | already been seized, and if so, do nothing. | |
10504 | ||
10505 | * c-typeck.c (process_init_constructor): If DEFAULT_VALUE | |
10506 | comes out error_mark_node, set ERRONEOUS. | |
10507 | ||
10508 | * ch-actions.c (build_chill_binary_op_1): If EXP is NULL_TREE, | |
10509 | don't use it. | |
10510 | ||
10511 | * ch-action.c (chill_comptypes): Test for structural | |
10512 | equivalence of enums. | |
10513 | ||
10514 | * ch-typeck.c (build_chill_array_ref): Convert INDEX to | |
10515 | TYPE_MIN_VALUE of DOMAIN if the types are compatible. | |
10516 | ||
10517 | * ch-grant.c (chill_seize): If DECLS is a TYPE_DECL for an | |
10518 | ARRAY_TYPE, seize the domain type if its a set. | |
10519 | ||
10520 | Thu Feb 18 20:02:15 1993 Per Bothner (bothner@rtl.cygnus.com) | |
10521 | ||
10522 | * c-typeck.c (process_init_constructor): Emit error if some | |
10523 | array elements are not initialized. | |
10524 | * c-typeck.c (process_init_constructor): Call digest_init() | |
10525 | recursively to expand default_value. | |
10526 | * ch-expr.c (chill_expand_array_assignment): Simplify, and | |
10527 | handle the case that the lhs has dynamic size (e.g. a slice). | |
10528 | * ch-parse.y (elementlist): Handle the case that tupleelement | |
10529 | generates more than one TREE_LIST node. | |
10530 | ||
10531 | Thu Feb 18 12:40:56 1993 Michael Tiemann (fs_tie@rcvie.co.at) | |
10532 | ||
10533 | * .cvsignore: add yacc sources, xgcc and stmp-* files. (Bill) | |
10534 | * c-typeck.c (lookup_field): add function, calls. | |
10535 | * ch-actions.c (build_chill_binary_op): figure return_type differently. | |
10536 | * ch-convert.c (convert_to_reference): return error_mark_node, | |
10537 | STRIP_NOPS. (convert): Braces for readability. | |
10538 | * ch-decl.c (build_chill_function_type): accept typespec as parm. | |
10539 | Handle exceptions. | |
10540 | (grok_chill_variantdefs): call comptypes, not chill_comptypes. | |
10541 | * ch-expr.c (chill_expand_assignment): handle references. | |
10542 | * ch-grant.c (chill_seize_set, chill_seize_aggr): new functions | |
10543 | * ch-parse.y (structured_variable): check for REFERENCE_TYPE, | |
10544 | call convert. Generally handle reference types. | |
10545 | ||
10546 | ||
10547 | Thu Feb 18 09:30:11 1993 Michael Tiemann (fs_tie@rcvie.co.at) | |
10548 | ||
10549 | * ch-actions.c (chill_comptypes): Figure out which newmode or | |
10550 | synmode decls look most canonical. | |
10551 | * ch-convert.c (convert): handle location conversions of records, | |
10552 | unions and arrays. | |
10553 | * ch-decl.c (fixup_unknown_type): changes for variant records | |
10554 | * ch-parse.y (tupleelement): avoid confusing digest_init. | |
10555 | * ch-typeck.c (build_chill_array_ref): give element ref the | |
10556 | type of the ELEMENT, not the array (Bill Cox). | |
10557 | ||
10558 | Wed Feb 17 11:52:20 1993 Bill Cox (bill@rtl.cygnus.com) | |
10559 | ||
10560 | * ch-parse.y: change push_newmode and push_synmode interfaces. | |
10561 | * ch-actions.c (build_chill_binary_op): convert operands. | |
10562 | ||
10563 | Wed Feb 17 10:54:24 1993 Bill Cox (bill@rtl.cygnus.com) | |
10564 | ||
10565 | * ch-actions.c (build_chill_binary_op, build_chill_unary_op): | |
10566 | handle reference types. | |
10567 | * ch-decl.c (push_newmode, push_synmode): rewritten | |
10568 | * ch-process.c (make_process_struct): new push_newmode interface. | |
10569 | * ch-typeck.c (build_chill_cast): change interface, error checks. | |
10570 | ||
10571 | Wed Feb 17 09:50:37 1993 Bill Cox (bill@rtl.cygnus.com) | |
10572 | ||
10573 | * ch-decl.c, ch-parse.y, ch-tree.h: delete old INOUT, OUT parameter | |
10574 | code. | |
10575 | * ch-typeck.c (valid_array_index): new function. | |
10576 | ||
10577 | Tue Feb 16 22:36:34 1993 Per Bothner (bothner@rtl.cygnus.com) | |
10578 | ||
10579 | * ch-convert.c (convert): Slightly more correct conversion | |
10580 | for ARRAY_TYPEs (return as OK if CH_COMPATIBLE). | |
10581 | * ch-expr.c (chill_expand_array_assignment): Invoke | |
10582 | __builtin_memcpy using build_function_call, not directly at | |
10583 | the rtx level (which doesn't work). | |
10584 | * ch-typeck.c (build_chill_slice): First attempt at slices. | |
10585 | * ch-tree.h, ch-typeck.c (build_chill_slice_with_range, | |
10586 | build_chill_slice_with_length): New functions. | |
10587 | * ch-parse.y: Use new slice-building functions. | |
10588 | * expr.c (get_inner_reference): Subtract low bound of | |
10589 | array when doing an ARRAY_REF. | |
10590 | ||
10591 | Tue Feb 16 14:17:55 1993 Bill Cox (bill@rtl.cygnus.com) | |
10592 | ||
10593 | * ch-actions.c (build_chill_function_call): better comments. | |
10594 | * ch-decl.c (push_parms): encode OUT, INOUT parms in additional way. | |
10595 | * ch-parse.y: indentation cleanup | |
10596 | ||
10597 | Tue Feb 16 12:03:53 1993 Michael Tiemann (tiemann@cygnus.com) | |
10598 | ||
10599 | * ch-decl.c (grok_chill_variantdefs): Really implement variant | |
10600 | records for CHILL. | |
10601 | * ch-grant.c (get_tag_value): New function. | |
10602 | * ch-grant.c (decode_mode): Grant variant records. | |
10603 | ||
10604 | * ch-grant.c (chill_seize): If we seize a set, seize the set | |
10605 | values. | |
10606 | ||
10607 | * ch-lex.l (RETURN_TOKEN): Make this safe to use in if/else | |
10608 | constructs. | |
10609 | ||
10610 | * ch-parse.y (EMPTY): New pseudo-token to disambiguate | |
10611 | variant_alternatives. | |
10612 | (current_fieldlist): New variable to help processing tag | |
10613 | declarations in variant records. | |
10614 | (fields): Renamed from structdef. | |
10615 | (field): Renamed from fields. | |
10616 | (varianthack): New non-terminal to handle parsing ambiguity | |
10617 | for variant records. | |
10618 | (optlabellist): Changed to preserve CONST_DECLs when they are | |
10619 | parsed. | |
10620 | ||
10621 | * ch-tree.h (TYPE_TAGFIELD): New macro. | |
10622 | (TYPE_TAG_VALUES): Ditto. | |
10623 | ||
10624 | Mon Feb 15 00:49:34 1993 Per Bothner (bothner@rtl.cygnus.com) | |
10625 | ||
10626 | * ch-grant.c (decode_mode): Fix output for powerset modes. | |
10627 | * ch-grant.c (decode_constant): Support grant output of | |
10628 | powerset literals. | |
10629 | * ch-actions.c (build_chill_binary_op): IN_EXPR fix. | |
10630 | * expr.c (expand_expr): Add Chill-specific kludge for | |
10631 | BIT_FIELD_REF if operand is SET_TYPE to call runtime function. | |
10632 | * ch-expr.c (chill_expand_assignment): Remove no-longer-needed | |
10633 | special-case support for a BIT_FIELD_REF in right-hand-side. | |
10634 | * ch-lang.c (finish_chill_enum): Patch up enum elements to | |
10635 | have the correct type (instead of integers, as in C). | |
10636 | ||
10637 | * ch-lex.l, ch-parse.y: Add disgusting hack (involving | |
10638 | context-dependent look-ahead) so we can parse exception | |
10639 | handlers correctly. | |
10640 | * c-typeck.c (digest_init): Set output type for SET_TYPEs. | |
10641 | * varasm.c (unpack_set_constructor): Add support for | |
10642 | (power-)set ranges (i.e. low_element:high_element). | |
10643 | ||
10644 | Sun Feb 14 13:37:52 1993 Bill Cox (bill@rtl.cygnus.com) | |
10645 | ||
10646 | * ch-inout.c: delete unused #include | |
10647 | * ch-typeck.c (build_chill_slice): turn abort call into error msg. | |
10648 | ||
10649 | Sat Feb 13 13:13:31 1993 Bill Cox (bill@rtl.cygnus.com) | |
10650 | ||
10651 | * Makefile.in: Add cc1chill to STAGESTUFF per Eichin's suggestion. | |
10652 | ||
10653 | Sat Feb 13 12:17:41 1993 Bill Cox (bill@rtl.cygnus.com) | |
10654 | ||
10655 | * Makefile.in: add lots of header files to the CHILL dependencies | |
10656 | ||
10657 | Fri Feb 12 15:48:27 1993 Per Bothner (bothner@rtl.cygnus.com) | |
10658 | ||
10659 | * ch-actions.c (build_chill_function_call): Don't return | |
10660 | error_mark_node on empty parameter-list. | |
10661 | ||
10662 | Fri Feb 12 12:54:52 1993 Bill Cox (bill@rtl.cygnus.com) | |
10663 | ||
10664 | * ch-actions.c (build_chill_function_call): fix start_decl parms. | |
10665 | * ch-parse.y (PUSH_ACTION): guarantee to generate an insn! | |
10666 | ||
10667 | Fri Feb 12 10:32:37 1993 Bill Cox (bill@rtl.cygnus.com) | |
10668 | ||
10669 | * ch-actions.c (build_chill_function_call): create temps, do | |
10670 | assignments to handle INOUT and OUT parameters. | |
10671 | * ch-decl.c (build_chill_function_type): better parameter name. | |
10672 | * ch-parse.y (action): keep rules in alpha order. | |
10673 | (pmodearg): turn INOUT, OUT parameter types into reference types. | |
10674 | * ch-typeck.c (build_tree_slice): indentation change. | |
10675 | ||
10676 | Thu Feb 11 23:16:34 1993 Per Bothner (bothner@rtl.cygnus.com) | |
10677 | ||
10678 | * ch-lex.l (convert_bitstring), Changed SET_TYPE_CONSTRUCTOR to | |
10679 | take a list of elements which are in the set. This corresponds | |
10680 | better to the tuple input form in Chill (and Pascal). | |
10681 | * varasm.c (unpack_set_constructor, pack_set_constructor): | |
10682 | New functions, to expand SET_TYPE CONSTRUCTORs. | |
10683 | * varasm.c (output_constructor): Use pack_set_constructor | |
10684 | to assemble a SET_TYPE constant from a CONSTRUCTOR. | |
10685 | ||
10686 | * ch-grant.c (decode_constant): Better grant for strings, | |
10687 | enumeral, and bitstring constants. | |
10688 | * ch-grant.c: Fixes in seize to avoid duplicates, and emit | |
10689 | things in the correct order. | |
10690 | * c-typeck.c (chill_initializer_constant_valid_p): Kludge | |
10691 | needed to export a static function. | |
10692 | * ch-typeck.c (convert): Avoid needlessly (and lossingly) calling | |
10693 | chill_expand_tuple to convert fix string to varying. | |
10694 | * ch-actions.c (build_chill_binary_op): Promote short | |
10695 | integer operands if needed (otherwise emit routines barf). | |
10696 | * ch-tree.h (SET_WORD_SIZE): New macro. | |
10697 | * ch-parse.y: Fix syntax for RECEIVE CASE. | |
10698 | * ch-parse.y (location): If IDENTIFIER is a CONST_DECL | |
10699 | return its value instead. | |
10700 | ||
10701 | Thu Feb 11 07:41:45 1993 Bill Cox (bill@rtl.cygnus.com) | |
10702 | ||
10703 | * ch-actions.c (build_chill_max, build_chill_min): clean up | |
10704 | * ch-typeck.c (chill_expand_tuple): correct set initialization from | |
10705 | an enumeration tuple. Add sort_constructor function. | |
10706 | ||
10707 | Thu Feb 11 07:41:45 1993 Bill Cox (bill@rtl.cygnus.com) | |
10708 | ||
10709 | * config/sparc.c (sparc_type_code): handle CHAR_TYPE and | |
10710 | BOOLEAN_TYPE w/out an abort. | |
10711 | ||
10712 | Wed Feb 10 14:59:53 1993 Bill Cox (bill@rtl.cygnus.com) | |
10713 | ||
10714 | * ch-actions.c: change most integer_type_node references to | |
10715 | chill_integer_type_node. Rewrite _max and _min routines, | |
10716 | redefine the signatures for those runtime routines. Move | |
10717 | empty-set check into runtime. | |
10718 | * ch-expr.c, ch-loop.c, ch-process.c, ch-tree.c, ch-typeck.c: change | |
10719 | most integer_type_node references to chill_integer_type_node. | |
10720 | ||
10721 | Tue Feb 9 16:00:05 1993 Per Bothner (bothner@rtl.cygnus.com) | |
10722 | ||
10723 | * ch-except.c: New file. Stuff for exception handling. | |
10724 | * ch-parse.y: Add working exception handling support. | |
10725 | * ch-lex.l, ch-parse.y: Prefer standard type terminology | |
10726 | (BOOLS, CHARS) even though non-standard (BITS, CHAR) is ok. | |
10727 | * ch-grant.c: Fix various problems related to granting | |
10728 | types such as bitsets. | |
10729 | * ch-tree.c (build_bitstring_type): Set TYPE_MIN_VALUE | |
10730 | to distinguish bitstrings from powersets (in the same way | |
10731 | we distinguish char strings from char arrays). | |
10732 | * ch-tree.h: New macro CH_BOOL_TYPE_P. | |
10733 | * ch-tree.h, ch-actions.c (lang_init), ch-grant.c (decode_mode): | |
10734 | Undo kludge where integer_type_node was hardwired to 16 bits. | |
10735 | Make integer_type_node etc have the same size as in cc1. | |
10736 | New types chill_integer_type_node and chill_unsigned_type_node | |
10737 | that correspond to the Chill source types INT and UINT. | |
10738 | For now, these match the C 'short' types, but that should | |
10739 | become a configuration option later, | |
10740 | ||
10741 | Tue Feb 9 11:41:25 1993 Bill Cox (bill@rtl.cygnus.com) | |
10742 | ||
10743 | * ch-actions.c (build_chill_unary_op): allow NOT of a set. | |
10744 | ||
10745 | Tue Feb 9 08:27:18 1993 Bill Cox (bill@rtl.cygnus.com) | |
10746 | ||
10747 | * ch-actions.c (build_chill_function_call): add test for | |
10748 | too many/few actual parameters (and avoid seg fault). | |
10749 | * ch-decl.c (do_decls): code cleanup for readability. | |
10750 | * ch-loop.c (begin_chill_loop, end_chill_loop): remove | |
10751 | emit_nop() calls - they now (since exceptions) cause seg faults. | |
10752 | Make derogation on poor CHILL compiler non-specific. | |
10753 | * ch-parse.y (mode2): enable VARYING keyword in CHAR(expr). | |
10754 | * ch-tree.h: remove prototypes added to c-tree.h. | |
10755 | * ch-typeck.c (build_chill_array_ref): correct getting domain | |
10756 | subtree for a PARM_DECL. Subscripting a SET_TYPE is turned into | |
10757 | an IN_EXPR. | |
10758 | ||
10759 | Sun Feb 7 18:20:49 1993 Bill Cox (bill@rtl.cygnus.com) | |
10760 | ||
10761 | * ch-tree.def: add a new tree type - just for varying array | |
10762 | references. We were using ARRAY_REF, but the underlying C | |
10763 | code also generates that one. | |
10764 | * ch-convert.c, ch-expr.c, ch-typeck.c: use the new tree type. | |
10765 | ||
10766 | Sun Feb 7 17:33:17 1993 Bill Cox (bill@rtl.cygnus.com) | |
10767 | ||
10768 | * ch-convert.c: test given type against type of expr before | |
10769 | calling chill_expand_tuple. We were getting lots of spurious | |
10770 | calls... | |
10771 | ||
10772 | Fri Feb 5 15:24:01 1993 Per Bothner (bothner@rtl.cygnus.com) | |
10773 | ||
10774 | * cccp.c: Merge in various Chill-specific changes. | |
10775 | * gcc.c (default_compilers array): Pass -lang-chill | |
10776 | to cpp, not -lang-ch. | |
10777 | ||
10778 | Fri Jan 29 17:18:22 1993 Per Bothner (bothner@rtl.cygnus.com) | |
10779 | ||
10780 | * Makefile.in (install-libchill, install-librmt): Removed. | |
10781 | * ch-actions.c (build_chill_exception_decl): Change decl | |
10782 | to initialized char array, rather than unitialized common. | |
10783 | (Simplifies extracting string name of exception.) | |
10784 | * ch-actions.c: Adjust interface to cause_exception accordingly. | |
10785 | * ch-typeck.c (build_chill_array_ref): Cause rangefail if | |
10786 | index > limit, not >= limit. | |
10787 | ||
10788 | * ch-actions.c (build_chill_function_call): Rename misleading | |
10789 | formal parameter. | |
10790 | * ch-decl.c (do_decls): Allow (again) general initializer exprs. | |
10791 | * ch-parse.y (call): Test for function call needs to test for | |
10792 | FUNCTION_TYPE, not FUNCTION_DECL. | |
10793 | nreverse arg list to build_chill_array_ref. | |
10794 | * ch-typeck.c (build_chill_array_ref): Do recursive call at end | |
10795 | and only if multiple indexes. | |
10796 | * ch-typeck.c: Cleanups. | |
10797 | ||
10798 | Fri Jan 29 11:05:58 1993 Bill Cox (bill@rtl.cygnus.com) | |
10799 | ||
10800 | * ch-decl.c (do_decls): handle set initializations better, more to do. | |
10801 | * ch-loop.c (begin_for_range): correct interface to expand_start_cond | |
10802 | and build_binary_op. | |
10803 | * ch-tree.h: lots more prototypes | |
10804 | * ch-typeck.c (build_array_from_set): added function. | |
10805 | * ch-typeck.c (chill_expand_tuple): handle set initializations better. | |
10806 | ||
10807 | Thu Jan 28 17:41:58 1993 Per Bothner (bothner@rtl.cygnus.com) | |
10808 | ||
10809 | * ch-grant.c (set_default_grant_file): Change default. | |
10810 | Normally, grant file should end up in cwd. | |
10811 | * ch-lang.c (build_chill_struct_type): Call pushtag, | |
10812 | for the sake of debugging. | |
10813 | * ch-lex.l: Improve comment parsing. | |
10814 | * ch-lex.l (readstring): Some improvements. | |
10815 | Initial support for control sequences in string literals.a | |
10816 | ||
10817 | Thu Jan 28 16:16:00 1993 Bill Cox (bill@rtl.cygnus.com) | |
10818 | ||
10819 | * ch-convert.c (convert): correct fixed->varying conversion. | |
10820 | * ch-parse.y (mode2): delete unesthetic newline. | |
10821 | ||
10822 | Thu Jan 28 10:32:55 1993 Bill Cox (bill@rtl.cygnus.com) | |
10823 | ||
10824 | * ch-actions.c: delete maybe_array_ref() | |
10825 | * ch-expr.c (chill_expand_assignment): handle RHS array_ref, delay | |
10826 | calling convert(). | |
10827 | * ch-lex.l, ch-parse.y, chill.gperf: add keywords, syntax for time | |
10828 | supervision actions & builtins | |
10829 | * ch-parse.y (call): eliminate optlocarrayidx, call build_chill_slice, | |
10830 | smaller actions directly (maybe_array_ref() used to call them). | |
10831 | * ch-tree.h: add build_chill_function_call, build_chill_slice | |
10832 | * ch-typeck.c: add build_chill_slice() | |
10833 | ||
10834 | Thu Jan 28 08:44:28 1993 Bill Cox (bill@rtl.cygnus.com) | |
10835 | ||
10836 | * ch-tree.h: bring up to date with ch-actions.c changes. | |
10837 | ||
10838 | Wed Jan 27 23:45:20 1993 Bill Cox (bill@rtl.cygnus.com) | |
10839 | ||
10840 | * ch-expr.c (chill_expand_assignment): handle an RHS varying array | |
10841 | reference. | |
10842 | ||
10843 | Wed Jan 27 22:28:36 1993 Per Bothner (bothner@rtl.cygnus.com) | |
10844 | ||
10845 | * ch-grant.c (decode_constant): Add REAL_TYPE support. | |
10846 | * ch-actions.c (build_chill_exception_decl): New function. | |
10847 | * ch-actions (build_chill_cause_exception, cond_exceptions): | |
10848 | Convert to take a (char*) parameter (the exception name). | |
10849 | * ch-actions.c, ch-expr.c, ch-typeck.c: Convert calls to | |
10850 | cond_exception. | |
10851 | * ch-parse.y (check_end_label): New function, to check if | |
10852 | and end label matches start label. | |
10853 | * ch-parse.y: Fix syntax to properly recognize and | |
10854 | test optional end labels (using check_end_label). | |
10855 | * ch-decl.c (finish_chill_function): Simplify, since | |
10856 | we assume check_end_label has already been called. | |
10857 | * ch-parse.y: Put in infrastructure for exception handling. | |
10858 | ||
10859 | Wed Jan 27 15:45:20 1993 Bill Cox (bill@rtl.cygnus.com) | |
10860 | ||
10861 | * ch-actions.c: delete convert_chill_parameter, replace call with | |
10862 | call to convert(). | |
10863 | * ch-convert.c (convert): combine chill_give_type_to_expr in here. | |
10864 | * ch-decl.c: call convert rather than chill_give_type_to_expr. | |
10865 | * ch-expr.c: delete chill_expand_array_assignment, move code to convert. | |
10866 | * ch-expr.c (chill_expand_assignment): just call convert. | |
10867 | * ch-loop.c (end_chill_loop): expand the end of the loop for a | |
10868 | do while. | |
10869 | * ch-parse.y: call convert rather than chill_give_type_to_expr. | |
10870 | * ch-process.c: checkpoint. | |
10871 | * ch-typeck.c: delete chill_give_type_to_expr, call convert instead. | |
10872 | ||
10873 | Wed Jan 27 15:45:20 1993 Bill Cox (bill@rtl.cygnus.com) | |
10874 | ||
10875 | * ch-grant.c (grant_array_type): new function to allow handling of | |
10876 | VARYING array types. | |
10877 | ||
10878 | Wed Jan 27 15:45:20 1993 Bill Cox (bill@rtl.cygnus.com) | |
10879 | ||
10880 | * ch-typeck.c (chill_give_type_to_expr): fix typo. Reorder to | |
10881 | avoid checking types on CONSTRUCTORs. Correct typo. | |
10882 | * ch-expr.c (expand_assignment_to_varying_array): use proper | |
10883 | expansion function expand_expr_stmt. | |
10884 | * ch-expr.c (expand_chill_assignment): only convert VARYING | |
10885 | array refs or RHS. | |
10886 | ||
10887 | Wed Jan 27 15:32:21 1993 Bill Cox (bill@rtl.cygnus.com) | |
10888 | ||
10889 | * ch-actions.c (build_chill_length, build_chill_lower, | |
10890 | build_chill_upper): accept parameters, too. | |
10891 | * ch-expr.c (chill_expand_assignment): decipher ARRAY_REF on RHS. | |
10892 | * ch-typeck.c (chill_give_type_to_expr, build_chill_array_ref): | |
10893 | assign proper type to ARRAY_REF expression. | |
10894 | ||
10895 | Wed Jan 27 09:51:46 1993 Bill Cox (bill@rtl.cygnus.com) | |
10896 | ||
10897 | * ch-actions.c (build_chill_binary_op): delete unused variable, | |
10898 | get set's base type from TYPE_DOMAIN rather than TREE_TYPE. | |
10899 | * ch-actions.c (build_chill_repetition_op): handle differently-built | |
10900 | declaration trees. | |
10901 | * ch-loop.c (begin_for_set): adapt to new powerset declaration tree. | |
10902 | * ch-typeck.c (chill_give_type_to_expr): give type to constructor | |
10903 | ||
10904 | Tue Jan 26 11:32:38 1993 Bill Cox (bill@rtl.cygnus.com) | |
10905 | ||
10906 | * ch-parse.y (ifaction): re-add lost call to expand_end_code(). | |
10907 | * ch-parse.y (siezelist, grantlist): use 'name' rather than | |
10908 | 'checked_name'. It makes no sense to check sieze/grant names | |
10909 | for WITH expansion. | |
10910 | * ch-expr.c (chill_expand_expr): delete unnecessary (and | |
10911 | seg-fault-causing) code. | |
10912 | * ch-expr.c (chill_expand_assignment): make test for varying array | |
10913 | on the LHS more specific. | |
10914 | * ch-actions.c (invalid_left_operand, invalid_right_operand): error | |
10915 | for use of MOD, REM operators. | |
10916 | * ch-actions.c (build_chill_repetition_op): error for bit-field | |
10917 | initializers (which will get handled in the lexer). | |
10918 | ||
10919 | Mon Jan 25 17:26:47 1993 Bill Cox (bill@rtl.cygnus.com) | |
10920 | ||
10921 | * ch-typeck.c (build_chill_array_ref), | |
10922 | * ch-expr.c (chill_expand_expr, chill_expand_assignment): | |
10923 | translate varying array ref into ARRAY_REF, defer processing | |
10924 | until chill_expand_expr. Update array's length field in | |
10925 | new function expand_assignment_to_varying_array. | |
10926 | ||
10927 | Mon Jan 25 14:57:24 1993 Bill Cox (bill@rtl.cygnus.com) | |
10928 | ||
10929 | * ch-parse.y (mode2): eliminate old method to mark varying arrays. | |
10930 | * ch-expr.c (expand_varying_length_assignment): repair scaling of | |
10931 | RHS expression. | |
10932 | ||
10933 | Mon Jan 25 11:44:21 1993 Per Bothner (bothner@cygnus.com) | |
10934 | ||
10935 | * ch-parse.y: Allow character and bitstring literals | |
10936 | in string repetition operator. | |
10937 | ||
10938 | Sat Jan 23 14:18:11 1993 Per Bothner (bothner@cygnus.com) | |
10939 | ||
10940 | * ch-parse.y (primval): Re-recognize '(' expr ')'. | |
10941 | * ch-parse.y (name): Remove call to check_identifier - | |
10942 | this is not appropriate in certain contexts. | |
10943 | * ch-parse.y (checked_name): Same as <name>, but *with* the | |
10944 | call to check_identifier. Use where appropriate. | |
10945 | * ch-parse.y (operand5): Only allow string repetition of | |
10946 | string literals, because otherwise you get a conflict. | |
10947 | ||
10948 | Thu Jan 21 16:32:39 1993 Bill Cox (bill@rtl.cygnus.com) | |
10949 | ||
10950 | * ch-actions.c, ch-parse.y, ch-process.c, ch-tree.h: sync modules, | |
10951 | continue start_process development. | |
10952 | ||
10953 | Thu Jan 21 13:51:06 1993 Bill Cox (bill@rtl.cygnus.com) | |
10954 | ||
10955 | * ch-decl.c (do_decl): fix handling of multi-char initializer. | |
10956 | ||
10957 | Thu Jan 21 13:14:00 1993 Bill Cox (bill@rtl.cygnus.com) | |
10958 | ||
10959 | * .cvsignore: add CHILL files to be ignored | |
10960 | ||
10961 | Thu Jan 21 07:38:57 1993 Bill Cox (bill@cygnus.com) | |
10962 | ||
10963 | * ch-parse.y: rough draft of start_process handling. | |
10964 | ||
10965 | Wed Jan 20 17:11:05 1993 Bill Cox (bill@rtl.cygnus.com) | |
10966 | ||
10967 | * ch-inout.c: fix mismatch with readtext proto in ch-tree.h. | |
10968 | ||
10969 | Wed Jan 20 16:48:13 1993 Bill Cox (bill@rtl.cygnus.com) | |
10970 | ||
10971 | * ch-tree.h, ch-process.c, ch-inout.c, Makefile.in: | |
10972 | create new modules for I/O and process-related stuff. | |
10973 | * ch-actions.c: move routines to new modules. | |
10974 | call xmalloc, not malloc. | |
10975 | * ch-lang.c (build_chill_struct_type): add parameter checking. | |
10976 | * ch-lex.l (init_lex): remove redundant cast. | |
10977 | ||
10978 | Tue Jan 19 16:33:56 1993 Bill Cox (bill@rtl.cygnus.com) | |
10979 | ||
10980 | * ch-parse.y (operand5): delete unnecessary argument to | |
10981 | build_chill_unary_op. Add rule for string repetition. | |
10982 | * ch-parse.y (primval): delete string repetition attempt. | |
10983 | * ch-parse.y (start_process): rough draft of action. | |
10984 | * ch-actions.c (build_repetition_op): add it | |
10985 | * ch-actions.c (build_chill_binary_op): handle constant arguments | |
10986 | of CONCAT_EXPR, combine into a single string if possible. | |
10987 | * ch-actions.c (invalid_left_operand, invalid_right_operand): | |
10988 | allow single character arguments to CONCAT_EXPR. | |
10989 | * ch-tree.h: add prototype for build_repetition_op | |
10990 | ||
10991 | Tue Jan 19 15:03:29 1993 Fred Fish (fnf@cygnus.com) | |
10992 | ||
10993 | * dwarfout.c (output_type): Add hack that matches the one in the | |
10994 | chill front end to distinquish between true string types and | |
10995 | arrays of char, since it uses ARRAY_TYPE for both, rather than | |
10996 | trying to use the existing support for STRING_TYPE. | |
10997 | ||
10998 | Tue Jan 19 13:54:27 1993 Bill Cox (bill@rtl.cygnus.com) | |
10999 | ||
11000 | * ch-tree.h: added prototypes for all non-static CHILL functions. | |
11001 | * ch-actions.c (lang_init): declare builtin type for start_process | |
11002 | * ch-actions.c (build_chill_binary_op): combine string literals when | |
11003 | concatenated. | |
11004 | * ch-actions.c (formpars2struct): added for later start_process | |
11005 | implementation. | |
11006 | * ch-actions.h: remove un-needed function declarations. | |
11007 | * ch-decl.c: extern cleanup. | |
11008 | * ch-expr.c (chill_expand_array_assignment): add missing first | |
11009 | parameter to cond_exception call. | |
11010 | * ch-lex.l: make build_chill_string non-static. | |
11011 | ||
11012 | Mon Jan 18 19:15:08 1993 Bill Cox (bill@rtl.cygnus.com) | |
11013 | ||
11014 | * ch-decl.c (do_decls): get varying array length initialized. | |
11015 | ||
11016 | Mon Jan 18 09:51:43 1993 Bill Cox (bill@rtl.cygnus.com) | |
11017 | ||
11018 | * ch-expr.c (chill_expand_array_assignment): fix the copy length | |
11019 | in the memcpy call (it was just 4 bytes always). Simplify some | |
11020 | code, also. | |
11021 | ||
11022 | Mon Jan 18 08:24:21 1993 Bill Cox (bill@rtl.cygnus.com) | |
11023 | ||
11024 | * ch-decl.c (do_decls): change CH_VARYING_TYPE_P to function. | |
11025 | ||
11026 | Mon Jan 18 08:00:11 1993 Bill Cox (bill@rtl.cygnus.com) | |
11027 | ||
11028 | * ch-lex.l, ch-parse.y: make BOOLS synonymous with BIT and | |
11029 | CHARS synonymous with CHAR, in the lexer. Delete unnecessary | |
11030 | 'bools' non-terminal. | |
11031 | * ch-parse.y (assignaction): add lhs version of length() function | |
11032 | * ch-actions.c: add builtin_concat function, lots of support for | |
11033 | CONCAT_EXPR. | |
11034 | * ch-actions.c, ch-tree.h: make a function out of former | |
11035 | macro CH_VARYING_TYPE_P | |
11036 | * ch-expr.c: add expand_varying_length_assignment (). | |
11037 | * ch-expr.c (chill_expand_expr): add CONCAT_EXPR support. | |
11038 | * ch-expr.c (chill_expand_array_assignment): call emit_library_call | |
11039 | rather than build_rts_call, to eliminate a recursion problem. | |
11040 | * ch-lang.c: eliminate 'sorry' about varying arrays. | |
11041 | * ch-typeck.c (validate_varying_array_ref): re-enable constant | |
11042 | index validation. | |
11043 | ||
11044 | Sun Jan 17 18:20:04 1993 Per Bothner (bothner@cygnus.com) | |
11045 | ||
11046 | * ch-grant.c, ch-lex.l: Major simplification of how | |
11047 | seizes are done and how seizefiles are read. | |
11048 | * ch-actions.h: Remove declaration of check_seize(). | |
11049 | * ch-decl.c (do_decls): Handle READONLY types. | |
11050 | * ch-parse.y (mode2): Allow REF to be followed by any mode. | |
11051 | * ch-parse.y (mode2): Allow literal expressions in string length. | |
11052 | * ch-parse.y (tupleelement): Allow elemenst to be untyped_expr. | |
11053 | * ch-parse.y (seizestatement, etc): Call chill_seize each | |
11054 | time something is seized, rather than building a list first. | |
11055 | ||
11056 | Sat Jan 16 12:24:44 1993 Bill Cox (bill@rtl.cygnus.com) | |
11057 | ||
11058 | * chill.gperf, ch-hash.h: add Wilfried's tokens | |
11059 | * ch-lex.l: fold in Wilfried's changes. Some tokens | |
11060 | weren't getting recognized, and INSTANCE wasn't correctly | |
11061 | reported to ch-parse.y as a PREDEF_MODEDCL. | |
11062 | ||
11063 | Thu Jan 14 15:02:39 1993 Per Bothner (bothner@cygnus.com) | |
11064 | ||
11065 | * ch-tree.h (CH_CHARS_TYPE_P): New macro. Add comment | |
11066 | explaining difference between char strings and char arrays. | |
11067 | * ch-tree.h (CH_STRING_TYPE_P): Add FIXME re bitstrings. | |
11068 | * ch-tree.c (build_string_type): Add comment. | |
11069 | ||
11070 | Wed Jan 13 15:19:15 1993 Per Bothner (bothner@cygnus.com) | |
11071 | ||
11072 | * calls.c, expr.c, function.c, stmt.c, varasm.c: Set | |
11073 | MEM_IN_STRUCT_P for SET_TYPE where it is set for other aggregates | |
11074 | * expmed.c (store_bit_field, extract_field_field): Undo | |
11075 | yesterday's removal of MEM_IN_STRUCT_P "sanity test". | |
11076 | ||
11077 | * ch-decl.c (do_decls): Put back support for initializing. | |
11078 | (Was accidentally removed in Jan 8 change.) | |
11079 | ||
11080 | Wed Jan 13 14:13:11 1993 Jim Wilson (wilson@sphagnum.cygnus.com) | |
11081 | ||
11082 | * ch-lex.l (convert_bitstring): Correct typo in cast. | |
11083 | ||
11084 | Tue Jan 12 20:29:08 1993 Per Bothner (bothner@cygnus.com) | |
11085 | ||
11086 | * ch-lex.l (convert_bitstring): Change to pack bits | |
11087 | within words, not bytes, and to use machine bit-order | |
11088 | (not always little-endian). | |
11089 | * ch-parse.y: Allow BOOLS(n) as well as BITS(n). | |
11090 | Use build_bitstring_type, not build_string_type. | |
11091 | * expmed.c (store_bit_field, extract_field_field): Remove | |
11092 | "sanity test" that prevents use with SET_TYPE. | |
11093 | * tree.c (build_bitstring_type, build_powerset_type, | |
11094 | build_string_type): Move (so far) Chill-specific functions to ... | |
11095 | * ch-tree.c: ... new file. | |
11096 | * ch-tree.c (build_powerset_type, build_bitstring_type): Re-write. | |
11097 | * ch-typeck.c (build_chill_array_ref): Handle bit strings better. | |
11098 | * ch-typeck.c (chill_expand_tuple): Kludge to handle SET_TYPE. | |
11099 | * Makefile.in (CHILL_OBJS): Add ch-tree.o. | |
11100 | * ch-decl.c (do_decls): Call expand_decl. | |
11101 | * stor-layout.c (layout_type): Handle SET_TYPE. | |
11102 | * expr.c (expand_expr): Add FIXMEs about IN_EXPR. | |
11103 | * ch-actions.c (lang_init): Add type and decl for new | |
11104 | function __builtin_setbitinstring. | |
11105 | * ch-expr.c (chill_expand_assignmment): Special-case handling | |
11106 | for BIT_FIELD_REF with non-constant bit position (which is | |
11107 | not yet handled by expand_expr). | |
11108 | * ch-convert.c (convert): Handle SET_TYPE. | |
11109 | ||
11110 | Tue Jan 12 12:49:13 1993 Fred Fish (fnf@cygnus.com) | |
11111 | ||
11112 | * chill: If -B arg is given, use to find gcc. | |
11113 | ||
11114 | Fri Jan 8 20:21:43 1993 Bill Cox (bill@rtl.cygnus.com) | |
11115 | ||
11116 | * ch-decl.c: revert to avoid seg fault | |
11117 | ||
11118 | Fri Jan 8 14:20:42 1993 Bill Cox (bill@rtl.cygnus.com) | |
11119 | ||
11120 | * ch-decl.c: fix storage into correct offset in varying array. | |
11121 | * ch-actions.c: define sizetype for everyone, use it to build | |
11122 | varying structure. | |
11123 | * ch-parse.y: tiny cleanup. | |
11124 | ||
11125 | Wed Jan 6 13:25:33 1993 Bill Cox (bill@cygnus.com) | |
11126 | ||
11127 | * modules: use gdb rather than naked-gdb, to get opcodes | |
11128 | in chill definition. | |
11129 | ||
11130 | Wed Jan 6 09:48:35 1993 Bill Cox (bill@cygnus.com) | |
11131 | ||
11132 | * ch-typeck.c: add code to handle references to elements of VARYING | |
11133 | arrays. Simplify chill_give_type_to_expr. Add rough draft of run- | |
11134 | time index checking for VARYING arrays (under #if 0). | |
11135 | * ch-actions.c: new function cond_type_range_exception & calls. | |
11136 | New function cond_range_exception, for more general range-checking. | |
11137 | New function build_varying_struct, to do just that. Use the macros | |
11138 | for the special varying field names. | |
11139 | * ch-tree.h: define macros for varying field names. | |
11140 | * ch-expr.c: use macros for varying struct names. Simplify | |
11141 | chill_expand_array_assignment. | |
11142 | * ch-parse.y: assure that build_varying_struct is called everywhere | |
11143 | that it applies. Add a line-number note before the body of a DO | |
11144 | loop. | |
11145 | * ch-loop.c: #ifdef out creation of new scope for DO loop body. | |
11146 | ||
11147 | Tue Jan 5 17:26:14 1993 Bill Cox (bill@cygnus.com) | |
11148 | ||
11149 | * c-decl.c: correct order of declaration of start_decl params, | |
11150 | for readability. | |
11151 | ||
11152 | Tue Jan 5 15:59:36 1993 Per Bothner (bothner@cygnus.com) | |
11153 | ||
11154 | * ch-grant.c (still_start_module_code), ch-parse.y (procedure): | |
11155 | Move shared code into ... | |
11156 | * ch-decl.c (start_chill_function): ... here. | |
11157 | * ch-decl.c (start_chill_function): Add missing call to | |
11158 | expand_start_bindings. | |
11159 | * ch-decl.c (finish_chill_function): Add missing call to | |
11160 | expand_end_bindings. | |
11161 | ||
11162 | Tue Jan 5 01:00:47 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) | |
11163 | ||
11164 | * Makefile.in: took out the rest of the runtime support | |
11165 | ||
11166 | Mon Jan 4 18:02:06 1993 Bill Cox (bill@cygnus.com) | |
11167 | ||
11168 | * ch-expr.c: make chill_expand_array_assignment not static. | |
11169 | ||
11170 | Mon Jan 4 17:57:48 1993 Per Bothner (bothner@cygnus.com) | |
11171 | ||
11172 | * ch-grant.c, ch-parse.y: Remove all code for explicitly | |
11173 | calling initializer functions. This is not needed, since we | |
11174 | use the same mechanism used for C++ static constructors. | |
11175 | * ch-grant.c (chill_start_module_code): Make sure the | |
11176 | init_name starts with the magic string also used for C++ | |
11177 | initializers. Also, don't embed the file name in the name, | |
11178 | just use the module name. | |
11179 | * ch-grant.c (chill_finish_module_code): Now that the | |
11180 | initializer name follows the standard 'collect' convention, | |
11181 | don't need to call assembler_constructor_alias, but can | |
11182 | use the standard assemble_constructor instead. | |
11183 | * varasm.c (assemble_constructor_alias): Remove no-longer- | |
11184 | needed function. | |
11185 | * ch-parse.y: Move code that is common to the beginning of | |
11186 | all functions to a new macro INIT_ACTION. | |
11187 | Make sure INIT_ACTION is also done for callaction, fixing a bug. | |
11188 | * ch-parse.y (INIT_ACTION): Do chill_start_module_code() | |
11189 | before emit_line_note(), not after. | |
11190 | ||
11191 | Mon Jan 4 11:43:12 1993 Bill Cox (bill@cygnus.com) | |
11192 | ||
11193 | * ch-parse.y: restore requirement for :upper-bound in array decl. | |
11194 | * ch-actions.c: enhance upper, lower, length functions for VARYING. | |
11195 | ||
11196 | Mon Jan 4 09:28:44 1993 Bill Cox (bill@cygnus.com) | |
11197 | ||
11198 | * ch-actions.c: fix NOT of boolean expr. | |
11199 | ||
11200 | Mon Jan 4 08:42:57 1993 Bill Cox (bill@cygnus.com) | |
11201 | ||
11202 | * ch-actions.c: provide range-checking function | |
11203 | * ch-lex.l: better compiler-directive error messages, | |
11204 | allow underscores in exponents | |
11205 | * ch-loop.c: prevent passing NULL ptr to printf | |
11206 | ||
11207 | Sun Jan 3 11:57:13 1993 Bill Cox (bill@cygnus.com) | |
11208 | ||
11209 | * ch-typeck.c: correct & enable array index range-checking | |
11210 | ||
11211 | Sun Jan 3 11:36:39 1993 Bill Cox (bill@cygnus.com) | |
11212 | ||
11213 | * ch-parse.y: define IGNORED_DIRECTIVE | |
11214 | * ch-typeck.c: subtract array's lower domain value, even if | |
11215 | index expression is constant. | |
11216 | ||
11217 | Sat Jan 2 23:05:14 1993 Fred Fish (fnf@cygnus.com) | |
11218 | ||
11219 | * ch-lex.l (convert_float): Fix misspelling in error message. | |
11220 | ||
11221 | Sat Jan 2 16:02:16 1993 Per Bothner (bothner@rtl.cygnus.com) | |
11222 | ||
11223 | * Makefile.in: Took out chill-runtime support. | |
11224 | Chill run times are now in ../chillrt, not ./chillrt.p | |
11225 | ||
11226 | Sat Jan 2 15:04:13 1993 Bill Cox (bill@cygnus.com) | |
11227 | ||
11228 | * ch-hash.h, chill.gperf: cleanup. fewer keywords seen by ch-parse.y. | |
11229 | ||
11230 | Sat Jan 2 13:27:49 1993 Per Bothner (bothner@rtl.cygnus.com) | |
11231 | ||
11232 | * ch-lex.l (check_newline): Use the orginal versions (derived | |
11233 | from the C code, not the simplified, special-case version). | |
11234 | Also, fix that version of check_newline to not call yylex() | |
11235 | recursively. | |
11236 | * ch-lex.l (yy_input): Call check_newline to handle | |
11237 | newlines and check for # directives. | |
11238 | * ch-lex.l (syntax): Don't recognize #-directives; these | |
11239 | are now handled by check_newline. | |
11240 | * ch-actions.c (lang_init): Call the modified version of | |
11241 | check_newline(). Do this at the *after* we've initialized | |
11242 | standard types, so this can be done while lineno is still 0. | |
11243 | ||
11244 | Sat Jan 2 10:57:20 1993 Bill Cox (bill@cygnus.com) | |
11245 | ||
11246 | * ch-hash.h, chill.gperf: add remaining reserved words. | |
11247 | ||
11248 | Sat Jan 2 09:59:55 1993 Bill Cox (bill@cygnus.com) | |
11249 | ||
11250 | * ch-tree.h, ch-parse.y, ch-lex.l: add remaining reserved words, | |
11251 | names for exceptions | |
11252 | ||
11253 | Fri Jan 1 12:30:31 1993 Fred Fish (fnf@cygnus.com) | |
11254 | ||
11255 | * ch-tree.h (JOINER): Define joiner character the same way | |
11256 | C++ defines it. | |
11257 | * ch-grant.c (chill_start_module_code): Use JOINER character | |
11258 | to implement name mangling for the initializer function name. | |
11259 | Algorithm is designed to be simple, distinct from C++ mangled | |
11260 | symbols, and easy to convert to demangled form. | |
11261 | ||
11262 | Thu Dec 31 10:30:51 1992 Bill Cox (bill@rtl.cygnus.com) | |
11263 | ||
11264 | * ch-expr.c: make array assignments work with indirect refs. | |
11265 | * ch-actions.c: prepare for array parameter handling. | |
11266 | * ch-loop.c, ch-parse.y, ch-tree.def, ch-typeck.c: clean up. | |
11267 | ||
11268 | Thu Dec 31 15:29:20 1992 Per Bothner (bothner@rtl.cygnus.com) | |
11269 | ||
11270 | * ch-lex.l (yy_input): Re-write to return more than one | |
11271 | character at a time (execpt when reading seize-files). | |
11272 | Don't increment lineno until we start reading the next line. | |
11273 | This fixes some off-by-one errors in lineno. | |
11274 | ||
11275 | Wed Dec 30 16:15:23 1992 Per Bothner (bothner@rtl.cygnus.com) | |
11276 | ||
11277 | * ch-convert.c: Assume use of new common.c. | |
11278 | * ch-convert.c (convert_to_reference, convert_from_reference): | |
11279 | New routines, to handle loc-identity declared variables and | |
11280 | LOC parameters (both of which are implemented as references). | |
11281 | * ch-lang.c (convert_to_boolean, convert_to_char): Move to | |
11282 | ch-convert.c, where they would seem to belong. | |
11283 | * ch-convert.c (convert): New function, since we no longer | |
11284 | link in c-convert.c. | |
11285 | * ch-expr.c (chill_expand_assignment): Handle by calling | |
11286 | convert() instead of chill_comptypes(). | |
11287 | Also handle the LHS being a reference. | |
11288 | * ch-parse.y: Add a procedure call as an action. | |
11289 | * ch-parse.y (locdec, optlocinit): Move handling of | |
11290 | loc-identity declarations from optlocinit to locdec | |
11291 | - and add working semantics for it. | |
11292 | * ch-parse.y (seizestatement, visibilty_stmt): Simplify. | |
11293 | * ch-parse.y (grantstatement etc): Don't bother making list. | |
11294 | * ch-lex.l: #include <sys/types.h> before <sys/stat.h>. | |
11295 | ||
11296 | Wed Dec 30 16:06:55 1992 Bill Cox (bill@rtl.cygnus.com) | |
11297 | ||
11298 | * ch-parse.y, ch-expr.c: add support for declaring & assigning | |
11299 | VARYING arrays. | |
11300 | * ch-typeck.c: allow VARYING structures in assign_type_to_expr. | |
11301 | ||
11302 | Tue Dec 29 15:28:48 1992 Bill Cox (bill@cygnus.com) | |
11303 | ||
11304 | * ch-actions.c: implement expressions of arrays of char, | |
11305 | ( concatenation, relationals ), correct type of code parameters | |
11306 | * ch-expr.c: correct type of code parameters | |
11307 | ||
11308 | Tue Dec 29 11:16:19 1992 Bill Cox (bill@cygnus.com) | |
11309 | ||
11310 | * ch-decl.c: cleanup. | |
11311 | * ch-parse.y: put emit_line_note() calls in lotsa places, | |
11312 | per Fred's request; be sure that statements get counted also. | |
11313 | * ch-lex.l: standardize function headers. | |
11314 | ||
11315 | Tue Dec 29 10:41:56 1992 Fred Fish (fnf@cygnus.com) | |
11316 | ||
11317 | * ch-decl.c (start_chill_function): Always return 1, rather | |
11318 | than a random value. | |
11319 | * ch-lex.l (check_newline): Add a version for chill that | |
11320 | just snarfs the right value for main_input_filename out of | |
11321 | the first line of the input file, without disturbing the | |
11322 | lexer state or requiring it's assistance. | |
11323 | * ch-actions.c (lang_init): Call check_newline, like the | |
11324 | other language frontends, to get main_input_filename set | |
11325 | from first line of input file. | |
11326 | ||
11327 | Mon Dec 28 18:49:01 1992 Bill Cox (bill@cygnus.com) | |
11328 | ||
11329 | * ch-parse.y: clean up conflicts. The remaining one is | |
11330 | harmless. | |
11331 | ||
11332 | Mon Dec 28 17:28:40 1992 Bill Cox (bill@cygnus.com) | |
11333 | ||
11334 | * ch-parse.y, ch-lex.l, ch-actions.c: add stubs for I/O, | |
11335 | clean up some parser conflicts. | |
11336 | ||
11337 | Mon Dec 28 15:00:20 1992 Bill Cox (bill@cygnus.com) | |
11338 | ||
11339 | * ch-parse.y, ch-lex.l: add keywords and parsing for most of | |
11340 | CHILL I/O | |
11341 | ||
11342 | Sat Dec 26 20:48:23 1992 Fred Fish (fnf@cygnus.com) | |
11343 | ||
11344 | * chillrt/chillrt0.c: Oops, SVR4 doesn't need leading '_' | |
11345 | on build_exceptions. | |
11346 | ||
11347 | Sat Dec 26 11:00:36 1992 Fred Fish (fnf@cygnus.com) | |
11348 | ||
11349 | * ch-grant.c (chill_finish_module_code): Call | |
11350 | assemble_constructor_alias rather than assemble_constructor. | |
11351 | * varasm.c (assemble_constructor_alias): New function, | |
11352 | like assemble_constructor, but also handles the case where | |
11353 | ASM_OUTPUT_CONSTRUCTOR is not defined and GNU ld is not | |
11354 | being used. Emits a symbol table alias name with the correct | |
11355 | prefix for collect to find and add to the __CTOR_LIST__. | |
11356 | * chillrt/chillrt0.c: Build on previous hack that gets | |
11357 | _build_exceptions into the __CTOR_LIST__, to make it work | |
11358 | for both the non GNU-ld case and for the SVR4 case. | |
11359 | ||
11360 | Tue Dec 22 18:24:55 1992 Bill Cox (bill@cygnus.com) | |
11361 | ||
11362 | * ch-loop.c: clean up location enumeration - one more | |
11363 | pass to do. | |
11364 | ||
11365 | Tue Dec 22 16:31:48 1992 Bill Cox (bill@cygnus.com) | |
11366 | ||
11367 | * ch-loop.c: Working version of location enumeration loop | |
11368 | ||
11369 | Tue Dec 22 14:42:14 1992 Bill Cox (bill@cygnus.com) | |
11370 | ||
11371 | * ch-lex.l: readability cleanup | |
11372 | ||
11373 | Mon Dec 21 14:58:39 1992 Bill Cox (bill@cygnus.com) | |
11374 | ||
11375 | * ch-parse.y, c-decl.c: Add Jukka's Pascal WITH code. | |
11376 | ch-loop.c: rough draft of location enumeration | |
11377 | ch-lex.l, ch-expr.c, ch-decl.c: minor cleanup | |
11378 | ch-actions.c: finish making pred() and succ() work. | |
11379 | ||
11380 | Mon Dec 21 10:04:35 1992 Bill Cox (bill@cygnus.com) | |
11381 | ||
11382 | * ch-actions.c: allow pred(char) and succ(char). | |
11383 | ||
11384 | Sun Dec 20 16:04:28 1992 Bill Cox (bill@cygnus.com) | |
11385 | ||
11386 | * ch-expr.c, ch-actions.c, ch-parse.y, ch-loop.c, | |
11387 | c-expr.c: make DO WITH work. | |
11388 | ||
11389 | Sun Dec 20 12:22:53 1992 Bill Cox (bill@cygnus.com) | |
11390 | ||
11391 | * ch-loop.c, ch-actions.c, ch-typeck.c: powerset loops | |
11392 | now work | |
11393 | ||
11394 | Sat Dec 19 14:20:23 1992 Per Bothner (bothner@cygnus.com) | |
11395 | ||
11396 | * c-typeck.c (process_init_constructor): Add warning if | |
11397 | there is a duplicate default initializer element. | |
11398 | * ch-typeck.c (chill_give_type_to_expr): New function, | |
11399 | to handle coercion of an expression to context-given type, | |
11400 | Takes care of untyped tuples, and case expressions. | |
11401 | * ch-decl.c (do_decls), ch-typeck.c (chill_expand_return, | |
11402 | chill_expand_result), ch-parse.y <assignaction>: | |
11403 | Use chill_give_type_to_expr(). | |
11404 | * ch-typeck.c (chill_handle_case_label): New parameter list, | |
11405 | to handle the (new) conventions for <case_label>, including | |
11406 | default elements and ranges. | |
11407 | * ch-parse.y <expanded_case_label>, ch-typeck.c | |
11408 | (expand_case_expr): Use new version of chill_handle_case_label. | |
11409 | * ch-decl.c (push_syndecls): Change parameters: Instead of | |
11410 | TREE_LIST representing a compete <synonym definition statement>, | |
11411 | just pass the parts of a single <synonym definition> as 3 | |
11412 | different parameters. Also, use chill_give_type_to_expr(), | |
11413 | to handle untyped tuples in the RHS. | |
11414 | * ch-parse.y <syndeclist, syndef>: Don't bother trying to construct | |
11415 | a tree - just call push_syndecls() on each <synonum_definition> | |
11416 | as we see it. | |
11417 | * ch-parse.y (exprlist_get_single): Remove; no longer needed. | |
11418 | * ch-parse.y: Handle <tuple> without mode name diferently from | |
11419 | <tuple> with mode name. The latter is a <primval> that can be | |
11420 | in most contexts, but if the <mode name> is missing, the <tuple> | |
11421 | is only allowed in certain contexts. Use the new non-terminal | |
11422 | <untyped_expr> to indicate those contexts where untyped tuples | |
11423 | (and case expressions) are valid because the expression gets a | |
11424 | type from its context (such as the RHS of an assignment). | |
11425 | Use chill_give_type_to_expr in those contexts. | |
11426 | ||
11427 | Sat Dec 19 14:01:26 1992 Bill Cox (bill@cygnus.com) | |
11428 | ||
11429 | * ch-actions.c, ch-loop.c, Makefile.in: looping stuff. | |
11430 | ||
11431 | Sat Dec 19 10:16:20 1992 Bill Cox (bill@cygnus.com) | |
11432 | ||
11433 | * ch-parse.y: clean up warning messages from byacc. bison | |
11434 | still complains thrice. | |
11435 | ||
11436 | Fri Dec 18 12:33:29 1992 Michael Tiemann (tiemann@rtl.cygnus.com) | |
11437 | ||
11438 | * ch-actions.c (maybe_chill_comptypes): Delete unused | |
11439 | function. | |
11440 | (chill_comptypes): Add new parameter ERRSTR. All callers | |
11441 | changed. | |
11442 | (build_chill_binary_op): Fix indentation to match GNU coding | |
11443 | style. | |
11444 | ||
11445 | Fri Dec 18 08:18:13 1992 Bill Cox (bill@rtl.cygnus.com) | |
11446 | ||
11447 | * ch-parse.y, ch-expr.c, ch-actions.c, expr.c: major | |
11448 | cleanup of expression and assignment handling. | |
11449 | ||
11450 | Thu Dec 17 10:16:32 1992 Bill Cox (bill@cygnus.com) | |
11451 | ||
11452 | * ch-parse.y: standardize indentation after c-parse.y | |
11453 | ||
11454 | Wed Dec 16 15:22:12 1992 Per Bothner (bothner@cygnus.com) | |
11455 | ||
11456 | * c-typeck.c (process_init_constructor): Add support for | |
11457 | a default initializer element. | |
11458 | * ch-parse.y: Implement default elements for tuples | |
11459 | (as in '(else):' and '(*):' ). | |
11460 | ||
11461 | * ch-parse.y: Previous change to dis-ambiguate case-labels | |
11462 | seems to have allowed getting rid of all of the expr_or_list hair. | |
11463 | * ch-decl.c (do_decls): Undo Tiemann's change to "Handle | |
11464 | initialization of multiple variables by a tuple" - the | |
11465 | idea is bogus. | |
11466 | ||
11467 | Wed Dec 16 11:17:53 1992 Bill Cox (bill@cygnus.com) | |
11468 | ||
11469 | * ch-parse.y: complete re-write of DO statement handling. | |
11470 | now operational, except WITH is stubbed out. Improved | |
11471 | syntax error message. | |
11472 | * ch-actions.c: DO support: high_domain_value(), low_domain_value (). | |
11473 | * ch-expr.c: fixes to IN_EXPR handling. | |
11474 | ||
11475 | Tue Dec 15 17:15:13 1992 Jim Wilson (wilson@sphagnum.cygnus.com) | |
11476 | ||
11477 | * ch-grant.c: Add casts to alloca return to avoid compiler warning. | |
11478 | * ch-lex.c: Likewise. | |
11479 | ||
11480 | * Makefile.in (ch-lex.c): Delete incorrect free declaration added | |
11481 | by flex to avoid compiler error. | |
11482 | ||
11483 | Tue Dec 15 08:41:08 1992 Michael Tiemann (tiemann@rtl.cygnus.com) | |
11484 | ||
11485 | * ch-decl.c (do_decls): Handle initialization of multiple | |
11486 | variables by a tuple. | |
11487 | ||
11488 | * ch-decl.c (do_decls,start_chill_function): Make DECL public | |
11489 | if we're doing a GRANT ALL at top level. | |
11490 | ||
11491 | * ch-lang.c (build_range_type): Deal with typecast to CHAR in | |
11492 | range expression. | |
11493 | ||
11494 | * c-typeck.c (digest_init): SET_TYPE is not a scalar type. | |
11495 | BOOLEAN_TYPE and CHAR_TYPE are scalar types. | |
11496 | ||
11497 | Mon Dec 14 14:58:32 1992 Michael Tiemann (tiemann@rtl.cygnus.com) | |
11498 | ||
11499 | * ch-lex.l (get_chill_{linenumber,filename}): New functions. | |
11500 | (convert_number): Use LONG_TYPE_NODE instead of INTEGER_TYPE_NODE. | |
11501 | ||
11502 | Mon Dec 14 13:36:44 1992 Bill Cox (bill@cygnus.com) | |
11503 | ||
11504 | * expr.c: install and test newer Pascal IN_EXPR code, | |
11505 | but don't activate it - it's very verbose. | |
11506 | ||
11507 | Mon Dec 14 00:22:49 1992 Fred Fish (fnf@cygnus.com) | |
11508 | ||
11509 | * Makefile.in (LANGUAGES): Add chill. | |
11510 | * Makefile.in (CHILL_INSTALL_NAME, CHILL_CROSS_NAME): | |
11511 | New macros for chill native and cross installation names. | |
11512 | * Makefile.in (COMPILERS): Add cc1chill. | |
11513 | * Makefile.in (CHILL_OBJS): New macro, chill objects. | |
11514 | * Makefile.in (CHILL_TREE_H): New macro, chill headers. | |
11515 | * Makefile.in (CHILL, chill, cc1chill, chill-runtime, libchill.a, | |
11516 | sublibchill.a, ch-parse.o, ch-parse.c ch-*.o, install-libchill, | |
11517 | install-librmt): New targets. | |
11518 | * Makefile.in (install-native): Add install-libchill, | |
11519 | install-librmt. | |
11520 | ||
11521 | Sun Dec 13 15:21:06 1992 Bill Cox (bill@cygnus.com) | |
11522 | ||
11523 | * ch-actions.c, ch-expr.c: Fix the pop-count in library calls. | |
11524 | ||
11525 | Sun Dec 13 14:07:32 1992 Bill Cox (bill@cygnus.com) | |
11526 | ||
11527 | * ch-actions.c: fix unary operations, modulus ops, | |
11528 | (discovered after extending regression tests). | |
11529 | ||
11530 | Sun Dec 13 12:16:32 1992 Bill Cox (bill@cygnus.com) | |
11531 | ||
11532 | * resync with Michael and Wilfried | |
11533 | ||
11534 | Sun Dec 13 09:11:25 1992 Michael Tiemann (tiemann@rtl.cygnus.com) | |
11535 | ||
11536 | * ch-parse.y (output_constant): Fixed some whitespace | |
11537 | problems. | |
11538 | * ch-tree.h: Add declarations for new chill functions that | |
11539 | have been implemented but not (yet) declared. | |
11540 | ||
11541 | Sat Dec 12 00:17:23 1992 Per Bothner (bothner@cygnus.com) | |
11542 | ||
11543 | * c-typeck.c (process_init_constructor): Warn about duplicate | |
11544 | labels for labelled initializer elements. | |
11545 | * ch-lex.l (various operator tokens, such as "+"): Don't | |
11546 | set yylval.code to a TREE_CODE; this is better done in parser. | |
11547 | * ch-parse.y: Some work with case labels and tuples. | |
11548 | Get literal range as tuple (and case) labels working. | |
11549 | Fix some problems introduced by recent grammar overhaul. | |
11550 | ||
11551 | Fri Dec 11 13:28:48 1992 Bill Cox (bill@cygnus.com) | |
11552 | ||
11553 | * ch-actions.c, ch-parse.y ch-tree.h ch-expr.c, ch-typeck.c: | |
11554 | got long, real expressions working. We can also call a func- | |
11555 | tion and use its return value. | |
11556 | ||
11557 | Thu Dec 10 14:45:17 1992 Per Bothner (bothner@cygnus.com) | |
11558 | ||
11559 | * ch-parse.y: Major change to remove or at least identify | |
11560 | parser ambiguities. One result: We now allow actions that | |
11561 | start with '(', as required by teh Blue Book. This does break | |
11562 | some things; look for FIXME for things that need work. | |
11563 | * ch-typeck.c (chill_expand_case_expr): We need an extra | |
11564 | level of looping to (in the future) support <case label | |
11565 | specification>s with more than one <case label list>. | |
11566 | ||
11567 | Thu Dec 10 09:21:41 1992 Bill Cox (bill@cygnus.com) | |
11568 | ||
11569 | * ch-actions.c, ch-expr.c: Implement string assignments | |
11570 | and relationals. | |
11571 | ||
11572 | Thu Dec 10 07:17:35 1992 Bill Cox (bill@cygnus.com) | |
11573 | ||
11574 | * ch-decl.c, ch-typeck.c: rest of previous commit. | |
11575 | ||
11576 | Wed Dec 9 18:26:29 1992 Bill Cox (bill@cygnus.com) | |
11577 | ||
11578 | * ch-parse.y, ch-actions.c, ch-expr.c: redo type checking. | |
11579 | regression test and fix bit arrays and set ops. | |
11580 | ||
11581 | Mon Dec 7 14:57:46 1992 Bill Cox (bill@cygnus.com) | |
11582 | ||
11583 | * ch-actions.c: implement crude relationals between | |
11584 | non-exotic operands, such as integers. | |
11585 | ||
11586 | Mon Dec 7 10:42:35 1992 Bill Cox (bill@cygnus.com) | |
11587 | ||
11588 | * ch-actions.c: implement relational, logic operations | |
11589 | on arrays of BOOLs. | |
11590 | ||
11591 | Mon Dec 7 08:55:20 1992 Michael Tiemann (tiemann@rtl.cygnus.com) | |
11592 | ||
11593 | * ch-actions.c (lang_init): Set LINENO to 1 at beginning to | |
11594 | indicate we are done with initialization. | |
11595 | ||
11596 | * ch-decl.c (do_decls): Set TREE_PUBLIC if we are doing a | |
11597 | `grant all'. | |
11598 | (start_chill_function): Ditto. | |
11599 | ||
11600 | * ch-lex.c (convert_bitstring): Set TREE_CONSTANT. | |
11601 | (compiler_directive): Don't confuse compiler directives with | |
11602 | equality comparison operators. | |
11603 | ||
11604 | * ch-parse.y: Clear CURRENT_LOCNAMELIST after calling do_decls. | |
11605 | ||
11606 | Sun Dec 6 13:12:32 1992 Bill Cox (bill@cygnus.com) | |
11607 | ||
11608 | * ch-actions.c: repair set inequality code. | |
11609 | ||
11610 | Sun Dec 6 11:15:59 1992 Bill Cox (bill@cygnus.com) | |
11611 | ||
11612 | * ch-parse.y, ch-actions.c, ch-expr.c: Implement set-oriented | |
11613 | relational expressions, including (<, <=, =, /=, >, >=, IN). | |
11614 | ||
11615 | Fri Dec 4 13:54:58 1992 Brendan Kehoe (brendan@lisa.cygnus.com) | |
11616 | ||
11617 | * tree.def: Move CARD_EXPR and SET_LE_EXPR back down with the other | |
11618 | Pascal-required ones, since C++ no longer needs them. When | |
11619 | Chill's public, a comment can be added to the effect that | |
11620 | SET_LE_EXPR is also used by Chill. | |
11621 | ||
11622 | Fri Dec 4 12:05:01 1992 Bill Cox (bill@cygnus.com) | |
11623 | ||
11624 | * Restore CARD_EXPR and SET_LE_EXPR to tree.def. | |
11625 | ||
11626 | Fri Dec 4 10:23:10 1992 Bill Cox (bill@cygnus.com) | |
11627 | * Get *.def and *.c in sync. | |
11628 | ||
11629 | Fri Dec 4 06:48:41 1992 Fred Fish (fnf@cygnus.com) | |
11630 | ||
11631 | * ch-actions.c (lang_init): Change types "long" and | |
11632 | "ulong" from 16 bits to 32. | |
11633 | * dwarfout.c (fundamental_type_code): Use FT_signed_char | |
11634 | for type "byte" and FT_unsigned_char for type "ubyte". | |
11635 | ||
11636 | Thu Dec 3 15:13:24 1992 Bill Cox (bill@cygnus.com) | |
11637 | * ch-actions.c, ch-tree.def, ch-parse.y: preparation | |
11638 | for powerset expressions. | |
11639 | ||
11640 | Tue Dec 2 17:02:30 1992 Bill Cox (bill@cygnus.com) | |
11641 | * ch-actions.c: sketch code for exceptions generated | |
11642 | by builtin routines. | |
11643 | ||
11644 | Tue Dec 2 12:49:50 1992 Bill Cox (bill@cygnus.com) | |
11645 | * ch-actions.c, ch-parse.y: add support for lower() | |
11646 | upper() builtin functions. | |
11647 | ||
11648 | Wed Dec 2 12:03:30 1992 Fred Fish (fnf@cygnus.com) | |
11649 | ||
11650 | * Makefile.in (chillrt0.o, install-chillrt0): Remove. | |
11651 | * chill (library): Remove chillrt0.o. | |
11652 | * chillrt/Makefile: Remove maintenance of chillrt0.o as a | |
11653 | separate file. Now gets put in libchill.a. | |
11654 | ||
11655 | Tue Dec 2 10:100:20 1992 Bill Cox (bill@cygnus.com) | |
11656 | ||
11657 | * ch-parse.y, ch-actions.c: add support for num() | |
11658 | builtin function. | |
11659 | ||
11660 | Wed Dec 2 09:52:06 1992 Michael Tiemann (tiemann@rtl.cygnus.com) | |
11661 | ||
11662 | * ch-decl.c (fixup_unknown_type): New function. | |
11663 | (push_newmode,push_synmode): Call `fixup_unknown_type' when we | |
11664 | see a declaration that uses `unknown_type_node'. FIXME. | |
11665 | ||
11666 | * ch-grant.c (decode_constant): New function. | |
11667 | (decode_decl): Call `decode_constant' for CONST_DECLs. | |
11668 | ||
11669 | * ch-lex.l (char action): Use ridpointers instead of | |
11670 | lookup_name to get "char"'s declaration. | |
11671 | ||
11672 | * ch-parse.y: Call `build_lang_decl' instead of `build_decl' | |
11673 | when we need to build a TYPE_DECL. | |
11674 | ||
11675 | Tue Dec 2 09:44:05 1992 Bill Cox (bill@cygnus.com) | |
11676 | ||
11677 | * ch-typeck.c: clean up a gcc warning with a forward | |
11678 | declaration of build_string_type. | |
11679 | ||
11680 | Tue Dec 1 16:51:05 1992 Bill Cox (bill@cygnus.com) | |
11681 | ||
11682 | * ch-actions.c: completely remove those builtin calls | |
11683 | that are duplicated in c-decl.c | |
11684 | ||
11685 | Tue Dec 1 16:38:51 1992 Fred Fish (fnf@cygnus.com) | |
11686 | ||
11687 | * ch-actions.c (lang_init): Ifdef out initializations for | |
11688 | __builtin_abs and __builtin_fabs, since they are duplicates of | |
11689 | initializations in c-decl.c, and trigger spurious warnings. | |
11690 | ||
11691 | Tue Dec 1 16:35:18 1992 Bill Cox (bill@cygnus.com) | |
11692 | ||
11693 | * ch-parse.y: make size() work with a typename argument. | |
11694 | ||
11695 | Tue Dec 1 16:15:56 1992 Bill Cox (bill@cygnus.com) | |
11696 | ||
11697 | * ch-parse.y, ch-lex.l, ch-actions.c: add builtin | |
11698 | functions min, max, card. | |
11699 | ||
11700 | Tue Dec 1 12:35:56 1992 Bill Cox (bill@cygnus.com) | |
11701 | ||
11702 | * ch-lex.l: fix char-type | |
11703 | ||
11704 | Tue Dec 1 11:10:56 1992 Bill Cox (bill@cygnus.com) | |
11705 | ||
11706 | * ch-parse.y, ch-actions: added parsing and processing | |
11707 | for upper, lower, and length built-ins. | |
11708 | ||
11709 | Tue Dec 1 09:40:49 1992 Fred Fish (fnf@cygnus.com) | |
11710 | ||
11711 | * dwarf.h (LANG_CHILL): Add as GNU extension. | |
11712 | * dwarfout.c (output_compile_unit_die): Test language_string and | |
11713 | set LANG_CHILL if appropriate. | |
11714 | * ch-parse.y (language_string): New for chill. | |
11715 | * chillrt: Renamed directory chill to chillrt. | |
11716 | * chill: Renamed chillsh to chill. | |
11717 | * Makefile.in: Adjust for renamings. | |
11718 | * chillrt/Makefile: Adjust for directory renaming. | |
11719 | ||
11720 | Mon Nov 30 17:35:33 1992 Fred Fish (fnf@cygnus.com) | |
11721 | ||
11722 | * chillsh: New script frontend (ala g++), installed as "chill". | |
11723 | Can't be called "chill.sh" because make tries to cat it into the | |
11724 | "chill" directory. Can't be called just "chill" cause that's | |
11725 | already there as a directory. | |
11726 | * Makefile.in: Add rules to install chillsh as "chill". | |
11727 | * chill/libchill.c: Temporarily ifdef out stuff that wants | |
11728 | to conflict with i486/SVR4 runtime or wants to pull in librmt.a, | |
11729 | which itself causes linkage to fail. | |
11730 | ||
11731 | Mon Nov 30 16:28:19 1992 Bill Cox (bill@cygnus.com) | |
11732 | ||
11733 | * ch-lex.l: added keywords for TRUNC, ROUND, FLOAT, LFLOAT | |
11734 | conversion routines. | |
11735 | * ch-parse.y: added %tokens for TRUNC, ROUND, FLOAT, LFLOAT. | |
11736 | Added production for SIZE(expr). | |
11737 | * ch-actions.c: Add semantic routine chill_sizeof (). | |
11738 | ||
11739 | Mon Nov 30 16:20:40 1992 Per Bothner (bothner@cygnus.com) | |
11740 | ||
11741 | * ch-lex.l, ch-parse.y: Translate token PFEIL into English ARROW. | |
11742 | * ch-parse.y (op6): Remove handling of string repetition operator, | |
11743 | until we can figure out a way to parse it correctly. | |
11744 | * ch-parse.y (optmodename): New non-terminal. | |
11745 | * ch-parse.y (tuple): Merge the two variants using optmodename. | |
11746 | * ch-parse.y (location): Add semantic actions for | |
11747 | dereferencing operator ->. | |
11748 | ||
11749 | Mon Nov 30 08:01:29 1992 Bill Cox (bill@cygnus.com) | |
11750 | ||
11751 | * ch-actions.c: removed compile warning, better code for abs. | |
11752 | ||
11753 | * ch-parse.y: add productions for builtin functions succ, pred, | |
11754 | abs, and size. Add %tokens also. Sort %tokens alphabetically. | |
11755 | ||
11756 | * ch-lex.l: add parsing for builtin function names, such as abs, | |
11757 | pred, succ, etc. Put flex -a option into Makefile.in, so we can | |
11758 | clean up the lexer soon. | |
11759 | ||
11760 | Tue Nov 24 14:18:48 1992 Per Bothner (bothner@rtl.cygnus.com) | |
11761 | ||
11762 | * ch-typeck.c (chill_handle_case_label, chill_handle_case_default): | |
11763 | New functions, for code common to CASE actions and expressions. | |
11764 | * chill.y: Replace some code by calls to chill_handle_case_label | |
11765 | and chill_handle_case_default. | |
11766 | * ch-typeck.c (chill_expand_case_expr): Add semantics. | |
11767 | ||
11768 | * tree.c: Change doing_chill_thang from extern to common. | |
11769 | ||
11770 | Mon Nov 23 18:34:22 1992 Per Bothner (bothner@rtl.cygnus.com) | |
11771 | ||
11772 | * ch-tree.def: New CASE_EXPR type, for case expressions. | |
11773 | * ch-expr.c (chill_expand_expr): Hook for CASE_EXPR. | |
11774 | * ch-typeck.c (chill_expand_case_expr): New function. | |
11775 | Placeholder to implement case expressions. | |
11776 | * ch-typeck.c (chill_expand_result, chill_expand_return): | |
11777 | Handle mode-unspecified tuples and case expressions in | |
11778 | the context of RETURN and RESULT actions. | |
11779 | * chill.y (assignaction): Handle case expressions in the | |
11780 | context of the RHS of an assignment action. | |
11781 | * chill.y (caseaction): Remove spurious duplicate OF in grammar. | |
11782 | * chill.y: Handle labeled structure tuples. | |
11783 | * chill.y: New rules to parse CASE expressions. | |
11784 | * tree.c (build_function_types): Allow Chill functions | |
11785 | to return arrays and functions. | |
11786 | ||
11787 | Wed Nov 18 13:50:28 1992 Per Bothner (bothner@rtl.cygnus.com) | |
11788 | ||
11789 | * ch-typeck.c (chill_expand_tuple): New function. Expand a | |
11790 | tuple (constructor) given an expected (context) type. | |
11791 | * chill.y: Implement 'LHS := TUPLE' using expand_chill_tuple, | |
11792 | using the mode of the LHS and the expected type of the TUPLE. | |
11793 | * chill.y: Implement initialization. | |
11794 | * chill.y: Fix some syntax bugs (forbidlist must be surrounded | |
11795 | by parentheses), and remove or note ambiguities. | |
11796 | * chill.y: Started converting layout style to be like c-parse.in. | |
11797 | * chill.y: Implement IF expressions. | |
11798 | * chill.y: Added syntax rules for tuples. Labelled and unlabelled | |
11799 | array tuples should now work (in some contexts). | |
11800 | * ch-actions.c: Initialize doing_chill_thang to 1. | |
11801 | * ch-decl.c (do_decls): Set DECL_INITIAL if there is an | |
11802 | initializer, to make pushdecl and finish_decl work. | |
11803 | * c-decl.c (convert_for_assignment): If Chill, don't convert | |
11804 | function and arrays into pointers. (Maybe functions should | |
11805 | still be converted?) | |
11806 | * c-typeck.c (grokdeclarator): Allow functions in Chill | |
11807 | to return arrays and functions. | |
11808 | ||
11809 | Mon Nov 16 15:40:47 1992 Per Bothner (bothner@rtl.cygnus.com) | |
11810 | ||
11811 | * chill.y (exprlist_get_single): New function, used when | |
11812 | parsing tuples. | |
11813 | * chill.y: Re-did parsing of tuples to remove ambiguities. | |
11814 | This was a bitch. | |
11815 | ||
11816 | Tue Nov 10 16:30:55 1992 Per Bothner (bothner@rtl.cygnus.com) | |
11817 | ||
11818 | * ch-typeck.c (chill_expand_result); Set TREE_SIDE_EFEFCTS | |
11819 | flags on assignment to result. | |
11820 | * ch-typeck.c (build_chill_array_ref): Subtract lower | |
11821 | bound of domain if non-zero. Preliminary hook for range checking. | |
11822 | * ch-tree.h, chill.l: Combine variables range_check and | |
11823 | range_check_disabled into global variable range_checking. | |
11824 | * ch-tree.h: Better definitions of CH_CLASS_IS_VALUE | |
11825 | CH_CLASS_IS_DERIVED. | |
11826 |