]>
Commit | Line | Data |
---|---|---|
3eb54e5f ILT |
1 | 2000-12-31 Alexandre Oliva <aoliva@redhat.com> |
2 | ||
3 | * resource.c (mark_referenced_resources): Abort() before | |
4 | attempting to mark a pseudo register. | |
5 | (mark_set_resources): Likewise. | |
6 | ||
7 | 2000-12-31 Philip Blundell <philb@gnu.org> | |
8 | ||
9 | * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Add missing asm | |
10 | operands. | |
11 | ||
12 | 2000-12-30 Richard Henderson <rth@redhat.com> | |
13 | ||
14 | * dbxout.c (dbxout_block): Invert logic on eliding LBRAC/RBRAC. | |
15 | Initialize variables properly for DBX_LBRAC_FIRST. | |
16 | ||
17 | 2000-12-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
18 | ||
19 | * expr.c (expand_expr, case COMPONENT_REF): Fix typo in last change. | |
20 | ||
21 | 2000-12-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
22 | ||
23 | * builtins.c (validate_arglist): New function, use it. | |
24 | ||
25 | 2000-12-30 Philip Blundell <philb@gnu.org> | |
26 | ||
27 | * config/arm/arm.c (arm_expand_prologue): Fix typos in error | |
28 | message and comment. Note location of testcase for an unhandled | |
29 | situation. | |
30 | ||
31 | 2000-12-30 Jeffrey Oldham <oldham@codesourcery.com> | |
32 | ||
33 | * defaults.h (BUILD_VA_LIST_TYPE): New definition. | |
34 | * tree.c (build_common_tree_nodes_2): Ensure the va_list_type_node | |
35 | is a copy, not an alias. | |
36 | ||
37 | 2000-12-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
38 | ||
39 | * calls.c (calls_function_1, case CONSTRUCTOR): New case. | |
40 | ||
41 | * alias.c (alias_sets_conflict_p): New function. | |
42 | (mems_in_disjoint_alias_sets_p): Use it. | |
43 | (readonly_fields_p): Moved from expr.c; check for record type. | |
44 | (objects_must_conflict_p): New function. | |
45 | * calls.c (expand_call): Use assign_temp as much as possible, use | |
46 | readonly variant if assigned once, and don't set memory attributes. | |
47 | (emit_library_call_value_1, store_one_arg): Likewise. | |
48 | * integrate.c (expand_inline_function): Likewise. | |
49 | * stmt.c (expand_asm_operands, expand_return): Likewise. | |
50 | * expr.c (copy_blkmode_from_reg, store_constructor): Likewise. | |
51 | (store_field, save_noncopied_parts, expand_expr): Likewise. | |
52 | (expand_expr_unaligned): Likewise. | |
53 | (readonly_fields_p): Moved to alias.c. | |
54 | (safe_from_p): Rework handling of SAVE_EXPR. | |
55 | MEMs ony conflict if alias sets conflict; likewise for INDIRECT_REF. | |
56 | * function.c (struct temp_slot): Delete field ALIAS_SET; add TYPE. | |
57 | (assign_stack_for_temp): Use objects_must_confict_p. | |
58 | Set all memory attributes from type, if specified. | |
59 | (mark_temp_slot): Mark TYPE field. | |
60 | * tree.h (alias_sets_conflict_p, readonly_fields_p): New decls. | |
61 | (objects_must_conflict_p): Likewise. | |
62 | ||
63 | * stmt.c (expand_decl): Don't use assign_stack_temp in error case. | |
64 | (add_case_node): No need to copy nodes anymore. | |
65 | ||
66 | 2000-12-30 Alexandre Oliva <aoliva@redhat.com> | |
67 | ||
68 | * config/sh/sh.c (split_branches): Don't dereference re-computed | |
69 | `beyond' before checking it's non-NULL. | |
70 | ||
71 | 2000-12-29 Robert Lipe <robertl@sco.com> | |
72 | ||
73 | Remove COFF support from i?86-pc-sco3.2v5. | |
74 | * i386/sco5.h (PREFERRED_DEBUGGING_TYPE): Change to Dwarf II. | |
75 | (TARGET_ELF): Now always true. | |
76 | (SUBTARGET_SWTICHES: )Remove -mcoff. | |
77 | ||
78 | * i386/t-sco5 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, | |
79 | MULTILIB_EXCEPTION): Nuke coff. | |
80 | (CRTSTUFF_T_CFLAGS_S): Deleted. | |
81 | (TARGET_LIBGCC2_CFLAGS): Added. | |
82 | ||
83 | 2000-12-29 Alexandre Oliva <aoliva@redhat.com> | |
84 | ||
85 | * varasm.c (output_constant_def): Don't ENCODE_SECTION_INFO | |
86 | twice. Update desc->rtl and ->label, in case ENCODE_SECTION_INFO | |
87 | modifies them. | |
88 | ||
89 | 2000-12-29 Bernd Schmidt <bernds@redhat.com> | |
90 | ||
91 | * ia64.c (ia64_expand_load_address): Accept additional scratch | |
92 | register argument. All callers & prototype changed. | |
93 | Use scratch register when generating load_symptr insns. | |
94 | * ia64.md (movdi_symbolic): Clobber a scratch register. Use it | |
95 | when calling ia64_expand_load_address. | |
96 | (movdi): Generate movdi_symbolic with additional operand. | |
97 | (load_gprel64): Use pic_offset_table_rtx instead of (reg:DI 1). | |
98 | (load_symptr): Likewise. Use additional operand as a scratch | |
99 | register instead of generating it here. | |
100 | ||
101 | * basic-block.h: Add a comment. | |
102 | * flow.c (PROP_POSTRELOAD): New macro. | |
103 | (update_life_info): Add it to prop_flags. | |
104 | (mark_set_1): If it is set, compute REG_N_SETS for the original | |
105 | register number of a hard reg. | |
106 | ||
107 | * emit-rtl.c (gen_raw_REG): New function. | |
108 | (gen_rtx_REG, gen_reg_rtx, init_emit_once): Use it instead of | |
109 | gen_rtx_raw_REG. | |
110 | * print-rtl.c (print_rtx): Print ORIGINAL_REGNO. | |
111 | * final.c (alter_subreg): Update it. | |
112 | * regrename.c (do_replace): Likewise. Use gen_raw_REG. | |
113 | * rtl.def (REG): Update comment. | |
114 | * rtl.h (X0UINT, ORIGINAL_REGNO): New macros. | |
115 | (gen_raw_REG): Declare. | |
116 | ||
117 | 2000-12-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
118 | ||
119 | * tree.c (get_set_constructor_bits): Use host_integerp and | |
120 | tree_low_cst. | |
121 | ||
122 | * local-alloc.c (update_equiv_regs): Don't use copy_rtx on PATTERN. | |
123 | ||
124 | * toplev.c (main): Call xmalloc_set_program_name. | |
125 | * gcc.c (main): Likewise. | |
126 | ||
127 | 2000-12-29 Philip Blundell <philb@gnu.org> | |
128 | ||
129 | * config/arm/arm.c (arm_override_options): Fix typo in warning | |
130 | message. | |
131 | ||
132 | 2000-12-29 Richard Henderson <rth@redhat.com> | |
133 | ||
134 | * config/alpha/alpha.c (alpha_expand_block_move): Initialize | |
135 | src_align and dst_align in bits. Do unaligned quadword loads | |
136 | if possible for BWX too. | |
137 | (alpha_expand_block_clear): Initialize align in bits. Track | |
138 | small leading offsets into a larger alignment. Play games with | |
139 | stq_u for large 4-byte aligned blocks. Use load/mask/store | |
140 | for appropreately aligned heads and tails. | |
141 | ||
142 | 2000-12-29 Alexandre Oliva <aoliva@redhat.com> | |
143 | ||
144 | * function.c (assign_parms): Convert arguments passed by | |
145 | reference to the right mode. | |
146 | ||
147 | 2000-12-28 Geoffrey Keating <geoffk@redhat.com> | |
148 | ||
149 | * c-parse.in (select_or_iter_stmt): Use truthvalue_conversion | |
150 | on the condition of a FOR statement, so that it gets typechecked | |
151 | and optimized. | |
152 | ||
153 | 2000-12-29 Alexandre Oliva <aoliva@redhat.com> | |
154 | ||
155 | * c-decl.c (grokdeclarator): Prevent crash in case of overflow in | |
156 | array size. | |
157 | ||
158 | * calls.c (emit_library_call_value_1): Add to call_fusage the | |
159 | stack slot assigned to argument passed by reference. | |
160 | ||
161 | 2000-12-28 Jeffrey Oldham <oldham@codesourcery.com> | |
162 | ||
163 | * toplev.h (extern really_sorry): Remove extern declaration for | |
164 | nonexistent function. | |
165 | ||
166 | 2000-12-28 Jeffrey Oldham <oldham@codesourcery.com> | |
167 | ||
168 | * varasm.c (initializer_constant_valid_p): Indicate subtraction of | |
169 | pointers to the same string constant is absolute. | |
170 | ||
171 | 2000-12-28 Joseph S. Myers <jsm28@cam.ac.uk> | |
172 | ||
173 | * c-common.c (enum format_type): Add strfmon_format_type. | |
174 | (decl_attributes): Handle format attributes strfmon and | |
175 | __strfmon__. | |
176 | (FMT_FLAG_USE_DOLLAR, FMT_FLAG_ZERO_WIDTH_BAD, | |
177 | FMT_FLAG_EMPTY_PREC_OK): Define. | |
178 | (format_char_info): Update comment for flag_chars. | |
179 | (format_flag_spec): Add skip_next_char. | |
180 | (format_kind_info): Add left_precision_char. | |
181 | (printf_flag_specs, scanf_flag_specs, strftime_flag_specs, | |
182 | format_types): Update for these new structure members and flags. | |
183 | (time_char_table): Make const. | |
184 | (strfmon_length_specs, strfmon_flag_specs, strfmon_flag_pairs, | |
185 | monetary_char_table): New. | |
186 | (format_types): Add details of strfmon formats. | |
187 | (init_function_format_info): Create default attribute for strfmon. | |
188 | (check_format_info_main): Check the new flags. Handle | |
189 | skip_next_char and left precision. | |
190 | * toplev.c (documented_lang_options): Update description of | |
191 | -Wformat. | |
192 | * extend.texi: Document strfmon format attributes. Document | |
193 | attribute forms such as __printf__. Clarify format_arg attribute | |
194 | documentation. | |
195 | * invoke.texi (-Wformat): Update for strfmon formats. | |
196 | ||
197 | 2000-12-28 Andreas Jaeger <aj@suse.de> | |
198 | ||
199 | * expmed.c (store_bit_field): Fix last patch. | |
200 | ||
201 | 2000-12-28 Alexandre Oliva <aoliva@redhat.com> | |
202 | ||
203 | * config/sh/crt1.asm (start_l): `__SH4_SINGLE_ONLY__' was missing | |
204 | the trailing `__'. | |
205 | ||
206 | 2000-12-28 Alan Lehotsky <lehotsky@tiac.net> | |
207 | ||
208 | * expmed.c (store_bit_field): Correctly compute smallest mode that | |
209 | is sufficient to contain all bits we are storing. | |
210 | ||
211 | 2000-12-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
212 | ||
213 | * builtins.c (build_function_call_expr): New function. Use it | |
214 | everywhere in lieu of manually constructing a CALL_EXPR. | |
215 | ||
216 | 2000-12-27 Chandrakala Chavva <cchavva@redhat.com> | |
217 | ||
218 | * calls.c (store_one_arg): If parm is passed both in stack and in | |
219 | register and offset is greater than reg_parm_stack_space, split | |
220 | the offset and call emit_push_insn(). | |
221 | ||
222 | 2000-12-27 Nick Clifton <nickc@redhat.com> | |
223 | ||
224 | * ifcvt.c (noce_emit_store_flag): Handle jump insns that are | |
225 | PARALLEL. | |
226 | ||
227 | 2000-12-27 Alexandre Oliva <aoliva@redhat.com> | |
228 | ||
229 | * rtl.c (copy_most_rtx, shallow_copy_rtx): Copy frame_related | |
230 | flag. | |
231 | ||
232 | 2000-12-27 Bruce Korb <bkorb@gnu.org> | |
233 | ||
234 | * fixinc/Makefile.in: fix for ancient Bourne shell | |
235 | * fixinc/Makefile.BEOS: obsolete | |
236 | * fixinc/Makefile.DOS: obsolete | |
237 | * fixinc/fixincl.sh(LINKS): use `test -d' rather than `ls' for testing | |
238 | ||
239 | 2000-12-27 Bernd Schmidt <bernds@redhat.com> | |
240 | ||
241 | * sched-deps.c (get_condition, conditions_mutex_p): New functions. | |
242 | (add_dependence): Use them to avoid adding unnecessary dependencies | |
243 | between conditionally executed insns. | |
244 | (sched_analyze_1, sched_analyze_2, sched_analyze_insn): Don't free | |
245 | dependency lists if current insn is a COND_EXEC. | |
246 | ||
247 | 2000-12-27 Geoffrey Keating <geoffk@redhat.com> | |
248 | ||
249 | * config/rs6000/rs6000.md (define_attr "length"): Correct | |
250 | calculation. | |
251 | ||
252 | 2000-12-26 Kazu Hirata <kazu@hxi.com> | |
253 | ||
254 | * config/h8300/h8300.c: Fix a comment typo. | |
255 | (get_shift_alg): Fix a typo in the assembly code for 12-bit | |
256 | ASHIFTRT in HImode. Do not output extra whitespace after one line | |
257 | of assembly code. Output a tab after an opcode instead of a | |
258 | space. | |
259 | (emit_a_shift): Output a tab after an opcode instead of a space. | |
260 | ||
261 | 2000-12-23 Marek Michalkiewicz <marekm@linux.org.pl> | |
262 | ||
263 | * config/avr/avr.c (out_movqi_r_mr, out_movhi_r_mr, out_movsi_r_mr, | |
264 | out_movsi_mr_r, out_movqi_mr_r, out_movhi_mr_r): Use %o instead of | |
265 | %4 in output templates, do not modify operands passed by the caller. | |
266 | ||
267 | 2000-12-23 Joseph S. Myers <jsm28@cam.ac.uk> | |
268 | ||
269 | * builtins.def (BUILT_IN_LABS, BUILT_IN_LLABS, BUILT_IN_IMAXABS): | |
270 | Don't define. | |
271 | * builtins.c (expand_builtin): Don't handle BUILT_IN_LABS, | |
272 | BUILT_IN_LLABS and BUILT_IN_IMAXABS. | |
273 | * c-common.c (c_common_nodes_and_builtins): Use BUILT_IN_ABS for | |
274 | builtin labs, llabs and imaxabs. | |
275 | (expand_tree_builtin): Don't handle BUILT_IN_LABS, BUILT_IN_LLABS | |
276 | and BUILT_IN_IMAXABS. | |
277 | ||
278 | 2000-12-23 Joseph S. Myers <jsm28@cam.ac.uk> | |
279 | ||
280 | * c-common.c (builtin_function_2): New function. | |
281 | (c_common_nodes_and_builtins): Use it to define each pair (foo, | |
282 | __builtin_foo) of builtins in one place. | |
283 | ||
284 | 2000-12-22 Joseph S. Myers <jsm28@cam.ac.uk> | |
285 | ||
286 | * gccbug.in: Add libgcj and preprocessor categories. | |
287 | ||
288 | 2000-12-22 Bernd Schmidt <bernds@redhat.com> | |
289 | ||
290 | * config/ia64/ia64.c (itanium_reorder): Only schedule stops in | |
291 | the final scheduling pass. | |
292 | ||
293 | 2000-12-22 Nick Clifton <nickc@redhat.com> | |
294 | ||
295 | * config/arm/arm.h (struct machine_function): Add new field | |
296 | 'lr_save_eliminated'. | |
297 | * config/arm/arm.c (arm_compute_save_reg_mask): Do not include the | |
298 | link register if its save has been eliminated. | |
299 | (output_arm_prologue): Mention if the save of the link register | |
300 | has been eliminated. | |
301 | (output_arm_epilogue): Rename 'live_regs_mask' to | |
302 | 'saved_regs_mask'. | |
303 | Test 'saved_regs_mask' for the link register, not regs_ever_live. | |
304 | (arm_expand_prologue): If the link register has not been saved set | |
305 | lr_save_eliminated and emit a USE to prevent later passes from | |
306 | scavenging it. | |
307 | ||
308 | * dwarf2out_frame_debug_expr: Allow the (scratch) frame | |
309 | pointer to be initialized from the stack pointer plus a | |
310 | constant. | |
311 | ||
312 | 2000-12-22 Bernd Schmidt <bernds@redhat.com> | |
313 | ||
314 | * regrename.c (struct du_chain): New field "earlyclobber". | |
315 | (enum scan_actions): Remove unused entry "note_reference". | |
316 | (enum scan_actions_name): Likewise. | |
317 | (note_sets, clear_dead_regs, merge_overlapping_regs): New static | |
318 | functions. | |
319 | (regrename_optimize): Use them to compute unavailable regs; get | |
320 | rid of the more simpleminded code we used to have here. | |
321 | Use a tick array to ensure registers are allocated in a more | |
322 | round-robin way. Disable code that only optimizes registers | |
323 | that were seen more than once. | |
324 | (referenced_regs): Remove variable. | |
325 | (scan_rtx_reg): New arg "earlyclobber". All callers changed. | |
326 | Store its value in newly generated du_chain structures. | |
327 | Add new du_chains at the end, not the start, of the list. | |
328 | Don't handle the "note_reference" action. | |
329 | (scan_rtx): New arg "earlyclobber". All callers changed. | |
330 | (build_def_use): Lose code to keep track of referenced regs. | |
331 | ||
332 | 2000-12-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
333 | ||
334 | * Makefile.in (sched-deps.o, sched-rgn.o): Fix dependency typo. | |
335 | ||
336 | * fp-bit.h (usi_to_float): Add prototype. | |
337 | ||
338 | * i386.c (ix86_expand_builtin): Delete unused label. | |
339 | ||
340 | * dwarf2out.c (file_info_cmp): Prototype. | |
341 | (dwarf2out_line): Hide variable `old_in_use'. | |
342 | ||
343 | * objc-act.c (objc_fatal): Delete. | |
344 | ||
345 | * sched-vis.c (visualize_stall_cycles): Remove unused variable. | |
346 | ||
347 | * system.h (getopt): Fix error in last change. | |
348 | ||
349 | * varasm.c (assemble_trampoline_template): Constify. | |
350 | ||
351 | 2000-12-22 Jason Merrill <jason@redhat.com> | |
352 | ||
353 | * collect2.c (main): Use auto_demangling. | |
354 | ||
355 | 2000-12-22 Alexandre Oliva <aoliva@redhat.com> | |
356 | ||
357 | * function.c (assign_parms): Update parm's DECL_INCOMING_RTL | |
358 | when optimizing PARALLEL to REG. | |
359 | ||
360 | 2000-12-22 Graham Stott <grahams@redhat.com> | |
361 | ||
362 | * reload.c (update_auto_inc_notes): New, broken out from ... | |
363 | (find_reloads_address_1): ... use here, also correct possible | |
364 | use of uninitialized reloadnum. | |
365 | ||
366 | 2000-12-21 David O'Brien <obrien@FreeBSD.org> | |
367 | ||
368 | * config/freebsd.h (LIB_SPEC): remove -kthread option. | |
369 | ||
370 | 2000-12-22 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
371 | ||
372 | * resource.c (mark_set_resources): Use MARK_SRC_DEST for | |
373 | PRE_MODIFY and POST_MODIFY cases. | |
374 | ||
375 | * rtlanal.c (side_effects_p): Handle PRE_MODIFY and POST_MODIFY. | |
376 | ||
377 | 2000-12-22 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
378 | ||
379 | * md.texi (Looping Patterns): New node. | |
380 | ||
381 | 2000-12-21 Joseph S. Myers <jsm28@cam.ac.uk> | |
382 | ||
383 | * gcc.texi, cpp.texi: Update last-updated dates. | |
384 | ||
385 | 2000-12-21 Chandrakala Chavva <cchavva@redhat.com> | |
386 | ||
387 | * varasm.c (output_addressed_constants): Use language specific | |
388 | expander on unknown nodes. | |
389 | ||
390 | 2000-12-21 Graham Stott <grahams@redhat.com> | |
391 | ||
392 | * combine.c (distribute_notes): Handle REG_NON_LOCAL_GOTO notes. | |
393 | ||
394 | 2000-12-21 Bernd Schmidt <bernds@redhat.com> | |
395 | ||
396 | * Makefile.in (out_object_file): Depend on sched-int.h. | |
397 | * rtl.h (single_set_1): New macro. | |
398 | (single_set_2): Renamed from single_set_1 and extra argument added. | |
399 | * rtlanal.c (single_set_2): Likewise. | |
400 | ||
401 | * config/ia64/ia64-protos.h (get_bundle_name, ia64_issue_rate, | |
402 | ia64_adjust_cost, ia64_sched_init, ia64_sched_finish, | |
403 | ia64_sched_reorder, ia64_sched_reorder2, ia64_variable_issue): | |
404 | Declare. | |
405 | * config/ia64/ia64.c: Include "sched-int.h". | |
406 | (hard_regno_rename_ok): Also disallow renaming from the various | |
407 | reg_save_* regs. | |
408 | (ia64_safe_itanium_requiers_unit0, ia64_safe_itanium_class, | |
409 | ia64_safe_type, init_insn_group_barriers, group_barrier_needed_p, | |
410 | safe_group_barrier_needed_p, fixup_errata): New static functions. | |
411 | (rtx_needs_barrier): Handle bundle selector and cycle display | |
412 | insns. | |
413 | (emit_insn_group_barriers): Accept additional FILE * arg. All | |
414 | callers changed. Rework to only generate stop bits between | |
415 | basic blocks that haven't been inserted by scheduling. | |
416 | (struct bundle, struct ia64_packet): New structures. | |
417 | (NR_BUNDLES, NR_PACKETS): New macros. | |
418 | (bundle, packets, type_names): New static arrays. | |
419 | (ia64_final_schedule): New variable. | |
420 | (ia64_single_set, insn_matches_slot, ia64_emit_insn_before, | |
421 | gen_nop_type, finish_last_head, rotate_one_bundle, rotate_two_bundles, | |
422 | cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn, | |
423 | find_best_packet, itanium_reorder, dump_current_packet, schedule_stop): | |
424 | New static functions. | |
425 | (ia64_issue_rate, ia64_sched_init, ia64_sched_reorder, | |
426 | ia64_sched_finish, ia64_sched_reorder2, ia64_variable_issue): New | |
427 | functions. | |
428 | (ia64_reorg): Perform a final scheduling pass. | |
429 | * config/ia64/ia64.h (CONST_COSTS): Slightly increase SYMBOL_REF costs. | |
430 | (MAX_CONDITIONAL_EXECUTE, ADJUST_COST, ISSUE_RATE, MD_SCHED_INIT, | |
431 | MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_FINISH, | |
432 | MD_SCHED_VARIABLE_ISSUE): Define macros. | |
433 | (ia64_final_schedule): Declare variable. | |
434 | * config/ia64/ia64.md (attr itanium_class): Add some more classes. | |
435 | (attr type): Account for them. | |
436 | (itanium_requires_unit0): New attribute. | |
437 | (function units): Rewrite. | |
438 | (some splitters): Don't create scheduling barriers here. | |
439 | (gr_spill_internal, gr_restore_internal): Don't predicate the | |
440 | pseudo-op. | |
441 | (nop_m, nop_i, nop_f, nop_b, nop_x, cycle_display, cycle_display_1, | |
442 | bundle_selector): New patterns. | |
443 | (insn_group_barrier): Now has an operand. | |
444 | ||
445 | 2000-12-21 DJ Delorie <dj@redhat.com> | |
446 | ||
447 | * dwarf2out.c (simple_decl_align_in_bits): new | |
448 | (field_byte_offset): Try both the type align and the | |
449 | decl align, use whichever works, preferring the type align. | |
450 | ||
451 | 2000-12-21 Joseph S. Myers <jsm28@cam.ac.uk> | |
452 | ||
453 | * gccbug.in: Fix typo. | |
454 | ||
455 | 2000-12-20 Benjamin Kosnik <bkoz@redhat.com> | |
456 | ||
457 | * Makefile.in (gcc_gxx_target_include_dir): Use instead of | |
458 | build_tooldir and libstdcxx_incdir. | |
459 | ||
460 | 2000-12-20 Robert Lipe <robertlipe@usa.net> | |
461 | ||
462 | * haifa-sched.c (schedule_block): Provide empty source statement | |
463 | if not MD_SCHED_REORDER2. | |
464 | ||
465 | 2000-12-20 Richard Henderson <rth@redhat.com> | |
466 | ||
467 | * rtl.h (REG_NON_LOCAL_GOTO): New. | |
468 | * rtl.c (reg_note_name): Update. | |
469 | * stmt.c (expand_goto): Emit a REG_NON_LOCAL_GOTO note. | |
470 | * builtins.c (expand_builtin_longjmp): Likewise. | |
471 | * flow.c (make_edges): Check for REG_NON_LOCAL_GOTO and do | |
472 | not emit an edge. | |
473 | ||
474 | 2000-12-20 Marek Michalkiewicz <marekm@linux.org.pl> | |
475 | ||
476 | * config/avr/avr.c (out_movsi_r_mr, out_movsi_mr_r, out_movhi_mr_r): | |
477 | Do not output undefined opcodes where source or destination register | |
478 | overlaps with modified pointer register. Handle (X + d) addresses. | |
479 | * config/avr/avr.md (*movhi, *movsi, *movsf): Correct insn length | |
480 | in alternatives with memory operand. | |
481 | ||
482 | 2000-12-20 Richard Henderson <rth@redhat.com> | |
483 | ||
484 | * c-typeck.c (build_asm_stmt): New, broken out from ... | |
485 | (c_expand_asm_operands): ... here. Just do rtl expansion. | |
486 | (c_expand_return): Return the new stmt node. | |
487 | (c_start_case, do_case): Likewise. | |
488 | * c-common.c (c_expand_expr_stmt): Likewise. | |
489 | * c-common.h: Update declarations. | |
490 | * c-tree.h: Likewise. | |
491 | * c-semantics.c (build_stmt): Use STMT_LINENO not TREE_COMPLEXITY. | |
492 | * c-parse.in (fndef): Set DECL_SOURCE_LINE to the open brace. | |
493 | (nested_function, notype_nested_function): Likewise. | |
494 | (compstmt): Return the compound statement not the binding level. | |
495 | (lineno_labeled_stmt): Simplify. | |
496 | (lineno_stmt, lineno_label): Set STMT_LINENO. | |
497 | (stmt, label): Return the new stmt node. | |
498 | ||
499 | 2000-12-20 Bernd Schmidt <bernds@redhat.com> | |
500 | ||
501 | * Makefile.in (OBJS): Add sched-ebb.o. | |
502 | (sched-ebb.o): New rule. | |
503 | (sched-vis.o): Depend on hard-reg-set.h and $(BASIC_BLOCK_H). | |
504 | (haifa-sched.o): Depend on insn-flags.h. | |
505 | * haifa-sched.c: Include "insn-flags.h". | |
506 | (priority): Don't access BLOCK_NUM, use the new contributes_to_priority | |
507 | callback. | |
508 | * rtl.h (schedule_ebbs): Declare. | |
509 | * sched-int.h (struct sched_info): Add new members | |
510 | contributes_to_priority and compute_jump_reg_dependencies. | |
511 | * sched-rgn.c (contributes_to_priority, compute_jump_reg_dependencies): | |
512 | New functions. | |
513 | (region_sched_info): Add them. | |
514 | * sched-vis.c: Include "hard-reg-set.h" and "basic-block.h". | |
515 | * sched-ebb.c: New file. | |
516 | * sched-deps.c (sched_analyze_insn): Add code to handle JUMP_INSNs. | |
517 | ||
518 | * flow.c (ior_reg_cond, and_reg_cond, elim_reg_cond): Properly | |
519 | handle all relational operators. | |
520 | ||
521 | 2000-12-20 Alexandre Oliva <aoliva@redhat.com> | |
522 | ||
523 | * final.c (output_addr_const): Use ASM_OUTPUT_SYMBOL_REF. | |
524 | * tm.texi: Document it. | |
525 | ||
526 | 2000-12-19 Benjamin Kosnik <bkoz@redhat.com> | |
527 | ||
528 | * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Use build_tooldir | |
529 | instead of gcc_tooldir. | |
530 | ||
531 | 2000-12-19 John David Anglin <dave@hiauly1.hia.nrc.ca> | |
532 | ||
533 | * system.h (getopt): Update prototype to match include/getopt.h. | |
534 | ||
535 | 2000-12-19 John David Anglin <dave@hiauly1.hia.nrc.ca> | |
536 | ||
537 | From Jeff Law. | |
538 | * pa.c (basereg_operand): Simplify. | |
539 | ||
540 | 2000-12-19 Bernd Schmidt <bernds@redhat.co.uk> | |
541 | ||
542 | * haifa-sched.c (rm_line_notes): Arguments are now head and tail, | |
543 | not block number. All callers and prototype changed. | |
544 | (set_priorities): Likewise. | |
545 | (save_line_notes): Add head and tail arguments; all callers and | |
546 | prototype changed. | |
547 | (restore_line_notes): Likewise. Don't crash on insns generated | |
548 | during scheduling. | |
549 | (schedule_block): Don't use BLOCK_HEAD/BLOCK_END macros. | |
550 | Call MD_SCHED_INIT with additional argument. | |
551 | When starting a new cycle, emit cycle_display insns if available. | |
552 | Don't stop scheduling when encountering a JUMP_INSN, but add another | |
553 | call to schedule_more_p in the inner loop. | |
554 | Call MD_SCHED_REORDER2 after scheduling an insn. | |
555 | Call MD_SCHED_FINISH once all insns are scheduled. | |
556 | (sched_init): Compensate for the fact that get_block_head_tail | |
557 | doesn't include leading notes. | |
558 | * sched-deps.c (free_deps): Free vectors here. | |
559 | * sched-rgn.c (compute_block_backward_dependencies): Not here. | |
560 | (last_was_jump): New static variable. | |
561 | (schedule_more_p): Test it. | |
562 | (init_ready_list): Initialize it. | |
563 | (can_schedule_ready_p): Set it if we have a JUMP_INSN. | |
564 | ||
565 | * config/i386/i386.h (MD_SCHED_INIT): Add new arg. | |
566 | * config/m32r/m32r.h (MD_SCHED_INIT): Add new arg. | |
567 | * config/sparc/sparc.h (MD_SCHED_INIT): Add new arg. | |
568 | ||
569 | * md.texi (cycle_display): Document. | |
570 | * tm.texi (MD_SCHED_INIT): Document new arg. | |
571 | (MD_SCHED_FINISH, MD_SCHED_REORDER2): Document. | |
572 | ||
573 | * flow.c (ior_reg_cond, nand_reg_cond, not_reg_cond): Rewrite | |
574 | to use different representation. All callers changed. | |
575 | (and_reg_cond): Renamed from nand_reg_cond; caller changed. | |
576 | (init_propagate_block_info): Don't test flags to determine | |
577 | whether to compute conditional lifetimes. | |
578 | Adjust code for new representation of conditional lifetimes. | |
579 | (mark_regno_cond_dead): Similar adjustment. | |
580 | (free_reg_cond_life_info): Similar adjustment. | |
581 | (elim_reg_cond): New function. | |
582 | (flush_reg_cond_1): Use it. | |
583 | ||
584 | 2000-12-19 Catherine Moore <clm@redhat.com> | |
585 | ||
586 | * reload1.c (reload_combine): Take multi-hard-regs into account | |
587 | when processing CALL_INSN_FUNCTION_USAGE. | |
588 | ||
589 | 2000-12-19 Joseph S. Myers <jsm28@cam.ac.uk> | |
590 | ||
591 | * invoke.texi (-print-search-dirs): Make references to cpp refer | |
592 | to cpp0 instead. | |
593 | ||
594 | 2000-12-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
595 | ||
596 | * fold-const.c (tree_expr_nonnegative_p): Treat truth values as | |
597 | non-negative. | |
598 | ||
599 | Tue Dec 19 00:37:08 2000 J"orn Rennecke <amylaar@redhat.com> | |
600 | ||
601 | * reload.c (push_reload): When using a dying register for the reload | |
602 | register in an in-out reload, use outmode if wider than inmode. | |
603 | ||
604 | 2000-12-19 Joseph S. Myers <jsm28@cam.ac.uk> | |
605 | ||
606 | * config/d30v/d30v.h (EXIT_BODY): Update comment. | |
607 | ||
608 | 2000-12-18 Joseph S. Myers <jsm28@cam.ac.uk> | |
609 | ||
610 | * config.gcc (*-*-linux*): Don't define HAVE_ATEXIT or BSTRING. | |
611 | * tm.texi (EXIT_BODY): Update documentation. | |
612 | * config/freebsd.h, config/netware.h, config/arm/coff.h, | |
613 | config/arm/conix-elf.h, config/arm/unknown-elf.h, | |
614 | config/d30v/d30v.h, config/mcore/mcore.h, config/pj/pj.h, | |
615 | sparc/sp86x-aout.h: Remove definitions of HAVE_ATEXIT (some | |
616 | commented out) and associated comments. | |
617 | ||
618 | 2000-12-18 Joseph S. Myers <jsm28@cam.ac.uk> | |
619 | ||
620 | * c-common.c (STD_C9L, ADJ_STD): Define. | |
621 | (printf_length_specs, scanf_length_specs): Mark "ll" as standard | |
622 | STD_C9L. | |
623 | (T99_LL): Rename to T9L_LL. | |
624 | (T99_ULL): Rename to T9L_ULL. | |
625 | (print_char_table, scan_char_table): Use T9L_LL and T9L_ULL | |
626 | instead of T99_LL and T99_ULL. | |
627 | (check_format_info_main): Use ADJ_STD on all format standard | |
628 | versions being compared. | |
629 | * c-common.h: Declare warn_long_long. | |
630 | * c-tree.h: Don't declare warn_long_long. | |
631 | ||
632 | 2000-12-18 Joseph S. Myers <jsm28@cam.ac.uk> | |
633 | ||
634 | * COPYING: Update to current | |
635 | ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references | |
636 | to 19yy as example year in copyright notice). | |
637 | ||
638 | 2000-12-18 Neil Booth <neil@daikokuya.demon.co.uk> | |
639 | ||
640 | * c-lex.c (cb_file_change): Treat in_system_header as strictly | |
641 | boolean (0 or 1). | |
642 | ||
643 | 2000-12-18 Neil Booth <neil@daikokuya.demon.co.uk> | |
644 | ||
645 | * cppmain.c: Update print.lineno with -P. | |
646 | ||
647 | 2000-12-18 Neil Booth <neil@daikokuya.demon.co.uk> | |
648 | ||
649 | * c-lex.c: s/change_file/file_change. | |
650 | * cpplib.h: Similarly. | |
651 | * cppmain.c: Similarly. | |
652 | * fix-header.c: Similarly. | |
653 | * cppfiles.c (stack_include_file): Pass the buffer location and | |
654 | size to cpp_push_buffer. Generate the file_change callback, | |
655 | so that sysp is already set. | |
656 | * cpphash.h: Add _cpp_do_file_change. | |
657 | * cpplib.c (do_line): Set buffer->sysp directly. Generate the | |
658 | file_change callback after setting sysp. | |
659 | (_cpp_do_file_change): Handle FC_ENTER and the FC_RENAME exception | |
660 | here. | |
661 | (cpp_push_buffer): Don't generate a callback. Clear sysp. | |
662 | (cpp_pop_buffer): Clean up logic. | |
663 | ||
664 | 2000-12-18 Benjamin Kosnik <bkoz@redhat.com> | |
665 | ||
666 | * configure.in (gcc_gxx_include_dir): Simplify. | |
667 | (libstdcxx_incdir): Export. | |
668 | * configure: Regenerate. | |
669 | * Makefile.in (PREPROCESSOR_DEFINES): Add in | |
670 | GPLUSPLUS_TOOL_INCLUDE_DIR bits here.. | |
671 | (libstdcxx_incdir): Add. | |
672 | * cppdefault.c (GPLUSPLUS_TOOL_INCLUDE_DIR): Add search path. | |
673 | ||
674 | 2000-12-18 Neil Booth <neil@daikokuya.demon.co.uk> | |
675 | ||
676 | * c-lex.c (lex_lineno): Remove. | |
677 | (init_c_lex, c_lex): Remove lex_lineno. | |
678 | (cb_change_file): Update lineno correctly, both before calling | |
679 | push_srcloc and before leaving the function. | |
680 | (cb_def_pragma): Set lineno before outputting diagnostics. | |
681 | ||
682 | Sun Dec 17 18:45:41 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
683 | ||
684 | * print-tree.c (print_node): Print DECL_USER_ALIGN and TYPE_USER_ALIGN. | |
685 | Print TYPE_MIN_VALUE and TYPE_MAX_VALUE for REAL_TYPE. | |
686 | Use print_node_brief to print bounds. | |
687 | ||
688 | 2000-12-17 Neil Booth <neil@daikokuya.demon.co.uk> | |
689 | ||
690 | * cpplib.h (struct cpp_reader): Remove references to string_pool | |
691 | and temp_string_pool. | |
692 | * cppinit.c (cpp_create_reader, cpp_cleanup): Similarly; using | |
693 | ident_pool in place. | |
694 | * cpplex.c (parse_number, unescaped_terminator_p, parse_string, | |
695 | save_comment, cpp_token_as_text): Similarly. | |
696 | * cpplib.c (do_define, glue_header_name, parse_assertion): Similarly. | |
697 | * cppmacro.c (make_number_token, builtin_macro, lock_pools, | |
698 | unlock_pools, stringify_arg, paste_tokens): Similarly. | |
699 | ||
700 | Sun Dec 17 12:41:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
701 | ||
702 | * dwarf2out.c (loc_descriptor_from_tree, case NOP_EXPR): New case. | |
703 | (loc_descriptor_from_tree, case CONVERT_EXPR): Likewise. | |
704 | (loc_descriptor_from_tree, case NON_LVALUE_EXPR): Likewise. | |
705 | ||
706 | 2000-12-17 Richard Earnshaw <rearnsha@arm.com> | |
707 | ||
708 | * Makefile.in (check-po): Use $(MAKE). | |
709 | (risky-stage1, risky-stage2, risky-stage3, risky-stage4): Likewise. | |
710 | ||
711 | 2000-12-17 Neil Booth <neil@daikokuya.demon.co.uk> | |
712 | ||
713 | * cppmain.c (check_multiline_token): New function. | |
714 | (scan_buffer): Use it. | |
715 | (cb_change_file): Restructure to avoid warning. | |
716 | * cpperror.c (print_location): Initialize col. | |
717 | ||
718 | 2000-12-14 Philipp Thomas <pthomas@suse.de> | |
719 | ||
720 | * protoize.c (main): Correctly set locale categories. | |
721 | * gcc.c (main): Likewise. | |
722 | * cppmain.c (general_init): Likewise. | |
723 | * toplev.c (main): Likewise. | |
724 | * gcov.c (main): Likewise. | |
725 | * collect2.c (main): Likewise. | |
726 | ||
727 | 2000-12-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
728 | ||
729 | * c-common.c (c_common_nodes_and_builtins): Create a | |
730 | cstring_endlink, use it. Rename int_ftype_string_string to | |
731 | int_ftype_cstring_cstring, string_ftype_string_int to | |
732 | string_ftype_cstring_int, and string_ftype_string_string to | |
733 | string_ftype_cstring_cstring. Prefer sizetype_endlink and | |
734 | int_endlink to manually recreating them. Fix the prototype | |
735 | set for __builtin_strspn/__builtin_strcspn. | |
736 | ||
737 | 2000-12-12 Marek Michalkiewicz <marekm@linux.org.pl> | |
738 | ||
739 | * config/avr/avr.c (out_set_stack_ptr): Update comment. | |
740 | (print_operand): Add support for %~ and %o. | |
741 | ||
742 | 2000-12-17 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | |
743 | ||
744 | * c4x.h: Add ASM_OUTPUT_DEF definition for bounded pointer code. | |
745 | ||
746 | 2000-12-17 Neil Booth <neil@daikokuya.demon.co.uk> | |
747 | ||
748 | * c-lex.c: Move main_input_filename handling to FC_ENTER. Clean up. | |
749 | * cpperror.c (print_containing_files): Get right line number. | |
750 | (print_location): Output column of 1 if 0. | |
751 | * cppfiles.c (stack_include_file): cpp_push_buffer handles | |
752 | the callback. | |
753 | * cpphash.h (_cpp_do_file_change): No longer external. | |
754 | * cpplib.c (do_file_change): Now local to cpplib.c. | |
755 | (do_line): Fake a buffer stack for preprocessed files. | |
756 | (cpp_push_buffer): Create a file_change callback. Handle faked | |
757 | buffers. | |
758 | (cpp_pop_buffer): Similarly. | |
759 | * cpplib.h: BUF_FAKE: New buffer type. | |
760 | * cppmain.c: Update to handle correct file renaming where a | |
761 | #line is the first line of the main file, and produce only | |
762 | the renamed file, not the original file, as output. | |
763 | ||
764 | 2000-12-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
765 | ||
766 | * config/c4x/c4x.md: Remove redundant @s from output patterns. | |
767 | ||
768 | 2000-12-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
769 | Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | |
770 | ||
771 | * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Call c4x_init_pragma. | |
772 | ||
773 | * config/c4x/c4x-protos.h (c4x_init_pragma): New prototype. | |
774 | ||
775 | * config/c4x/c4x.c (c4x_init_pragma): New function. | |
776 | (c_lex_func): New variable. | |
777 | (c4x_parse_pragma): Use c_lex_func. | |
778 | ||
779 | 2000-12-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
780 | Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | |
781 | ||
782 | * config/c4x/c4x.h (MD_INIT_BUILTINS): Add void_list_node argument | |
783 | to c4x_init_builtins. | |
784 | ||
785 | * config/c4x/c4x-protos.h (c4x_init_builtins): Add tree argument. | |
786 | ||
787 | * config/c4x/c4x.c (c4x_init_builtins): Add tree argument. | |
788 | (c4x_output_ascii): Fix. | |
789 | ||
790 | 2000-12-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
791 | Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | |
792 | ||
793 | * config/c4x/c4x.h (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Define. | |
794 | ||
795 | * config/c4x/c4x-protos.h (c4x_init_builtins): New prototype. | |
796 | (c4x_expand_builtin): Likewise. | |
797 | ||
798 | * config/c4x/c4x.c (c4x_init_builtins): New function. | |
799 | (c4x_expand_builtin): Likewise. | |
800 | ||
801 | * config/c4x/c4x.md (floatunsqihf2): New pattern. | |
802 | (*floatqihf2_set, *fixhfqi_set, fix_trunchfqi2): Likewise. | |
803 | (fixuns_trunchfqi2, toieee, frieee, *ldhf_conditional): Likewise. | |
804 | (*ldhf_conditional_noov, movhfcc, trap, cond_trap_cc): Likewise. | |
805 | (*toieee_movqf_clobber, *frieee_movqf_clobber): Likewise. | |
806 | ||
807 | 2000-12-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
808 | ||
809 | * libgcc2.h: Use Wtype for SItype and DWtype for DItype in prototypes. | |
810 | * libgcc2.c (__absvsi2): Use Wtype and DWtype. | |
811 | (__absvdi2, __addvsi3, __addvdi3, __subvsi3): Likewise. | |
812 | (__subvdi3, __mulvsi3, __mulvdi3, __negvsi2, __negvdi2): Likewise. | |
813 | ||
814 | 2000-12-16 Alexandre Oliva <aoliva@redhat.com> | |
815 | ||
816 | * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Enclose the block | |
817 | statement in do/while(0). | |
818 | ||
819 | Sat Dec 16 19:56:24 MET 2000 Jan Hubicka <jh@suse.cz> | |
820 | ||
821 | * i386.md (ashrsi3_cmpno, ashrhi3_cmpno, ashrqi3_cmpno, lshrsi3_cmpno, | |
822 | lshrhi3_cmpno): Remove redundant '@' from the template. | |
823 | ||
824 | * i386.md (cmpstrsi_1): Fix type of the compare. | |
825 | ||
826 | * genattrtab.c (attr_rtx_cost): New function. | |
827 | (simplify_test_exp): Avoid overactive inlining; use temporary | |
828 | obstacks for tests. | |
829 | ||
830 | Sat Dec 16 10:41:11 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
831 | ||
832 | * diagnostic.c (finish_abort): Deleted. | |
833 | (fatal): Add code from finish_abort. | |
834 | (error_recursion, fancy_abort): Call fatal, not finish_abort. | |
835 | (trim_filename): Remove leading "../". | |
836 | * diagnostic.h (finish_abort): Deleted. | |
837 | * toplev.c (crash_signal): Call fatal, not finish_abort. | |
838 | ||
839 | * stor-layout.c (place_field): Treat overflowing DECL_SIZE_UNIT | |
840 | as if size were variable. | |
841 | ||
842 | * expmed.c (expand_mult): Write REG_EQUAL note with proper mode. | |
843 | ||
844 | 2000-12-16 Neil Booth <neil@daikokuya.demon.co.uk> | |
845 | ||
846 | * tradcpp.c: T_WARNING: New. | |
847 | (do_warning): New function. | |
848 | (finclude): Skip past the newline and increase the line number | |
849 | before calling output_line_command. | |
850 | (do_line): Skip the new line after output_line_command. Don't | |
851 | pre-decrement the line number. | |
852 | ||
853 | 2000-12-15 Diego Novillo <dnovillo@redhat.com> | |
854 | ||
855 | * i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix references to | |
856 | _GLOBAL_OFFSET_TABLE_ when using Intel syntax. | |
857 | ||
858 | 2000-12-15 Jakub Jelinek <jakub@redhat.com> | |
859 | ||
860 | * gcc.c (cpp_options): Pass -fno-operator-names. | |
861 | * cpplib.h (struct cpp_options): Add operator_names. | |
862 | * cppinit.c (cpp_create_reader): Initialize it. | |
863 | (initialize_builtins): If -fno-operator-names, don't add | |
864 | C++ alternate operator names. | |
865 | (COMMAND_LINE_OPTIONS): Add -fno-operator-names. | |
866 | (cpp_handle_option): Clear operator_names. | |
867 | ||
868 | 2000-12-15 Jason Merrill <jason@redhat.com> | |
869 | ||
870 | * jump.c (jump_optimize_1): Don't delete the line note after the | |
871 | prologue even if it seems redundant. | |
872 | ||
873 | * config/arm/arm.c (arm_expand_prologue): Set RTX_FRAME_RELATED_P | |
874 | on all insns used to adjust the stack. | |
875 | ||
876 | Fri Dec 15 15:32:16 MET 2000 Jan Hubicka <jh@suse.cz> | |
877 | ||
878 | * combine.c (cant_combine_insn_p): Get around SUBREGs when determining | |
879 | hardreg<->reg moves. | |
880 | ||
881 | Fri Dec 15 14:48:37 MET 2000 Jan Hubicka <jh@suse.cz> | |
882 | ||
883 | * genrecog.c (add_to_sequence): Remove special case for | |
884 | const_int_operand. | |
885 | (maybe_both_true): Return 1 when falling out of sequence when | |
886 | trying to find common position in the pattern. | |
887 | ||
888 | Fri Dec 15 14:44:51 MET 2000 Jan Hubicka <jh@suse.cz> | |
889 | ||
890 | * integrate.c (copy_rtx_and_substitute): Copy mode too. | |
891 | ||
892 | Fri Dec 15 14:11:57 MET 2000 Jan Hubicka <jh@suse.cz> | |
893 | ||
894 | * flow.c (notice_stack_pointer_modification_1): Cleanup. | |
895 | ||
896 | 2000-12-15 Alexandre Oliva <aoliva@redhat.com> | |
897 | ||
898 | * function.c (adjust_trampoline_addr): New function. | |
899 | (trampoline_address): Call it instead of round_trampoline_addr(). | |
900 | * tm.texi (TRAMPOLINE_ADJUST_ADDRESS): Document it. | |
901 | ||
902 | 2000-12-14 Zack Weinberg <zack@wolery.stanford.edu> | |
903 | ||
904 | * cppfiles.c (hack_vms_include_specification): Delete function | |
905 | (not used since 1998). | |
906 | ||
907 | Fri Dec 15 03:37:51 2000 J"orn Rennecke <amylaar@redhat.com> | |
908 | ||
909 | * haifa-sched.c (sched_init): Don't put a note in front of any BARRIER. | |
910 | ||
911 | 2000-12-14 Jim Wilson <wilson@redhat.com> | |
912 | ||
913 | * alias.c (get_alias_set): Call record_component_aliases for | |
914 | COMPLEX_TYPE. | |
915 | (record_component_aliases): Handle COMPLEX_TYPE. | |
916 | ||
917 | 2000-12-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
918 | ||
919 | * fixinc/gnu-regex.c: Disable NLS. | |
920 | ||
921 | 2000-12-14 Richard Henderson <rth@redhat.com> | |
922 | ||
923 | * config/alpha/alpha.c (alpha_emit_conditional_move): Do not swap | |
924 | comparison operands when that would create non-canonical rtl. | |
925 | ||
926 | * config/i386/i386.md (umulsi3_highpart): Remove * from name. | |
927 | (smulsi3_highpart): Likewise. | |
928 | ||
929 | 2000-12-14 Neil Booth <neil@daikokuya.demon.co.uk> | |
930 | ||
931 | * gcc.c (cpp_options): Add -remap. | |
932 | ||
933 | 2000-12-14 Neil Booth <neil@daikokuya.demon.co.uk> | |
934 | ||
935 | * gcc.c (cpp_options): Update to use '&'. | |
936 | (struct switchstr): Change type of validated to save space. | |
937 | New member 'ordering'. | |
938 | (handle_braces, validate_switches): Update to handle '&'. | |
939 | ||
940 | 2000-12-13 Laurynas Biveinis <lauras@softhome.net> | |
941 | ||
942 | * fixinc/inclhack.def: skip stdio_va_list fix if __DJ_va_list | |
943 | found in a header. | |
944 | * fixinc/fixincl.x: regenerated. | |
945 | ||
946 | 2000-12-13 DJ Delorie <dj@redhat.com> | |
947 | ||
948 | * config.gcc (cygwin, win32, mingw32): Use float-i386.h. | |
949 | ||
950 | 2000-12-13 Tom Tromey <tromey@redhat.com> | |
951 | ||
952 | * gcc.c (handle_braces): Handle %{<S*} spec correctly. | |
953 | ||
954 | 2000-12-13 Alexandre Oliva <aoliva@redhat.com> | |
955 | ||
956 | * function.c (assign_parms): Optimize incoming PARALLELs into | |
957 | REGs if possible. | |
958 | ||
959 | 2000-12-13 Bruce Korb <bkorb@gnu.org> | |
960 | ||
961 | * fixinc/Makefile.in(*): substantial rewrite to accommodate systems | |
962 | that cannot handle bi-directional pipes, viz. BeOS and DOS. | |
963 | * fixinc/fixlib.h(IGNORE_ARG): new macro | |
964 | (STATIC): define for all of fixinc to use | |
965 | * fixinc/fixfixes.c(*): eliminate unused arg warnings | |
966 | * fixinc/fixtests.c(*): ditto | |
967 | * fixinc/fixincl.c(start_fixer): chain_open now uses const arg list | |
968 | * fixinc/gnu-regex.c: reorder some includes to avoid _GNU_SOURCE | |
969 | warning. Also, eliminate the ``#ifdef emacs'' stuff. | |
970 | (re_syntax_options): make global as it is declared so. | |
971 | * fixinc/mkfixinc.sh: process the argument list more consistently | |
972 | (beos/msdosdjgpp): set TARGETS to twoprocess vs. oneprocess | |
973 | * fixinc/procopen.c(globals): include "fixlib.h" for std defs | |
974 | * fixinc/server.c(globals): ditto | |
975 | * fixinc/server.h(defines): ditto | |
976 | ||
977 | 2000-12-13 Neil Booth <neil@daikokuya.demon.co.uk> | |
978 | ||
979 | * tradcpp.c (special_symbol): Improve test for definedness, | |
980 | though it is still not perfect. | |
981 | (do_define): Don't define illegal macro names. | |
982 | ||
983 | 2000-12-07 Aldy Hernandez <aldyh@redhat.com> | |
984 | ||
985 | * config/mips/elf.h (ASM_OUTPUT_SECTION_NAME): emit @nobits | |
986 | if changing into .bss section. | |
987 | * config/mips/elf64.h: same. | |
988 | * config/mips/iris6.h: same. | |
989 | * config/mips/netbsd.h: same. | |
990 | * config/mips/openbsd.h: same. | |
991 | ||
992 | 2000-12-13 Neil Booth <neil@daikokuya.demon.co.uk> | |
993 | ||
994 | * cppfiles.c (read_name_map): Return null if open () fails. | |
995 | (remap_filename): Simplify logic. Add ICE if it doesn't work | |
996 | as expected. Perform secondary lookup attempt on base filename | |
997 | only. | |
998 | ||
999 | Wed Dec 13 19:48:04 MET 2000 Jan hubicka <jh@suse.cz> | |
1000 | ||
1001 | * flow.c (notice_stack_pointer_modification_1): Notice midifications | |
1002 | using PRE_MODIFY and POST_MODIFY. | |
1003 | ||
1004 | Wed Dec 13 17:25:32 MET 2000 Jan Hubicka <jh@suse.cz> | |
1005 | ||
1006 | * genoutput.c (process_template): Add sanity checking for '@' templates. | |
1007 | ||
1008 | 2000-12-13 Bernd Schmidt <bernds@redhat.co.uk> | |
1009 | ||
1010 | * simplify-rtx.c (cselib_finish): Free reg_values and used_regs | |
1011 | varrays. | |
1012 | ||
1013 | 2000-12-12 Mike Stump <mrs@wrs.com> | |
1014 | ||
1015 | * Makefile.in (distclean): Remove safe-ctype.c as well. | |
1016 | ||
1017 | 2000-12-12 Brad Lucier <lucier@math.purdue.edu> | |
1018 | ||
1019 | * tradcpp.c (do_error): Cast difference of pointers to int | |
1020 | for error message. | |
1021 | ||
1022 | 2000-12-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | |
1023 | ||
1024 | * config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Move from here... | |
1025 | * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): ...to here. | |
1026 | ||
1027 | 2000-12-12 Jim Wilson <wilson@redhat.com> | |
1028 | ||
1029 | * rtlanal.c (may_trap_p): Check operand modes of LE, LT, GE, and GT. | |
1030 | ||
1031 | 2000-12-12 Alexandre Oliva <aoliva@redhat.com> | |
1032 | ||
1033 | * configure.in: Simplify language enabling/disabling code. | |
1034 | * configure: Rebuilt. | |
1035 | * ch/config-lang.in (target_libs): Set. | |
1036 | (build_by_default): Set to no. | |
1037 | * cp/config-lang.in (target_libs): Set. | |
1038 | * f/config-lang.in (target_libs): Set. | |
1039 | * java/config-lang.in (target_libs): Set. | |
1040 | * objc/config-lang.in (target_libs): Set. | |
1041 | ||
1042 | 2000-12-12 Neil Booth <neil@daikokuya.demon.co.uk> | |
1043 | ||
1044 | * tradcpp.c (enum node_type): Add T_ERROR. | |
1045 | (do_error): New function. | |
1046 | (directive_table): Add #error handler. | |
1047 | ||
1048 | 2000-12-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | |
1049 | ||
1050 | * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Enable .file/.loc check | |
1051 | for powerpc*-*-*. | |
1052 | * configure: Regenerated. | |
1053 | * config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define. | |
1054 | * config/rs6000/rs6000.c (rs6000_unique_section): Use | |
1055 | STRIP_NAME_ENCODING. | |
1056 | ||
1057 | Mon Dec 11 13:51:09 2000 Jeffrey A Law (law@cygnus.com) | |
1058 | ||
1059 | * pa.c (cmpib_comparison_operator): Remove GEU and LTU. | |
1060 | * pa.h (PREDICATE_CODES, cmpib_comparison_operator): Corresponding | |
1061 | changes. | |
1062 | ||
1063 | 2000-12-11 Bruce Korb <bkorb@gnu.org> | |
1064 | ||
1065 | * fixinc/fixincl.tpl: initialize all fields for warnings | |
1066 | * fixinc/fixincl.x: regenerate | |
1067 | ||
1068 | 2000-12-11 Neil Booth <neilb@earthling.net> | |
1069 | ||
1070 | * tradcpp.h: For tradcpp, NUL is not whitespace. | |
1071 | ||
1072 | 2000-12-11 Neil Booth <neilb@earthling.net> | |
1073 | ||
1074 | * fix-header.c (read_scan_file): Macro expansion is not a file buffer. | |
1075 | ||
1076 | 2000-12-05 Marek Michalkiewicz <marekm@linux.org.pl> | |
1077 | ||
1078 | * config/avr/avr.c (compare_condition, compare_sign_p): New functions. | |
1079 | (compare_diff_p, compare_eq_p): Call compare_condition. | |
1080 | (out_tsthi, out_tstsi): Call compare_sign_p. | |
1081 | (avr_progmem_p): Check for error_mark_node. | |
1082 | ||
1083 | 2000-12-11 Neil Booth <neilb@earthling.net> | |
1084 | ||
1085 | * cpperror.c (print_location): New function. | |
1086 | (print_containing_files): Simplify. | |
1087 | (_cpp_begin_message): Simplify and use print_location. | |
1088 | * cppfiles.c (stack_include_file): Update. | |
1089 | (_cpp_pop_file_buffer): Update. | |
1090 | * cpphash.h (struct cpp_buffer): New members | |
1091 | include_stack_listed and type. | |
1092 | * cpplib.c (_cpp_handle_directive): Buffer->inc is not null. | |
1093 | (run_directive): Take buffer type. cpp_push_buffer cannot fail. | |
1094 | (_cpp_do__Pragma, cpp_define, _cpp_define_builtin, cpp_undef, | |
1095 | handle_assertion): Update. | |
1096 | (cpp_push_buffer): Take a buffer type and file name. | |
1097 | (cpp_pop_buffer): Update. Clear include_stack_listed. | |
1098 | * cpplib.h (input_stack_listing_current): Remove. | |
1099 | (enum cpp_buffer_type): New. | |
1100 | (cpp_push_buffer): New prototype. | |
1101 | * cppmacro.c (builtin_macro): Simplify; buffer cannot be null. | |
1102 | * fix-header.c (read_scan_file): Update. | |
1103 | ||
1104 | 2000-12-10 Robert Lipe <robertlipe@usa.net> | |
1105 | ||
1106 | * install.texi (i*86-*-sco3.2v5*): Remove information duplicated | |
1107 | in html version. | |
1108 | ||
1109 | 2000-12-10 Richard Henderson <rth@redhat.com> | |
1110 | ||
1111 | * genrecog.c (find_operand): Handle 'V' format code. | |
1112 | (find_matching_operand): New. | |
1113 | (validate_pattern): Accept '=' for an in-out operand if there | |
1114 | is another operand with a matching constraint. | |
1115 | ||
1116 | * config/i386/i386.md (andqi_ext_0_cc): Use matching constraint | |
1117 | for op1 to op0. | |
1118 | ||
1119 | 2000-12-10 Richard Henderson <rth@redhat.com> | |
1120 | ||
1121 | * genrecog.c (validate_pattern) [STRICT_LOW_PART]: Fix thinko. | |
1122 | ||
1123 | 2000-12-09 Richard Henderson <rth@redhat.com> | |
1124 | ||
1125 | * genrecog.c (validate_pattern): Verify that ZERO_EXTRACT and | |
1126 | STRICT_LOW_PART as SET_DEST have in-out constraints. | |
1127 | ||
1128 | 2000-12-09 Joseph S. Myers <jsm28@cam.ac.uk> | |
1129 | ||
1130 | * c-common.c (check_function_format): Don't suggest adding format | |
1131 | attributes to functions with no parameter to which to add them. | |
1132 | ||
1133 | 2000-12-09 Nick Clifton <nickc@redhat.com> | |
1134 | ||
1135 | * config/arm/arm.c (arm_expand_prologue): Mark the generated | |
1136 | insn not the set as being DWARF2_FRAME_RELATED_P. | |
1137 | ||
1138 | 2000-12-09 Laurynas Biveinis <lauras@softhome.net> | |
1139 | ||
1140 | * Makefile.in: use $(build_exeext) for all build | |
1141 | system executable targets. | |
1142 | ||
1143 | 2000-12-09 Laurynas Biveinis <lauras@softhome.net> | |
1144 | ||
1145 | * install.texi: remove i[345]86-*-winnt3.5 section. | |
1146 | * configur.bat: removed. | |
1147 | * config/msdos: directory removed. | |
1148 | ||
1149 | 2000-12-09 Neil Booth <neilb@earthling.net> | |
1150 | ||
1151 | * cppfiles.c (NEVER_REREAD, DO_NOT_REREAD): Move from cpphash.h. | |
1152 | * cpphash.h (NEVER_REREAD, DO_NOT_REREAD, ABSOLUTE_PATH): Delete. | |
1153 | * cpplex.c (parse_identifier): Improve diagnostic. | |
1154 | (_cpp_lex_token): Return unconditionally at the end of a directive. | |
1155 | * cpplib.c (read_flag): Verify legality of each flag. | |
1156 | (end_directive): Resotre pfile->skipping before skip_rest_of_line. | |
1157 | (do_line): Use the new read_flag. | |
1158 | * cppmacro.c (struct cpp_macro, parse_arg, replace_args, | |
1159 | check_macro_redefinition, parse_params): Rename var_args to | |
1160 | variadic. | |
1161 | ||
1162 | 2000-12-09 Joseph S. Myers <jsm28@cam.ac.uk> | |
1163 | ||
1164 | * .cvsignore: Add info files. | |
1165 | ||
1166 | 2000-12-08 Laurynas Biveinis <lauras@softhome.net> | |
1167 | ||
1168 | * config/winnt: Remove obsolete directory. | |
1169 | * install.texi (Configurations): Remove obsolete documentation for | |
1170 | Windows NT. | |
1171 | ||
1172 | 2000-12-08 Joseph S. Myers <jsm28@cam.ac.uk> | |
1173 | ||
1174 | * configure.in: Don't define INSTALL_INFO. | |
1175 | * configure: Regenerate. | |
1176 | * Makefile.in (INSTALL_INFO): Remove. | |
1177 | (info): Depend on info files in source directory. | |
1178 | (cpp.info, gcc.info, c-tree.info): Build info files in source | |
1179 | directory. | |
1180 | (distclean): Don't remove info files. | |
1181 | (maintainer-clean): Remove info files from source directory. | |
1182 | (install-normal): Depend on install-info. | |
1183 | (install-info): Install info files from source directory, if they | |
1184 | exist. | |
1185 | * texinfo.tex: Update to version 2000-11-09.08 from ftp.gnu.org. | |
1186 | ||
1187 | 2000-12-08 Alexandre Oliva <aoliva@redhat.com> | |
1188 | ||
1189 | * lcm.c (optimize_mode_switching): Check whether an insn is a NOTE | |
1190 | before taking its NOTE_LINE_NUMBER. | |
1191 | ||
1192 | 2000-12-08 Nick Clifton <nickc@redhat.com> | |
1193 | ||
1194 | * config/arm/arm.md (load_indirect_jump): Add pool ranges. | |
1195 | ||
1196 | * extend.texi: Document ARM "interrupt" function attribute. | |
1197 | Mention that the ARM also support the "naked" function | |
1198 | attribute. | |
1199 | ||
1200 | * config/arm/arm-protos.h (arm_current_func_type): Add | |
1201 | prototype. | |
1202 | ||
1203 | * config/arm/arm.h (EXCEPTION_LR_REGNUM): Define. | |
1204 | (struct machine_function): Add 'func_type' field. | |
1205 | Define bit values for 'func_type' field. | |
1206 | (ARM_FUNC_TYPE): New macro. | |
1207 | (IS_INTERRUPT): New macro. | |
1208 | (IS_VOLATILE): New macro. | |
1209 | (IS_NAKED): New macro. | |
1210 | (IS_NESTED): New macro. | |
1211 | (ARM_INITIAL_ELIMINATION_OFFSET): Use IS_VOLATILE. | |
1212 | ||
1213 | * config/arm/arm.c (isr_attribute_args): New Structure. A | |
1214 | list of "interrupt" function attribute modifiers. | |
1215 | (arm_isr_value): New Function: Returns the type of the current | |
1216 | interrupt function. | |
1217 | (arm_compute_func_type): New Function: Computes the type of | |
1218 | the current function. | |
1219 | (arm_current_func_type): New Function: Returns the type of the | |
1220 | current function. | |
1221 | (use_return_insn): Use arm_current_func_type. | |
1222 | (arm_valid_type_attribute_p): Accept "interrupt" function | |
1223 | attribute. | |
1224 | (arm_comp_type_attributes): Check "interrupt" attributes. | |
1225 | (arm_valid_machine_decl): Accept "interrupt" function | |
1226 | attribute. | |
1227 | (arm_function_ok_for_sibcall): Do not allow interrupt | |
1228 | functions to use sibcalls. | |
1229 | (arm_naked_function_p): Delete. | |
1230 | (print_multi_reg): Remove redundant parameter 'hat'. | |
1231 | (arm_compute_save_reg_mask): New Function: Compute a bit mask | |
1232 | of registers saved during the current function's prologue. | |
1233 | (output_arm_return_instruction): Use arm_current_func_type. | |
1234 | Generate return instruction when LR is not poppsed off the | |
1235 | stack. | |
1236 | (arm_volatile_func): Delete. | |
1237 | (output_arm_prologue): Use arm_current_func_type and | |
1238 | arm_compute_save_reg_mask. | |
1239 | Note presernce of interrupt functions. | |
1240 | (arm_output_epilogue): Use arm_current_func_type and | |
1241 | arm_compute_save_reg_mask. | |
1242 | (arm_expand_prologue): Use arm_current_func_type and | |
1243 | arm_compute_save_reg_mask. | |
1244 | (arm_init_machine_status): Initialize func_type field, if | |
1245 | necessary. | |
1246 | (thumb_expand_prologue): Use arm_current_func_type. | |
1247 | (output_thumb_prologue): Use arm_current_func_type. | |
1248 | ||
1249 | 2000-12-08 Brad Lucier <lucier@math.purdue.edu> | |
1250 | ||
1251 | * tradcpp.c (do_include): Make pointer differences 64-bit clean. | |
1252 | ||
1253 | Fri Dec 8 08:23:29 2000 J"orn Rennecke <amylaar@redhat.com> | |
1254 | ||
1255 | * fp-bit.c (_fpmul_parts): Use USItype variables as inputs | |
1256 | for multiplies. | |
1257 | ||
1258 | 2000-12-07 Mike Stump <mrs@wrs.com> | |
1259 | ||
1260 | * Makefile.in (distclean): Remove alloca.c hashtab.c. | |
1261 | ||
1262 | 2000-12-07 Zack Weinberg <zack@wolery.stanford.edu> | |
1263 | ||
1264 | * Makefile.in (HOST_RTL): Add safe-ctype.o. | |
1265 | (safe-ctype.o): New rule. | |
1266 | * system.h: Include safe-ctype.h, not ctype.h. No need to | |
1267 | wrap ctype macros. | |
1268 | ||
1269 | * cpphash.h: Zap IStable and related macros. Define is_* in | |
1270 | terms of safe-ctype.h macros. | |
1271 | * cppinit.c: Delete the IStable and all related code. | |
1272 | ||
1273 | * tradcpp.c: Delete is_idchar, is_idstart, is_hor_space, and | |
1274 | is_space arrays. Delete initialize_char_syntax. Change all | |
1275 | references to the above arrays to use macros instead. | |
1276 | * tradcpp.h: Define is_idchar, is_idstart, is_space, and | |
1277 | is_nvspace in terms of safe_ctype.h's macros. | |
1278 | * tradcif.y: is_idchar, is_idstart are macros not arrays. | |
1279 | ||
1280 | * config/i370/i370.c, config/winnt/dirent.c, | |
1281 | config/winnt/fixinc-nt.c, config/winnt/ld.c: | |
1282 | Use uppercase ctype macros. If we included ctype.h, | |
1283 | include safe-ctype.h instead. | |
1284 | ||
1285 | * fixinc/fixfixes.c: Use uppercase ctype macros. Don't test | |
1286 | ISLOWER(c) before calling TOUPPER(c). | |
1287 | * fixinc/fixincl.c (extract_quoted_files): Simplify out some gunk. | |
1288 | * fixinc/gnu-regex.c: Include safe-ctype.h, not ctype.h. No need to | |
1289 | wrap ctype macros. Don't test ISUPPER(x) before calling TOLOWER(x). | |
1290 | ||
1291 | 2000-12-07 DJ Delorie <dj@redhat.com> | |
1292 | ||
1293 | * c-decl.c (grokdeclarator): preserve previous alignments when | |
1294 | rebuilding array types. | |
1295 | ||
1296 | 2000-12-07 Neil Booth <neilb@earthling.net> | |
1297 | ||
1298 | * cppfiles.c (struct include_file): Move from cpphash.h. | |
1299 | (_cpp_never_reread): New function. | |
1300 | (open_file, read_include_file): Use it. | |
1301 | (stack_include_file): Set the buffer's sysp according to the | |
1302 | path in which the file was found. | |
1303 | (find_include_file): Don't set sysp. | |
1304 | (cpp_make_system_header, actual_directory): Update. | |
1305 | (_cpp_execute_include): Do #include_next lookup handling here, | |
1306 | not in cpplib.c. Use _cpp_never_reread. | |
1307 | * cpphash.h (struct_include_file): Remove. | |
1308 | (struct cpp_buffer): New member sysp. | |
1309 | (CPP_IN_SYSTEM_HEADER, _cpp_execute_include): Update. | |
1310 | (_cpp_never_reread): New. | |
1311 | * cpplib.c (read_line_number): Rename read_flag. Rework slightly. | |
1312 | (end_directive): Clear line_extension flag. | |
1313 | (_cpp_handle_directive): Set line_extension flag for #number. | |
1314 | (do_include_next): Handle path lookup in _cpp_execute_include. | |
1315 | (do_line): Cleanup to use read_flag. Don't allow flags in #line. | |
1316 | (_cpp_do_file_change): Update. | |
1317 | (do_pragma_once): Use cpp_never_reread. Clean up. | |
1318 | * cpplib.h (struct lexer_state): New member line_extension. | |
1319 | ||
1320 | 2000-12-07 Richard Henderson <rth@redhat.com> | |
1321 | ||
1322 | * flow.c (calculate_global_regs_live): Force the stack pointer live | |
1323 | after reload as well. | |
1324 | ||
1325 | 2000-12-07 Bruce Korb <bkorb@gnu.org> | |
1326 | ||
1327 | * fixinc/Makefile.*(exeext): the variables are exeext, the | |
1328 | substitution expression is build_exeext. | |
1329 | ||
1330 | 2000-12-07 Neil Booth <neilb@earthling.net> | |
1331 | ||
1332 | * c-common.c (parse_in): Make a cpp_reader *. | |
1333 | * cppfiles.c (_cpp_fake_include): Remove. | |
1334 | * cpphash.h: Similarly. | |
1335 | * cpplib.c (do_line): Don't call _cpp_fake_include. A valid | |
1336 | #line always creates a callback; FC_RENAME if there are no | |
1337 | #line flags. | |
1338 | * fix-header.c (read_scan_file): cpp_push_buffer cannot fail. | |
1339 | The first EOF must be our get_char buffer. | |
1340 | ||
1341 | 2000-12-07 Joseph S. Myers <jsm28@cam.ac.uk> | |
1342 | ||
1343 | * c-common.c (warn_format_security): New variable. | |
1344 | (check_format_info): Warn about non-literal formats with no format | |
1345 | arguments if either -Wformat-nonliteral or -Wformat-security is | |
1346 | specified. | |
1347 | (set_Wformat): Set warn_format_security for settings other than 1. | |
1348 | * c-common.h (warn_format_security): Declare. | |
1349 | * c-decl.c (c_decode_option): Decode -Wformat-security and | |
1350 | -Wno-format-security. | |
1351 | * invoke.texi: Document -Wformat-security. | |
1352 | * toplev.c (documented_lang_options): Include -Wformat-security | |
1353 | and -Wno-format-security. | |
1354 | ||
1355 | 2000-12-07 Joseph S. Myers <jsm28@cam.ac.uk> | |
1356 | ||
1357 | * c-common.c (check_format_info): Warn for non-constant format | |
1358 | strings with strftime formats if -Wformat-nonliteral. Where the | |
1359 | format can convert arguments, if the format is not a string | |
1360 | literal and there are no arguments to the format, give a different | |
1361 | warning message from the general non-string-literal case. | |
1362 | ||
1363 | 2000-12-07 Joseph S. Myers <jsm28@cam.ac.uk> | |
1364 | ||
1365 | * c-common.c (format_wanted_type): Add reading_from_flag. | |
1366 | (print_char_table): Mark %s and %S formats with flag "R". | |
1367 | (check_format_info_main): Set up reading_from_flag appropriately. | |
1368 | If aflag, always set writing_in_flag rather than relying on the | |
1369 | format used being a scanf format and so having it set. | |
1370 | (check_format_types): Check for formats reading through null | |
1371 | pointers. | |
1372 | ||
1373 | 2000-12-07 Joseph S. Myers <jsm28@cam.ac.uk> | |
1374 | ||
1375 | * invoke.texi (-Wformat): Document what format features are | |
1376 | checked. | |
1377 | ||
1378 | 2000-12-06 Kazu Hirata <kazu@hxi.com> | |
1379 | ||
1380 | * config/h8300/h8300.h: Fix formatting. | |
1381 | ||
1382 | 2000-12-06 Joel Sherrill <joel@OARcorp.com> | |
1383 | ||
1384 | * config.gcc (a29k*-*-rtems*, arm*-*-rtems*, c4x-*-rtems*, | |
1385 | h8300-*-rtems*, hppa1.1-*-rtems, *mips*-*-rtems*): New targets. | |
1386 | * config.gcc (*-rtems*): Add support for gthr-rtems.h. | |
1387 | * gthr-rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h, | |
1388 | config/h8300/rtems.h, config/mips/rtems.h: New files. | |
1389 | ||
1390 | 2000-12-06 Mark Kettenis <kettenis@gnu.org> | |
1391 | ||
1392 | * config.gcc: Reorganize handling of *-*-gnu*, to share target | |
1393 | specific make details with Linux. Update comments to clarify | |
1394 | the distinction between GNU/Linux and GNU/Hurd. | |
1395 | ||
1396 | Wed Dec 6 19:22:02 2000 Jeffrey A Law (law@cygnus.com) | |
1397 | ||
1398 | * contrib.texi: Fix my email address. Update Per's | |
1399 | list of contributions. | |
1400 | ||
1401 | 2000-12-06 Rodney Brown <RodneyBrown@mynd.com> | |
1402 | ||
1403 | * c-lex.c (cb_indent): Decorate `str' argument, unused on HP-UX. | |
1404 | * collect2.c (scan_libraries): Remove unused `ch'. | |
1405 | (COFF specific stuff): Prototype ldgetname. Declare and prototype | |
1406 | ldbtread and ldclose. | |
1407 | ||
1408 | * config/alpha/osf.h: Standarize copyright statement. | |
1409 | * config/arc/arc.h: Likewise. | |
1410 | * config/arm/elf.h config/arm/coff.h config/arm/aout.h: Likewise. | |
1411 | * config/arm/arm.c config/arm/arm.h: Likewise. | |
1412 | * config/elxsi/elxsi.h: Likewise. | |
1413 | * config/i386/sco.h: Likewise. | |
1414 | * config/m68k/crds.h config/m68k/hp320.h config/m68k/lynx.h: Likewise. | |
1415 | * config/m68k/m68kv4.h config/m68k/next21.h: Likewise. | |
1416 | * config/m68k/sun3.h: Likewise. | |
1417 | * config/m88k/dgux.h config/m88k/dguxbcs.h: Likewise. | |
1418 | * config/pdp11/2bsd.h config/pdp11/pdp11.h: Likewise. | |
1419 | * config/romp/romp.h: Likewise. | |
1420 | * config/rs6000/aix41.h: Likewise. | |
1421 | * config/sparc/sysv4.h: Likewise. | |
1422 | * config/we32k/we32k.c config/we32k/we32k.h: Likewise. | |
1423 | * fixinc/gnu-regex.c fixinc/gnu-regex.h: Likewise. | |
1424 | * cpplib.h cppexp.c cselib.h profile.c: Likewise. | |
1425 | * longlong.h: Likewise. | |
1426 | * libgcc2.c: Likewise. | |
1427 | ||
1428 | 2000-12-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | |
1429 | ||
1430 | * machmode.def: Use correct definition for BITSIZE on targets where | |
1431 | BITS_PER_UNIT != 8. | |
1432 | ||
1433 | 2000-12-06 Bruce Korb <bkorb@gnu.org> | |
1434 | ||
1435 | * fixinc/Makefile.*: Reduce differences to (ultimately) reduce | |
1436 | the number of them. | |
1437 | ||
1438 | 2000-12-06 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
1439 | ||
1440 | * pa.c: Include expr.h before c-tree.h. | |
1441 | (remove_useless_addtr_insns): Use reverse_condition_maybe_unordered | |
1442 | instead of reverse_condition. | |
1443 | (print_operand): Correct predicates for GT, GE, LT and LE. Add | |
1444 | predicates for LTGT, UNLE, UNLT, UNGE, UNGT, UNEQ, UNORDERED and | |
1445 | ORDERED. | |
1446 | (cmpib_comparison_operator): Add GEU and LTU codes. | |
1447 | * pa.h (PREDICATE_CODES): Add codes for cmpib_comparison_operator. | |
1448 | * pa.md (bltgt, bunle, bunlt, bunge, bungt, buneq, bunordered, | |
1449 | bordered): New float conditional branch patterns. | |
1450 | ||
1451 | Wed Dec 6 21:03:41 2000 J"orn Rennecke <amylaar@redhat.com> | |
1452 | ||
1453 | * final.c (final_addr_vec_align): Fix clipping to BIGGEST_ALIGNMENT. | |
1454 | ||
1455 | 2000-12-06 Sylvain Pion <Sylvain.Pion@sophia.inria.fr> | |
1456 | ||
1457 | * cpplex.c (skip_escaped_newlines): Don't warn for spaces between | |
1458 | backslash and newline, when inside a comment. | |
1459 | ||
1460 | 2000-12-06 Joseph S. Myers <jsm28@cam.ac.uk> | |
1461 | ||
1462 | * invoke.texi: Use @table @samp instead of @itemize @minus for | |
1463 | table of language standards. Fix use of @pxref. From Zack | |
1464 | Weinberg. Also exclude specs documentation from generated | |
1465 | manpage, and create separate ENVIRONMENT section. | |
1466 | ||
1467 | 2000-12-06 Michael Matz <matzmich@cs.tu-berlin.de> | |
1468 | ||
1469 | * gcse.c (compute_pre_data): Kill trapping expressions in | |
1470 | destination blocks of abnormal edges. | |
1471 | ||
1472 | 2000-12-05 Richard Sandiford <r.sandiford@redhat.com> | |
1473 | ||
1474 | * config/mn10300/mn10300.c (mn10300_print_reg_list): Added. | |
1475 | (mn10300_get_live_callee_saved_regs): Likewise. | |
1476 | (mn10300_gen_multiple_store): Likewise. | |
1477 | (store_multiple_operation): Likewise. | |
1478 | (expand_prologue): Use mn10300_gen_multiple_store(). | |
1479 | * config/mn10300/mn10300-protos.h (mn10300_print_reg_list): Added. | |
1480 | (mn10300_get_live_callee_saved_regs): Likewise. | |
1481 | (mn10300_gen_multiple_store): Likewise. | |
1482 | (store_multiple_operation): Likewise. | |
1483 | * config/mn10300/mn10300.md (store_movm): Use a MATCH_PARALLEL | |
1484 | tied to store_multiple_operation(). | |
1485 | ||
1486 | Tue Dec 5 20:09:14 2000 Jeffrey A Law (law@cygnus.com) | |
1487 | ||
1488 | * builtins.c (expand_builtin_setjmp_setup): Set | |
1489 | current_function_has_nonlocal_label. | |
1490 | ||
1491 | 2000-12-05 Neil Booth <neilb@earthling.net> | |
1492 | ||
1493 | * cppfiles.c (stack_include_file): Push zero-length buffers | |
1494 | in case of failure. Return void, as we don't fail any more. | |
1495 | (read_include_file): Check for files we shouldn't re-read. | |
1496 | Don't return an error code; errors are implied by marking the | |
1497 | file NEVER_REREAD. | |
1498 | (_cpp_execute_include): Move the recursion and in-macro checks | |
1499 | here. Update for stack_include_file not failing. | |
1500 | * cpplib.c (cpp_push_buffer): Always succeed, since | |
1501 | _cpp_execute_include performs the recursion check. Tidy up. | |
1502 | * cpplib.h (cpp_push_buffer): Update prototype. | |
1503 | ||
1504 | 2000-12-05 Alexandre Oliva <aoliva@redhat.com> | |
1505 | ||
1506 | * sched-vis.c (visual_tbl_line_length): New variable. | |
1507 | (get_visual_tbl_length): Set it. | |
1508 | (visualize_stall_cycles): Don't let stalls overrun | |
1509 | visual_tbl_line_length. | |
1510 | ||
1511 | 2000-12-05 Geoffrey Keating <geoffk@redhat.com> | |
1512 | ||
1513 | * global.c (global_conflicts): Allow for a REG_UNUSED note | |
1514 | with a different mode to the REG set in the insn. | |
1515 | ||
1516 | 2000-12-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
1517 | ||
1518 | * Makefile.in (fixinc.sh): Pass $WARN_CFLAGS into fixinc dir. | |
1519 | ||
1520 | * fixinc/Makefile.in (FIXINC_DEFS): Add $(WARN_CFLAGS). | |
1521 | ||
1522 | 2000-12-05 Bruce Korb <bkorb@gnu.org> | |
1523 | ||
1524 | * fixinc/mkfixinc.sh(*-gnu*): activate fixinc for GNU/Hurd and | |
1525 | GNU/Linux. | |
1526 | ||
1527 | 2000-12-05 Richard Earnshaw <rearnsha@arm.com> | |
1528 | ||
1529 | * fixinc/mkfixinc.sh: Run fixinc on netbsd. | |
1530 | * fixinc/inclhack.def (machine/ansi.h): Run this rule on all files, | |
1531 | to cope with aliased copies. | |
1532 | * fixinc/fixincl.x: Regenerate. | |
1533 | ||
1534 | 2000-12-05 Bernd Schmidt <bernds@redhat.co.uk> | |
1535 | ||
1536 | * sched-vis.c: Guard with #ifdef INSN_SCHEDULING. | |
1537 | * sched-rgn.c: Likewise. | |
1538 | (rgn_print_insn): Fix output. | |
1539 | ||
1540 | 2000-12-05 Bruce Korb <bkorb@gnu.org> | |
1541 | ||
1542 | * fixinc/Makefile.*: make these more consistent | |
1543 | * fixinc/mkfixincl.sh: enable BeOS fixincludes | |
1544 | ||
1545 | 2000-12-05 Richard Henderson <rth@redhat.com> | |
1546 | ||
1547 | * stmt.c (warn_if_unused_value): Move side effects test earlier. | |
1548 | ||
1549 | 2000-12-05 Alan Modra <alan@linuxcare.com.au> | |
1550 | ||
1551 | * bb-reorder.c (reorder_basic_blocks): Do check for EH edges even | |
1552 | when using sjlj. | |
1553 | ||
1554 | 2000-12-05 Richard Henderson <rth@redhat.com> | |
1555 | ||
1556 | * flow.c (calculate_global_regs_live): Only force stack pointer | |
1557 | live before reload. Force pic register live before reload. | |
1558 | (insn_dead_p): Don't protect pic references from deletion. | |
1559 | ||
1560 | 2000-12-05 Joseph S. Myers <jsm28@cam.ac.uk> | |
1561 | ||
1562 | * invoke.texi: Add support for using texi2pod.pl. Don't use | |
1563 | @multitable. | |
1564 | ||
1565 | 2000-12-04 Nick Clifton <nickc@redhat.com> | |
1566 | ||
1567 | * config/arm/arm.c (arm_override_options): Test 'insn_flags' not | |
1568 | 'tune_flags' for XScale nature. | |
1569 | Remove spurious test of HARD_FLOAT and XScale flags. | |
1570 | ||
1571 | * config/arm/arm.md (umulsidi3adddi): Restore "=&r" register | |
1572 | contraint, accidentally changed during XScale contribution. | |
1573 | ||
1574 | * config/arm/lib1funcs.asm (interwork_call_via_, call_via_): Do | |
1575 | not create these functions if the target architecture does not | |
1576 | support Thumb instructions. | |
1577 | ||
1578 | 2000-12-04 Joseph S. Myers <jsm28@cam.ac.uk> | |
1579 | ||
1580 | * ONEWS: New file with the current contents of NEWS up to EGCS | |
1581 | 1.1. | |
1582 | * NEWS: Generate automatically from online release notes from EGCS | |
1583 | 1.0 to GCC 2.95.2, using ../contrib/gennews. | |
1584 | ||
1585 | 2000-12-04 Neil Booth <neilb@earthling.net> | |
1586 | ||
1587 | * tradcif.y: Move lexptr to top of file. Add rule to handle | |
1588 | assertions in conditional expressions. | |
1589 | * tradcpp.c (parse_answer): Assertions do not need to go to | |
1590 | end of line in conditional directives. | |
1591 | (parse_assertion): Get first character of identifiers correct. | |
1592 | (test_assertion): New function. | |
1593 | * tradcpp.h (test_assertion): New prototype. | |
1594 | ||
1595 | 2000-12-01 Rodney Brown <RodneyBrown@mynd.com> | |
1596 | ||
1597 | * config.gcc: Fix typo for UnixWare 7. | |
1598 | ||
1599 | 2000-12-03 Phil Edwards <pme@sources.redhat.com> | |
1600 | ||
1601 | * invoke.texi: Replace `pedwarns' with clearer text. | |
1602 | ||
1603 | 2000-12-04 Bruce Korb <bkorb@gnu.org> | |
1604 | ||
1605 | * fixinc/Makefile.*(clean): don't clean autogenerated files. | |
1606 | (mainainer-clean): clean autogenerated files | |
1607 | ||
1608 | 2000-12-04 DJ Delorie <dj@redhat.com> | |
1609 | ||
1610 | * md.texi: Add overview, clarify match_dup and define_expand. | |
1611 | ||
1612 | 2000-12-04 DJ Delorie <dj@redhat.com> | |
1613 | ||
1614 | * print-tree.c (print_node): Target-specific builtins print | |
1615 | numbers, not names. | |
1616 | ||
1617 | 2000-12-04 Jason Merrill <jason@redhat.com> | |
1618 | ||
1619 | * stor-layout.c (int_mode_for_mode): Handle MODE_VECTOR_INT, | |
1620 | MODE_VECTOR_FLOAT. | |
1621 | ||
1622 | * diagnostic.c (report_problematic_module): s/function/module/. | |
1623 | ||
1624 | * c-lex.h: Remove decl for check_newline. | |
1625 | ||
1626 | 2000-12-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> | |
1627 | ||
1628 | * README.APOLLO: Remove obsolete file. | |
1629 | ||
1630 | 2000-12-04 Neil Booth <neilb@earthling.net> | |
1631 | ||
1632 | * cppinternals.texi: New file. | |
1633 | ||
1634 | 2000-12-04 Neil Booth <neilb@earthling.net> | |
1635 | ||
1636 | * cppfiles.c (cpp_make_system_header): Take 2 booleans, | |
1637 | and operate on current buffer. | |
1638 | (cpp_read_file): Rename _cpp_read_file. | |
1639 | * cpplib.c (do_line, do_pragma_system_header): Update calls to | |
1640 | cpp_make_system_header. | |
1641 | * fix-header.c: Similarly. | |
1642 | * cpphash.h (_cpp_read_file): Move from... | |
1643 | * cpplib.h: ... here. | |
1644 | * cppinit.c (do_includes, cpp_start_read): Update appropriately. | |
1645 | ||
1646 | 2000-12-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
1647 | ||
1648 | * builtins.c (expand_builtin_strspn, expand_builtin_strcspn): | |
1649 | Handle another transformation. | |
1650 | ||
1651 | 2000-12-03 Nick Clifton <nickc@redhat.com> | |
1652 | ||
1653 | * config.gcc: Add support for StrongARM targets. | |
1654 | * config/arm/t-strongarm-elf: New file. | |
1655 | * config/arm/t-strongarm-coff: New file. | |
1656 | * config/arm/t-strongarm-pe: New file. | |
1657 | * config/arm/strongarm-pe.h: New file. | |
1658 | ||
1659 | 2000-12-03 Nick Clifton <nickc@redhat.com> | |
1660 | ||
1661 | * NEWS: Mention XScale has been added. | |
1662 | * config.gcc: Add support for XScale targets. | |
1663 | * config/arm/arm.h: Add support for XScale processor. | |
1664 | * config/arm/arm.c: Add support for XScale processor. | |
1665 | * config/arm/arm.md: Add support for XScale processor. | |
1666 | * config/arm/t-xscale-elf: New file. | |
1667 | * config/arm/t-xscale-coff: New file. | |
1668 | * config/arm/xscale-elf.h: New file. | |
1669 | * config/arm/xscale-coff.h: New file. | |
1670 | ||
1671 | 2000-12-03 Richard Henderson <rth@redhat.com> | |
1672 | ||
1673 | * bb-reorder.c (reorder_basic_blocks): Don't check for EH edges | |
1674 | unless exception handling is enabled, and if not using sjlj. | |
1675 | ||
1676 | * builtins.c (expand_builtin_setjmp_setup): New. | |
1677 | (expand_builtin_setjmp_receiver): New. | |
1678 | (expand_builtin_setjmp): Split out _setup and _receiver functions. | |
1679 | Move argument parsing in from ... | |
1680 | (expand_builtin): ... here. | |
1681 | * except.c (receive_exception_label): Branch around receiver | |
1682 | unless new-style exceptions. Call expand_builtin_setjmp_receiver. | |
1683 | (start_dynamic_handler): Call expand_builtin_setjmp_setup. | |
1684 | * expr.h: Update builtin setjmp decls. | |
1685 | ||
1686 | 2000-12-03 Bruce Korb <bkorb@gcc.org> | |
1687 | ||
1688 | * fixinc/mkfixinc.sh(build machine): Sometimes, there is no canonical | |
1689 | build machine name. Default to the target. | |
1690 | ||
1691 | 2000-12-03 Laurynas Biveinis <lauras@softhome.net> | |
1692 | ||
1693 | * Makefile.in: use $(build_canonical), not $(canonical_build). | |
1694 | ||
1695 | 2000-12-03 Bernd Schmidt <bernds@redhat.co.uk> | |
1696 | ||
1697 | * Makefile.in (OBJS): Add sched-rgn.o. | |
1698 | (sched-rgn.o): New rule. * haifa-sched.c (sched_verbose): No | |
1699 | longer static. | |
1700 | (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT, | |
1701 | INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE, | |
1702 | UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST, | |
1703 | MAX_BLOCKAGE_COST): Move to sched-int.h. | |
1704 | (MAX_RGN_BLOCKS, MAX_RGN_INSNS, INSN_REF_COUNT, FED_BY_SPEC_LOAD, | |
1705 | IS_LOAD_INSN, struct haifa_edge, edge_table, NEXT_IN, NEXT_OUT, | |
1706 | FROM_BLOCK, TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, | |
1707 | OUT_EDGES, edgelst, struct region, nr_regions, rgn_table, | |
1708 | rgn_bb_table, block_to_bb, containing_rgn, RGN_NR_BLOCKS, | |
1709 | RGN_BLOCKS, BLOCK_TO_BB, BB_TO_BLOCK, CONTAINING_RGN, | |
1710 | debug_regions, find_single_block_region, find_rgns, too_large, | |
1711 | init_regions, current_nr_blocks, current_blocks, bitset, bitlst, | |
1712 | bitlst_table_last, bitlst_table_size, bitlst_table, bitset_member, | |
1713 | extract_bitlst, bblst, struct candidate, candidate_table, | |
1714 | bblst_table, bblst_size, bblst_last, IS_VALID, IS_SPECULATIVE, | |
1715 | SRC_PROB, target_bb, split_edges, compute_trg_info, | |
1716 | debug_candidate, debug_candidates, bbset, bbset_size, dom, | |
1717 | IS_RGN_ENTRY, IS_DOMINATED, prob, GET_SRC_PROB, edgeset, | |
1718 | rgn_nr_edges, rgn_edges, edgeset_size, edgeset_bitsize, | |
1719 | EDGE_TO_BIT, edge_to_bit, pot_split, ancestor_edges, | |
1720 | compute_dom_prob_ps, ABS_VALUE, INSN_PROBABILITY, | |
1721 | IS_SPECULATIVE_INSN, INSN_BB, MIN_DIFF_PRIORITY, MIN_PROBABILITY, | |
1722 | MIN_PROB_DIFF, check_live_1, update_live_1, check_live, | |
1723 | update_live, set_spec_fed, is_pfree, find_conditional_protection, | |
1724 | is_conditionally_protected, may_trap_exp, haifa_classify_insn, | |
1725 | is_prisky, is_exception_free, add_branch_dependences, | |
1726 | propagate_deps, compute_block_backward_dependences, | |
1727 | debug_dependencies, is_cfg_nonregular, build_control_flow, | |
1728 | new_edge, bb_deps, BITSET_UNION, BITSET_INTER, BITSET_DIFFER, | |
1729 | BITSET_INVERT, BITSET_ADD, BITSET_REMOVE, debug_regions, | |
1730 | UPDATE_LOOP_RELATIONS, INSN_TRAP_CLASS, WORST_CLASS, IS_REACHABLE, | |
1731 | CONST_BASED_ADDRESS_P, free_pending_lists, sched_target_n_insns, | |
1732 | target_n_insns, sched_n_insns, init_ready_list, deaths_in_region, | |
1733 | can_schedule_ready_p, new_ready, schedule_more_p, rgn_print_insn, | |
1734 | rgn_rank, region_sched_info): Move to sched-rgn.c. | |
1735 | (debug_reg_vector): Delete useless function. | |
1736 | (get_bb_head_tail): Likewise. | |
1737 | (insn_issue_delay, insn_cost, ready_add, get_block_head_tail, | |
1738 | no_real_insns_p, rm_line_notes, save_line_notes, | |
1739 | restore_line_notes, rm_redundant_line_notes, sched_init): No | |
1740 | longer static. | |
1741 | (rm_line_notes, save_line_notes, restore_line_notes, | |
1742 | schedule_block, set_priorities): Change argument to be a real | |
1743 | basic block, not one of haifa's "bb"s. All callers changed | |
1744 | (rm_other_notes): Initialize note_list here, not in | |
1745 | schedule_region. | |
1746 | (sched_finish): New function, called from schedule_insn. * * | |
1747 | sched-int.h (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT, | |
1748 | INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE, | |
1749 | UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST, | |
1750 | MAX_BLOCKAGE_COST): Moved here from haifa-sched.c. | |
1751 | (get_block_head_tail, no_real_insns_p, rm_line_notes, | |
1752 | save_line_notes, restore_line_notes, rm_redundant_line_notes, | |
1753 | rm_other_notes, insn_issue_delay, set_priorities, schedule_block, | |
1754 | sched_init, sched_finish, ready_add, insn_cost): Declare. | |
1755 | ||
1756 | 2000-12-03 Laurynas Biveinis <lauras@softhome.net> | |
1757 | Bruce Korb <bkorb@gnu.org> | |
1758 | ||
1759 | * Makefile.in: pass $(build_canonical) to mkfixinc.sh. | |
1760 | * fixinc/mkfixinc.sh: accept build system name as an argument. | |
1761 | Use it for choosing the fix build method. Use the target for | |
1762 | selecting special fix rules. | |
1763 | ||
1764 | 2000-12-03 Bernd Schmidt <bernds@redhat.co.uk> | |
1765 | ||
1766 | * Makefile.in (OBJS): Add sched-deps.o. | |
1767 | (sched-deps.o): New rule. | |
1768 | * haifa-sched.c (struct deps, struct haifa_insn_data): Moved to | |
1769 | sched-int.h. | |
1770 | (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved to | |
1771 | sched-int.h. | |
1772 | (SIZE_FOR_MODE): Delete unused macro. | |
1773 | (reg_known_equiv_p, reg_known_value, reg_pending_clobbers, | |
1774 | reg_pending_sets, reg_pending_sets_all, true_dependency_cache, | |
1775 | anti_dependency_cache, output_dependency_cache, | |
1776 | forward_dependency_cache): Variables moved to sched-deps.c. | |
1777 | (add_dependence, remove_dependence, find_insn_list, | |
1778 | find_insn_mem_list, add_insn_mem_dependence, flush_pending_lists, | |
1779 | sched_analyze_insn, sched_analyze_1, sched_analyze_2, | |
1780 | sched_analyze, group_leader, compute_forward_dependences, | |
1781 | init_deps, free_deps, init_dependency_caches, free_dependency_caches): | |
1782 | Functions moved to sched-deps.c. | |
1783 | (schedule_region): Call init_deps_global and finish_deps_global | |
1784 | instead of directly manipulating dependency data structures. | |
1785 | * sched-deps.c: New file. | |
1786 | (init_deps_global, finish_deps_global): New functions. | |
1787 | * sched-int.h (struct haifa_insn_data, struct deps): Moved here from | |
1788 | haifa-sched.c. | |
1789 | (h_i_d): Declare. | |
1790 | (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved here | |
1791 | from haifa-sched.c. | |
1792 | ||
1793 | * Makefile.in (OBJS): Add sched-vis.o. | |
1794 | (sched-vis.o): New rule. | |
1795 | * haifa-sched.c (get_unit_last_insn): New function. | |
1796 | (sched_dump, insn_unit, actual_hazard_this_instance): No longer | |
1797 | static. | |
1798 | (schedule_block): Call visualize_alloc and visualize_free. Delete | |
1799 | spurious return statement. | |
1800 | (init_target_units, insn_print_units, get_visual_tbl_length, | |
1801 | init_block_visualization, print_block_visualization, safe_concat, | |
1802 | visualize_scheduled_inns, visualize_no_unit, visualize_stall_cycles, | |
1803 | print_exp, print_value, print_pattern, print_insn, target_units, | |
1804 | MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, visual_tbl, | |
1805 | n_vis_no_unit, vis_no_unit): Move scheduling visualization | |
1806 | functions/variables... | |
1807 | * sched-vis.c: ...here. New file. | |
1808 | (visualize_alloc, visualize_free): New functions. | |
1809 | (visualize_scheduled_insns, visualize_stall_cycles, | |
1810 | print_block_visualization): Lose basic block argument. All callers | |
1811 | changed. | |
1812 | (visualize_scheduled_insns): Use new function get_unit_last_insn. | |
1813 | * sched-int.h (current_sched_info, sched_dump): Declare. | |
1814 | (init_target_units, insn_print_units, init_block_visualization, | |
1815 | print_block_visualization, visualize_scheduled_inns, | |
1816 | visualize_no_unit, visualize_stall_cycles, visualize_alloc, | |
1817 | visualize_free): Declare functions. | |
1818 | ||
1819 | * sched-int.h: New file. | |
1820 | * Makefile.in (haifa-sched.o): Depend on it. | |
1821 | * haifa-sched.c: Include it. | |
1822 | (no_real_insns_p): New function. | |
1823 | (current_sched_info): New static variable. | |
1824 | (__inline, HAIFA_INLINE): Moved to sched-int.h. | |
1825 | (get_block_head_tail): Minor cleanup. | |
1826 | (init_ready_list, can_schedule_ready_p, new_ready, schedule_more_p, | |
1827 | rgn_print_insn, rgn_rank): New functions, broken out of | |
1828 | rank_for_schedule, schedule_insn and schedule_block, where they | |
1829 | are now called through function pointers in current_sched_info. | |
1830 | (queue_insn, schedule_insn, queue_to_ready, debug_ready_list, | |
1831 | print_insn): To display uid and block number, call the print_insn | |
1832 | function pointer in current_schedule_info. | |
1833 | (region_sched_info): New static variable. | |
1834 | (sched_target_n_insns, sched_n_insns, target_n_insns): New global | |
1835 | variables, moved out of schedule_block. | |
1836 | (schedule_block): Return void. All callers changed. | |
1837 | Move some of the setup code into schedule_region. Get head/tail | |
1838 | from current_sched_info, and update it when done. | |
1839 | (schedule_region): Slightly rearranged, some code moved here from | |
1840 | schedule_block. Call no_real_insns_p to avoid doing work for a | |
1841 | block that consists only of notes and labels. | |
1842 | (schedule_insns): Initialize current_sched_info. | |
1843 | ||
1844 | 2000-12-03 Neil Booth <neilb@earthling.net> | |
1845 | ||
1846 | * cppmacro.c (funlike_invocation_p): Re-disable macros enabled | |
1847 | by contexts drops AFTER argument pre-expansion, so that they | |
1848 | remain enabled during argument pre-expansion. | |
1849 | (_cpp_pop_context): Unconditionally re-enable a macro when | |
1850 | dropping a context level. | |
1851 | ||
1852 | 2000-12-03 Manfred Hollstein <manfredh@redhat.com> | |
1853 | ||
1854 | * arm/t-linux (MULTILIB_OPTIONS): Comment. | |
1855 | (MULTILIB_DIRNAMES): Likewise. | |
1856 | (EXTRA_MULTILIB_PARTS): Likewise. | |
1857 | (LIBGCC): Likewise. | |
1858 | (INSTALL_LIBGCC): Likewise. | |
1859 | ||
1860 | 2000-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
1861 | ||
1862 | * builtins.c (expand_builtin_strcat, expand_builtin_strncat, | |
1863 | expand_builtin_strspn, expand_builtin_strcspn): New functions. | |
1864 | (expand_builtin): Handle BUILT_IN_STRCAT, BUILT_IN_STRNCAT, | |
1865 | BUILT_IN_STRSPN and BUILT_IN_STRCSPN. | |
1866 | ||
1867 | * builtins.def (BUILT_IN_STRCAT, BUILT_IN_STRNCAT, | |
1868 | BUILT_IN_STRSPN, BUILT_IN_STRCSPN): New entries. | |
1869 | ||
1870 | * c-common.c (c_common_nodes_and_builtins): Declare builtin | |
1871 | strcat, strncat, strspn and strcspn. | |
1872 | (string_ftype_string_cstring): Renamed from `string_ftype_ptr_ptr'. | |
1873 | ||
1874 | * extend.texi (strcat, strcspn, strncat, strspn): Document new | |
1875 | builtins. | |
1876 | ||
1877 | 2000-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
1878 | ||
1879 | * builtins.c (expand_builtin_strcmp): Use const*_rtx when | |
1880 | expanding strcmp at compile-time. Add another transformation. | |
1881 | (expand_builtin_strncmp): Add more transformations. Call | |
1882 | expand_builtin_memcmp, not expand_builtin_strcmp, under | |
1883 | appropriate conditions if HAVE_cmpstrsi. | |
1884 | ||
1885 | 2000-12-02 David Edelsohn <edelsohn@gnu.org> | |
1886 | ||
1887 | * rs6000.md (anddi3_internal[23]): Prefer rldic? over andis | |
1888 | instruction. | |
1889 | (cr logic): Really make operands sequential. | |
1890 | ||
1891 | 2000-12-02 Geoffrey Keating <geoffk@redhat.com> | |
1892 | ||
1893 | * c-common.c (combine_strings): When the ISO C standard specifies | |
1894 | the maximum length of a string, it doesn't include the trailing | |
1895 | zero byte. | |
1896 | ||
1897 | * cpplib.c (do_ifdef): Add check_eol() call. | |
1898 | (do_ifndef): Likewise. | |
1899 | ||
1900 | 2000-12-02 Daniel Berlin <dberlin@redhat.com> | |
1901 | Bruce Korb <bkorb@gnu.org> | |
1902 | ||
1903 | * fixinc/*: global substitute /__MSDOS__/SEPARATE_FIX_PROC/ | |
1904 | * fixinc/mkfixinc.sh: prepare to use Makefile.BEOS for *-*-beos* | |
1905 | * fixinc/Makefile.DOS: define SEPARATE_FIX_PROC for build | |
1906 | * fixinc/fixfix.c(wrap_fix): avoid wrapping files that | |
1907 | use the "__need_" hackery. It breaks them. | |
1908 | * fixinc/fixincl.c(process - SEPARATE_FIX_PROC): | |
1909 | Sometimes on DOS and BeOS the temp output file cannot be opened. | |
1910 | Skip the file noisily. Ought to be fixed instead. | |
1911 | ||
1912 | 2000-12-02 Bruce Korb <bkorb@gnu.org> | |
1913 | ||
1914 | From: 2000-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
1915 | ||
1916 | * fixfixes.c (emit_gnu_type, format_write): Prototype. | |
1917 | (format_write, char_macro_use_fix, char_macro_def_fix): Use gcc's | |
1918 | custom uppercase ctype macros. | |
1919 | * fixincl.c (do_version): Make static and add ATTRIBUTE_NORETURN. | |
1920 | Use gcc's custom uppercase ctype macros. | |
1921 | (main): Prototype. | |
1922 | (machine_matches): Add static prototype and constify variable. | |
1923 | (create_file, test_test, egrep_test): Add static prototype. | |
1924 | (quoted_file_exists): Likewise, and constify parameters. | |
1925 | (extract_quoted_files, internal_fix, start_fixer, fix_applies, | |
1926 | write_replacement, test_for_changes): Add static prototype. | |
1927 | (write_replacement, test_for_changes): Delete excess argument to | |
1928 | `create_file'. | |
1929 | * fixtests.c (test): Make static. | |
1930 | * server.c (load_data, sig_handler, server_setup, find_shell): Add | |
1931 | static prototype. | |
1932 | (sig_handler): Mark parameter with ATTRIBUTE_UNUSED. | |
1933 | ||
1934 | 2000-12-02 Bruce Korb <bkorb@gnu.org> | |
1935 | ||
1936 | * fixnc/mkfixinc.sh(msdosdjgpp): remove from fixincludes exception list | |
1937 | (per Laurynas Biveinis <lauras@softhome.net>) | |
1938 | ||
1939 | 2000-12-02 Richard Earnshaw <rearnsha@arm.com> | |
1940 | ||
1941 | * arm.h (ARM_REGNO_OK_FOR_BASE_P, THUMB_REGNO_MODE_OK_FOR_BASE_P): New | |
1942 | macros. | |
1943 | (REGNO_MODE_OK_FOR_BASE_P): Define in terms of above. | |
1944 | (REGNO_OK_FOR_FOR_BASE_P): Delete. | |
1945 | (ARM_REG_OK_FOR_BASE_P, THUMB_REG_MODE_OK_FOR_BASE_P): New macros for | |
1946 | both strict and non-strict uses. | |
1947 | (REG_MODE_OK_FOR_BASE_P): Define in terms of above. | |
1948 | (ARM_REG_OK_FOR_INDEX_P, THUMB_REG_OK_FOR_INDEX_P): New macros. | |
1949 | (REG_OK_FOR_INDEX_P): Define in terms of above. | |
1950 | (REG_OK_FOR_BASE_P): Delete. | |
1951 | (REG_OK_FOR_PRE_POST_P): Delete. | |
1952 | (ARM_BASE_REGISTER_RTX_P): Renamed from BASE_REGISTER_RTX_P. | |
1953 | (ARM_INDEX_REGISTER_RTX_P): Renamed from INDEX_REGISTER_RTX_P. | |
1954 | (ARM_GO_IF_LEGITIMATE_INDEX): Renamed from GO_IF_LEGITIMATE_INDEX. | |
1955 | (THUMB_LEGITIMATE_OFFSET): Renamed from LEGITIMATE_OFFSET. | |
1956 | (ARM_GO_IF_LEGITIMATE_ADDRESS): Adjust for name changes. Use ARM | |
1957 | specific variants rather than general ones. Use ARM_REG_OK_FOR_BASE_P | |
1958 | in pre/post increment cases. | |
1959 | (THUMB_GO_IF_LEGITIMATE_ADDRESS): Similarly for Thumb. | |
1960 | (ARM_LEGITIMIZE_ADDRESS): Similarly. | |
1961 | (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Similarly. | |
1962 | * arm.c (legitimate_pic_address): Similarly. | |
1963 | ||
1964 | 2000-12-02 Neil Booth <neilb@earthling.net> | |
1965 | ||
1966 | * tradcpp.c (struct answer, parse_assertion, parse_answer, | |
1967 | canonicalize_text, find_answer): New. | |
1968 | (do_assert, do_unassert): Provide appropriate function bodies. | |
1969 | (union hashval): New member answers. | |
1970 | ||
1971 | 2000-11-23 Marek Michalkiewicz <marekm@linux.org.pl> | |
1972 | ||
1973 | * config/avr/avr.md: Document UNSPEC usage. | |
1974 | (*tablejump_rjmp, *tablejump_lib, *tablejump_enh, *tablejump): | |
1975 | Make operand 0 input only, clobber it. Use UNSPEC, not a bogus | |
1976 | MEM for program memory word reference. Do not add the label to | |
1977 | the table index in each of the asm output templates, instead ... | |
1978 | (casesi): ... do it in RTL. Adjust to match the above change. | |
1979 | ||
1980 | 2000-12-02 Bernd Schmidt <bernds@redhat.co.uk> | |
1981 | ||
1982 | * c-common.c (PTRDIFF_TYPE): Provide default here, ... | |
1983 | * c-decl.c: ... not here. | |
1984 | ||
1985 | * haifa-sched.c (sched_dump): Renamed from dump. All users changed. | |
1986 | (old_max_uid): New variable. | |
1987 | (compute_forward_dependences): Renamed from | |
1988 | compute_block_forward_dependences; changed to accept block head and | |
1989 | tail instead of block number. Caller changed. | |
1990 | (free_deps, init_dependency_caches, free_dependency_caches, | |
1991 | init_regions, sched_init): New functions, split out from | |
1992 | schedule_insns and compute_block_backward_dependences. | |
1993 | ||
1994 | 2000-12-02 Neil Booth <neilb@earthling.net> | |
1995 | ||
1996 | * cppexp.c (parse_number): Update diagnostic test. | |
1997 | ||
1998 | 2000-12-02 Bernd Schmidt <bernds@redhat.co.uk> | |
1999 | ||
2000 | * reload1.c (free_for_value_p): New function, frontend to | |
2001 | reload_reg_free_for_value_p. All callers of the latter now call | |
2002 | this function with an additional mode argument. | |
2003 | ||
2004 | 2000-12-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> | |
2005 | ||
2006 | * install.texi (Configurations): Remove obsolete documentation for | |
2007 | hppa*-*-*. | |
2008 | ||
2009 | 2000-12-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> | |
2010 | ||
2011 | * install.texi (Installation): Remove obsolete description for | |
2012 | libstdc++ which is now an integral part of GCC. | |
2013 | ||
2014 | 2000-12-01 Jim Blandy <jimb@redhat.com> | |
2015 | ||
2016 | * dbxout.c (dbxout_parms): Correctly describe parameters passed by | |
2017 | invisible reference in registers, but then spilled to the stack. | |
2018 | Remove code to emit a second stab for such parameters; it attempts | |
2019 | to describe the value's location by introducing a synthetic C++ | |
2020 | `reference' type, and then saying the stack slot has that | |
2021 | reference type. This loses type information (breaking GDB's | |
2022 | `ptype' command, among other things) just to describe a location | |
2023 | which stabs can represent correctly in other ways. | |
2024 | ||
2025 | 2000-12-01 Alexandre Oliva <aoliva@redhat.com> | |
2026 | ||
2027 | * final.c (output_addr_const) <PLUS>: Don't assume at least one | |
2028 | operand is a CONST_INT. | |
2029 | ||
2030 | * config/sh/sh.c (reg_class_from_letter): Assign `k' to SIBCALL_REGS. | |
2031 | (machine_dependent_reorg): Split all insns. | |
2032 | * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Compute | |
2033 | reg_class_contents[SIBCALL_REGS]. | |
2034 | (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add SIBCALL_REGS. | |
2035 | * config/sh/sh.md (calli_pcrel, call_pcrel, call_valuei_pcrel, | |
2036 | call_value_pcrel, call, call_value, sibcall): Match even when | |
2037 | not optimizing. | |
2038 | (sibcalli_pcrel, sibcall_pcrel): Likewise. Use constraint `k' | |
2039 | for call address. | |
2040 | (sibcalli): Likewise. | |
2041 | ||
2042 | 2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk> | |
2043 | ||
2044 | * c-common.c (warn_format, warn_format_y2k, | |
2045 | warn_format_extra_args, warn_format_nonliteral): Define. | |
2046 | (check_format_info): Check warn_format_nonliteral and | |
2047 | warn_format_extra_args. | |
2048 | (check_format_info_main): Check warn_format_y2k. | |
2049 | (set_Wformat): New function. | |
2050 | * c-common.h (warn_format_y2k, warn_format_extra_args, | |
2051 | warn_format_nonliteral, set_Wformat): Declare. | |
2052 | * c-decl.c (warn_format): Remove definition. | |
2053 | (c_decode_option): Handle -Wformat-nonliteral, | |
2054 | -Wno-format-extra-args and -Wno-format-y2k, and negated versions. | |
2055 | Use set_Wformat. | |
2056 | * invoke.texi: Document these new options and -Wformat=2. | |
2057 | * toplev.c (documented_lang_options): Add these new options. | |
2058 | ||
2059 | 2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk> | |
2060 | ||
2061 | * builtins.def (BUILT_IN_IMAXABS): Add. | |
2062 | * builtins.c (expand_builtin): Also abort on BUILT_IN_IMAXABS. | |
2063 | * c-common.c (c_common_nodes_and_builtins): Create builtin | |
2064 | functions __builtin_imaxabs, and plain imaxabs unless | |
2065 | flag_no_nonansi_builtin outside C99 mode. | |
2066 | (expand_tree_builtin): Handle BUILT_IN_IMAXABS. | |
2067 | * extend.texi: Document builtin imaxabs. | |
2068 | ||
2069 | 2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk> | |
2070 | ||
2071 | * c-common.c: Include "defaults.h". | |
2072 | (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Define. | |
2073 | (c_common_nodes_and_builtins): Create string_type_node, | |
2074 | const_string_type_node, wint_type_node, intmax_type_node, | |
2075 | uintmax_type_node, default_function_type, ptrdiff_type_node and | |
2076 | unsigned_ptrdiff_type_node. | |
2077 | * c-common.h (identifier_global_value): Declare. | |
2078 | * c-decl.c (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Don't define. | |
2079 | (init_decl_processing): Don't create string_type_node, | |
2080 | const_string_type_node, wint_type_node, intmax_type_node, | |
2081 | uintmax_type_node, default_function_type, ptrdiff_type_node and | |
2082 | unsigned_ptrdiff_type_node. | |
2083 | (identifier_global_value): New function. | |
2084 | ||
2085 | 2000-12-01 Neil Booth <neilb@earthling.net> | |
2086 | ||
2087 | * cppinit.c (initialize): Forgotten prototype. | |
2088 | * cpplex.c (_cpp_lex_token): Loop until not skipping. | |
2089 | Always clear PREV_WHITE upon meeting a new line. | |
2090 | * cpplib.c (end_directive): Set pfile->skipping after | |
2091 | skip_rest_of_line. | |
2092 | * cpplib.h (cpp_reader): Remove macro_pos. | |
2093 | * cppmacro.c (cpp_get_line): Don't do anything special inside | |
2094 | macros. | |
2095 | (parse_arg): Add PREV_WHITE if a token appears after new lines. | |
2096 | (funlike_invocation_p): Save and restore the output position | |
2097 | over a successful check for a '('. | |
2098 | (enter_macro_context): Delete uses of macro_pos. | |
2099 | (cpp_get_token): Don't use pfile->skipping. | |
2100 | ||
2101 | 2000-12-01 Phil Edwards <pme@sources.redhat.com> | |
2102 | ||
2103 | * diagnostic.c: Fix typos in comments. | |
2104 | * diagnostic.h: Likewise. | |
2105 | ||
2106 | 2000-11-30 Phil Edwards <pme@sources.redhat.com> | |
2107 | ||
2108 | * rtl.texi (Machine Modes): Document BImode and OImode. | |
2109 | ||
2110 | 2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk> | |
2111 | ||
2112 | * gcc.c (default_compilers): Add suffixes .mi, .cp, .ii, .FOR and | |
2113 | .FPP. | |
2114 | ||
2115 | 2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk> | |
2116 | ||
2117 | * c-decl.c (grokdeclarator): If pedantic, warn about arrays with | |
2118 | incomplete element type. | |
2119 | (grokparms): Before checking for incomplete parameter type, check | |
2120 | the type isn't error_mark_node. | |
2121 | ||
2122 | 2000-12-01 Jakub Jelinek <jakub@redhat.com> | |
2123 | ||
2124 | * builtins.c (target_char_cast): New function. | |
2125 | (expand_builtin_strchr): Use it. | |
2126 | (expand_builtin_strrchr): Use it. | |
2127 | (builtin_memset_read_str): New function. | |
2128 | (expand_builtin_memset): Use target_char_cast. | |
2129 | Try to optimize memset with second argument nonzero using | |
2130 | store_by_pieces. | |
2131 | ||
2132 | 2000-11-30 Marek Michalkiewicz <marekm@linux.org.pl> | |
2133 | ||
2134 | * install.texi (avr): Replace incomplete list of supported MCU | |
2135 | types with a link to the current one ... | |
2136 | * invoke.texi (AVR Options): ... here. Update -mmcu= to list | |
2137 | all supported MCU types. Document -minit-stack= default. | |
2138 | Document new options -mno-tablejump, -mtiny-stack. | |
2139 | * md.texi (AVR family): Fix typo in 'w' constraint letter | |
2140 | description. Document 'q'. Update 'O'. | |
2141 | ||
2142 | 2000-12-01 Bernd Schmidt <bernds@redhat.co.uk> | |
2143 | ||
2144 | * combine.c (cant_combine_insn_p): Only disallow insns involving | |
2145 | hard regs if they are reg-reg moves. | |
2146 | (try_combine, can_combine_p, combinable_i3pat): Delete old | |
2147 | SMALL_REGISTER_CLASSES tests. | |
2148 | ||
2149 | 2000-12-01 Alexandre Oliva <aoliva@redhat.com> | |
2150 | ||
2151 | * config/sh/sh.c (shiftcosts): Don't get INTVAL before testing | |
2152 | whether X is a CONST_INT. | |
2153 | (addsubcosts): Likewise. | |
2154 | ||
2155 | * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Use INTVAL instead of | |
2156 | mis-used XINT. | |
2157 | (ARG_POINTER_REGNUM): Set to AP_REG. | |
2158 | ||
2159 | 2000-11-30 Alexandre Oliva <aoliva@redhat.com> | |
2160 | ||
2161 | * config/sh/sh.md (fpu_switch0, fpu_switch1, movpsi, fpu_switch, | |
2162 | splits): Only match on TARGET_SH4. | |
2163 | ||
2164 | * combine.c (try_combine): Disregard USEs when updating LOG_LINKS | |
2165 | of subsequent insns. | |
2166 | ||
2167 | 2000-11-30 Richard Henderson <rth@redhat.com> | |
2168 | ||
2169 | * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Disable. | |
2170 | * config/alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise. | |
2171 | ||
2172 | 2000-11-30 Richard Henderson <rth@redhat.com> | |
2173 | ||
2174 | * config/alpha/elf.h (ASM_OUTPUT_SECTION_NAME): Copy elfos.h defn. | |
2175 | (DO_SELECT_SECTION): New. | |
2176 | (SELECT_SECTION): Use it. | |
2177 | (UNIQUE_SECTION_P): New. | |
2178 | (UNIQUE_SECTION): New. | |
2179 | ||
2180 | 2000-11-30 Alexandre Oliva <aoliva@redhat.com> | |
2181 | ||
2182 | * c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status | |
2183 | from va_list before using it. | |
2184 | ||
2185 | 2000-11-30 Michael Matz <matzmich@cs.tu-berlin.de> | |
2186 | ||
2187 | * flow.c (make_edge): Early out, if no flags to set. | |
2188 | (calculate_global_regs_live): Clear out garbage only when necessary. | |
2189 | ||
2190 | * simplify-rtx.c (varray_type used_regs): New. | |
2191 | (clear_table): Use it to only clear necessary items. | |
2192 | (cselib_lookup, cselib_record_set): Remember newly set items. | |
2193 | (cselib_update_varray_sizes, cselib_init): Initialize and grow | |
2194 | used_regs. | |
2195 | ||
2196 | * local-alloc.c (update_equiv_regs): New local `cleared_regs'. | |
2197 | Move clearing of dead regs out of insn-loop. | |
2198 | ||
2199 | 2000-11-30 Richard Henderson <rth@redhat.com> | |
2200 | ||
2201 | * calls.c (expand_call): Emit queued insns before creating | |
2202 | the tail recursion sequence. | |
2203 | ||
2204 | 2000-11-30 J. David Anglin <dave.anglin@nrc.ca> | |
2205 | Bruce Korb <bkorb@gnu.org> | |
2206 | ||
2207 | * fixinc/inclhack.def(): prevent dual double definition protection | |
2208 | * fixinc/fixincl.x: regenerate | |
2209 | ||
2210 | 2000-11-29 Loren J. Rittle <ljrittle@acm.org> | |
2211 | ||
2212 | * fixinc/Makefile.in (fixincl.x): Explicitly state the | |
2213 | location of the generated file. | |
2214 | ||
2215 | 2000-11-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> | |
2216 | ||
2217 | * README.FRESCO: Remove obsolete file. | |
2218 | ||
2219 | 2000-11-30 Mark Kettenis <kettenis@gnu.org> | |
2220 | ||
2221 | * config/t-gnu (LIBGCC1, CROSS_LIBGCC1, CRTSTUFF_T_CFLAGS, | |
2222 | TARGET_LIBGCC2_CFLAGS): Remove. We now use the settings from | |
2223 | config/t-linux for the Hurd. | |
2224 | ||
2225 | 2000-11-30 Stephane Carrez <Stephane.Carrez@worldnet.fr> | |
2226 | ||
2227 | * config/mn10200/udivmod.c, config/mn10200/divmod.c, | |
2228 | config/mn10200/udivmodsi4.c: Moved from here. | |
2229 | * config/udivmod.c, config/divmod.c, config/udivmodsi4.c: To here. | |
2230 | * config/mn10200/t-mn10200 (LIB2FUNCS_EXTRA): Use the generic | |
2231 | C division functions. | |
2232 | * config/m68hc11/t-m68hc11-gas (LIB2FUNCS_EXTRA): Likewise. | |
2233 | ||
2234 | Thu Nov 30 01:12:52 2000 Jeffrey A Law (law@cygnus.com) | |
2235 | ||
2236 | * pa.md (conditional moves): Avoid holes in operand list. | |
2237 | (mod, umod patterns): Similarly. | |
2238 | (variable extract/shift patterns): Similarly. | |
2239 | ||
2240 | 2000-11-30 Neil Booth <neilb@earthling.net> | |
2241 | ||
2242 | * objc/objc-act.c (lang_init, finish_file, maybe_objc_comptypes, | |
2243 | maybe_objc_check_decl, build_objc_string_object, | |
2244 | objc_declare_alias, objc_declare_class, build_message_expr, | |
2245 | build_protocol_expr, build_selector_expr, build_encode_expr, | |
2246 | get_class_ivars, start_class, start_protocol): Remove | |
2247 | redundant code, assuming doing_objc_thang is true. | |
2248 | ||
2249 | 2000-11-29 John David Anglin <dave@hiauly1.hia.nrc.ca> | |
2250 | ||
2251 | * pa.c (restore_unscaled_index_insn_codes): Delete procedure. | |
2252 | (record_unscaled_index_insn_codes): Likewise. | |
2253 | (unscaled_index_insn_codes): Delete. | |
2254 | (max_unscaled_index_insn_codes_uid): Delete. | |
2255 | (output_function_prologue, output_function_epilogue, pa_reorg): | |
2256 | Don't use the unscaled index insn hack. | |
2257 | ||
2258 | * pa.md: Remove hack from all index insns to reverse the operand | |
2259 | order of frame and stack pointer references incorrectly created | |
2260 | in the reload pass. | |
2261 | ||
2262 | * function.h (emit_status): Delete member regno_pointer_flag and | |
2263 | rename regno_pointer_flag_length to regno_pointer_align_length. | |
2264 | Delete define for REGNO_POINTER_FLAG. | |
2265 | * integrate.h (inline_remap): Delete member regno_pointer_flag. | |
2266 | Add member x_regno_reg_rtx. | |
2267 | * rtl.h (rtx_def): Use frame_related bit to indicate register is | |
2268 | a pointer in REG expressions. Define REG_POINTER macro. | |
2269 | * alias.c (find_base_value, find_base_term): Use REG_POINTER | |
2270 | instead of REGNO_POINTER_FLAG. | |
2271 | * combine.c (nonzero_bits, num_sign_bit_copies): Likewise. | |
2272 | * emit-rtl.c (gen_reg_rtx): Use regno_pointer_align_length instead | |
2273 | of regno_pointer_flag_length. Remove code which refers to | |
2274 | regno_pointer_flag. | |
2275 | (mark_reg_pointer): Use REG_POINTER. | |
2276 | (free_emit_status): Remove code which refers to regno_pointer_flag. | |
2277 | (init_emit, mark_emit_status): Likewise. | |
2278 | * flow.c (dump_flow_info): Likewise. | |
2279 | * function.c (preserve_temp_slots): Likewise. | |
2280 | * integrate.c (expand_inline_function, copy_rtx_and_substitute): | |
2281 | Use x_regno_reg_rtx instead of regno_pointer_flag for function | |
2282 | pointer determination in map. | |
2283 | * loop.c (strength_reduce, maybe_eliminate_biv_1): Use REG_POINTER. | |
2284 | * predict.c (estimate_probability): Likewise. | |
2285 | * regclass.c (record_address_regs, reg_scan_mark_refs): Likewise. | |
2286 | * unroll.c (unroll_loop): Use x_regno_reg_rtx instead of | |
2287 | regno_pointer_flag for function pointer determination in map. | |
2288 | * convex.h (RTX_COSTS): Don't test regno_pointer_flag and use | |
2289 | REG_POINTER. | |
2290 | * pa.c (hppa_legitimize_address, emit_move_sequence, basereg_operand): | |
2291 | Use REG_POINTER. | |
2292 | (restore_unscaled_index_insn_codes): Revise comment. | |
2293 | ||
2294 | * expr.c (do_compare_and_jump): Add missing TYPE_MODE in statement. | |
2295 | ||
2296 | 2000-11-30 Joseph S. Myers <jsm28@cam.ac.uk> | |
2297 | ||
2298 | * extend.texi: Update documentation for attributes. | |
2299 | ||
2300 | 2000-11-29 David O'Brien <obrien@FreeBSD.org> | |
2301 | ||
2302 | * config/alpha/elf.h (IDENT_ASM_OP): Protect the #define. | |
2303 | (ASM_DECLARE_OBJECT_NAME): Same. | |
2304 | (ASM_FILE_END): Same. | |
2305 | (ASM_FINISH_DECLARE_OBJECT): Same. | |
2306 | (ASM_IDENTIFY_GCC): Same. | |
2307 | (ASM_IDENTIFY_LANGUAGE): Same. | |
2308 | (ASM_OUTPUT_CONSTRUCTOR): Same. | |
2309 | (ASM_OUTPUT_DEF): Same. | |
2310 | (ASM_OUTPUT_DESTRUCTOR): Same. | |
2311 | (ASM_OUTPUT_EXTERNAL_LIBCALL): Same. | |
2312 | (ASM_OUTPUT_SECTION_NAME): Same. | |
2313 | (ASM_WEAKEN_LABEL): Same. | |
2314 | (BSS_SECTION_ASM_OP): Same. | |
2315 | (COMMON_ASM_OP): Same. | |
2316 | (CONST_SECTION_ASM_OP): Same. | |
2317 | (CONST_SECTION_FUNCTION): Same. | |
2318 | (CTORS_SECTION_ASM_OP): Same. | |
2319 | (DTORS_SECTION_ASM_OP): Same. | |
2320 | (ESCAPES): Same. | |
2321 | (FINI_SECTION_ASM_OP): Same. | |
2322 | (IDENT_ASM_OP): Same. | |
2323 | (IDENT_ASM_OP): Same. | |
2324 | (INIT_SECTION_ASM_OP): Same. | |
2325 | (INT_ASM_OP): Same. | |
2326 | (MAX_OFILE_ALIGNMENT): Same. | |
2327 | (SBSS_SECTION_ASM_OP): Same. | |
2328 | (SDATA_SECTION_ASM_OP): Same. | |
2329 | (SECTION_FUNCTION_TEMPLATE): Same. | |
2330 | (SELECT_SECTION): Same. | |
2331 | (SE_CONST_SECTION): Same. | |
2332 | (SIZE_ASM_OP): Same. | |
2333 | (SKIP_ASM_OP): Same. | |
2334 | (STRING_ASM_OP): Same. | |
2335 | (STRING_LIMIT): Same. | |
2336 | (TYPE_ASM_OP): Same. | |
2337 | (TYPE_OPERAND_FMT): Same. | |
2338 | ||
2339 | 2000-11-29 Neil Booth <neilb@earthling.net> | |
2340 | ||
2341 | * c-decl.c (c_decode_option): Don't handle -lang-objc. | |
2342 | * objc/lang-options.h: Remove -lang-objc. | |
2343 | * objc/lang-specs.h: Don't pass -lang-objc to cc1obj. | |
2344 | * objc/objc-act.c (lang_init_options): Set c_language. | |
2345 | ||
2346 | 2000-11-29 Jakub Jelinek <jakub@redhat.com> | |
2347 | ||
2348 | * expr.c (can_store_by_pieces): Reinitialize max_size for reverse | |
2349 | tests. | |
2350 | ||
2351 | 2000-11-29 Neil Booth <neilb@earthling.net> | |
2352 | ||
2353 | * c-pragma.c (init_pragma): Update for parse_in type change. | |
2354 | ||
2355 | 2000-11-29 Laurynas Biveinis <lauras@softhome.net> | |
2356 | ||
2357 | * configure.in: recognize DOS-style absolute paths. | |
2358 | ||
2359 | 2000-11-29 Jakub Jelinek <jakub@redhat.com> | |
2360 | ||
2361 | * expr.h (store_by_pieces): Add prototype. | |
2362 | (can_store_by_pieces): Likewise. | |
2363 | * expr.c (struct store_by_pieces): Renamed from clear_by_pieces. | |
2364 | (can_store_by_pieces): New. | |
2365 | (store_by_pieces): New. | |
2366 | (clear_by_pieces): New. | |
2367 | (clear_by_pieces_1): New. | |
2368 | (store_by_pieces_1): Renamed from clear_by_pieces, handle storing | |
2369 | arbitrary compiler generated constants into memory block. | |
2370 | (store_by_pieces_2): Renamed from clear_by_pieces_1, likewise. | |
2371 | * builtins.c (c_readstr): New. | |
2372 | (builtin_memcpy_read_str): New. | |
2373 | (expand_builtin_memcpy): If src is string constant and | |
2374 | emit_block_move would move it by pieces, compute integer constants | |
2375 | from the string and store it into memory block instead. | |
2376 | (builtin_strncpy_read_str): New. | |
2377 | (expand_builtin_strncpy): If N is not constant zero and c_strlen does | |
2378 | not return INTEGER_CST, don't optimize. | |
2379 | If N is larger than strlen(src) + 1, try to copy the string | |
2380 | including padding with store_by_pieces. | |
2381 | (expand_builtin_strcmp): If both arguments have side effects, don't | |
2382 | optimize. | |
2383 | (expand_builtin_fputs): If STR has side effects, don't optimize. | |
2384 | ||
2385 | 2000-11-29 Richard Earnshaw <rearnsha@arm.com> | |
2386 | ||
2387 | * arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn): | |
2388 | Add use of link register. | |
2389 | ||
2390 | 2000-11-29 Joseph S. Myers <jsm28@cam.ac.uk> | |
2391 | ||
2392 | * extend.texi: Update documentation for default format attributes. | |
2393 | ||
2394 | Tue Nov 28 21:56:45 2000 Jeffrey A Law (law@cygnus.com) | |
2395 | ||
2396 | * pa/pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not | |
2397 | a list, to keep track of the sections. | |
2398 | ||
2399 | 2000-11-28 Nick Clifton <nickc@redhat.com> | |
2400 | ||
2401 | * config/arm/arm.md (pic_load_addr): Split into | |
2402 | pic_load_addr_arm and pic_load_addr_thumb. | |
2403 | ||
2404 | * config/arm/arm.c (legitimize_pic_address): Generate either | |
2405 | ARM or Thumb versions of pic_load_addr. | |
2406 | (arm_finalize_pic): Generate either ARM or Thumb versions of | |
2407 | pic_load_addr. | |
2408 | ||
2409 | 2000-11-28 Richard Henderson <rth@redhat.com> | |
2410 | ||
2411 | * calls.c (expand_call): Defer const/pure NO_DEFER_POP until | |
2412 | after sibcall do_pending_stack_adjust. | |
2413 | ||
2414 | Wed Nov 29 00:08:23 2000 J"orn Rennecke <amylaar@redhat.com> | |
2415 | ||
2416 | * jump.c (delete_insn): Check that REG_LABEL note actually contains | |
2417 | a CODE_LABEL. | |
2418 | ||
2419 | 2000-11-28 Neil Booth <neilb@earthling.net> | |
2420 | ||
2421 | * c-common.h: Remove flag_digraphs. | |
2422 | * c-decl.c: Remove flag_digraphs. | |
2423 | (c_decode_option): Don't set it. | |
2424 | * c-lex.c (init_c_lex): Don't do anything for digraphs. | |
2425 | ||
2426 | 2000-11-28 Richard Henderson <rth@redhat.com> | |
2427 | ||
2428 | * c-parse.in (finish_parse): Update for parse_in type change. | |
2429 | (_yylex): Likewise. | |
2430 | ||
2431 | 2000-11-28 Neil Booth <neilb@earthling.net> | |
2432 | ||
2433 | * cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean | |
2434 | indicating whether to scan all buffers on the stack or | |
2435 | just one. | |
2436 | * cppinit.c (do_includes): Update. | |
2437 | * cppmain.c (main): Update. | |
2438 | * cpplib.h: Update prototype. | |
2439 | ||
2440 | 2000-11-28 Richard Henderson <rth@redhat.com> | |
2441 | ||
2442 | * genoutput.c (validate_insn_operands): New. | |
2443 | (gen_insn): Call it. | |
2444 | ||
2445 | * config/alpha/alpha.md (divmodsi_internal): Renumber operands. | |
2446 | (divmoddi_internal): Likewise. | |
2447 | * config/arm/arm.md (andsi3_compare0_scratch): Likewise. | |
2448 | * config/i960/i960.md (branch patterns): Likewise. | |
2449 | * config/ia64/ia64.md (tbit_and_0): Likewise. | |
2450 | (tbit_and_1, tbit_or_0, tbit_or_1): Likewise. | |
2451 | * config/m68k/m68k.md (zero_extract memory patterns): Likewise. | |
2452 | * config/mips/mips.md (divmodsi4_internal): Likewise. | |
2453 | (divmoddi4_internal): Likewise. | |
2454 | * config/rs6000/rs6000.md (call patterns): Likewise. | |
2455 | * config/sh/sh.md (movsi_y): Likewise. | |
2456 | * config/sparc/sparc.md: Comment out if 0 v8p shift pattern. | |
2457 | ||
2458 | 2000-11-28 Richard Henderson <rth@redhat.com> | |
2459 | ||
2460 | * config.gcc: Kill residual pyramid support. | |
2461 | ||
2462 | 2000-11-28 Neil Booth <neilb@earthling.net> | |
2463 | ||
2464 | * c-lex.h (parse_in): Change parse_in to a cpp_reader *. | |
2465 | * c-decl.c (c_decode_option): Update to match. | |
2466 | * c-lex.c (init_c_lex, yyparse): Update to match. | |
2467 | * c-lang.c (lang_init_options): Use cpp_create_reader. | |
2468 | * cppinit.c (cpp_init): Rename initialize. | |
2469 | (cpp_reader_init): Rename cpp_create_reader. Create the | |
2470 | reader. Initialize cpplib if appropriate. | |
2471 | * cpplib.h (cpp_create_reader) New prototype. | |
2472 | (cpp_init, cpp_reader_init): Delete prototypes. | |
2473 | * cppmain.c (general_init, setup_callbacks): New functions. | |
2474 | (main): Use them. | |
2475 | * fix-header.c (scan_in): Change type to cpp_reader *. | |
2476 | (read_scan_file): Update for new cpplib interface and scan_in type. | |
2477 | ||
2478 | * cp/decl.c (parse_in): Change to cpp_reader *. | |
2479 | (lang_decode_option): Update. | |
2480 | * cp/lex.c (lang_init_options): Use new cpplib interface. | |
2481 | (init_cp_pragma, finish_parse, handle_pragma_implementation): Update. | |
2482 | * cp/spew.c (read_token): Update. | |
2483 | * objc/objc-act.c (lang_init_options): Update new cpplib interface. | |
2484 | ||
2485 | 2000-11-28 Jakub Jelinek <jakub@redhat.com> | |
2486 | ||
2487 | * loop.c (load_mems): Avoid using next_label to find end_label. If | |
2488 | jumping outside of the loop (other than loop end), don't hoist MEMs | |
2489 | out of loop. | |
2490 | ||
2491 | 2000-11-28 Jan Hubicka <jh@suse.cz> | |
2492 | ||
2493 | * calls.c (expand_call): Don't disable tail recursion based | |
2494 | on the loop nest. | |
2495 | ||
2496 | 2000-11-28 Neil Booth <neilb@earthling.net> | |
2497 | ||
2498 | * tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT. | |
2499 | (struct directive): Drop 4th argument from handlers. | |
2500 | (do_define, do_line, do_include, do_undef, do_else, do_elif, | |
2501 | do_endif): Similarly. | |
2502 | (do_assert, do_unassert, do_ifdef, do_ifndef): New handlers. | |
2503 | (do_ifxdef): Update as common handler of do_ifdef and do_ifndef. | |
2504 | (make_definition, make_undef): Take a const char*. | |
2505 | (make_assertion): New function. | |
2506 | (struct directive_table): Update. | |
2507 | (main): Handle -A command line argument. | |
2508 | (handle_directive): Drop fourth handler argument. | |
2509 | ||
2510 | 2000-11-28 Bernd Schmidt <bernds@redhat.co.uk> | |
2511 | ||
2512 | * simplify-rtx.c (cselib_record_sets): Ignore sets whose destination | |
2513 | is anything but REG or MEM, but look inside STRICT_LOW_PART. | |
2514 | ||
2515 | Tue Nov 28 09:53:50 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
2516 | ||
2517 | * system.h (IS_DIR_SEPARATOR): Use uppercase macro name. | |
2518 | (IS_ABSOLUTE_PATHNAME): New macro. | |
2519 | * gcc.c (find_a_file, process_command, do_spec_1, main): Use it. | |
2520 | ||
2521 | 2000-11-28 Jakub Jelinek <jakub@redhat.com> | |
2522 | ||
2523 | * config/i386/i386.md (truncxfsf2_2): Fix predicate. | |
2524 | ||
2525 | 2000-11-27 Jim Wilson <wilson@redhat.com> | |
2526 | ||
2527 | * reload1.c (reload): Use HOST_WIDE_INT for old_frame_size. | |
2528 | ||
2529 | 2000-11-27 Matthias Klose <doko@cs.tu-berlin.de> | |
2530 | ||
2531 | * extend.texi (Nested Functions): Update URL of Usenix paper. | |
2532 | ||
2533 | 2000-11-27 Mark Mitchell <mark@codesourcery.com> | |
2534 | ||
2535 | * function.c (free_after_compilation): Clear x_clobber_return_insn. | |
2536 | ||
2537 | 2000-11-27 Neil Booth <neilb@earthling.net> | |
2538 | ||
2539 | * cppinit.c (cpp_reader_init): Remove handling of warn_paste | |
2540 | command line options. | |
2541 | (cpp_handle_option): Similarly. | |
2542 | * cpplib.h (struct cpp_options): Remove warn_paste. | |
2543 | * cppmacro.c (paste_tokens): Apart from assembler, make | |
2544 | unpasteable token warning mandatory. | |
2545 | ||
2546 | 2000-11-27 Neil Booth <neilb@earthling.net> | |
2547 | ||
2548 | * tradcpp.c (enum pending_dir_t, struct pending_dir): New. | |
2549 | (main): Allocate a pending directive set of these. Use it. | |
2550 | Merge handling of -D and -U. Update handling of pending | |
2551 | directives. Free the memory after use. | |
2552 | ||
2553 | 2000-11-27 Bernd Schmidt <bernds@redhat.co.uk> | |
2554 | ||
2555 | * flow.c (entry_exit_blocks): Add entry for cond_local_set. | |
2556 | (struct propagate_block_info): Add new member cond_local_set. | |
2557 | (propagate_block): Accept new arg cond_local_set. All callers | |
2558 | changed. | |
2559 | (init_propagate_block_info): Likewise. | |
2560 | (calculate_global_regs_live): Allocate & free cond_local_set. Always | |
2561 | rescan if there's overlap between cond_local_set and new_live_at_end. | |
2562 | (mark_set_1): Set bits either in cond_local_set or local_set, as | |
2563 | appropriate. | |
2564 | * basic-block.h (struct basic_block_def): New field cond_local_set. | |
2565 | (propagate_block, init_propagate_block_info): Update prototypes. | |
2566 | ||
2567 | Mon Nov 27 17:29:44 2000 kaz Kojima <kkojima@rr.iij4u.or.jp> | |
2568 | ||
2569 | * gcc/config/sh/sh.md (udivsi3_i4, udivsi3_i4_single): Clobber | |
2570 | T register. | |
2571 | ||
2572 | 2000-11-27 Richard Earnshaw <rearnsha@arm.com> | |
2573 | ||
2574 | * arm.c (select_dominance_cc_mode): Handle new way that combine | |
2575 | canonicalizes conditional compares. | |
2576 | (arm_select_cc_mode): Likewise. | |
2577 | * arm.md: Garbage collect some dead code. | |
2578 | (cmp_and, cmp_ior): New patterns. | |
2579 | (splitter for conditional move with inverted false): Use cond_exec | |
2580 | and handle unordered comparisons. | |
2581 | ||
2582 | Mon Nov 27 17:22:56 MET 2000 Jan Hubicka <jh@suse.cz> | |
2583 | ||
2584 | * i386.c (ix86_force_to_memory, ix86_free_from_memory): New. | |
2585 | * i386-protos.h (ix86_force_to_memory, ix86_free_from_memory): Declare | |
2586 | * i386.md (float?i?f, int/fp operations): Rewrite spliters to use | |
2587 | ix86_force_to_memory and ix86_free_from_memory. | |
2588 | ||
2589 | 2000-11-27 Richard Earnshaw <rearnsha@arm.com> | |
2590 | ||
2591 | * arm.md (arm_adddi3, adddi_sesidi_di, adddi_zesidi_di, arm_addsi3, | |
2592 | arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di, | |
2593 | anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3, | |
2594 | one_cmpldi2): Merge with splitters to create define_insn_and_split | |
2595 | patterns. Remove redundant splits. | |
2596 | (peephole2 for add:SI of invalid immediate): New. | |
2597 | (peephole2 for minus:SI of invalid immediate): New. | |
2598 | (peephole2 for ior:SI of invalid immediate): New. | |
2599 | (peephole for merge of move and compare): Convert ot peephole2. | |
2600 | (addsf3, adddf3): Mark as commutative. | |
2601 | ||
2602 | * arm.md (thumb peephole for merging stack adjustments): Convert to | |
2603 | peephole2. | |
2604 | ||
2605 | 2000-11-27 Bernd Schmidt <bernds@redhat.co.uk> | |
2606 | ||
2607 | * haifa-sched.c (print_pattern): Prettier output for COND_EXEC. | |
2608 | ||
2609 | * reload1.c (reload_cse_simplify_set): Pass down mode to cselib_lookup. | |
2610 | (reload_cse_simplify_operands): Do nothing about operands where both | |
2611 | the operand and the match_operand fail to give us a mode. | |
2612 | * simplify-rtx.c (wrap_constant): New function. | |
2613 | (entry_and_rtx_equal_p): Except integer constants to come wrapped in a | |
2614 | CONST describing the proper mode. | |
2615 | (rtx_equal_for_cselib_p): Pass down modes to recursive calls of | |
2616 | cselib_lookup. | |
2617 | (cselib_lookup_mem): Call wrap_constant on the rtx that is passed to | |
2618 | htab_find_slot_with_hash. | |
2619 | (cselib_lookup): Likewise. | |
2620 | ||
2621 | Based on a patch from Geoff Keating <geoffk@redhat.com>: | |
2622 | * loop.c (basic_induction_var): If a REG is set from something | |
2623 | that is not a biv, then the REG is not a biv. Even if it is | |
2624 | earlier set from something that is a biv. | |
2625 | ||
2626 | 2000-11-27 Alexandre Oliva <aoliva@redhat.com> | |
2627 | ||
2628 | * configure.in (extra_objs): Enclose extra_headers in quotes. | |
2629 | * configure: Rebuilt. | |
2630 | ||
2631 | 2000-11-27 Neil Booth <neilb@earthling.net> | |
2632 | ||
2633 | * c-lex.c (cb_enter_file, cb_leave_file, cb_rename_file): | |
2634 | Combine into the new function cb_change_file. | |
2635 | (init_c_lex): Update. | |
2636 | * cppfiles.c (stack_include_file): Use _cpp_do_file_change. | |
2637 | (cpp_syshdr_flags): Delete. | |
2638 | * cpphash.h (_cpp_do_file_change): New prototype. | |
2639 | Move struct cpp_buffer here from... | |
2640 | * cpplib.h (struct cpp_buffer): ... here. | |
2641 | (enum cpp_fc_reason, struct cpp_file_loc, | |
2642 | struct_cpp_file_change, change_file): New. | |
2643 | (enter_file, leave_file, rename_file, cpp_syshdr_flags): Delete. | |
2644 | * cpplib.c (do_line): Update for new cb_change_file callback. | |
2645 | (_cpp_do_file_change): New function. | |
2646 | (_cpp_pop_buffer): Update to use it. | |
2647 | * cppmain.c (move_printer): Delete. | |
2648 | (main): Set up single callback cb_change_file. | |
2649 | (cb_enter_file, cb_leave_file, cb_rename_file): Delete. | |
2650 | (cb_change_file): New. | |
2651 | * fix-header.c (cur_file, cb_change_file): New. | |
2652 | (recognized_function, read_scan_file): Update. | |
2653 | * scan-decls.c (scan_decls): Update. | |
2654 | * scan.h (recognized_function): Update prototype. | |
2655 | ||
2656 | 2000-11-26 Mark Mitchell <mark@codesourcery.com> | |
2657 | ||
2658 | * tree.h (mark_tree_hashtable): New function. | |
2659 | * tree.c (mark_tree_hashtable_entry): New function. | |
2660 | (mark_tree_hashtable): Likewise. | |
2661 | ||
2662 | 2000-11-27 Michael Meissner <meissner@redhat.com> | |
2663 | ||
2664 | * d30v-protos.h (srelational_si_operator): Correctly spell | |
2665 | function. | |
2666 | (urelational_si_operator): Ditto. | |
2667 | (relational_si_operator): Ditto. | |
2668 | (d30v_expand_prologue): Add prototype. | |
2669 | (d30v_expand_epilogue): Ditto. | |
2670 | ||
2671 | * d30v.h (OPTIMIZATION_OPTIONS): Undo November 22nd change. | |
2672 | ||
2673 | * d30v.md (movcccc_*): Delete now unused patterns. | |
2674 | (64 bit comparison splitters): Rewrite to use COND_EXEC instead of | |
2675 | IF_THEN_ELSE. | |
2676 | (define_cond_exec): Use 'b' to select branch flags. | |
2677 | ||
2678 | 2000-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
2679 | ||
2680 | * builtins.c (expand_builtin_strncmp, expand_builtin_strncpy): New | |
2681 | functions. | |
2682 | (expand_builtin): Handle BUILT_IN_STRNCPY and BUILT_IN_STRNCMP. | |
2683 | ||
2684 | * builtins.def (BUILT_IN_STRNCPY, BUILT_IN_STRNCMP): New entries. | |
2685 | ||
2686 | * c-common.c (c_common_nodes_and_builtins): Declare builtin | |
2687 | strncpy and strncmp. | |
2688 | ||
2689 | * extend.texi (strncmp, strncpy): Document new builtins. | |
2690 | ||
2691 | 2000-11-26 Mark Mitchell <mark@codesourcery.com> | |
2692 | ||
2693 | * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not | |
2694 | a list, to keep track of the sections. | |
2695 | * tm.texi (ASM_OUTPUT_SECTION_NAME): Document the fact that the | |
2696 | parameter provided will always be a canonical string. | |
2697 | ||
2698 | 2000-11-26 Neil Booth <neilb@earthling.net> | |
2699 | ||
2700 | * cppmacro.c (cpp_scan_buffer_nooutput): Only scan the | |
2701 | current buffer. | |
2702 | ||
2703 | 2000-11-26 Joseph S. Myers <jsm28@cam.ac.uk> | |
2704 | ||
2705 | * makefile.vms: Remove EGCS references. | |
2706 | ||
2707 | 2000-11-26 Ulrich Drepper <drepper@redhat.com> | |
2708 | ||
2709 | * dwarf2out.c (output_file_names): New function. Compute minimal | |
2710 | combination of directory and file name table and emit them. | |
2711 | (output_line_info): Remove code to emit directory and file name | |
2712 | table and call output_file_names instead. | |
2713 | (file_info_cmp): Helper function to sort directory names. | |
2714 | ||
2715 | 2000-11-26 Neil Booth <neilb@earthling.net> | |
2716 | ||
2717 | * cpplib.h (struct cpp_reader): Remove lang_asm. | |
2718 | (struct cpp_options): Remove c89. New members lang, | |
2719 | extended_numbers. | |
2720 | * cppexp.c (parse_number): Use them. | |
2721 | * cpphash.h (VALID_SIGN): Use them. | |
2722 | * cppinit.c (set_lang, cpp_start_read): Update. | |
2723 | * cpplex.c (parse_string, _cpp_lex_token): Update. | |
2724 | * cpplib.c (_cpp_handle_directive): Update. | |
2725 | * cppmacro.c (parse_args): Update. | |
2726 | * cppmain.c (scan_buffer): Update. | |
2727 | ||
2728 | Sun Nov 26 10:02:37 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
2729 | ||
2730 | * fold-const.c (fold, case CONVERT_EXPR): Always return tree of | |
2731 | proper type. | |
2732 | ||
2733 | 2000-11-26 Neil Booth <neilb@earthling.net> | |
2734 | ||
2735 | * Makefile.in: Remove MAYBE_CPPLIB and maybe_cpplib. | |
2736 | * c-decl.c: Remove parse_in declaration. | |
2737 | * c-lang.c: Similarly. | |
2738 | * c-lex.c: Similarly. | |
2739 | * c-parse.in: Similarly. | |
2740 | * c-pragma.c: Similarly. | |
2741 | * configure.in: Similarly. | |
2742 | * cp/Make-lang.in: Similarly. | |
2743 | * cp/spew.c: Similarly. | |
2744 | * cp/decl2.c: Remove check for lang-c++ option. | |
2745 | * cp/lang-specs.h: Remove -lang-c++ from cc1plus command line. | |
2746 | * cp/lex.c (lang_init_options): With cpp_reader_init, default to C++. | |
2747 | * c-lex.h: Add declaration of parse_in. | |
2748 | * cppinit.c: Call set_lang after allocating pfile->pending. | |
2749 | * configure: Regenerate. | |
2750 | ||
2751 | 2000-11-25 Zack Weinberg <zack@wolery.stanford.edu> | |
2752 | ||
2753 | * combine.c (try_combine): Remove redundant test. | |
2754 | ||
2755 | 2000-11-25 Richard Henderson <rth@redhat.com> | |
2756 | ||
2757 | * c-common.h (DECL_C_HARD_REGISTER): New. | |
2758 | * c-decl.c (finish_decl): Set it for asm register variables. | |
2759 | * c-semantics.c (emit_local_var): Test it when instantiating one. | |
2760 | ||
2761 | 2000-11-25 Richard Henderson <rth@redhat.com> | |
2762 | ||
2763 | * c-decl.c (c_expand_body): Use DECL_SOURCE_LINE rather than | |
2764 | lineno for the start of the function. | |
2765 | ||
2766 | 2000-11-25 Richard Henderson <rth@redhat.com> | |
2767 | ||
2768 | * dwarf2out.c (file_table, file_table_allocated): Remove. | |
2769 | (file_table_allocated): Remove. | |
2770 | (struct file_table): New. | |
2771 | (decl_file_table, line_file_table): New. | |
2772 | (print_dwarf_line_table): Use them. | |
2773 | (size_of_line_prolog): Likewise. | |
2774 | (output_line_info): Likewise. | |
2775 | (add_src_coords_attributes): Likewise. | |
2776 | (gen_subprogram_die): Likewise. | |
2777 | (gen_variable_die): Likewise. | |
2778 | (dwarf2out_add_library_unit_info): Likewise. | |
2779 | (dwarf2out_line): Likewise. | |
2780 | (lookup_filename): Take a struct file_table argument. | |
2781 | (init_file_table): New. | |
2782 | (dwarf2out_init): Use it. | |
2783 | ||
2784 | 2000-11-25 Joseph S. Myers <jsm28@cam.ac.uk> | |
2785 | ||
2786 | * invoke.texi: Update sequence points references. | |
2787 | ||
2788 | 2000-11-25 Neil Booth <neilb@earthling.net> | |
2789 | ||
2790 | * c-common.c: Remove USE_CPPLIB conditional inclusions. | |
2791 | * c-common.h: Similarly. | |
2792 | * c-decl.c: Similarly. | |
2793 | * c-lang.c: Similarly. | |
2794 | * c-lex.c: Similarly. | |
2795 | * c-parse.in: Similarly. | |
2796 | * c-pragma.c: Similarly. | |
2797 | * c-pragma.h: Similarly. | |
2798 | * gcc.c: Similarly. | |
2799 | * toplev.c: Similarly. | |
2800 | * cp/cp-tree.h: Similarly. | |
2801 | * cp/decl2.c: Similarly. | |
2802 | * cp/lang-specs.h: Similarly. | |
2803 | * cp/lex.c: Similarly. | |
2804 | * cp/lex.h: Similarly. | |
2805 | * cp/spew.c: Similarly. | |
2806 | * java/lang-options.h: Similarly. | |
2807 | * objc/lang-specs.h: Similarly. | |
2808 | * objc/objc-act.c: Similarly. | |
2809 | ||
2810 | * configure.in: Remove configure option. | |
2811 | * config.in: Regenerate. | |
2812 | * configure: Regenerate. | |
2813 | ||
2814 | 2000-11-25 Richard Henderson <rth@redhat.com> | |
2815 | ||
2816 | * haifa-sched.c (sched_analyze_1, sched_analyze_2, sched_analyze): | |
2817 | Revert 2000-11-22 change. | |
2818 | ||
2819 | 2000-11-25 Bernd Schmidt <bernds@redhat.co.uk> | |
2820 | ||
2821 | * config/i386/i386.h (FIXED_REGS): Make the three flags registers | |
2822 | fixed. | |
2823 | ||
2824 | 2000-11-25 Philipp Thomas <pthomas@suse.de> | |
2825 | * configure.in (ALL_LINGUAS): Remove en_GB and add sv. | |
2826 | * configure: Rebuilt. | |
2827 | ||
2828 | 2000-11-25 Jakub Jelinek <jakub@redhat.com> | |
2829 | ||
2830 | * config/sparc/sparc.md (muldi3_v8plus): Remove H constraint. | |
2831 | Handle CONST_INT as second argument. | |
2832 | * config/sparc/sparc.c (set_extends): Remove first argument. | |
2833 | Properly handle AND, CONST_INT and CONST_DOUBLE, handle IOR, XOR and | |
2834 | MOV. | |
2835 | (sparc_check_64): Abort if first argument is not REG. | |
2836 | If it is DImode REG, look at the lower register of the register | |
2837 | pair. | |
2838 | ||
2839 | * config/sparc/sparc.c (load_pic_register, restore_regs, | |
2840 | output_return, sparc_v8plus_shift, sparc_function_profiler, | |
2841 | sparc_function_block_profiler, sparc_block_profiler): Fix output | |
2842 | formatting. | |
2843 | ||
2844 | 2000-11-25 Alexandre Oliva <aoliva@redhat.com> | |
2845 | ||
2846 | * config/sh/sh.h (TARGET_NONE): New. | |
2847 | (TARGET_SWITCHES): For all variant-selecting switch, use | |
2848 | TARGET_NONE to reset all other variant-selecting switch. Added | |
2849 | empty strings to avoid warnings. | |
2850 | (TARGET_DEFAULT): Set to SH1_BIT. | |
2851 | ||
2852 | * Makefile.in ($(INTL_TARGETS)): Added $(CONFIG_H) for | |
2853 | insn-codes.h. | |
2854 | ||
2855 | * gcc/config/sh/sh.md (sibcalli, sibcalli_pcrel): New insns. | |
2856 | (sibcall_pcrel): New insn_and_split. | |
2857 | (sibcall, sibcall_value, sibcall_epilogue): New expands. | |
2858 | ||
2859 | * config/sh/sh.md (GOTaddr2picreg, symGOT2reg, symGOTOFF2reg, | |
2860 | symPLT_label2reg, call, call_value): Don't set | |
2861 | current_function_uses_pic_offset_table. | |
2862 | * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't mark | |
2863 | PIC_OFFSET_TABLE_REGNUM as call_used, so that calc_live_regs | |
2864 | takes it into account. | |
2865 | (FINALIZE_PIC): Delete, useless. | |
2866 | (LEGITIMATE_CONSTANT_P): Delete, unused. | |
2867 | * config/sh/sh.c (sh_expand_prologue): Don't use | |
2868 | current_function_uses_pic_offset_table. Don't special-case | |
2869 | PIC_OFFSET_TABLE_REGNUM. Initialize it if it's ever live and | |
2870 | PIC is enabled. | |
2871 | (sh_expand_epilogue, initial_elimination_offset): Don't | |
2872 | special case PIC_OFFSET_TABLE_REGNUM. | |
2873 | ||
2874 | 2000-11-25 Alexandre Oliva <aoliva@redhat.com>, NIIBE Yutaka <gniibe@m17n.org> | |
2875 | ||
2876 | * config/sh/sh-protos.h (symbol_ref_operand): Declare. | |
2877 | * config/sh/sh.md (UNSPEC_CALLER): New constant. | |
2878 | (calli_pcrel, call_valuei_pcrel): Use PIC_REG. | |
2879 | (call_pcrel, call_value_pcrel): New insn_and_splits. | |
2880 | (call, call_value): Use them. | |
2881 | (call_site): New expand. | |
2882 | (sym_label2reg, symPLT_label2reg): Adjust to hold call_sites. | |
2883 | * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA) [UNSPEC_CALLER]: | |
2884 | Output call_site label. | |
2885 | (PREDICATE_CODES): Added symbol_ref_operand. | |
2886 | * config/sh/sh.c (symbol_ref_operand): Define. | |
2887 | * emit-rtl.c (try_split): Propagate CALL_INSN_FUNCTION_USAGE | |
2888 | to CALL_INSNs in the split sequence. | |
2889 | ||
2890 | 2000-11-24 Nick Clifton <nickc@redhat.com> | |
2891 | ||
2892 | * config.gcc (v850-*-*): Define c_target_objs and | |
2893 | cxx_target_objs. | |
2894 | ||
2895 | * config/v850/t-v850: Define how to build v850-c.o | |
2896 | ||
2897 | * config/v850/v850.h (struct data_area_stack_element): Move | |
2898 | definition here from v850.c. | |
2899 | ||
2900 | * config/v850v850.c: Include gcc.h to avoid compile time | |
2901 | warning. | |
2902 | (push_data_area): Move to v850-c.c. | |
2903 | (pop_data_area): Move to v850-c.c. | |
2904 | (mark_current_function_as_interrupt): Move to v850-c.c. | |
2905 | (GHS_default_section_names): Allow to be exported. | |
2906 | (GHS_current_section_names): Allow to be exported. | |
2907 | (data_area_stack_elements): Allow to be exported. | |
2908 | (ghs_pragma_section): Move to v850-c.c. | |
2909 | (ghs_pragma_interrupt): Move to v850-c.c. | |
2910 | (ghs_pragma_starttda): Move to v850-c.c. | |
2911 | (ghs_pragma_startsda): Move to v850-c.c. | |
2912 | (ghs_pragma_startzda): Move to v850-c.c. | |
2913 | (ghs_pragma_endtda): Move to v850-c.c. | |
2914 | (ghs_pragma_endsda): Move to v850-c.c. | |
2915 | (ghs_pragma_endzda): Move to v850-c.c. | |
2916 | ||
2917 | * config/v850/v850-c.c: New file: Contains v850 specific | |
2918 | pragma parsing functions. | |
2919 | ||
2920 | 2000-11-24 Nick Clifton <nickc@redhat.com> | |
2921 | ||
2922 | * config.gcc (extra_objs): Remove duplicate description. | |
2923 | (c_target_objs): New variable. Contains target specific | |
2924 | object files for the gcc C compiler only. | |
2925 | (cxx_target_objs): New variable. Contains target specific | |
2926 | object files for the gxx C++ compiler only. | |
2927 | ||
2928 | * configure.in (c_target_objs): Substitute in the makefile. | |
2929 | (cxx_target_objs): Substitute in the makefile. | |
2930 | * configure: Regenerate. | |
2931 | ||
2932 | * Makefile.in (C_TARGET_OBJS): Define and initialize from | |
2933 | c_target_objs. | |
2934 | (CXX_TARGET_OBJS): Define and initialize from | |
2935 | cxx_target_objs. | |
2936 | (C_AND_OBJC_OBJS): Include C_TARGET_OBJS. | |
2937 | ||
2938 | * cp/Make-lang.in (CXX_C_OBJS): Include CXX_TARGET_OBJS). | |
2939 | ||
2940 | * tm.texi (REGISTER_TARGET_PRAGMAS): Add paragraph explaining | |
2941 | about how the use of the 'c_lex' function requires the use of | |
2942 | the target specific, language specific object files feature of | |
2943 | the configuration mechanism. | |
2944 | ||
2945 | Fri Nov 24 18:50:58 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
2946 | ||
2947 | * gcc.c (process_command): Use F_OK, not R_OK. | |
2948 | ||
2949 | 2000-11-24 Arno J. Klaassen <arno@heho.snv.jussieu.fr> | |
2950 | ||
2951 | * flow.c (print_rtl_and_abort): Remove ANSIism. | |
2952 | ||
2953 | Fri Nov 24 19:54:36 2000 Alexandre Oliva <aoliva@redhat.com> | |
2954 | ||
2955 | * config/sh/sh.h (GENERAL_REGISTER_P, | |
2956 | GENERAL_OR_AP_REGISTER_P, FP_REGISTER_P, XD_REGISTER_P, | |
2957 | FP_OR_XD_REGISTER_P, FP_ANY_REGISTER_P): New macros. Use them | |
2958 | all over. | |
2959 | (SPECIAL_REG): Renamed to SPECIAL_REGISTER_P. | |
2960 | * config/sh/sh.c: Use new macros. | |
2961 | * config/sh/sh.md: Likewise. | |
2962 | ||
2963 | Fri Nov 24 19:46:16 2000 Alexandre Oliva <aoliva@redhat.com> | |
2964 | ||
2965 | * config/sh/sh.md: Clobber MACH_REG and MACL_REG in SImode, | |
2966 | instead of just MACH_REG in DImode. Always refer to FPSCR_REG | |
2967 | in PSImode. | |
2968 | ||
2969 | Fri Nov 24 22:37:41 2000 Denis Chertykov <denisc@overta.ru> | |
2970 | ||
2971 | * config/avr/avr.c (out_tsthi,out_tstsi): Test simplification bug | |
2972 | fixed. | |
2973 | (machine_dependent_reorg): Wrong optimization based on | |
2974 | NOTICE_UPDATE_CC removed. | |
2975 | ||
2976 | Fri Nov 24 19:48:09 2000 J"orn Rennecke <amylaar@redhat.com> | |
2977 | ||
2978 | * jump.c (delete_computation): Re-instate deletion of feeding insn. | |
2979 | (delete_insn): Look for REG_LABEL notes. | |
2980 | (redirect_tablejump): Delete feeding insns. | |
2981 | ||
2982 | 2000-11-24 Bernd Schmidt <bernds@redhat.co.uk> | |
2983 | ||
2984 | * config/i386/i386.md (call_pop_0, call_pop_1, call_value_pop_0, | |
2985 | call_value_pop_1): Make sure operand numbers are contiguous. | |
2986 | ||
2987 | * fold-const.c (fold_range_test): Avoid crash if LHS or RHS is null. | |
2988 | ||
2989 | * reload1.c (conflicts_with_override): New function. | |
2990 | (emit_input_reload_insns): Use it to tighten test for validity | |
2991 | of substituting into output of previous insn. | |
2992 | ||
2993 | * haifa-sched.c (struct ready_list): New. | |
2994 | (ready_lastpos, ready_add, ready_remove_first, ready_sort): New static | |
2995 | functions. | |
2996 | (schedule_insn): Replace args READY and N_READY with a pointer to a | |
2997 | ready_list; return void. Use the new functions to access the ready | |
2998 | list. All callers changed. | |
2999 | (queue_to_ready, debug_ready_list): Likewise. | |
3000 | (schedule_block): Initialize a ready_list structure. Use new | |
3001 | functions to access it. | |
3002 | (max_priority): Remove unused variable. | |
3003 | (schedule_insn): Don't set it. | |
3004 | ||
3005 | * c-common.c (verify_tree): Don't recurse into CONSTRUCTORs. | |
3006 | ||
3007 | * combine.c (cant_combine_insn_p): New function. | |
3008 | (try_combine): Use it. | |
3009 | ||
3010 | * Makefile.in (c-common.o): Depend on $(OBSTACK_H). | |
3011 | * c-common.c (c-obstack.c): Include "obstack.h". | |
3012 | (struct reverse_tree): Delete. | |
3013 | (reverse_list, reverse_max_depth): Delete. | |
3014 | (build_reverse_tree, common_ancestor, modify_ok): Delete functions. | |
3015 | (struct tlist, struct tlist_cache): New. | |
3016 | (tlist_obstack, tlist_firstobj, warned_ids, save_expr_cache): New. | |
3017 | (add_tlist, merge_tlist, verify_tree, warning_candidate_p, | |
3018 | warn_for_collisions, warn_for_collisions_1, new_tlist): New | |
3019 | static functions. | |
3020 | (verify_sequence_points): Rewritten. | |
3021 | * fold-const.c (fold): Don't lose possibly important sequence | |
3022 | points when removing one arm of TRUTH_ORIF_EXPRs or TRUTH_ANDIF_EXPRs. | |
3023 | ||
3024 | 2000-11-24 Richard Sandiford <rsandifo@redhat.com> | |
3025 | ||
3026 | * gcc/cse.c (cse_insn): Removed conversion of REG_EQUIV to REG_EQUAL | |
3027 | when reversing a register-to-register copy. Reversal now disabled | |
3028 | when the previous instruction has a REG_EQUIV. | |
3029 | ||
3030 | 2000-11-24 Nathan Sidwell <nathan@codesourcery.com> | |
3031 | ||
3032 | * c-parse.in (unary_expr): Move VA_ARG from here ... | |
3033 | (primary): ... to here. | |
3034 | ||
3035 | 2000-11-23 Graham Stott <grahams@redhat.com> | |
3036 | ||
3037 | * expr.c (store_constructor): If a field is non addressable and | |
3038 | the target is a MEM use MEM_ALIAS_SET otherwise use get_alias_set. | |
3039 | ||
3040 | 2000-11-23 Bernd Schmidt <bernds@redhat.co.uk> | |
3041 | ||
3042 | * flow.c (print_rtl_and_abort): New function. | |
3043 | (verify_wide_reg, verify_local_live_at_start): Try to dump more | |
3044 | information before aborting. | |
3045 | ||
3046 | 2000-11-23 Alexandre Oliva <aoliva@redhat.com> | |
3047 | ||
3048 | * emit-rtl.c (gen_lowpart_common): Use word 0 if register mode | |
3049 | is narrower than requested mode. | |
3050 | (gen_highpart): Abort if register mode is narrower than | |
3051 | requested mode. | |
3052 | ||
3053 | 2000-11-23 Graham Stott <grahams@redhat.com> | |
3054 | ||
3055 | * cse.c (cse_insn): Initialize all regcost variables. | |
3056 | Fix a typo add missing '='. | |
3057 | Only compare costs if there is a replacement insn. | |
3058 | ||
3059 | Thu Nov 23 04:33:33 2000 Alexandre Oliva <aoliva@redhat.com> | |
3060 | ||
3061 | * final.c (output_addr_const) [LABEL_REF]: Simplify. | |
3062 | [MINUS]: Enclose non-CONST_INTs in parentheses. | |
3063 | [default]: Try OUTPUT_ADDR_CONST_EXTRA. | |
3064 | * tm.texi (OUTPUT_ADDR_CONST_EXTRA): Document it. | |
3065 | * varasm.c (decode_rtx_const) [CONST]: If it's not something | |
3066 | PLUS or MINUS a CONST_INT, use the whole CONST with offset 0 | |
3067 | instead of abort()ing. | |
3068 | * sh.c (output_pic_addr_const): Removed. Fixed all callers. | |
3069 | * sh.h (OUTPUT_ADDR_CONST_EXTRA): New. Handle the UNSPECs | |
3070 | formerly handled in output_pic_addr_const. | |
3071 | * sh.md (sym_label2reg, symPLT_label2reg): Enclose UNSPEC | |
3072 | operands of MINUS in CONSTs so that decode_rtx_const() will | |
3073 | accept them. | |
3074 | ||
3075 | Thu Nov 23 04:10:30 2000 Alexandre Oliva <aoliva@redhat.com> | |
3076 | ||
3077 | * config/sh/sh.md (mova_const): New pattern. | |
3078 | (GOTaddr2picreg): Use it. | |
3079 | * config/sh/sh.c (broken_move): Match it. | |
3080 | (mova_p): Don't match it. | |
3081 | (machine_dependent_reorg): Adjust it. | |
3082 | ||
3083 | Thu Nov 23 02:09:09 2000 Alexandre Oliva <aoliva@redhat.com> | |
3084 | ||
3085 | * config/sh/sh.h (FIRST_GENERAL_REG, LAST_GENERAL_REG): New. | |
3086 | Moved most register-number #defines... | |
3087 | * config/sh/sh.md (define_constants): ... here. Use macros to | |
3088 | refer to registers and unspecs. | |
3089 | * config/sh/sh.c: Likewise. | |
3090 | ||
3091 | Thu Nov 23 01:01:32 2000 J"orn Rennecke <amylaar@redhat.com> | |
3092 | ||
3093 | * Makefile.in (HOST_CFLAGS): Add -DGENERATOR_FILE. | |
3094 | (rtl.o, print-rtl.o, bitmap.o, obstack.o): Build with -DGENERATOR_FILE. | |
3095 | (alloca.o, vfprintf.o, ggc-none.o, errors.o): Likewise. | |
3096 | (splay-tree.o, hash.o): Likewise. | |
3097 | GCONFIG_H: New. | |
3098 | (rtl.o, print-rtl.o): Depend on $(GCONFIG_H) instead of $(CONFIG_H). | |
3099 | (bitmap.o, obstack.o, vfprintf.o, ggc-none.o, errors.o): Likewise. | |
3100 | (hashtab.o): Likewise. | |
3101 | (gcov.o): Depend on $(CONFIG_H). | |
3102 | * configure.in: #include insn-codes.h in tm.h. | |
3103 | ||
3104 | 2000-11-22 Nick Clifton <nickc@redhat.com> | |
3105 | ||
3106 | * config/arm/arm.c (arm_encode_call_attribute): Make 'newstr' a | |
3107 | const char * to avoid a compile time warning. | |
3108 | ||
3109 | * config/arm/arm.md (define_constants): Define symbolic names for | |
3110 | the link register, last integer register and the fake CC register. | |
3111 | Update patterns to use these symbolic names. | |
3112 | ||
3113 | 2000-11-22 Neil Booth <neilb@earthling.net> | |
3114 | ||
3115 | * cpplex.c (trigraph_ok): Ensure we don't warn twice. | |
3116 | * cpplib.h (struct cpp_buffer): New member last_Wtrigraphs. | |
3117 | ||
3118 | 2000-11-22 Richard Henderson <rth@redhat.com> | |
3119 | ||
3120 | * haifa-sched.c (sched_analyze_1): Don't special-case calls | |
3121 | for clobbering registers. | |
3122 | (sched_analyze_2): Likewise. | |
3123 | (sched_analyze): Zap reg_last_uses and reg_last_sets after calls. | |
3124 | ||
3125 | 2000-11-22 Chris Demetriou <cgd@sibyte.com> | |
3126 | Neil Booth <neilb@earthling.net> | |
3127 | ||
3128 | * gcc.c (validate_switches): Validate multiple switches named | |
3129 | in '|' (or) expressions in specs. | |
3130 | (handle_braces): If more than 1 alternative in a '|' spec | |
3131 | matches, call do_spec1 just once. | |
3132 | ||
3133 | 2000-11-22 Michael Meissner <meissner@redhat.com> | |
3134 | ||
3135 | * d30v.h (TARGET_SWITCHES): Add documentation strings. | |
3136 | (TARGET_OPTIONS): Ditto. | |
3137 | (OPTIMIZATION_OPTIONS): Temporarily turn off -frename-registers if | |
3138 | -O3. | |
3139 | ||
3140 | Wed Nov 22 06:40:56 2000 Jeffrey A Law (law@cygnus.com) | |
3141 | ||
3142 | * pa.c (hppa_encode_label): Account for addition of encoding | |
3143 | character when allocating persistent space for the new label | |
3144 | name. | |
3145 | ||
3146 | 2000-11-22 Zack Weinberg <zack@wolery.stanford.edu> | |
3147 | ||
3148 | * Makefile.in, config.gcc, configure.in: Expunge remaining | |
3149 | traces of facility for running MD files through C preprocessor. | |
3150 | ||
3151 | 2000-11-22 Joseph S. Myers <jsm28@cam.ac.uk> | |
3152 | ||
3153 | * gcov.texi: Add magic comments for texi2pod.pl. | |
3154 | * Makefile.in: Add rules to generate and install gcov.1. | |
3155 | * gcov.1: New (generated) file. | |
3156 | ||
3157 | 2000-11-21 Richard Henderson <rth@redhat.com> | |
3158 | ||
3159 | * regrename.c (scan_rtx_reg): Terminate the chain rather than | |
3160 | abort on mark_read with NO_REGS. | |
3161 | ||
3162 | 2000-11-21 Mike Stump <mrs@wrs.com> | |
3163 | ||
3164 | * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Fix to allow | |
3165 | compilation with older compilers, such as /bin/cc on SunOS. | |
3166 | * fixinc/fixfixes.c (FIX_PROC_HEAD): Ditto. | |
3167 | ||
3168 | 2000-11-21 Richard Henderson <rth@redhat.com> | |
3169 | ||
3170 | * varasm.c (record_constant): Pad the constructed | |
3171 | constant_descriptor appropriately. | |
3172 | ||
3173 | Wed Nov 22 00:52:55 2000 J"orn Rennecke <amylaar@redhat.com> | |
3174 | ||
3175 | * rtl.h (traverse_md_constants): Declare. | |
3176 | (struct md_constant): Define. | |
3177 | * Makefile.in (HOST_RTL): Add hashtab.o . | |
3178 | (OBJS): Add hashtab.o . | |
3179 | (hashtab.o): New rule. | |
3180 | (rtl.o): Depends on HASHTAB_H. | |
3181 | * rtl.c (hashtab.h): #include. | |
3182 | (md_constants): New static variable. | |
3183 | (def_hash, def_name_eq_p, read_constants): New static functions. | |
3184 | (traverse_md_constants): New function. | |
3185 | (read_name): Do constant expansion. | |
3186 | (read_rtx): Recognize define_constants. | |
3187 | * gencodes.c (print_md_constant): New function. | |
3188 | (main): Emit #defines for all constant definitions encountered. | |
3189 | * md.texi (Constant Definitions): New node. | |
3190 | * gensupport.c (xcalloc): New function. | |
3191 | ||
3192 | 2000-11-21 Richard Henderson <rth@redhat.com> | |
3193 | ||
3194 | * config/alpha/alpha.c (alpha_split_tfmode_frobsign): New. | |
3195 | * config/alpha/alpha-protos.h: Declare it. | |
3196 | * config/alpha/alpha.md (abstf_internal): Use it. | |
3197 | (negtf_internal): Likewise. | |
3198 | (andnotdi3): Unstar the name. | |
3199 | (movtf_internal): Add o/G alternative. | |
3200 | ||
3201 | 2000-11-21 Zack Weinberg <zack@wolery.stanford.edu> | |
3202 | ||
3203 | * stringpool.c (stringpool_statistics): Also report number and | |
3204 | percentage of entries which are identifiers. | |
3205 | ||
3206 | 2000-11-21 Diego Novillo <dnovillo@redhat.com> | |
3207 | ||
3208 | * gcse.c (hoist_expr_reaches_here_p): Do not mark expr_bb as | |
3209 | visited before visiting it. | |
3210 | ||
3211 | 2000-11-21 Nick Clifton <nickc@redhat.com> | |
3212 | ||
3213 | * config/arm/arm.h: Accept TARGET_CPU_arm9tdmi, | |
3214 | TARGET_CPU_strongarm110 and TARGET_SPU_strongarm1100. | |
3215 | ||
3216 | * config.gcc: Accept --with-cpu=arm9 and --with-cpu=arm9tdmi. | |
3217 | ||
3218 | 2000-11-21 Richard Henderson <rth@redhat.com> | |
3219 | ||
3220 | * c-common.c (c_unsafe_for_reeval): New function. | |
3221 | (add_c_tree_codes): Register it. | |
3222 | * c-common.h: Declare it. | |
3223 | * tree.c (lang_unsafe_for_reeval): New hook. | |
3224 | (unsafe_for_reeval): Call it. | |
3225 | * tree.h: Declare it. | |
3226 | ||
3227 | 2000-11-21 Richard Henderson <rth@redhat.com> | |
3228 | ||
3229 | * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify @GOT | |
3230 | references as well. | |
3231 | ||
3232 | 2000-11-21 Neil Booth <neilb@earthling.net> | |
3233 | ||
3234 | * do_includes: Revert to using cpp_read_file. | |
3235 | ||
3236 | 2000-11-21 Bernd Schmidt <bernds@redhat.co.uk> | |
3237 | ||
3238 | * loop.c (consec_sets_giv): If the reg we're examining is anything | |
3239 | but UNKNOWN_INDUCT, do nothing. | |
3240 | Reset the reg's type to UNKNOWN_INDUCT before returning. | |
3241 | ||
3242 | Mostly from Vladimir Makarov (vmakarov@redhat.com) | |
3243 | * ia64.md (attr itanium_class): Define insn types as described in | |
3244 | Itanium docs. | |
3245 | (all insn patterns): Use itanium_class, not type attributes. | |
3246 | Occasionally split alternatives as necessary. | |
3247 | (attr type): Compute from new attr itanium_class. | |
3248 | ||
3249 | 2000-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
3250 | ||
3251 | * tradcpp.c (output_line_command): Mark system headers as such in | |
3252 | `line' commands. | |
3253 | ||
3254 | 2000-11-21 Jakub Jelinek <jakub@redhat.com> | |
3255 | ||
3256 | * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): SPARC has .file/.loc | |
3257 | support in as as well. | |
3258 | * configure: Regenerate. | |
3259 | ||
3260 | 2000-11-20 Richard Henderson <rth@redhat.com> | |
3261 | ||
3262 | * c-lex.c (orig_filename): New variable. | |
3263 | (init_c_lex): Set it. Move call to cpp_start_read ... | |
3264 | (yyparse): ... here. New function. | |
3265 | * c-parse.in (yyparse_1): Rename the parser entry point. | |
3266 | * c-tree.h: Declare it. | |
3267 | ||
3268 | 2000-11-21 Jakub Jelinek <jakub@redhat.com> | |
3269 | ||
3270 | * expr.c (do_compare_and_jump): If op0 was replaced by promoted | |
3271 | integer constant, use type of op1 for comparison. | |
3272 | ||
3273 | 2000-11-20 Stan Shebs <shebs@apple.com> | |
3274 | ||
3275 | * config/rs6000/xm-darwin.h: New file, Darwin host definitions. | |
3276 | * config/rs6000/x-darwin: New file, Darwin host fragment. | |
3277 | * config.gcc (powerpc-*-darwin*): New host. | |
3278 | * system.h (HAVE_DESIGNATED_INITIALIZERS): Allow this to be | |
3279 | overridden by a config file. | |
3280 | ||
3281 | 2000-11-20 Neil Booth <neilb@earthling.net> | |
3282 | ||
3283 | * cppmacro.c (paste_tokens): Rename from paste_payloads. | |
3284 | Change token type after pasting spellings. | |
3285 | (paste_all_tokens): Use it. | |
3286 | * gcc.dg/cpp/paste2.c: Update test. | |
3287 | * objc/execute/paste.m: New test. | |
3288 | ||
3289 | 2000-11-20 Richard Henderson <rth@redhat.com> | |
3290 | ||
3291 | * dwarf.h (FMT_CODE): Adjust argument order; fix mapping to | |
3292 | dwarf_subscr_data_formats bits. | |
3293 | * dwarfout.c (simple_type_size_in_bits): Handle a type with | |
3294 | no computed size as size zero. | |
3295 | (field_byte_offset): Likewise. | |
3296 | (subscript_data_attribute): Handle a range with no upper bound. | |
3297 | ||
3298 | 2000-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
3299 | ||
3300 | * gansidecl.h (const): Check __STDC__ before undef'ing `const'. | |
3301 | ||
3302 | 2000-11-20 Joseph S. Myers <jsm28@cam.ac.uk> | |
3303 | ||
3304 | * c-typeck.c (build_conditional_expr): When merging type | |
3305 | qualifiers for conditional expressions between a pointer and a | |
3306 | pointer to a void type, merge the qualifiers on the target types | |
3307 | rather than the pointer type. Remove obsolete conditioned out | |
3308 | code. | |
3309 | ||
3310 | 2000-11-20 Neil Booth <neilb@earthling.net> | |
3311 | ||
3312 | * c-lang.c (lang_init_options): Update call to | |
3313 | cpp_reader_init. | |
3314 | * cppmain.c (main): Similarly. | |
3315 | * fix-header.c (read_scan_file): Similarly. | |
3316 | * cp/lex.c (lang_init_options): Similarly. | |
3317 | * objc/objc-act.c (lang_init_options): Similarly. | |
3318 | * cppexp.c (parse_number): Only warn for unextended C89. | |
3319 | * cppinit.c (set_lang): New function. | |
3320 | (cpp_reader_init): Take a LANG argument and pass it to set_lang. | |
3321 | (COMMAND_LINE_OPTIONS): New option std=c++98. | |
3322 | (cpp_handle_option): Use set_lang. | |
3323 | * cpplex.c (_cpp_lex_token): Warn pedantically if not C99. | |
3324 | * cppib.h (enum_c_lang): New enumeration. Update comments. | |
3325 | ||
3326 | 2000-11-20 Will Cohen <wcohen@redhat.com> | |
3327 | ||
3328 | * calls.c (expand_call): Clear target only when target is in | |
3329 | hard register and current_function_check_memory_usage is set. | |
3330 | ||
3331 | 2000-11-20 Bernd Schmidt <bernds@redhat.co.uk> | |
3332 | ||
3333 | * toplev.c (rest_of_compilation): Run optimize_mode_switching even | |
3334 | if not optimizing. | |
3335 | * sh.c (emit_sf_insn, emit_df_insn): Just call emit_insn. | |
3336 | ||
3337 | 2000-11-19 Richard Henderson <rth@redhat.com> | |
3338 | ||
3339 | * crtstuff.c (force_to_data): Use array size 1 not 0. | |
3340 | ||
3341 | * dwarf2out.c (simple_type_size_in_bits): Handle a type with | |
3342 | no computed size as size zero. | |
3343 | (field_byte_offset): Likewise. | |
3344 | ||
3345 | 2000-11-20 Joseph S. Myers <jsm28@cam.ac.uk> | |
3346 | ||
3347 | * config.gcc: Fix another typo. | |
3348 | ||
3349 | 2000-11-19 Richard Henderson <rth@redhat.com> | |
3350 | ||
3351 | * c-decl.c (grokdeclarator): Support flexible array members. | |
3352 | Use open-ended ranges for these and zero-length arrays. | |
3353 | * c-typeck.c (push_init_level): Validate the context of | |
3354 | initialization of a zero-length array. | |
3355 | * tree.c (int_fits_type_p): Be prepared for missing bounds. | |
3356 | * varasm.c (array_size_for_constructor): New. | |
3357 | (output_constructor): Use it for arrays of unspecified length. | |
3358 | * extend.texi (Zero Length): Mention C99 flexible array members. | |
3359 | Document initialization in a top-level struct as valid. | |
3360 | ||
3361 | 2000-11-19 Joseph S. Myers <jsm28@cam.ac.uk> | |
3362 | ||
3363 | * config.gcc, invoke.texi: Fix errors in spelling of "deprecated". | |
3364 | ||
3365 | * alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in | |
3366 | stdarg and varargs functions. | |
3367 | ||
3368 | 2000-11-19 Zack Weinberg <zack@wolery.stanford.edu> | |
3369 | ||
3370 | * gcc.c (process_command): Define 'j' variable when | |
3371 | MODIFY_TARGET_NAME is defined. | |
3372 | ||
3373 | 2000-11-19 Richard Henderson <rth@redhat.com> | |
3374 | ||
3375 | * stor-layout.c (variable_size): Only put SAVE_EXPRs on pending_sizes. | |
3376 | ||
3377 | 2000-11-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | |
3378 | ||
3379 | * rs6000/rs6000.c (rs6000_encode_section_info): Fix string length | |
3380 | calculation and allocation. | |
3381 | ||
3382 | 2000-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
3383 | ||
3384 | * builtins.c (c_getstr): Constify variable. | |
3385 | * gmon-sol2.c (_mcleanup): Comment out #endif labels. | |
3386 | * conflict.c (const_conflict_graph_arc): New typedef. | |
3387 | (arc_hash, arc_eq): Avoid needlessly casting away const-ness. | |
3388 | * cppmacro.c (builtin_macro): Likewise. | |
3389 | * dwarf2out.c (output_comp_unit): Constify variable. | |
3390 | * fix-header.c (v_fatal): Add ATTRIBUTE_PRINTF. | |
3391 | * protoize.c (IS_SAME_PATH_CHAR): Use TOUPPER, not toupper. | |
3392 | * ssa.c (ssa_rename_from_hash_function): Avoid needlessly casting | |
3393 | away const-ness. | |
3394 | * tradcpp.c (rescan, do_line, macroexpand, macarg): Use | |
3395 | ISALNUM/ISDIGIT/ISPRINT, not isalnum/isdigit/isprint. | |
3396 | * varasm.c (const_str_htab_hash, const_str_htab_eq, | |
3397 | compare_constant_1, record_constant_1): Constify. | |
3398 | ||
3399 | 2000-11-18 Richard Henderson <rth@redhat.com> | |
3400 | ||
3401 | * c-decl.c (grokdeclarator): Special case the creation of an | |
3402 | index for a zero-length array. | |
3403 | * tree.c (build_index_type): Revert Oct 20 change. | |
3404 | ||
3405 | 2000-11-18 Marek Michalkiewicz <marekm@linux.org.pl> | |
3406 | ||
3407 | * config/avr/avr-protos.h (avr_output_addr_vec_elt): Prototype. | |
3408 | * config/avr/avr.c (jump_tables_size): New variable. | |
3409 | (function_prologue): Initialize it as 0. | |
3410 | (function_epilogue): Add it to function_size. | |
3411 | (avr_output_addr_vec_elt): New function. Count words in jump | |
3412 | tables in jump_tables_size. Move code ... | |
3413 | * config/avr/avr.h (ASM_OUTPUT_ADDR_VEC_ELT): ... from here. | |
3414 | Call avr_output_addr_vec_elt instead. | |
3415 | * config/avr/avr.md (tablejump): Remove disabled define_expand. | |
3416 | ||
3417 | 2000-11-18 Mark Mitchell <mark@codesourcery.com> | |
3418 | ||
3419 | * configure.in: Make --enable-new-gxx-abi the default. | |
3420 | * configure: Likewise. | |
3421 | ||
3422 | 2000-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
3423 | ||
3424 | * Makefile.in (tradcpp.o, tradcif.o): Depend on tradcpp.h. | |
3425 | ||
3426 | * tradcif.y: Include tradcpp.h. Constify. Make functions static. | |
3427 | Move extern function declarations to tradcpp.h. | |
3428 | ||
3429 | * tradcpp.c: Likewise. | |
3430 | ||
3431 | * tradcpp.h: New file. | |
3432 | ||
3433 | 2000-11-18 Joseph S. Myers <jsm28@cam.ac.uk> | |
3434 | ||
3435 | * c-decl.c (check_for_loop_decls): New function. | |
3436 | * c-parse.in (for_init_stmt): New. | |
3437 | (select_or_iter_stmt): Use for_init_stmt. | |
3438 | * c-tree.h (check_for_loop_decls): New declaration. | |
3439 | ||
3440 | 2000-11-18 Neil Booth <neilb@earthling.net> | |
3441 | ||
3442 | * cppinit.c: Update comments. | |
3443 | (cpp_reader_init): Make -imacro and -include use the standard | |
3444 | #include "" search path. | |
3445 | (do_includes): New function. | |
3446 | ||
3447 | 2000-11-18 Ben Elliston <bje@redhat.com> | |
3448 | ||
3449 | * config/sh/crt1.asm (start_l): Move PC-relative move instruction | |
3450 | out of a branch delay slot. | |
3451 | ||
3452 | 2000-11-17 Richard Henderson <rth@redhat.com> | |
3453 | ||
3454 | * config/alpha/elf.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG. | |
3455 | (ASM_SPEC): Disable and enable .mdebug based on -gstabs. | |
3456 | (ASM_FILE_START): Only write out ecoff .file directive if | |
3457 | emitting mdebug debugging. | |
3458 | ||
3459 | 2000-11-17 Richard Henderson <rth@redhat.com> | |
3460 | ||
3461 | * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): New. Detect | |
3462 | whether as accepts .file/.loc and produces dwarf2 line info. | |
3463 | * dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Default on if | |
3464 | the assembler supports it. | |
3465 | * config.in, configure: Regenerate. | |
3466 | ||
3467 | 2000-11-17 Richard Henderson <rth@redhat.com> | |
3468 | ||
3469 | * fixinc/mkfixinc.sh: Don't disable fixincludes for any linux*. | |
3470 | ||
3471 | 2000-11-17 Jim Wilson <wilson@redhat.com> | |
3472 | ||
3473 | * config/ia64/ia64.c (emit_insn_group_barriers, case CALL_INSN): | |
3474 | Don't clear need_barrier is next_insn is a CALL_INSN, or has | |
3475 | instruction type B or UNKNOWN. | |
3476 | ||
3477 | 2000-11-17 Neil Booth <neilb@earthling.net> | |
3478 | ||
3479 | * cpperror.c (print_file_and_line): Don't display line number if 0. | |
3480 | ||
3481 | 2000-11-17 Zack Weinberg <zack@wolery.stanford.edu> | |
3482 | ||
3483 | * ggc.h: Delete ggc_add_string_root and ggc_mark_string. Add | |
3484 | digit_vector and digit_string. | |
3485 | * stringpool.c (digit_vector): New. | |
3486 | (ggc_alloc_string): Use digit_string. | |
3487 | ||
3488 | * stmt.c (digit_strings): Delete. | |
3489 | (init_stmt): Do not initialize digit_strings. | |
3490 | (expand_asm_operands): Use ggc.h's digit_string macro. | |
3491 | * toplev.c (mark_file_stack): Delete. | |
3492 | (compile_file): Don't call init_tree_codes. | |
3493 | (main): No need to make the file stack a GC root. | |
3494 | * tree.c (init_tree_codes): Delete. | |
3495 | * tree.h (init_tree_codes): Delete. | |
3496 | ||
3497 | * c-lex.c: Don't include ggc.h. | |
3498 | (mark_splay_tree_node, mark_splay_tree): Delete. | |
3499 | (init_c_lex): No need to ggc_strdup string constant. Don't add | |
3500 | file_info_tree to GGC roots. | |
3501 | (cb_enter_file, cb_rename_file): No need to ggc_strdup | |
3502 | ip->nominal_fname. | |
3503 | ||
3504 | * Makefile.in (c-lex.o): No longer depends on $(GGC_H). | |
3505 | ||
3506 | * dbxout.c (dbxout_init), | |
3507 | dwarf2out.c (dwarf2out_line), | |
3508 | ggc-common.c (ggc_mark_rtx_children, ggc_mark_trees), | |
3509 | varasm.c (mark_const_hash_entry, mark_pool_constant, init_varasm_once), | |
3510 | xcoffout.c (xcoffout_source_file), | |
3511 | i386.c (load_pic_register): | |
3512 | Delete call(s) to ggc_add_string_root and/or ggc_mark_string. | |
3513 | ||
3514 | * except.c (create_rethrow_ref), | |
3515 | profile.c (init_edge_profiler), | |
3516 | toplev.c (compile_file), | |
3517 | varasm.c (named_section, assemble_static_space, | |
3518 | assemble_trampoline_template, output_constant_def, force_const_mem), | |
3519 | i386.c (load_pic_register), | |
3520 | ia64.c (ia64_encode_section_info), | |
3521 | rs6000.c (rs6000_emit_load_toc_table, create_TOC_reference, | |
3522 | rs6000_emit_prologue, rs6000_emit_epilogue), | |
3523 | rs6000.md (load_toc_aix_si, load_toc_aix_di): | |
3524 | Change ggc_alloc_string (var, -1) to ggc_strdup (var). | |
3525 | ||
3526 | * profile.c (output_func_start_profiler), | |
3527 | tree.c (make_node), | |
3528 | i386.c (load_pic_register): No need to ggc_strdup string constant. | |
3529 | ||
3530 | 2000-11-17 Hans-Peter Nilsson <hp@axis.com> | |
3531 | ||
3532 | * Makefile.in (config.status): Depend on config.gcc. | |
3533 | * configure.in <for machine in $build $host $target>: Move | |
3534 | contents of loop into config.gcc, removing autoconf quoting. | |
3535 | Fix changequote bug for alpha*-*-vxworks*. | |
3536 | * configure: Regenerate. | |
3537 | * config.gcc: New. | |
3538 | ||
3539 | 2000-11-16 Zack Weinberg <zack@wolery.stanford.edu> | |
3540 | ||
3541 | * c-parse.in (if_prefix): Find the filename and line number at | |
3542 | $-2 and $-1 respectively. | |
3543 | * diagnostic.c (error_recursion): Add missing newline, use | |
3544 | fputs, translate string. | |
3545 | ||
3546 | 2000-11-16 Zack Weinberg <zack@wolery.stanford.edu> | |
3547 | ||
3548 | * stringpool.c: New file. | |
3549 | * ggc-common.c (ggc_mark_string_ptr, ggc_add_string_root): Delete. | |
3550 | (ggc_alloc_string): Now in stringpool.o. | |
3551 | * ggc-page.c, ggc-simple.c: Do not define or allocate empty_string. | |
3552 | * ggc.h: Delete prototype of ggc_add_string_root. #define | |
3553 | ggc_add_string_root and ggc_mark_string to nothing. Prototype | |
3554 | init_stringpool and stringpool_statistics. | |
3555 | (ggc_alloc_string): Returns a const char *. | |
3556 | * tree.c (hash_table, do_identifier_warnings): Delete. | |
3557 | (init_obstacks): Don't initialize the identifier hash table. | |
3558 | (get_identifier, maybe_get_identifier, start_identifier_warnings, | |
3559 | set_identifier_size): Now in stringpool.c. | |
3560 | * tree.h (struct tree_string): Constify pointer field. | |
3561 | (approx_sqrt): Prototype. | |
3562 | ||
3563 | * Makefile.in (stringpool.o): Add rule, mention in OBJS. | |
3564 | ||
3565 | * toplev.c (approx_sqrt): New function. | |
3566 | (compile_file): Call stringpool_statistics if mem_report is on. | |
3567 | (main): Call init_stringpool. | |
3568 | ||
3569 | * builtins.c (c_strlen), c-decl.c (finish_decl), c-lex.c | |
3570 | (process_directive), c-typeck.c (constructor_asmspec, struct | |
3571 | initializer_stack, start_init), except.c (create_rethrow_ref), | |
3572 | stmt.c (digit_strings), toplev.c (decode_f_option), tree.c | |
3573 | (built_in_filename), varasm,c (in_named_name, | |
3574 | assemble_static_space, struct constant_descriptor, struct | |
3575 | deferred_string, struct pool_constant, force_const_mem), | |
3576 | i386.c (pic_label_name, global_offset_table_name), rs6000.c | |
3577 | (rs6000_emit_prologue, rs6000_emit_epilogue) : Constify a char *. | |
3578 | ||
3579 | * c-common.c (combine_strings): Combine strings in scratch | |
3580 | buffer, then pass to build_string. | |
3581 | * optabs.c (init_libfuncs), profile.c (init_edge_profiler, | |
3582 | output_func_start_profiler), stmt.c (init_stmt), alpha.c | |
3583 | (alpha_need_linkage), arm.c (arm_encode_call_attribute), | |
3584 | i386.c (load_pic_register), ia64.c (ia64_encode_section_info), | |
3585 | rs6000.c (rs6000_encode_section_info): Create string in | |
3586 | scratch buffer, then pass to ggc_alloc_string. | |
3587 | ||
3588 | * stmt.c (expand_asm_operands): If we must adjust the | |
3589 | constraint strings, do so by creating a new one, not by | |
3590 | modifying the old one in place. Constify some char *s. | |
3591 | * config/pa/pa.c (hppa_encode_label): Drop unnecessary second | |
3592 | argument. Create string in scratch buffer, then pass to | |
3593 | ggc_alloc_string. | |
3594 | * config/pa/pa-protos.h: Update prototype. | |
3595 | * config/pa/elf.h, config/pa/pa.h, config/pa/som.h: | |
3596 | hppa_encode_label takes only one argument. | |
3597 | ||
3598 | 2000-11-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
3599 | ||
3600 | * mcore.c (mcore_expand_prolog): Call xmalloc/xrealloc, not | |
3601 | malloc/realloc. | |
3602 | ||
3603 | * cpplib.c (glue_header_name): Likewise. | |
3604 | ||
3605 | * fixincl.c (run_compiles, start_fixer): Likewise. | |
3606 | ||
3607 | * fixlib.c (load_file_data): Likewise. | |
3608 | ||
3609 | * mkdeps.c (munge): Likewise. | |
3610 | ||
3611 | 2000-11-17 Hans-Peter Nilsson <hp@axis.com> | |
3612 | ||
3613 | * defaults.h [EH_FRAME_SECTION_ASM_OP] (EH_FRAME_SECTION): Remove | |
3614 | trailing ';'. Fix formatting. | |
3615 | ||
3616 | 2000-11-16 Jim Wilson <wilson@redhat.com> | |
3617 | ||
3618 | * config/ia64/ia64.h (MASK_INLINE_DIV_LAT, MASK_INLINE_DIV_THR): | |
3619 | Shift masks left by one to avoid conflict. | |
3620 | ||
3621 | * config/ia64/ia64.c (ia64_encode_section_info): Disallow decls with | |
3622 | DECL_EXTERNAL set. | |
3623 | ||
3624 | 2000-11-16 Nick Clifton <nickc@redhat.com> | |
3625 | ||
3626 | * config/arm/arm.c (output_arm_prologue): Note nested functions. | |
3627 | (arm_expand_prologue): For nested functions preserve the | |
3628 | static chain register during stack frame creation. | |
3629 | ||
3630 | * config/arm/arm.h (STATIC_CHAIN_REGNUM): Change to 12. | |
3631 | (ARM_INITIAL_FRAME_ELIMINATION_OFFSET): For a nested function | |
3632 | with a stack frame there is a 4 byte gap between the arg | |
3633 | pointer and the hard frame pointer (used to preserve the | |
3634 | static chain register during stack frame creation). | |
3635 | ||
3636 | 2000-11-16 DJ Delorie <dj@redhat.com> | |
3637 | ||
3638 | * rtl.c (read_rtx): Provide suitable names for unnamed | |
3639 | define_insn and define_insn_and_split patterns, based on file | |
3640 | and line numbers. | |
3641 | ||
3642 | 2000-11-15 Neil Booth <neilb@earthling.net> | |
3643 | ||
3644 | * cpplib.c (start_directive, end_directive): New functions. | |
3645 | (_cpp_handle_directive, run_directive): Use them. | |
3646 | (_cpp_handle_directive): Don't -Wtraditional on indented | |
3647 | null directives. | |
3648 | (_cpp_push_buffer): Don't re-clear was_skipping. | |
3649 | * cpplib.h (struct cpp_reader): New member la_saved. | |
3650 | * cppmacro.c (cpp_get_token): Don't interpret _Pragma in | |
3651 | directives. | |
3652 | ||
3653 | gcc.dg/cpp/_Pragma1.c: Update. | |
3654 | gcc.dg/cpp/_Pragma2.c: New test. | |
3655 | ||
3656 | 2000-11-15 Mark Mitchell <mark@codesourcery.com> | |
3657 | ||
3658 | * toplev.c (wrapup_global_declarations): Don't write out | |
3659 | artificial static variables that aren't needed. | |
3660 | ||
3661 | 2000-11-15 Bernd Schmidt <bernds@redhat.co.uk> | |
3662 | ||
3663 | * ia64.c (struct group): New structure. | |
3664 | (last_group): New static array. | |
3665 | (group_idx): New static variable. | |
3666 | (emit_group_barrier_after, errata_find_address_regs, errata_emit_nops): | |
3667 | New static functions. | |
3668 | (emit_insn_group_barriers): Initialize and keep track of group_idx | |
3669 | and last_group. | |
3670 | Call errata_emit_nops if TARGET_B_STEP or TARGET_A_STEP. | |
3671 | Replace all calls to emit_insn_after that emit a group barrier to use | |
3672 | emit_group_barrier_after. | |
3673 | * ia64.h (MASK_B_STEP): New. | |
3674 | (other MASK_XXX macros): Renumbered. | |
3675 | (TARGET_B_STEP): New. | |
3676 | (TARGET_SWITCHES): Add -mb-step. | |
3677 | ||
3678 | 2000-11-15 Fred Fish <fnf@be.com> | |
3679 | ||
3680 | * fixinc/mkfixinc.sh (fixincludes): Add *-*-beos* to list of | |
3681 | machines for which fixincludes is not needed. | |
3682 | * config/i386/x-beos (STMP_FIXPROTO): Don't run fixproto. | |
3683 | ||
3684 | 2000-11-15 Jason Merrill <jason@redhat.com> | |
3685 | ||
3686 | * diagnostic.c (finish_abort): New fn. | |
3687 | (fancy_abort, error_recursion): Use it. | |
3688 | * toplev.c (crash_signal): Likewise. | |
3689 | * diagnostic.h: Declare it. | |
3690 | ||
3691 | 2000-11-13 Andrew Haley <aph@redhat.com> | |
3692 | ||
3693 | * tree.c (build_type_no_quals): New function. | |
3694 | * tree.h (build_type_no_quals): Declare. | |
3695 | * c-common.c (c_get_alias_set): When considering type | |
3696 | compatibility for pointer types, ignore cv-qualifiers anywhere in | |
3697 | a pointer chain. | |
3698 | ||
3699 | 2000-11-15 Graham Stott <grahams@redhat.com> | |
3700 | ||
3701 | * regrename.c (scan_rtx_rtx): Skip to the next chain on | |
3702 | encountering a terminated chain. | |
3703 | ||
3704 | 2000-11-14 Mark Mitchell <mark@codesourcery.com> | |
3705 | ||
3706 | * configure.in: Move check for V3 above check for C++ header-file | |
3707 | directory. | |
3708 | * configure: Regenerated. | |
3709 | ||
3710 | 2000-11-14 DJ Delorie <dj@redhat.com> | |
3711 | ||
3712 | * config/v850/v850.c: Remove obstacks. | |
3713 | ||
3714 | Tue Nov 14 21:54:31 2000 Marek Michalkiewicz <marekm@linux.org.pl> & Denis Chertykov <denisc@overta.ru> | |
3715 | ||
3716 | * config/avr/avr.c (avr_case_values_threshold): New. | |
3717 | (avr_override_options): Set it depending on options, make it large | |
3718 | when not optimizing to work around "unable to generate reloads". | |
3719 | ||
3720 | * config/avr/avr.h (TARGET_SWITCHES): Add -mno-tablejump option. | |
3721 | (EXTRA_SECTION_FUNCTIONS): Make the .progmem.gcc_sw_table section | |
3722 | executable if not AVR_MEGA. Make sure jump tables are word-aligned. | |
3723 | (JUMP_TABLES_IN_TEXT_SECTION): Define as 0, not 1. | |
3724 | (ASM_OUTPUT_ADDR_VEC_ELT): Optimize, use "rjmp" if not AVR_MEGA. | |
3725 | (avr_case_values_threshold): Declare as extern int. | |
3726 | (CASE_VALUES_THRESHOLD): Define as avr_case_values_threshold. | |
3727 | ||
3728 | * config/avr/avr.md (tablejump): Removed. | |
3729 | (*tablejump_rjmp): New for jump tables made from "rjmp" instructions. | |
3730 | (*tablejump_lib, *tablejump_enh, *tablejump): Change to expect the | |
3731 | index in the table, not multiplied by 2. | |
3732 | (casesi): Change to match the above insns. Always enable. | |
3733 | ||
3734 | * config/avr/libgcc.S (__tablejump__): Rename to __tablejump2__. | |
3735 | Change to expect the word address of the table, multiply it by 2 | |
3736 | here and not in the caller. Change "adiw" to faster "inc". | |
3737 | ||
3738 | 2000-11-14 Neil Booth <neilb@earthling.net> | |
3739 | ||
3740 | * cppexp.c (parse_defined): Call cpp_get_token not | |
3741 | _cpp_get_token. | |
3742 | (lex): Similarly. | |
3743 | * cpplex.c (cpp_output_line): Similarly. | |
3744 | * cpplib.c (glue_header_name, do_line, do_ident, | |
3745 | parse_answer, parse_assertion): Similarly. | |
3746 | (_cpp_handle_diretive): Don't save to lookaheads | |
3747 | when processing directives. | |
3748 | * cppmacro.c (parse_arg, expand_arg): Call cpp_get_token not | |
3749 | _cpp_get_token. | |
3750 | (funlike_invocation_p): Don't save to lookaheads | |
3751 | when pre-expanding arguments. | |
3752 | (_cpp_get_token): Delete. | |
3753 | (cpp_get_token): Merge contents of _cpp_get_token. | |
3754 | ||
3755 | 2000-11-14 Jakub Jelinek <jakub@redhat.com> | |
3756 | ||
3757 | * builtins.c (expand_builtin_setjmp): Set | |
3758 | current_function_calls_setjmp. | |
3759 | (expand_builtin_longjmp): Set current_function_calls_longjmp. | |
3760 | ||
3761 | * config/sparc/sparc.md (builtin_setjmp_setup): New expand. | |
3762 | (do_builtin_setjmp_setup): New insn. | |
3763 | ||
3764 | Tue Nov 14 12:34:56 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
3765 | ||
3766 | * tree.c (get_unwidened): Use host_integerp and tree_low_cst. | |
3767 | (int_fits_type_p): For variable bounds, call force_fit_type. | |
3768 | ||
3769 | 2000-11-14 Jakub Jelinek <jakub@redhat.com> | |
3770 | ||
3771 | * varasm.c (struct deferred_string): New structure. | |
3772 | (const_str_htab): New variable. | |
3773 | (STRHASH): New macro. | |
3774 | (mark_const_str_htab_1, mark_const_str_htab, const_str_htab_hash, | |
3775 | constr_str_htab_eq, const_str_htab_del): New functions. | |
3776 | (output_constant_def): Add DEFER argument, defer string | |
3777 | constants until mark_constant_pool time if requested. | |
3778 | (mark_constant_pool): Walk the insn chain even if const_str_htab is | |
3779 | not empty. | |
3780 | (mark_constants): If a SYMBOL_REF for deferred string is found, | |
3781 | output it and remove from hash table. | |
3782 | (output_addressed_constants): Set DEFER to 0 in call to | |
3783 | output_constant_def. | |
3784 | * rtl.h (STRING_POOL_ADDRESS_P): Define. | |
3785 | (output_constant_def): Adjust prototype. | |
3786 | * expr.c (expand_expr): Set DEFER to 1 in call to output_constant_def. | |
3787 | ||
3788 | 2000-11-14 Chandrakala Chavva <cchavva@redhat.com> | |
3789 | ||
3790 | * optabs.c (expand_complex_ab):: Use overflow-trapping optabs for | |
3791 | signed types if flag_trapv. | |
3792 | ||
3793 | 2000-11-14 Zack Weinberg <zack@wolery.stanford.edu> | |
3794 | ||
3795 | * tradcpp.c, tradcif.y: Update FSF mailing address, delete | |
3796 | reference to GPLv1. | |
3797 | ||
3798 | 2000-11-14 Joseph S. Myers <jsm28@cam.ac.uk> | |
3799 | ||
3800 | * c-common.h (CTI_C_SIZE_TYPE): Update comment. | |
3801 | ||
3802 | 2000-11-14 Jakub Jelinek <jakub@redhat.com> | |
3803 | ||
3804 | * varasm.c (struct varasm_status): Change x_const_rtx_sym_hash_table | |
3805 | to array of pool_constnat pointers. | |
3806 | (struct pool_constant): Add next_sym and label members. | |
3807 | (struct pool_sym): Remove. | |
3808 | (init_varasm_status): Change pool_sym into pool_constant. | |
3809 | (mark_pool_constant): Mark pc->label string as well. | |
3810 | (mark_pool_sym_hash_table): Remove. | |
3811 | (mark_varasm_status): Remove it from caller as well. | |
3812 | (free_varasm_status): Don't free pool_sym structures. | |
3813 | (force_const_mem): Don't allocate pool_sym structure, instead | |
3814 | fill pool->label and chain it into rtx_sym hash table. | |
3815 | (find_pool_constant, mark_constant_pool): Use pool_constant instead | |
3816 | of pool_sym. | |
3817 | ||
3818 | 2000-11-14 Jakub Jelinek <jakub@redhat.com> | |
3819 | ||
3820 | * reload1.c (emit_input_reload_insns): Honor forcing of constants | |
3821 | into memory by PREFERRED_RELOAD_CLASS NO_REGS. | |
3822 | ||
3823 | 2000-11-14 Michael Matz <matzmich@cs.tu-berlin.de> | |
3824 | ||
3825 | * dominance.c: New file. | |
3826 | * Makefile.in (OBJS): Add dominance.o. | |
3827 | ||
3828 | * flow.c (compute_flow_dominators): Remove. | |
3829 | (compute_immediate_dominators): Remove. | |
3830 | (compute_immediate_postdominators): Remove. | |
3831 | * basic-block.h: Remove their prototypes. | |
3832 | (calculate_dominance_info): Add prototype. | |
3833 | ||
3834 | * dce.c (eliminate_dead_code): Change calls to above functions. | |
3835 | Don't compute dominators but only immediate dominators. | |
3836 | * flow.c (flow_loops_find): Change callers. | |
3837 | * gcse.c (compute_code_hoist_data): Likewise. | |
3838 | * haifa-sched.c (schedule_insns): Likewise. | |
3839 | * ifcvt.c (if_convert): Likewise. | |
3840 | * ssa.c (convert_to_ssa): Likewise, and only compute immediate | |
3841 | dominators. | |
3842 | ||
3843 | 2000-11-14 Richard Henderson <rth@redhat.com> | |
3844 | ||
3845 | * stmt.c (warn_if_unused_value): Don't warn if the expression | |
3846 | has side effects. | |
3847 | ||
3848 | * c-typeck.c (c_sizeof): Fold result to c_size_type_node. | |
3849 | (c_sizeof_nowarn, c_alignof, c_alignof_expr): Likewise. | |
3850 | ||
3851 | 2000-11-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | |
3852 | ||
3853 | * loop.c (basic_induction_var): Revert accidental checkin. | |
3854 | ||
3855 | 2000-11-13 Hans-Peter Nilsson <hp@axis.com> | |
3856 | ||
3857 | * c-lex.c (cb_leave_file): Harmonize conditions and order of | |
3858 | statements to those of process_directive for (action == act_pop). | |
3859 | ||
3860 | * collect2.c (main): Pass on -B options from COLLECT_GCC_OPTIONS. | |
3861 | ||
3862 | * local-alloc.c (equiv_init_movable_p): References to CC0 are not | |
3863 | movable. | |
3864 | ||
3865 | 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk> | |
3866 | ||
3867 | * c-parse.in (stmts_and_decls): Deprecate use of label at end of | |
3868 | compound statement. | |
3869 | ||
3870 | 2000-11-13 Neil Booth <neilb@earthling.net> | |
3871 | ||
3872 | * cpplex.c (_cpp_lex_token): CPP_COMMENT and true CPP_EOF | |
3873 | cases return without MI check. | |
3874 | * cpplib.c (do_diagnostic): Take boolean of whether to | |
3875 | print the directive name. | |
3876 | (do_error, do_warning): Update. | |
3877 | (do_pragma_dependency): Use it. | |
3878 | * cpplib.h (VARARGS_FIRST): Delete. | |
3879 | (struct cpp_token): Delete integer. | |
3880 | * cppmacro.c (enter_macro_context): Move disabled check | |
3881 | to _cpp_get_token. | |
3882 | (_cpp_get_token): Simplify into a single loop. | |
3883 | ||
3884 | 2000-11-13 Richard Earnshaw <rearnsha@arm.com> | |
3885 | ||
3886 | * configure.in: Use 'test -f' not '[ -e'. | |
3887 | * configure: Regenerated. | |
3888 | ||
3889 | 2000-11-13 DJ Delorie <dj@redhat.com> | |
3890 | ||
3891 | * config/mn10300/mn10300.md (store_movm): Note which registers are | |
3892 | really used or clobbered. | |
3893 | ||
3894 | 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk> | |
3895 | ||
3896 | * c-parse.in (ends_in_label): Remove from %union and %type. | |
3897 | (decls, stmts, lineno_stmt_or_labels, xstmts, | |
3898 | lineno_stmt_or_label, stmt_or_label): Remove. | |
3899 | (stmts_and_decls, lineno_stmt_decl_or_labels_ending_stmt, | |
3900 | lineno_stmt_decl_or_labels_ending_decl, | |
3901 | lineno_stmt_decl_or_labels_ending_label, | |
3902 | lineno_stmt_decl_or_labels_ending_error, | |
3903 | lineno_stmt_decl_or_labels, compstmt_contents_nonempty, | |
3904 | lineno_stmt, lineno_label): New. | |
3905 | (compstmt_nostart): Use compstmt_contents_nonempty. | |
3906 | ||
3907 | 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk> | |
3908 | ||
3909 | * c-common.c (boolean_increment): New function. | |
3910 | * c-common.h (enum c_tree_index): Add CTI_C_BOOL_TYPE, | |
3911 | CTI_C_BOOL_TRUE and CTI_C_BOOL_FALSE. | |
3912 | (c_bool_type_node, c_bool_true_node, c_bool_false_node): Define. | |
3913 | (boolean_increment): Declare. | |
3914 | * c-convert.c (convert): Allow for BOOLEAN_TYPE. | |
3915 | * c-decl.c (init_decl_processing): Create boolean nodes. | |
3916 | (finish_struct): Allow for _Bool bitfields. | |
3917 | * c-parse.in (reswords): Add _Bool. | |
3918 | (rid_to_yy): Allow for RID_BOOL. | |
3919 | * c-typeck.c (default_conversion): Make booleans promote to int. | |
3920 | (convert_arguments, build_unary_op, build_modify_expr, | |
3921 | convert_for_assignment): Allow for booleans. | |
3922 | * ginclude/stdbool.h: Make conforming to C99. | |
3923 | ||
3924 | 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk> | |
3925 | ||
3926 | * c-parse.in (c99_block_start, c99_block_end, | |
3927 | c99_block_lineno_labeled_stmt): New. | |
3928 | (simple_if, do_stmt_start): Use c99_block_lineno_labeled_stmt. | |
3929 | (stmt): Split off selection and iteration statements into... | |
3930 | (select_or_iter_stmt): New. Use c99_block_lineno_labeled_stmt. | |
3931 | ||
3932 | 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk> | |
3933 | ||
3934 | * invoke.texi (-Wtrigraphs, -fdump-translation-unit, -save-temps, | |
3935 | -time): Update. | |
3936 | ||
3937 | 2000-11-13 Richard Earnshaw <rearnsha@arm.com> | |
3938 | ||
3939 | * arm.md (mulsidi3adddi, umulsidi3adddi): Revert previous change. | |
3940 | Rewrite to avoid use of match_dup. Don't try to tie registers that | |
3941 | are not in the same mode. | |
3942 | ||
3943 | 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk> | |
3944 | ||
3945 | * invoke.texi: Update lists of languages and suffixes supported. | |
3946 | ||
3947 | 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk> | |
3948 | ||
3949 | * configure.in: Take toplevel configure arguments from the | |
3950 | environment to create configargs.h and substitute | |
3951 | gcc_config_arguments, taking account of any existing configargs.h | |
3952 | if reconfiguring. | |
3953 | * configure: Regenerate. | |
3954 | * gccbug.in: Include toplevel configure arguments in gccbug. | |
3955 | ||
3956 | 2000-11-13 Richard Earnshaw <rearnsha@arm.com> | |
3957 | ||
3958 | * varasm.c (struct constant_descriptor): Put CONTENTS inside a | |
3959 | union to make it well-aligned. Update all uses. | |
3960 | ||
3961 | 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk> | |
3962 | ||
3963 | * c-parse.in (initelt): Give appropriate pedantic warnings, | |
3964 | depending on flag_isoc99, for non-ISO syntax and for C99 syntax | |
3965 | outside C99 mode. | |
3966 | (designator): If pedantic, pedwarn for a designator specifying a | |
3967 | range of elements. | |
3968 | * c-typeck.c (set_init_index, set_init_label): Don't pedwarn for | |
3969 | these cases. | |
3970 | * extend.texi: Document the C99 syntax as the preferred syntax, | |
3971 | and the pre-2.5 syntax as obsolete. Mention use of designator | |
3972 | lists for nested subobjects. | |
3973 | ||
3974 | 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk> | |
3975 | ||
3976 | * diagnostic.c (vbuild_message_string, output_do_printf, vnotice): | |
3977 | Add ATTRIBUTE_PRINTF. | |
3978 | * tradcpp.c (v_message, warning, error, fatal, error_with_line): | |
3979 | Add ATTRIBUTE_PRINTF*. | |
3980 | ||
3981 | 2000-11-12 Mark Mitchell <mark@codesourcery.com> | |
3982 | ||
3983 | * function.c (assign_parms): When calling put_var_into_stack, make | |
3984 | sure that there are no hidden pending sequences. | |
3985 | ||
3986 | 2000-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
3987 | ||
3988 | * builtins.c (expand_builtin): Handle BUILT_IN_INDEX and | |
3989 | BUILT_IN_RINDEX. Add missing checks for BUILT_IN_STRCHR and | |
3990 | BUILT_IN_STRRCHR. | |
3991 | ||
3992 | * builtins.def (BUILT_IN_INDEX, BUILT_IN_RINDEX): New entries. | |
3993 | ||
3994 | * c-common.c (c_common_nodes_and_builtins): Declare index and | |
3995 | rindex when nonansi builtins are allowed. | |
3996 | ||
3997 | * extend.texi (index, rindex): Document new builtins. | |
3998 | ||
3999 | 2000-11-12 Mark Mitchell <mark@codesourcery.com> | |
4000 | ||
4001 | * configure.in: Turn on libstdc++ V3 by default. | |
4002 | * configure: Regenerated. | |
4003 | ||
4004 | * fixinc/mkfixinc.sh: Use the ordinary fixincludes on Solaris. | |
4005 | ||
4006 | 2000-11-12 Jakub Jelinek <jakub@redhat.com> | |
4007 | ||
4008 | * reload1.c (set_label_offsets): Go inside of PARALLELs. | |
4009 | ||
4010 | 2000-11-12 Joseph S. Myers <jsm28@cam.ac.uk> | |
4011 | ||
4012 | * invoke.texi: Clean up option summary. | |
4013 | ||
4014 | 2000-11-12 Nick Clifton <nickc@redhat.com> | |
4015 | ||
4016 | * config/mcore/mcore.c: Fix comment formating, and adjust sequence | |
4017 | of #include headers. | |
4018 | ||
4019 | 2000-11-12 Marc Espie <espie@openbsd.org> | |
4020 | ||
4021 | * configure.in: Fix filds test. | |
4022 | * configure: Regen. | |
4023 | ||
4024 | 2000-11-12 Mark Mitchell <mark@codesourcery.com> | |
4025 | ||
4026 | * jump.c (delete_computation): Don't assume that just because an | |
4027 | instruction sets a register, that register is dead. | |
4028 | ||
4029 | 2000-11-12 Neil Booth <neilb@earthling.net> | |
4030 | ||
4031 | * cppexp.c: Don't worry about pfile->skipping. | |
4032 | * cpplib.c (struct if_stack): Make was_skipping unsigned char. | |
4033 | (cpp_handle_directive): Save pfile->skipping in struct cpp_buffer | |
4034 | for handled directives. | |
4035 | (skip_rest_of_line): Use _cpp_lex_token after popping contexts | |
4036 | and releasing lookaheads. | |
4037 | (do_ifdef, do_ifndef, do_if): Use buffer->was_skipping. | |
4038 | (do_else, do_elif, push_conditional): Update logic. | |
4039 | (do_endif): Set buffer->was_skipping rather than pfile->skipping. | |
4040 | (unwind_if_stack): Inline into cpp_pop_buffer. | |
4041 | (cpp_push_buffer): Clear ifs->was_skipping for cpp_handle_directive. | |
4042 | * cpplex.c (_cpp_lex_token): Clear skipping on EOF. Handle | |
4043 | multiple-include optimisation. | |
4044 | * cpplib.h (struct cpp_buffer): New member was_skipping. | |
4045 | * cppmacro.c (_cpp_get_token): Loop whilst pfile->skipping. This | |
4046 | works because skipping == 0 in directives. | |
4047 | (_cpp_release_lookahead): Renamed from release_lookahead. | |
4048 | (cpp_get_token): No need to check skipping as _cpp_get_token does | |
4049 | this for us. No need to handle MI optimisation. | |
4050 | ||
4051 | Sat Nov 11 21:14:02 2000 Mark P Mitchell <mark@codesourcery.com> | |
4052 | ||
4053 | * fixinc/inclhack.def (sunos_matherr_decl): Bypass matherr | |
4054 | declarations that use `__MATH_EXCEPTION' in their prototypes, too. | |
4055 | * fixinc/fixincl.x: Regenerated. | |
4056 | ||
4057 | 2000-11-11 Bruce Korb <bkorb@gnu.org> | |
4058 | ||
4059 | * fixinc/inclhack.def (avoid_bool_type): avoid commenting out #endif | |
4060 | (avoid_wchar_t_type): ditto | |
4061 | * fixinc/fixinc.irix: obsoleted | |
4062 | ||
4063 | 2000-11-11 Zack Weinberg <zack@wolery.stanford.edu> | |
4064 | ||
4065 | * configure.in: Don't add $outputs to all_lang_makefiles. Add | |
4066 | $srcdir/$s/Makefile.in if it exists. | |
4067 | * configure: Regenerate. | |
4068 | ||
4069 | Sat Nov 11 18:41:20 2000 Mark P Mitchell <mark@codesourcery.com> | |
4070 | ||
4071 | * fixinc/mkfixinc.sh: Use the ordinary fixincludes on IRIX. | |
4072 | ||
4073 | 2000-11-11 Jason Merrill <jason@redhat.com> | |
4074 | ||
4075 | * function.c (assign_parms): If TREE_ADDRESSABLE is set, try to | |
4076 | give the parm a register and then call put_var_into_stack. | |
4077 | * stmt.c (expand_decl): Likewise. | |
4078 | ||
4079 | 2000-11-11 Joseph S. Myers <jsm28@cam.ac.uk> | |
4080 | ||
4081 | * gcc.texi: Adjust wording. | |
4082 | ||
4083 | 2000-11-11 Mark Mitchell <mark@codesourcery.com> | |
4084 | ||
4085 | * fixinc/inclhack.def (avoid_wchar_t_type): New fix. | |
4086 | * fininc/fixincl.x: Regenerated. | |
4087 | ||
4088 | 2000-11-11 Joseph S. Myers <jsm28@cam.ac.uk> | |
4089 | ||
4090 | * invoke.texi: Correct spelling of -foptimize-register-move. | |
4091 | ||
4092 | 2000-11-11 Neil Booth <neilb@earthling.net> | |
4093 | ||
4094 | Remove CPP_PLACEMARKERs. | |
4095 | ||
4096 | * cppexp.c (lex): Don't handle CPP_PLACEMARKER. | |
4097 | * cpplex.c (_cpp_lex_token): Rename skip_newlines to next_bol | |
4098 | * cpplib.c (skip_rest_of_line, check_eol, cpp_push_buffer): | |
4099 | Similarly. | |
4100 | * cpplib.h: Remove CPP_PLACEMARKER. | |
4101 | (struct lexer_state): Rename skip_newlines to next_bol. | |
4102 | * cppmacro.c (stringify_arg): Don't handle CPP_PLACEMARKER. | |
4103 | Simplify prev_white handling as a result. | |
4104 | (paste_all_tokens): Don't worry about CPP_PLACEMARKERs. | |
4105 | (parse_arg): Empty arguments are now empty, not CPP_PLACEMARKERs. | |
4106 | (parse_args): Similarly. Update argument count tests. | |
4107 | (enter_macro_context): Return 2 to indicate an empty macro. | |
4108 | (replace_args): Don't bother pre-expanding an empty argument. | |
4109 | Handle placemarkers and ## extension during pre-expansion. | |
4110 | (cpp_get_token): Handle empty macro expansions. Don't worry | |
4111 | about CPP_PLACEMARKERs. | |
4112 | (_cpp_create_definition): Empty macros are now empty. | |
4113 | (cpp_macro_definition): Don't special case empty macros. | |
4114 | * scan-decls.c: Don't bother with CPP_PLACEMARKERs. | |
4115 | * c-lex.c: Similarly. | |
4116 | ||
4117 | 2000-11-11 Joseph S. Myers <jsm28@cam.ac.uk> | |
4118 | ||
4119 | * gcc.texi, invoke.texi: Add new section discussing language | |
4120 | standards; link to it where appropriate; refer to ISO C instead of | |
4121 | ANSI C. | |
4122 | ||
4123 | 2000-11-11 Alexandre Oliva <aoliva@redhat.com> | |
4124 | ||
4125 | * builtins.c (std_expand_builtin_va_start): Take PARM_BOUNDARY | |
4126 | into account. | |
4127 | ||
4128 | * config/sh/sh.h (MODES_TIEABLE_P): Don't tie SFmode to other FP | |
4129 | modes. | |
4130 | ||
4131 | 2000-11-10 Joseph S. Myers <jsm28@cam.ac.uk> | |
4132 | ||
4133 | * gcc.texi, gcov.texi: Update dates and version numbers. | |
4134 | ||
4135 | 2000-11-10 Zack Weinberg <zack@wolery.stanford.edu> | |
4136 | ||
4137 | * configure.in: Remove AC_PROG_LEX and AC_PROG_YACC. Look for | |
4138 | flex and bison, specifically, first in a unified build and | |
4139 | then installed on the system. | |
4140 | * Makefile.in: Set BISON to @BISON@, FLEX to @FLEX@. Rename | |
4141 | LEXFLAGS to FLEXFLAGS. Adjust ORDINARY_FLAGS_TO_PASS to | |
4142 | match. | |
4143 | ||
4144 | (collect2.o, gcc.o, prefix.o, toplev.o, alloca.o, intl.o, | |
4145 | cppdefault.o): Remove pointless sed munging of source file | |
4146 | name. | |
4147 | ||
4148 | 2000-11-10 Bernd Schmidt <bernds@redhat.co.uk> | |
4149 | ||
4150 | * reload.c (find_reloads_address_1, case POST_MODIFY): Use RELOAD_OTHER | |
4151 | for address reloads. Push replacements for REG_INC notes. | |
4152 | (regno_clobbered_p): New arg SETS. Examine SETs if it's nonzero. All | |
4153 | callers changed. | |
4154 | * reload1.c (choose_reload_regs): Registers set in the insn can't be | |
4155 | used for RELOAD_OTHER reloads. | |
4156 | ||
4157 | 2000-11-10 Mark Mitchell <mark@codesourcery.com> | |
4158 | ||
4159 | * c-dump.h: New file. | |
4160 | ||
4161 | 2000-11-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
4162 | ||
4163 | * alpha.c (check_float_value): Use memcpy, not bcopy. | |
4164 | * arm.c (output_move_double): Likewise. | |
4165 | * arm.md: Likewise. | |
4166 | * m88k.c (legitimize_operand): Likewise. | |
4167 | * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise. | |
4168 | * m88k.md: Likewise. | |
4169 | * mips.c (override_options): Likewise. | |
4170 | * mips.md: Likewise. | |
4171 | * romp.c (output_fpops): Likewise. | |
4172 | * rs6000.c (rs6000_override_options): Likewise. | |
4173 | * sh.md: Likewise. | |
4174 | * vax.c (check_float_value): Likewise. | |
4175 | ||
4176 | * emit-rtl.c (copy_rtx_if_shared, init_emit_once): Likewise. | |
4177 | * expmed.c (synth_mult): Likewise. | |
4178 | * final.c (add_bb_string): Likewise. | |
4179 | * genattr.c (main): Likewise. | |
4180 | * genattrtab.c (attr_string, simplify_cond, copy_rtx_unchanging): | |
4181 | Likewise. | |
4182 | * jump.c (thread_jumps): Likewise. | |
4183 | * prefix.c (save_string): Likewise. | |
4184 | * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Likewise. | |
4185 | * regclass.c (init_reg_sets, init_reg_sets_1): Likewise. | |
4186 | * reload1.c (reload, eliminate_regs): Likewise. | |
4187 | ||
4188 | 2000-11-10 Joseph S. Myers <jsm28@cam.ac.uk> | |
4189 | ||
4190 | * gcc.texi (Service): Update to reflect current practice and | |
4191 | location of the GNU service directory. | |
4192 | ||
4193 | 2000-11-09 Bernd Schmidt <bernds@redhat.co.uk> | |
4194 | ||
4195 | * regrename.c (build_def_use): Mark contents of REG_INC notes as | |
4196 | needing replacement. | |
4197 | ||
4198 | * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Emit | |
4199 | a no-op move if regs are equal. | |
4200 | * toplev.c (rest_of_compilation): Do the noop moves elimination pass | |
4201 | when calling jump after post-reload splitting. | |
4202 | ||
4203 | 2000-11-09 Jan van Male <jan.vanmale@fenk.wau.nl> | |
4204 | ||
4205 | * c-tree.texi: Fix typos. | |
4206 | * extend.texi: Likewise | |
4207 | * gcov.texi: Likewise | |
4208 | * rtl.texi: Likewise | |
4209 | * tm.texi: Likewise | |
4210 | ||
4211 | 2000-11-09 Hans-Peter Nilsson <hp@axis.com> | |
4212 | ||
4213 | * c-lex.c [! NO_IMPLICIT_EXTERN_C] (cb_enter_file): Check | |
4214 | in_system_header and flags[1] before dereferencing flags[2]. | |
4215 | ||
4216 | 2000-11-09 Matthew Hiller <hiller@redhat.com> | |
4217 | ||
4218 | * reload1.c (reload_combine): Fixed calculation of | |
4219 | first_index_reg, last_index_reg. | |
4220 | ||
4221 | 2000-11-09 Mark Mitchell <mark@codesourcery.com> | |
4222 | ||
4223 | * c-dump.c (dequeue_and_dump): Dump function bodies. | |
4224 | ||
4225 | * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o. | |
4226 | (c-dump.o): New target. | |
4227 | * c-common.h (flag_dump_translation_unit): New variable. | |
4228 | (C_TYPE_QUALS): New macro. | |
4229 | (strip_array_types): New function. | |
4230 | (DECL_C_BIT_FIELD): New macro. | |
4231 | (SET_DECL_C_BIT_FIELD): Likewise. | |
4232 | (CLEAR_DECL_C_BIT_FIELD): Likewise. | |
4233 | (dump_info_p): New typedef. | |
4234 | (dump_tree_fn): Likewise. | |
4235 | (lang_dump_tree): New variable. | |
4236 | (dump_node_to_file): New function. | |
4237 | * c-common.c (flag_dump_translation_unit): Define it. | |
4238 | (strip_array_types): New function. | |
4239 | * c-decl.c (c_decode_option): Handle -fdump-translation-unit. | |
4240 | * c-lang.c (finish_file): Call dump_node_to_file if | |
4241 | flag_dump_translation_unit. | |
4242 | * c-semantics.c (mark_rtl_for_local_static): Fix typo in comment. | |
4243 | * c-tree.h (DECL_C_BIT_FIELD): Remove declaration. | |
4244 | * c-dump.c: New file. | |
4245 | ||
4246 | 2000-11-09 Christopher Faylor <cgf@cygnus.com> | |
4247 | ||
4248 | * config/i386/cygwin.h: Add mingw startfile prefix. | |
4249 | ||
4250 | 2000-11-09 Richard Henderson <rth@redhat.com> | |
4251 | ||
4252 | * flow.c (invalidate_mems_from_set): Split out from ... | |
4253 | (mark_set_1): ... here. | |
4254 | (try_pre_increment_1): Use it. Use propagate_block_delete_insn | |
4255 | instead of turning insn into a NOTE_INSN_DELETED. | |
4256 | ||
4257 | 2000-11-10 Joseph S. Myers <jsm28@cam.ac.uk> | |
4258 | ||
4259 | * extend.texi, invoke.texi: Move documentation of builtin versions | |
4260 | of C library functions to one place and update. | |
4261 | ||
4262 | 2000-11-09 Richard Henderson <rth@redhat.com> | |
4263 | ||
4264 | * fold-const.c (fold): Compare TYPE_MAIN_VARIANT rather than | |
4265 | the types themselves to discover type equivalence. | |
4266 | ||
4267 | 2000-11-09 Mike Stump <mrs@wrs.com> | |
4268 | ||
4269 | * Makefile.in (distclean): Remove a few extra leftovers. | |
4270 | ||
4271 | 2000-11-09 Richard Henderson <rth@redhat.com> | |
4272 | ||
4273 | * recog.c (validate_replace_rtx_1): Consider subregs when | |
4274 | replacing a register with a constant inside a sign/zero_extend. | |
4275 | ||
4276 | * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define. | |
4277 | ||
4278 | 2000-11-09 Geoffrey Keating <geoffk@redhat.com> | |
4279 | ||
4280 | * c-decl.c (finish_struct): When a structure is completed, | |
4281 | check all its variant types for completeness. | |
4282 | ||
4283 | 2000-11-09 Neil Booth <neilb@earthling.net> | |
4284 | ||
4285 | * cpphash.c: Move cpp_defined here from cpplib.c. | |
4286 | * cpplib.c: Update comments, move cpp_defined to cpphash.c. | |
4287 | * cpplex.c (_cpp_lex_token): Don't leave the lexer at EOL. | |
4288 | * cppmacro.c (cpp_get_token): Update comments, no need now | |
4289 | to catch the CPP_EOF meaning EOL case. | |
4290 | ||
4291 | 2000-11-08 Geoffrey Keating <geoffk@redhat.com> | |
4292 | ||
4293 | * config/sparc/sparc.c (sparc_va_arg): When the required alignment | |
4294 | is more than that provided, copy to a temporary. | |
4295 | ||
4296 | 2000-11-09 Alexandre Oliva <aoliva@redhat.com> | |
4297 | ||
4298 | * mklibgcc.in (EXTRA_MULTILIB_PARTS): Prevent `make' from | |
4299 | interpreting $out as a macro assignment. | |
4300 | * Makefile.in (T_TARGET): New auxiliary macro and target. | |
4301 | (all): Add a target right in the beginning, so that we don't build | |
4302 | T_TARGET by default. | |
4303 | ||
4304 | 2000-11-09 Graham Stott <grahams@redhat.com> | |
4305 | ||
4306 | * config/i386/i386.md (mmx_pinsrw): Output operands in correct | |
4307 | order for -mintel-syntax. Remove comment now that the operand | |
4308 | order has been checked. | |
4309 | (mmx_pextrw): Likewise. | |
4310 | (mmx_pshufw): Likewise. | |
4311 | ||
4312 | 2000-11-09 Jakub Jelinek <jakub@redhat.com> | |
4313 | ||
4314 | * builtins.c (c_strlen): Use TREE_STRING_LENGTH - 1 for max. | |
4315 | (c_getstr): New function. | |
4316 | (expand_builtin_strstr): Do nothing if -fcheck-memory-usage. | |
4317 | If both arguments are constant string, optimize out. | |
4318 | (expand_builtin_strchr, expand_builtin_strrchr): New functions. | |
4319 | (expand_builtin_strpbrk): Use c_getstr, do nothing if | |
4320 | -fcheck-memory-usage. | |
4321 | (expand_builtin_fputs): Likewise. | |
4322 | (expand_builtin_strcmp): Add MODE argument. | |
4323 | Use even if !HAVE_cmpstrsi. | |
4324 | Optimize the case when both arguments are constant strings. | |
4325 | (expand_builtin): Adjust expand_builtin_strcmp caller. | |
4326 | Call expand_builtin_strchr and expand_builtin_strrchr. | |
4327 | * c-common.c (c_common_nodes_and_builtins): Add strchr and strrchr | |
4328 | builtins. | |
4329 | * builtins.def (BUILT_IN_STRRCHR): Add. | |
4330 | ||
4331 | 2000-11-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> | |
4332 | ||
4333 | * fixinc/gnu-regex.c: Rename EGCS LOCAL markers to GCC LOCAL. | |
4334 | ||
4335 | 2000-11-09 Joseph S. Myers <jsm28@cam.ac.uk> | |
4336 | ||
4337 | * calls.c (expand_call, emit_library_call_value_1), collect2.c | |
4338 | (scan_prog_file), config/a29k/a29k.c (print_operand), | |
4339 | config/sparc/sparc.c (order_regs_for_local_alloc): Use memcpy () | |
4340 | instead of bcopy (). | |
4341 | * real.h: Use memcmp () instead of bcmp (). | |
4342 | * config/m88k/m88k.c (m88k_layout_frame), config/sh/sh.c | |
4343 | (split_branches), config/sparc/sparc.c (ultra_flush_pipeline, | |
4344 | ultrasparc_sched_init, ultrasparc_sched_reorder), | |
4345 | config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Use memset () | |
4346 | instead of bzero (). | |
4347 | * config/vax/xm-xms.h (FILE_NAME_NONDIRECTORY): Use strrchr () | |
4348 | instead of rindex (). | |
4349 | * configure.in: Don't check for bzero, bcmp, index or rindex. | |
4350 | * configure, config.in: Regenerate. | |
4351 | * system.h: Don't include declarations for bzero, bcmp, index or | |
4352 | rindex. | |
4353 | * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Don't define | |
4354 | bzero, bcmp, index or rindex. | |
4355 | ||
4356 | Wed Nov 8 21:58:20 2000 Christopher Faylor <cgf@cygnus.com> | |
4357 | ||
4358 | * config/i386/cygwin.h: Add -no-win32 switch. Separate -mno-cygwin | |
4359 | include and library paths from -mcygwin case. Parameterize some | |
4360 | declarations to avoid warnings. Use standard locations for include and | |
4361 | lib dirs. | |
4362 | ||
4363 | 2000-11-08 Nick Clifton <nickc@redhat.com> | |
4364 | ||
4365 | * config/arm/arm.md (mulsidi3adddi): Change output operand | |
4366 | constraint from "=&" to "+&". | |
4367 | (umulsidi3adddi): Change output operand constraint from "=&" to | |
4368 | "+&". | |
4369 | ||
4370 | 2000-11-08 Richard Henderson <rth@redhat.com> | |
4371 | ||
4372 | * flow.c (init_propagate_block_info): Protect the rtx stored in | |
4373 | mem_set_list from modification by find_auto_inc. | |
4374 | (mark_set_1): Likewise. | |
4375 | ||
4376 | 2000-11-08 Neil Booth <neilb@earthling.net> | |
4377 | ||
4378 | Move directive handling into the lexer itself. | |
4379 | ||
4380 | * cpplex.c (_cpp_lex_token): Handle directives directly. | |
4381 | In the case of a directive interrupting a function-like | |
4382 | macro invocation, use extra_char since read_ahead is | |
4383 | used to store the '#'. Return a CPP_EOF in this case. | |
4384 | * cppmacro.c (parse_arg): No need to handle CPP_DHASH any more. | |
4385 | (cpp_get_token): Don't handle directives here. | |
4386 | * cpplib.h: Remove CPP_DHASH token type. | |
4387 | ||
4388 | Wed Nov 8 21:53:41 MET 2000 Jan Hubicka <jh@suse.cz> | |
4389 | ||
4390 | * regmove.c (combine_stack_adjustments_for_blocks): Recognize pushes | |
4391 | formed using PRE_MODIFY too. | |
4392 | ||
4393 | 2000-11-08 Mark Mitchell <mark@codesourcery.com> | |
4394 | ||
4395 | * c-tree.texi (VAR_DECL): Describe representation of GCC's | |
4396 | extension for placing variables in particular registers. | |
4397 | ||
4398 | * c-tree.texi (FUNCTION_TYPE): Clarify TYPE_ARG_TYPES for | |
4399 | unprototyped C functions with no parameters. | |
4400 | ||
4401 | 2000-11-08 Jakub Jelinek <jakub@redhat.com> | |
4402 | ||
4403 | * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Cast DELTA to int | |
4404 | before passing to fprintf. | |
4405 | ||
4406 | 2000-11-08 Jakub Jelinek <jakub@redhat.com> | |
4407 | ||
4408 | * function.c (expand_function_start): Cast GET_MODE_SIZE to | |
4409 | HOST_WIDE_INT before negating it. | |
4410 | ||
4411 | 2000-11-08 Jakub Jelinek <jakub@redhat.com> | |
4412 | ||
4413 | * expr.c (expand_expr) [ADDR_EXPR]: Handle when op0 is RETURN_DECL | |
4414 | passed in multiple non-contiguous locations. | |
4415 | ||
4416 | 2000-11-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> | |
4417 | ||
4418 | * README.gnat: Remove file. | |
4419 | ||
4420 | 2000-11-08 Alexandre Oliva <aoliva@redhat.com> | |
4421 | ||
4422 | * mklibgcc.in (EXTRA_MULTILIB_PARTS): Generate multilib parts | |
4423 | in-place. | |
4424 | ||
4425 | 2000-11-07 Richard Henderson <rth@redhat.com> | |
4426 | ||
4427 | * dwarfout.c (INSN_LABEL_FMT): Remove. | |
4428 | (output_label_die): Use ASM_GENERATE_INTERNAL_LABEL. | |
4429 | (dwarfout_label): Remove. | |
4430 | * dwarfout.h: Remove it's prototype. | |
4431 | * dwarf2out.c (INSN_LABEL_FMT): Remove. | |
4432 | (gen_label_die): Use ASM_GENERATE_INTERNAL_LABEL. | |
4433 | (dwarf2out_label): Remove. | |
4434 | * dwarf2out.h: Remove it's prototype. | |
4435 | * final.c (final_scan_insn): Don't call dwarf[2]out_label. | |
4436 | ||
4437 | 2000-11-07 Richard Henderson <rth@redhat.com> | |
4438 | ||
4439 | * config/ia64/fde-glibc.c (find_fde_for_dso): Do a binary | |
4440 | search on the unwind region section. | |
4441 | ||
4442 | * config/ia64/ia64.md (movbi): Add r/r alternative. | |
4443 | (cmovdi_internal_astep): Describe all combinations of register | |
4444 | classes for sources & destinations; remove matching constraints. | |
4445 | (cmovdi_internal): Likewise. | |
4446 | ||
4447 | * gcc.c (default_compilers) [@cpp-output]: Add -fpreprocessed. | |
4448 | ||
4449 | 2000-11-07 Richard Henderson <rth@redhat.com> | |
4450 | ||
4451 | * c-lang.c (start_cdtor, finish_cdtor): New functions. | |
4452 | (finish_file): Use them in building constructor/destructor functions. | |
4453 | ||
4454 | * config/alpha/alpha.h (HAS_INIT_SECTION, LD_INIT_SWITCH, | |
4455 | LD_FINI_SWITCH): Move ... | |
4456 | * config/alpha/osf.h: ... here. | |
4457 | * config/alpha/alpha-interix.h: Don't undef them. | |
4458 | ||
4459 | 2000-11-07 Jeffrey Oldham <oldham@oz.codesourcery.com> | |
4460 | ||
4461 | * config/mips/t-iris6 (FPBIT): New. Added so that __unorddf2 is | |
4462 | included in libgcc.a. | |
4463 | (DPBIT): Likewise. | |
4464 | (dp-bit.c): Likewise. | |
4465 | (fp-bit.c): Likewise. | |
4466 | ||
4467 | 2000-11-07 Nick Clifton <nickc@redhat.com> | |
4468 | ||
4469 | * config/m88k/m88k.h (GLOBAL_ASM_OP): Add missing tab. | |
4470 | (INTERNAL_ASM_OP): Add missing tab. | |
4471 | ||
4472 | 2000-11-07 Joseph S. Myers <jsm28@cam.ac.uk> | |
4473 | ||
4474 | * alias.c (init_alias_analysis), calls.c (expand_call, | |
4475 | emit_library_call_value_1), combine.c (init_reg_last_arrays), | |
4476 | cse.c (new_basic_block), dbxout.c (dbxout_type), diagnostic.c | |
4477 | (init_output_buffer, set_diagnostic_context), dwarf2out.c | |
4478 | (equate_decl_number_to_die, build_abbrev_table), emit-rtl.c | |
4479 | (init_emit_once), fold-const.c (mul_double, div_and_round_double), | |
4480 | function.c (assign_parms), gcse.c (compute_can_copy, | |
4481 | alloc_gcse_mem, alloc_reg_set_mem, record_one_set, | |
4482 | compute_hash_table, compute_set_hash_table, | |
4483 | compute_expr_hash_table), genattrtab.c (optimize_attrs), global.c | |
4484 | (global_alloc, global_conflicts), haifa-sched.c (compute_trg_info, | |
4485 | clear_units, schedule_block), integrate.c (initialize_for_inline, | |
4486 | expand_inline_function), jump.c (thread_jumps), local-alloc.c | |
4487 | (local_alloc), loop.c (combine_movables, count_loop_regs_set, | |
4488 | load_mems_and_recount_loop_regs_set), print-tree.c (debug_tree), | |
4489 | regclass.c (init_reg_sets, init_reg_sets_1, regclass, | |
4490 | record_reg_classes, allocate_reg_info), reload.c | |
4491 | (get_secondary_mem, remove_address_replacements, find_reloads), | |
4492 | reload1.c (reload, set_initial_label_offsets, finish_spills, | |
4493 | reload_as_needed, choose_reload_regs_init, | |
4494 | reload_cse_simplify_operands), reorg.c (dbr_schedule), sbitmap.c | |
4495 | (sbitmap_zero), simplify-rtx.c (simplify_plus_minus), ssa.c | |
4496 | (rename_registers), stmt.c (expand_end_case), unroll.c | |
4497 | (unroll_loop), varray.c (varray_grow), objc/objc-act.c: Use memset | |
4498 | () instead of bzero (). | |
4499 | ||
4500 | 2000-11-07 Neil Booth <neilb@earthling.net> | |
4501 | ||
4502 | * cp/lang-specs.h: Fix -save-temps specs under USE_CPPLIB. | |
4503 | ||
4504 | 2000-11-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
4505 | ||
4506 | * c-common.c (combine_strings): Only warn about long strings for C. | |
4507 | ||
4508 | Tue Nov 7 19:44:30 2000 J"orn Rennecke <amylaar@redhat.com> | |
4509 | ||
4510 | * combine.c (distribute_notes): Fix typo in last change. | |
4511 | ||
4512 | 2000-11-07 Geoff Keating <geoffk@redhat.com> | |
4513 | ||
4514 | * config/rs6000/rs6000.md (movdi_internal32+1): Use | |
4515 | operand_subreg_force rather than gen_rtx_SUBREG. | |
4516 | (movdi_internal32+2): Likewise. | |
4517 | ||
4518 | 2000-11-07 Philip Blundell <philb@gnu.org> | |
4519 | ||
4520 | * configure.in (arm*-*-linuxaout*): Obsolete, deleted. | |
4521 | * config/arm/linux-aout.h: Likewise. | |
4522 | * configure: Regenerate. | |
4523 | ||
4524 | 2000-11-07 Philipp Thomas <pthomas@suse.de> | |
4525 | ||
4526 | * ABOUT-GCC-NLS: Remove the patch for gettext as it has been | |
4527 | accepted my the gettext maintainer. | |
4528 | ||
4529 | 2000-11-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
4530 | ||
4531 | * builtins.c (expand_builtin_strpbrk): New function. | |
4532 | (expand_builtin): Handle BUILT_IN_STRPBRK. | |
4533 | ||
4534 | * builtins.def (BUILT_IN_STRPBRK): New entry. | |
4535 | ||
4536 | * c-common.c (c_common_nodes_and_builtins): Declare builtin | |
4537 | strpbrk. | |
4538 | ||
4539 | 2000-11-07 David O'Brien <obrien@dragon.nuxi.com> | |
4540 | ||
4541 | * config/alpha/freebsd.h: New file -- FreeBSD/alpha architecture file. | |
4542 | * POTFILES.in: Add config/alpha/freebsd.h | |
4543 | * configure.in: Add alpha*-freebsd support. | |
4544 | * configure: Regenerate. | |
4545 | ||
4546 | 2000-11-07 Joseph S. Myers <jsm28@cam.ac.uk> | |
4547 | ||
4548 | * tree.c (build_common_tree_nodes_2): Make va_list_type_node be a | |
4549 | copy of ptr_type_node rather than ptr_type_node itself. | |
4550 | ||
4551 | Tue Nov 7 06:29:24 2000 J"orn Rennecke <amylaar@redhat.com> | |
4552 | ||
4553 | * combine.c (recog_for_combine): Allocate uninitialized vector with | |
4554 | rtvec_alloc. | |
4555 | * recog.c (apply_change_group): Likewise. | |
4556 | ||
4557 | Tue Nov 7 06:24:02 2000 J"orn Rennecke <amylaar@redhat.com> | |
4558 | ||
4559 | * flow.c (verify_local_live_at_start): Back out last change. | |
4560 | * combine.c (distribute_notes): When parts of a hard reg are | |
4561 | neither set nor referenced in PLACE, search backwards for a | |
4562 | place to put a REG_UNUSED note; if none found, ask for flow | |
4563 | info refresh. | |
4564 | ||
4565 | Mon Nov 6 20:08:13 2000 J"orn Rennecke <amylaar@redhat.com> | |
4566 | ||
4567 | * reload1.c (eliminate_regs_in_insn): Allow a set to be a PARALLEL | |
4568 | with (clobber (match_scratch...)). | |
4569 | ||
4570 | 2000-11-06 Neil Booth <neilb@earthling.net> | |
4571 | ||
4572 | * c-lex.c (init_c_lex): If cpp_start_read fails, exit with | |
4573 | error status. | |
4574 | ||
4575 | 2000-11-06 Neil Booth <neilb@earthling.net> | |
4576 | ||
4577 | * tradcpp.c (special_symbol): Assign an null string rather | |
4578 | than writing to an unallocated buffer. | |
4579 | ||
4580 | 2000-11-06 Neil Booth <neilb@earthling.net> | |
4581 | ||
4582 | * cpplex.c (_cpp_equiv_tokens): Check arg_no in the | |
4583 | CPP_MACRO_ARG case. | |
4584 | ||
4585 | 2000-11-06 Neil Booth <neilb@earthling.net> | |
4586 | ||
4587 | * c-lex.c (c_lex): Replace tok.val.aux with tok.val.c or | |
4588 | tok.val.arg_no as appropriate. | |
4589 | * cppexp.c (lex): Similarly. | |
4590 | * cpplex.c (_cpp_lex_token, cpp_spell_token, cpp_output_token, | |
4591 | cpp_equiv_tokens, cpp_can_paste, cpp_avoid_paste): Similarly. | |
4592 | * cppmacro.c (stringify_arg, replace_args, lex_expansion_token, | |
4593 | cpp_macro_definition): Similarly. | |
4594 | * cpplib.h (struct cpp_token): Replace aux with c and arg_no. | |
4595 | ||
4596 | 2000-11-06 Jakub Jelinek <jakub@redhat.com> | |
4597 | ||
4598 | * config/sparc/sparc.md (adddi3): If operands[2] is 4096 and | |
4599 | operands[1] is constant, calculate the sum and generate movdi. | |
4600 | (addsi3): Similarly. Use SImode in call to arith_4096_operand. | |
4601 | (subsi3): Use SImode in call to arith_4096_operand. | |
4602 | ||
4603 | 2000-11-06 Jakub Jelinek <jakub@redhat.com> | |
4604 | ||
4605 | * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): On sparc64 we need to | |
4606 | adjust %o1, not %o0 if the return type is large structure. | |
4607 | ||
4608 | 2000-11-06 Jakub Jelinek <jakub@redhat.com> | |
4609 | ||
4610 | * config/sparc/sparc.md (smulsi3_highpart_v8plus, ashldi3_v8plus+1, | |
4611 | update_return, flush, flushdi, ffssi2, ffsdi2): Fix output formatting. | |
4612 | ||
4613 | Sat Sep 23 19:10:20 2000 Denis Chertykov <denisc@overta.ru> & Marek Michalkiewicz <marekm@linux.org.pl> | |
4614 | ||
4615 | * expmed.c (expand_divmod): For signed divide by 2, prefer | |
4616 | a branch and fewer shifts if branches are very cheap. | |
4617 | ||
4618 | 2000-11-05 Joseph S. Myers <jsm28@cam.ac.uk> | |
4619 | ||
4620 | * Makefile.in: Remove all targets related to building | |
4621 | distributions and diffs, or INSTALL. | |
4622 | * INSTALL, install1.texi: Remove. | |
4623 | * configure.in: Remove mention of distdir. | |
4624 | * configure: Regenerate. | |
4625 | * objc/Make-lang.in: Remove mention of distdir. | |
4626 | ||
4627 | 2000-11-04 Neil Booth <neilb@earthling.net> | |
4628 | ||
4629 | * cpp.texi: Update for _Pragma. | |
4630 | ||
4631 | 2000-11-04 Joseph S. Myers <jsm28@cam.ac.uk> | |
4632 | ||
4633 | * gcc.texi (Contributing): Update URL for projects web page. | |
4634 | ||
4635 | 2000-11-04 Neil Booth <neilb@earthling.net> | |
4636 | ||
4637 | * cpplex.c (parse_string): Don't allow multiline strings in | |
4638 | #include family directives. | |
4639 | ||
4640 | 2000-11-04 Neil Booth <neilb@earthling.net> | |
4641 | ||
4642 | * cpplib.c (do_line): Only warn pedantically if not reading | |
4643 | preprocessed input. | |
4644 | ||
4645 | 2000-11-04 Alexandre Oliva <aoliva@redhat.com> | |
4646 | ||
4647 | * calls.c (emit_call_1) [sibcall_pop]: Use n_popped instead of | |
4648 | RETURN_POPS_ARGS(). | |
4649 | ||
4650 | 2000-11-03 Zack Weinberg <zack@wolery.stanford.edu> | |
4651 | ||
4652 | * builtins.c (expand_builtin_strlen): Remove unused mode | |
4653 | argument. | |
4654 | * gcc.c (process_command): Remove unused variable. | |
4655 | * fold-const.c: Include expr.h. | |
4656 | * recog.c: Include reload.h. | |
4657 | * Makefile.in (recog.o, fold-const.o): Update deps. | |
4658 | ||
4659 | 2000-11-02 Geoffrey Keating <geoffk@cygnus.com> | |
4660 | ||
4661 | * fixinc/gnu-regex.c: Change 'CYGNUS LOCAL' to 'EGCS LOCAL'. | |
4662 | ||
4663 | Fri Nov 3 13:41:04 2000 Mark P Mitchell <mark@codesourcery.com> | |
4664 | ||
4665 | * config/mips/iris6.h (SUBTARGET_CC1_SPEC): Remove -static | |
4666 | handling. | |
4667 | (STARTFILE_SPEC): Likewise. | |
4668 | (LINK_SPEC): Likewise. | |
4669 | ||
4670 | 2000-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
4671 | ||
4672 | * Makefile.in (fold-const.o): Depend on $(GGC_H), not ggc.h. | |
4673 | (toplev.o): Likewise for $(LOOP_H)/loop.h and $(REGS_H)/regs.h. | |
4674 | (simplify-rtx.o): Likewise for $(GGC_H)/ggc.h. | |
4675 | ||
4676 | 2000-11-03 Joseph S. Myers <jsm28@cam.ac.uk> | |
4677 | ||
4678 | * c-decl.c (duplicate_decls, copy_lang_decl), dwarfout.c | |
4679 | (dwarfout_line), gcc.c (main, save_string), tree.c (init_obstacks, | |
4680 | perm_calloc, get_identifier, maybe_get_identifier, | |
4681 | real_value_from_int_cst, simple_cst_equal), varasm.c | |
4682 | (assemble_name, assemble_real, immed_real_const_1, | |
4683 | compare_constant_1, decode_rtx_const, output_constant_pool): Use | |
4684 | strrchr () instead of rindex (). Use memcmp () instead of bcmp | |
4685 | (). Use memcpy () instead of bcopy (). Use memset () instead of | |
4686 | bzero (). | |
4687 | ||
4688 | 2000-11-03 Nathan Sidwell <nathan@codesourcery.com> | |
4689 | ||
4690 | * cppfiles.c (open_file): If already read, then don't reopen. | |
4691 | Immediately close an empty file. | |
4692 | ||
4693 | 2000-11-01 Bernd Schmidt <bernds@redhat.co.uk> | |
4694 | ||
4695 | * expr.h (fold_builtin): Move declaration... | |
4696 | * tree.h (fold_builtin): ... here. | |
4697 | ||
4698 | Fri Nov 3 05:41:07 2000 J"orn Rennecke <amylaar@redhat.com> | |
4699 | ||
4700 | * flow.c (verify_local_live_at_start): Allow hard regs to die. | |
4701 | ||
4702 | 2000-11-02 Neil Booth <neilb@earthling.net> | |
4703 | ||
4704 | config: | |
4705 | * a29k/a29k.h, a29k/unix.h, a29k/vx29k.h, | |
4706 | alpha/alpha-interix.h, alpha/alpha.h, alpha/linux.h, | |
4707 | alpha/openbsd.h, alpha/osf.h, alpha/vms.h, alpha/vxworks.h, | |
4708 | alpha/win-nt.h, arc/arc.h, arm/arm.h, arm/conix-elf.h, | |
4709 | arm/linux-aout.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h, | |
4710 | arm/riscix1-1.h, arm/semiaof.h, arm/unknown-elf-oabi.h, arm/vxarm.h, | |
4711 | c4x/rtems.h, clipper/clix.h, convex/convex.h, d30v/d30v.h, | |
4712 | elxsi/elxsi.h, fr30/fr30.h, h8300/h8300.h, i370/linux.h, i370/mvs.h, | |
4713 | i370/oe.h, i386/386bsd.h, i386/aix386ng.h, i386/beos-elf.h, | |
4714 | i386/bsd386.h, i386/crtdll.h, i386/cygwin.h, i386/dgux.h, | |
4715 | i386/djgpp-rtems.h, i386/djgpp.h, i386/freebsd-aout.h, i386/freebsd.h, | |
4716 | i386/gnu.h, i386/i386-interix.h, i386/i386.h, i386/linux-aout.h, | |
4717 | i386/linux-oldld.h, i386/linux.h, i386/lynx-ng.h, i386/lynx.h, | |
4718 | i386/mach.h, i386/mingw32.h, i386/moss.h, i386/netbsd.h, | |
4719 | i386/netware.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h, | |
4720 | i386/osfelf.h, i386/osfrose.h, i386/ptx4-i.h, i386/rtems.h, | |
4721 | i386/rtemself.h, i386/sco.h, i386/sco4.h, i386/sco4dbx.h, i386/sco5.h, | |
4722 | i386/scodbx.h, i386/sequent.h, i386/sol2.h, i386/sun.h, i386/sysv3.h, | |
4723 | i386/sysv4.h, i386/uwin.h, i386/vsta.h, i386/vxi386.h, i386/win-nt.h, | |
4724 | i386/win32.h, i860/fx2800.h, i860/i860.h, i860/mach.h, i860/sysv3.h, | |
4725 | i860/sysv4.h, i960/i960.h, i960/rtems.h, i960/vx960-coff.h, | |
4726 | ia64/ia64.h, ia64/linux.h, m32r/m32r.h, m68k/3b1.h, m68k/3b1g.h, | |
4727 | m68k/a-ux.h, m68k/altos3068.h, m68k/amix.h, m68k/apollo68.h, | |
4728 | m68k/crds.h, m68k/ctix.h, m68k/dpx2.h, m68k/hp2bsd.h, m68k/hp320.h, | |
4729 | m68k/hp3bsd.h, m68k/hp3bsd44.h, m68k/isi.h, m68k/linux-aout.h, | |
4730 | m68k/linux.h, m68k/lynx-ng.h, m68k/lynx.h, m68k/m68kemb.h, | |
4731 | m68k/m68kv4.h, m68k/mot3300.h, m68k/netbsd.h, m68k/news.h, | |
4732 | m68k/next.h, m68k/openbsd.h, m68k/pbb.h, m68k/plexus.h, m68k/rtems.h, | |
4733 | m68k/rtemself.h, m68k/sun2.h, m68k/sun3.h, m68k/sun3mach.h, | |
4734 | m68k/tower-as.h, m68k/tower.h, m68k/vxm68k.h, m88k/dgux.h, | |
4735 | m88k/dolph.h, m88k/luna.h, m88k/m88k-aout.h, m88k/m88k-coff.h, | |
4736 | m88k/openbsd.h, m88k/sysv3.h, m88k/sysv4.h, mips/bsd-4.h, | |
4737 | mips/bsd-5.h, mips/dec-bsd.h, mips/dec-osf1.h, mips/gnu.h, | |
4738 | mips/iris3.h, mips/iris5.h, mips/iris6.h, mips/linux.h, mips/mips.h, | |
4739 | mips/netbsd.h, mips/news4.h, mips/news5.h, mips/nws3250v4.h, | |
4740 | mips/openbsd.h, mips/osfrose.h, mips/rtems64.h, mips/sni-svr4.h, | |
4741 | mips/svr3-4.h, mips/svr3-5.h, mips/svr4-4.h, mips/svr4-5.h, | |
4742 | mips/ultrix.h, ns32k/encore.h, ns32k/merlin.h, ns32k/netbsd.h, | |
4743 | ns32k/ns32k.h, ns32k/pc532-mach.h, ns32k/pc532.h, ns32k/sequent.h, | |
4744 | ns32k/tek6000.h, ns32k/tek6100.h, ns32k/tek6200.h, pa/pa-hiux.h, | |
4745 | pa/pa-hpux.h, pa/pa-hpux7.h, pa/pa-linux.h, pa/pa-osf.h, | |
4746 | pa/pa-pro-end.h, pa/pa.h, pa/rtems.h, pj/linux.h, pj/pj.h, | |
4747 | romp/romp.h, rs6000/aix.h, rs6000/aix31.h, rs6000/aix41.h, | |
4748 | rs6000/aix43.h, rs6000/beos.h, rs6000/eabi.h, rs6000/eabisim.h, | |
4749 | rs6000/linux.h, rs6000/lynx.h, rs6000/mach.h, rs6000/rtems.h, | |
4750 | rs6000/sysv4.h, rs6000/vxppc.h, sh/elf.h, sh/linux.h, sh/rtems.h, | |
4751 | sh/rtemself.h, sh/sh.h, sparc/aout.h, sparc/elf.h, sparc/linux-aout.h, | |
4752 | sparc/linux.h, sparc/linux64.h, sparc/lite.h, sparc/litecoff.h, | |
4753 | sparc/liteelf.h, sparc/lynx-ng.h, sparc/lynx.h, sparc/netbsd.h, | |
4754 | sparc/openbsd.h, sparc/pbd.h, sparc/rtems.h, sparc/rtemself.h, | |
4755 | sparc/sol2-sld-64.h, sparc/sol2.h, sparc/sp64-aout.h, | |
4756 | sparc/sp64-elf.h, sparc/sp86x-aout.h, sparc/sp86x-elf.h, | |
4757 | sparc/sparc.h, sparc/sysv4.h, sparc/vxsim.h, sparc/vxsparc.h, | |
4758 | v850/rtems.h, vax/netbsd.h, vax/openbsd.h, vax/ultrix.h, vax/vax.h, | |
4759 | vax/vaxv.h, vax/vms.h, we32k/we32k.h | |
4760 | ||
4761 | Replace -A() with -A=, the new assertion syntax. | |
4762 | ||
4763 | Thu Nov 2 21:52:35 2000 J"orn Rennecke <amylaar@redhat.com> | |
4764 | ||
4765 | * combine.c (distribute_notes): Use rtx_equal_p to check elim_i2 / | |
4766 | elim_i1. | |
4767 | In REG_DEAD handling: When handling parts of multi-hard-reg hard | |
4768 | registers, increment the loop counter by the size of the parts; | |
4769 | use recursion to handle individual parts. | |
4770 | ||
4771 | 2000-11-02 Neil Booth <neilb@earthling.net> | |
4772 | ||
4773 | * configure.in: Make integrated CPP the default. | |
4774 | * configure: Regenerate. | |
4775 | ||
4776 | Thu Nov 2 19:20:12 2000 J"orn Rennecke <amylaar@redhat.com> | |
4777 | ||
4778 | * reload.c (find_equiv_reg): Test all hard registers for membership | |
4779 | in the requested class. | |
4780 | ||
4781 | 2000-11-02 Joseph S. Myers <jsm28@cam.ac.uk> | |
4782 | ||
4783 | * collect2.c (main, write_c_file_stat), gcc.c (translate_options, | |
4784 | process_command, main), gcov.c (open_files, output_data), tlink.c | |
4785 | (frob_extension, scan_linker_output), toplev.c | |
4786 | (file_name_nondirectory): Use strchr () and strrchr () instead of | |
4787 | index () and rindex (). | |
4788 | ||
4789 | 2000-11-02 Joseph S. Myers <jsm28@cam.ac.uk> | |
4790 | ||
4791 | * c-common.c (get_flag_spec, check_format_info_main, | |
4792 | check_format_types): Use strchr () instead of index (). Compare | |
4793 | against error_mark_node instead of comparing the TREE_CODE against | |
4794 | ERROR_MARK. | |
4795 | ||
4796 | 2000-11-02 Zack Weinberg <zackw@Stanford.EDU> | |
4797 | ||
4798 | Integrated CPP. | |
4799 | ||
4800 | * c-lex.c (init_c_lex): Update cpp_start_read call. | |
4801 | (cb_ident): Update for new callback prototype. | |
4802 | (cb_def_pragma): Update for new cpp_get_token prototype. | |
4803 | (c_lex): Similarly. Use cpp_get_line. | |
4804 | ||
4805 | * c-parse.in (finish_parse): Update for new cpp_finish | |
4806 | prototype. | |
4807 | ||
4808 | * cp/lex.c (finish_parse): Similarly. | |
4809 | ||
4810 | 2000-11-01 Geoff Keating <geoffk@cygnus.com> | |
4811 | ||
4812 | * machmode.def: Add V16QImode. | |
4813 | ||
4814 | 2000-11-01 Richard Henderson <rth@redhat.com> | |
4815 | ||
4816 | * dwarf2out.c (loc_descriptor_from_tree): Check for null result | |
4817 | from rtl_for_decl_location. | |
4818 | (add_location_or_const_value_attribute): Likewise. | |
4819 | ||
4820 | 2000-11-01 Neil Booth <neilb@earthling.net> | |
4821 | ||
4822 | * cpplib.c (run_directive): Use correct line number for output | |
4823 | of _Pragma. Remember any in-progress directive. | |
4824 | ||
4825 | * gcc.dg/cpp/vararg2.c, gcc.dg/cpp/_Pragm1.c: New tests. | |
4826 | ||
4827 | 2000-11-01 Richard Henderson <rth@redhat.com> | |
4828 | ||
4829 | * stmt.c (expand_start_null_loop): Set continue_label. | |
4830 | ||
4831 | 2000-11-01 Bernd Schmidt <bernds@redhat.co.uk> | |
4832 | ||
4833 | * builtins.c (fold_builtin_constant_p, fold_builtin): New functions. | |
4834 | (expand_builtin_constant_p): Move parts of the code into | |
4835 | fold_builtin_constant_p. | |
4836 | (expand_builtin_strlen): Move parts of the code into fold_builtin. | |
4837 | * expr.h (fold_builtin): Declare. | |
4838 | * fold-const.c (fold): Handle builtin calls. | |
4839 | ||
4840 | * c-typeck.c (build_function_call): Call fold on the CALL_EXPR. | |
4841 | ||
4842 | 2000-11-01 Richard Henderson <rth@redhat.com> | |
4843 | ||
4844 | * stmt.c (expand_start_null_loop): New. | |
4845 | (expand_end_null_loop): New. | |
4846 | * c-semantics.c (genrtl_do_stmt): Use them. | |
4847 | * tree.h: Declare them. | |
4848 | ||
4849 | 2000-11-01 Richard Henderson <rth@redhat.com> | |
4850 | ||
4851 | * cppmain.c (scan_buffer): Don't avoid paste for assembly. | |
4852 | ||
4853 | 2000-11-01 Neil Booth <neilb@earthling.net> | |
4854 | ||
4855 | * c-parse.in (_yylex): Remove CPP_BACKSLASH case. | |
4856 | * cp/spew.c: Similarly. | |
4857 | * cpplex.c (_cpp_lex_token): Backslashes are now CPP_OTHER. | |
4858 | * cppmacro.c (stringify_arg): Similarly. | |
4859 | * cpplib.h (CPP_BACKSLASH): Delete. | |
4860 | ||
4861 | 2000-10-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
4862 | ||
4863 | * builtins.c (expand_builtin_strstr): New function. | |
4864 | (expand_builtin): Handle BUILT_IN_STRSTR and BUILT_IN_STRCHR. | |
4865 | ||
4866 | * builtins.def (BUILT_IN_STRSTR, BUILT_IN_STRCHR): New entries. | |
4867 | ||
4868 | * c-common.c (c_common_nodes_and_builtins): Declare builtin strstr | |
4869 | and builtin strchr. | |
4870 | ||
4871 | 2000-10-31 Richard Henderson <rth@redhat.com> | |
4872 | ||
4873 | * config/i386/i386.c (fcmov_comparison_operator): Check for | |
4874 | CCFPmode or CCFPUmode instead of CCmode. | |
4875 | (ix86_expand_fp_movcc): Call ix86_expand_setcc for most | |
4876 | unordered operations as well. | |
4877 | ||
4878 | 2000-10-31 Richard Henderson <rth@redhat.com> | |
4879 | ||
4880 | * c-semantics.c (genrtl_do_stmt): Use integer_zerop instead | |
4881 | of integer_zero_node. | |
4882 | ||
4883 | 2000-10-31 Richard Henderson <rth@redhat.com> | |
4884 | ||
4885 | * c-semantics.c (genrtl_do_stmt): Special case do/while(0). | |
4886 | ||
4887 | 2000-10-31 Nick Clifton <nickc@redhat.com> | |
4888 | ||
4889 | * config/arm/unknown-elf.h (UNIQUE_SECTION_P): Do not allow | |
4890 | -fdata-sections to override the section attribute of a DECL. | |
4891 | ||
4892 | 2000-10-31 Chris Demetriou <cgd@sibyte.com> | |
4893 | ||
4894 | * libgcc2.c (__shtab): Remove __shtab variable. | |
4895 | * libgcc-std.ver (GCC_3.0): Remove __shtab from symbol list. | |
4896 | * Makefile.in (LIB2FUNCS): Remove _shtab from list of library | |
4897 | members. | |
4898 | ||
4899 | 2000-10-31 Jim Wilson <wilson@redhat.com> | |
4900 | ||
4901 | * defaults.h (ASM_OUTPUT_DEBUG_LABEL): New. | |
4902 | * tm.texi (ASM_OUTPUT_DEBUG_LABEL): Document. | |
4903 | * dwarf2out.c (dwarf2out_begin_block): Use ASM_OUTPUT_DEBUG_LABEL | |
4904 | instead of ASM_OUTPUT_INTERNAL_LABEL. | |
4905 | (dwarf2out_end_block, dwarf2out_label): Likewise. | |
4906 | * final.c (final_scan_insn, case NOTE_INSN_DELETED_LABEL): Likewise | |
4907 | * config/ia64/ia64.h (ASM_OUTPUT_DEBUG_LABEL): Define. | |
4908 | ||
4909 | 2000-10-31 Richard Henderson <rth@redhat.com> | |
4910 | ||
4911 | * dwarf2out.c (struct dw_loc_descr_struct): Add dw_loc_addr. | |
4912 | (size_of_locs): Set it. | |
4913 | (output_loc_operands): Use it to compute branch displacement. | |
4914 | (int_loc_descriptor): New. | |
4915 | (mem_loc_descriptor): Dereference memory in the proper size. | |
4916 | Use DW_OP_plus_uconst when possible. Use int_loc_descriptor. | |
4917 | (loc_descriptor_from_tree): New. | |
4918 | (rtl_for_decl_location): Break out from ... | |
4919 | (add_location_or_const_value_attribute): ... here. | |
4920 | (add_bound_info): Use loc_descriptor_from_tree. | |
4921 | ||
4922 | 2000-10-31 Neil Booth <neilb@earthling.net> | |
4923 | ||
4924 | * cpp.texi: Update for new command line assertion syntax. | |
4925 | * cpplib.c (cpp_define): Simplify a bit. | |
4926 | (cpp_assert, cpp_unassert): Use handle_assertion. | |
4927 | (handle_assertion): New function; accept new command line | |
4928 | syntax with '='. | |
4929 | * testsuite/gcc.dg/cpp/assert3.c: New tests. | |
4930 | ||
4931 | 2000-10-31 Neil Booth <neilb@earthling.net> | |
4932 | ||
4933 | * cppmacro.c (STDC_0_IN_SYSTEM_HEADERS): Define to 0 if | |
4934 | undefined. Remove #ifdef check. | |
4935 | * config/i386/sol2.h, config/rs6000/sol2.h, config/sparc/sol2.h: | |
4936 | Define STDC_0_IN_SYSTEM_HEADERS to 1. | |
4937 | ||
4938 | 2000-10-31 Jan Hubicka <jh@suse.cz> | |
4939 | Jakub Jelinek <jakub@redhat.com> | |
4940 | ||
4941 | * config/i386/i386.h: Clarify CCNOmode description in comment. | |
4942 | (EXTRA_CC_MODES): Remove CCRCmode. | |
4943 | * config/i386/i386.c (ix86_comparison_operator): Remove CCRCmode. | |
4944 | (put_condition_code, ix86_match_ccmode): Likewise. | |
4945 | (ix86_cc_mode): Likewise. Fix comment. | |
4946 | (ix86_expand_strlensi_unroll_1): *rc patterns are gone. | |
4947 | * config/i386/i386.md: Add unspec 12 description. | |
4948 | (adddi3 split): Use unspec 12 instead of CCRCmode. | |
4949 | (addsi3_carry_rc): Remove. | |
4950 | (addsi3_cc, addqi3_cc): New patterns. | |
4951 | (addsi_3): Swap operands, match CCZmode. | |
4952 | (addsi_4): Rewritten. | |
4953 | (addsi_5): Renamed from addsi_6. | |
4954 | (addsi_6): Removed. | |
4955 | (addhi_3): Swap operands, match CCZmode. | |
4956 | (addhi_4): Rewritten. | |
4957 | (addhi_5): Renamed from addhi_6. | |
4958 | (addhi_6): Removed. | |
4959 | (addqi_3): Swap operands, match CCZmode. | |
4960 | (addqi_4): Rewritten. | |
4961 | (addqi_5): Renamed from addqi_6. Use =q constraint for clobber. | |
4962 | (subsi3_carry_rc): Removed. | |
4963 | (iorqi_3): Use =q constraint for clobber. | |
4964 | (xorqi_cc_2): Likewise. | |
4965 | (negdi2_1 split): Don't use CCRCmode, use ltu instead of gtu. | |
4966 | (x86_movsicc_0_m1_rc): Removed. | |
4967 | (cmp?i peepholes): Remove neg. Use CCGCmode instead of CCRCmode. | |
4968 | ||
4969 | 2000-10-31 Joseph S. Myers <jsm28@cam.ac.uk> | |
4970 | ||
4971 | * c-typeck.c (build_unary_op): If pedantic, pedwarn for increment | |
4972 | and decrement of complex types. | |
4973 | ||
4974 | 2000-10-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
4975 | ||
4976 | * builtins.c (expand_builtin_fputs): When deleting NOP calls to | |
4977 | builtin fputs, ensure we still evaluate the stream in case it | |
4978 | has side-effects. | |
4979 | ||
4980 | 2000-10-31 Jakub Jelinek <jakub@redhat.com> | |
4981 | ||
4982 | * expr.c (do_store_flag): Pass operand_mode instead of GET_MODE (op0) | |
4983 | to expand_shift. | |
4984 | ||
4985 | Tue Oct 31 15:33:27 2000 J"orn Rennecke <amylaar@redhat.com> | |
4986 | ||
4987 | * sh-protos.h (reg_no_subreg_operand, emit_fpscr_use): Don't declare. | |
4988 | (fp_extended_operand, emit_fpscr_use): Likewise. | |
4989 | * sh.c (reg_no_subreg_operand, fp_extended_operand): Delete functions. | |
4990 | (fpul_operand): New function. | |
4991 | * sh.h (PREDICATE_CODES): Remove reg_no_subreg_operand and | |
4992 | fp_extended_operand. Add fpul_operand. | |
4993 | * sh.md (mulsf3, mulsf3_i4): Use fp_arith_reg_operand for "f" operands. | |
4994 | (mulsf3_ie, macsf3, cmpgtsf_t, cmpeqsf_t, ieee_ccmpeqsf_t): Likewise. | |
4995 | (cmpgtsf_t_i4, cmpeqsf_t_i4, ieee_ccmpeqsf_t_4, negsf2): Likewise. | |
4996 | (negsf2_i, sqrtsf2, sqrtsf2_i, abssf2, abssf2_i, adddf3): Likewise. | |
4997 | (adddf3_i, subdf3, subdf3_i, muldf3, muldf3_i, divdf3): Likewise. | |
4998 | (divdf3_i): Likewise. | |
4999 | (floatsisf2): Likewise. Use fpul_operand for 'y' operand. | |
5000 | (floatsisf2_i4, floatsisf2_ie, fix_truncsfsi2): Likewise. | |
5001 | (fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i): Likewise. | |
5002 | (fix_truncdfsi2, fix_truncdfsi2_i, extendsfdf2): Likewise. | |
5003 | (extendsfdf2_i4, truncdfsf2, truncdfsf2_i4): Likewise. | |
5004 | ||
5005 | 2000-10-31 Bernd Schmidt <bernds@redhat.co.uk> | |
5006 | ||
5007 | * config/i386/i386.c (ix86_init_builtins): Correct return type | |
5008 | building v4hi_ftype_v4hi_int_int tree node. | |
5009 | (ix86_expand_builtin): Use correct operand numbers 0 and 1. | |
5010 | Copy operand 0 into a Pmode register, don't generate a MEM rtx. | |
5011 | ||
5012 | * config/i386/i386.md (sse_movntdi): Use mmx register constraint | |
5013 | for operand 1. | |
5014 | (mmx__uavgv8qi3): Correct insn mnemonic. | |
5015 | (mmx_psadbw): Correct insn mnemonic. Use V8QI mode for operands 1 and 2. | |
5016 | (mmx_punpckhwd): Correct insn mnemonic. | |
5017 | (mmx_punpckhdq): Likewise. | |
5018 | (mmx_punpcklwd): Likewise. | |
5019 | (mmx_punpckldq): Likewise. | |
5020 | (prefetch): Use immediare_operand and 'n' constraint for operand 1. | |
5021 | Renumber case labels to match the _mm_prefetch constants defined in | |
5022 | xmmintrin.h. | |
5023 | ||
5024 | * recog.c (split_all_insns): Don't try to call cleanup_subreg_operands | |
5025 | if the splitter didn't emit new insns. | |
5026 | Make sure we call cleanup_subreg_operands even when splitting the last | |
5027 | insn in a basic block. | |
5028 | ||
5029 | * invoke.texi (Debugging Options): Describe -do. | |
5030 | * toplev.c (enum_dump_file_index): New entry DFI_postreload. | |
5031 | (dump_file): Likewise. | |
5032 | (rest_of_compilation): Split .greg dump into .greg and .postreload. | |
5033 | ||
5034 | 2000-10-30 Neil Booth <neilb@earthling.net> | |
5035 | ||
5036 | * cppfiles.c (stack_include_file): Check for stacked contexts | |
5037 | here. | |
5038 | * cpphash.h (_cpp_do__Pragma): New prototype. | |
5039 | * cppinit.c (cpp_reader_init): Add _Pragma keyword to hash table. | |
5040 | ||
5041 | * cpplex.c (skip_escaped_newlines): Only process trigraphs and | |
5042 | escaped newlines if !(buffer->from_stage3). | |
5043 | (_cpp_lex_token): Warn about missing newlines iff | |
5044 | !buffer->from_stage3. | |
5045 | ||
5046 | * cpplib.c (get__Pragma_string, destringize, | |
5047 | _cpp_do__Pragma): New functions. | |
5048 | (run_directive): Set output_line for _Pragma to avoid line | |
5049 | markers in output. Set from_stage3 and prevent macro expansion | |
5050 | for _Pragma and command-line options. Check buffer exhaustion. | |
5051 | (cpp_push_buffer): Don't check for stacked macro contexts, as | |
5052 | this is perfectly legitimate for _Pragma. Move the check to | |
5053 | stack_include_file instead. Set from_stage3 iff buffer is | |
5054 | preprocessed input. | |
5055 | ||
5056 | * cpplib.h (struct cpp_buffer): Make warned_cplusplus_comments | |
5057 | unsigned. New boolean from_stage3. | |
5058 | (struct spec_nodes): Add n__Pragma. | |
5059 | ||
5060 | * cppmacro.c (enter_macro_context): Flip sense of return value. | |
5061 | (_cpp_get_token): Handle _Pragma operator. | |
5062 | ||
5063 | 2000-10-30 Phil Edwards <pme@sources.redhat.com> | |
5064 | ||
5065 | * gcc.texi: The C++ standard isn't "draft" anymore. | |
5066 | ||
5067 | 2000-10-30 Mark Mitchell <mark@codesourcery.com> | |
5068 | ||
5069 | * cppmacro.c (builtin_macro): Use NT_VOID, not T_VOID. | |
5070 | ||
5071 | 2000-10-29 Neil Booth <neilb@earthling.net> | |
5072 | ||
5073 | * cpplib.c (skip_rest_of_line): Use _cpp_get_token. | |
5074 | ||
5075 | 2000-10-29 Joseph S. Myers <jsm28@cam.ac.uk> | |
5076 | ||
5077 | * toplev.c, flags.h, fold-const.c, real.c, rtl.c, | |
5078 | fixinc/inclhack.def: Change comments mentioning C9X to refer to | |
5079 | C99 instead. | |
5080 | ||
5081 | * invoke.texi: Document that -V will only work for very similar | |
5082 | versions of driver and compiler. | |
5083 | ||
5084 | 2000-10-29 Neil Booth <neilb@earthling.net> | |
5085 | ||
5086 | * cppmacro.c (_cpp_create_definition): Optimize the case of | |
5087 | a macro defined to itself. | |
5088 | ||
5089 | 2000-10-29 Neil Booth <neilb@earthling.net> | |
5090 | ||
5091 | * cpplex.c (save_comment): Don't store new lines in C++ comments. | |
5092 | ||
5093 | 2000-10-29 Michael Hayes <mhayes@redhat.com> | |
5094 | ||
5095 | * integrate.c (copy_insn_list): Copy the unchanging flag for calls. | |
5096 | ||
5097 | 2000-10-28 Geoffrey Keating <geoffk@cygnus.com> | |
5098 | ||
5099 | * cpphash.c (cpp_forall_identifiers): Add context variable | |
5100 | for callback routine. | |
5101 | * cppmain.c (dump_macro): Update to match cpp_forall_identifiers | |
5102 | change. | |
5103 | (main): Call cpp_forall_identifiers with null context. | |
5104 | * cpplib.h (cpp_forall_identifiers): Update prototype. | |
5105 | ||
5106 | * cppmain.c: Make `parse_in' and `print' static. | |
5107 | ||
5108 | 2000-10-28 Alan Modra <alan@linuxcare.com.au> | |
5109 | ||
5110 | * c-decl.c (finish_function): Clear c_function_name_declared_p. | |
5111 | ||
5112 | 2000-10-28 Richard Henderson <rth@redhat.com> | |
5113 | ||
5114 | * regrename.c (scan_rtx_address): Frob action, not class, | |
5115 | when trying to disable optimization. | |
5116 | ||
5117 | 2000-10-28 Mark Mitchell <mark@codesourcery.com> | |
5118 | ||
5119 | * c-semantics.c (make_rtl_for_local_static): Don't clobber | |
5120 | DECL_ASSEMBLER_NAME. | |
5121 | ||
5122 | 2000-10-28 Joseph S. Myers <jsm28@cam.ac.uk> | |
5123 | ||
5124 | * configure.in: Determine and substitute gcc_version_full. | |
5125 | * configure: Regenerate. | |
5126 | * gccbug.in: Use it to give full version. Don't allow | |
5127 | confidential PRs. | |
5128 | ||
5129 | 2000-10-28 Richard Henderson <rth@redhat.com> | |
5130 | ||
5131 | * recog.c (split_all_insns): Run cleanup_subreg_operands | |
5132 | after reload. | |
5133 | ||
5134 | * regrename.c (regrename_optimize): Verify that all registers of | |
5135 | a multiple register mode are available. | |
5136 | (scan_rtx_address): Accept the mode of the address; all callers | |
5137 | changed. | |
5138 | ||
5139 | * cpplib.c (run_directive): Fix prototype. | |
5140 | ||
5141 | 2000-10-28 Bernd Schmidt <bernds@redhat.co.uk> | |
5142 | ||
5143 | * reload.c (find_reloads): Distinguish "wins" so that we know whether | |
5144 | a given operand won because of a matching constraint or not; then use | |
5145 | that information to compute goal_alternative_matched properly. | |
5146 | * reload1.c (choose_reload_regs): Never set reload_override_in for an | |
5147 | optional reload. | |
5148 | ||
5149 | * config/ia64/ia64.h (RTX_COSTS): A few more entries, and a more | |
5150 | accurate value for MULT. | |
5151 | * config/ia64/ia64.c (ia64_print_operand): Require probability to be | |
5152 | 2% or > 98% before using static branch prediction bits. | |
5153 | ||
5154 | 2000-10-28 Neil Booth <neilb@earthling.net> | |
5155 | ||
5156 | New macro expander. | |
5157 | ||
5158 | * cpplib.c (struct answer): New. | |
5159 | (struct if_stack): Use cpp_lexer_pos rather than line and col. | |
5160 | Rename cmacro mi_cmacro. | |
5161 | (struct directive, KANDR, STDC89, EXTENSION, COND, IF_COND, INCL, | |
5162 | IN_I): New directive and flags. | |
5163 | (skip_rest_of_line, check_eol, run_directive, glue_header_name, | |
5164 | parse_answer, parse_assertion, find_answer): New functions. | |
5165 | (parse_ifdef, detect_if_not_defined, validate_else): Remove. | |
5166 | (lex_macro_node): New function to replace parse_ifdef and | |
5167 | get_define_node. | |
5168 | ||
5169 | (_cpp_handle_directive): New function, combines _cpp_check_directive | |
5170 | and _cpp_check_linemarker. | |
5171 | ||
5172 | (do_define, do_undef, parse_include, do_include, do_import, | |
5173 | do_include_next, read_line_number, do_line, do_ident, do_pragma, | |
5174 | do_pragma_once, do_pragma_poison, do_pragma_dependency): | |
5175 | Update for new token getting interface. | |
5176 | ||
5177 | (do_ifdef, do_ifndef, do_if, do_else, do_endif, push_conditional) | |
5178 | : Update for new multiple-include optimisation technique. | |
5179 | (do_elif): Don't forget to invalidate controlling macros. | |
5180 | ||
5181 | (unwind_if_stack, cpp_defined, cpp_push_buffer, cpp_pop_buffer): Update. | |
5182 | (parse_assertion, parse_answer, find_answer, _cpp_test_assertion): | |
5183 | Functions to handle assertions with the new token interface. | |
5184 | (do_assert, do_unassert): Use them. | |
5185 | ||
5186 | (cpp_define, _cpp_define_builtin, cpp_undef, cpp_assert, cpp_unassert): | |
5187 | Use run_directive. | |
5188 | ||
5189 | (_cpp_init_stacks): Register directive names. Don't register special | |
5190 | nodes. | |
5191 | ||
5192 | * cpperror.c (print_containing_files, _cpp_begin_message): Update to | |
5193 | new position recording regime. | |
5194 | (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning, | |
5195 | cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line, | |
5196 | cpp_pedwarn_with_file_and_line): Update for _cpp_begin_message changes. | |
5197 | (cpp_type2name): Move to cpplex.c. | |
5198 | ||
5199 | * cppexp.c (parse_charconst): spec_nodes is no longer a pointer. | |
5200 | (parse_defined): Update to handle new multiple include optimisation | |
5201 | method. Remove poisoned identifier warning. | |
5202 | (parse_assertion, TYPE_NAME): Delete. | |
5203 | (lex): Update for multiple include optimisation, removal of | |
5204 | CPP_DEFINED, to use _cpp_test_assertion for assertions and | |
5205 | cpp_token_as_text. | |
5206 | (_cpp_parse_expr): Update for MI optimisation, and to use op_as_text. | |
5207 | (op_as_text): New function, to wrap cpp_token_as_text. | |
5208 | ||
5209 | * cppfiles.c (stack_include_file, _cpp_pop_file_buffer): | |
5210 | Update for MI optimisation. | |
5211 | (_cpp_execute_include): Take a token rather than 3 arguments. Fix | |
5212 | segfault on diagnostic. | |
5213 | (_cpp_compare_file_date): Take a token rather than 3 args. | |
5214 | (cpp_read_file): Work correctly for zero-length files. | |
5215 | ||
5216 | * cpphash.c (_cpp_init_macros, _cpp_cleanup_macros): Rename | |
5217 | _cpp_init_hashtable and _cpp_cleanup_hashtable. | |
5218 | (cpp_lookup): Place identifiers at front of identifier pool | |
5219 | for _cpp_lookup_with_hash. | |
5220 | (_cpp_lookup_with_hash): Require identifiers to be at the front of | |
5221 | the identifier pool. Commit the memory if not already in the | |
5222 | hash table. | |
5223 | ||
5224 | * cppinit.c (cpp_reader_init): Move cpp_init_completed test to top. | |
5225 | Initialize various members of cpp_reader, memory pools, and the | |
5226 | special nodes. | |
5227 | (cpp_printer_init): Delete. | |
5228 | (cpp_cleanup): Update. | |
5229 | (struct builtin, builtin_array, initialize_builtins): Update for new | |
5230 | hashnode definition and builtin handling. | |
5231 | (cpp_start_read, cpp_finish): Don't take or initialize a | |
5232 | printer. Update. | |
5233 | ||
5234 | * cpplib.h (cpp_printer, cpp_toklist, CPP_DEFINED, BOL, | |
5235 | PASTED, VAR_ARGS, BEG_OF_FILE, IN_DIRECTIVE, KNOWN_DIRECTIVE, | |
5236 | T_VOID, T_SPECLINE, T_DATE, T_FILE, T_BASE_FILE, T_INCLUDE_LEVEL, | |
5237 | T_TIME, T_STDC, T_OPERATOR, T_POISON, T_MACRO, T_ASSERTION): Delete. | |
5238 | (struct cpp_pool, struct cpp_macro, struct cpp_lexer_pos, | |
5239 | struct cpp_lookahead, CPP_DHASH, enum mi_state, enum mi_ind, | |
5240 | NO_EXPAND, VARARGS_FIRST, struct cpp_token_with_pos, | |
5241 | struct toklist, struct cpp_context, struct specnodes, | |
5242 | TOKEN_LOOKAHEAD, TOKEN_BUFFSIZE, NODE_OPERATOR, NODE_POISONED, | |
5243 | NODE_BUILTIN, NODE_DIAGNOSTIC, NT_VOID, NT_MACRO, NT_ASSERTION, | |
5244 | enum builtin_type, cpp_can_paste): New. | |
5245 | (struct cpp_token): Delete line and col members. | |
5246 | (struct cpp_buffer): New member output_lineno. | |
5247 | (struct lexer_state): Delete indented, in_lex_line, seen_dot. | |
5248 | Add va_args_ok, poisoned_ok, prevent_expansion, parsing_args. | |
5249 | (struct cpp_reader): New members lexer_pos, macro_pos, directive_pos, | |
5250 | ident_pool, temp_string_pool, macro_pool, argument_pool, string_pool, | |
5251 | base_context, context, directive, mi_state, mi_if_not_defined, | |
5252 | mi_lexed, mi_cmacro, mi_ind_cmacro, la_read, la_write, la_unused, | |
5253 | mlstring_pos, macro_buffer, macro_buffer_len. | |
5254 | Delete members mls_line, mls_column, token_list, potential_control_macro, | |
5255 | temp_tokens, temp_cap, temp_alloced, temp_used, first_directive_token, | |
5256 | context_cap, cur_context, no_expand_level, paste_level, contexts, args, | |
5257 | save_parameter_spellings, need_newline, . | |
5258 | Change type of date, time and spec_nodes members. | |
5259 | Change prototypes for include and ident callbacks. | |
5260 | (struct cpp_hashnode): Change type of name. Remove union members | |
5261 | expansion and code. Add members macro, operator and builtin. | |
5262 | ||
5263 | (cpp_token_len, cpp_token_as_text, cpp_spell_token, cpp_start_read, | |
5264 | cpp_finish, cpp_avoid_paste, cpp_get_token, cpp_get_line, | |
5265 | cpp_get_output_line, cpp_macro_definition, cpp_start_lookahead, | |
5266 | cpp_stop_lookahead): New prototypes. | |
5267 | (cpp_printer_init, cpp_dump_definition): Delete prototypes. | |
5268 | ||
5269 | (U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr, ufputs): | |
5270 | Move from cpphash.h. | |
5271 | ||
5272 | * cpphash.h (U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr, | |
5273 | ufputs): Move to cpplib.h. | |
5274 | (enum spell_type, struct token_spelling, _cpp_token_spellings, TOKEN_SPELL, | |
5275 | TOKEN_NAME, struct answer, FREE_ANSWER, KANDR, STDC89, EXTENSION, | |
5276 | COND, EXPAND, INCL, COMMENTS, IN_I, struct directive, directive_handler, | |
5277 | struct spec_nodes, _cpp_digraph_spellings, _cpp_free_temp_tokens, | |
5278 | _cpp_init_input_buffer, _cpp_grow_token_buffer, _cpp_init_toklist, | |
5279 | _cpp_clear_toklist, _cpp_expand_token_space, _cpp_expand_name_space, | |
5280 | _cpp_equiv_tokens, _cpp_equiv_toklists, _cpp_process_directive, | |
5281 | _cpp_run_directive, _cpp_get_line, _cpp_get_raw_token, _cpp_glue_header_name, | |
5282 | _cpp_can_paste, _cpp_check_directive, _cpp_check_linemarker, | |
5283 | _cpp_parse_assertion, _cpp_find_answer): Delete. | |
5284 | (VALID_SIGN, ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE, POOL_SIZE, | |
5285 | POOL_USED, POOL_COMMIT, struct cpp_chunk, _cpp_lex_token, _cpp_init_pool, | |
5286 | _cpp_free_pool, _cpp_pool_reserve, _cpp_pool_alloc, _cpp_next_chunk, | |
5287 | _cpp_lock_pool, _cpp_unlock_pool, _cpp_test_assertion, | |
5288 | _cpp_handle_directive, DSC): New. | |
5289 | (struct include_file): New member defined. | |
5290 | ||
5291 | (DO_NOT_REREAD, _cpp_begin_message, _cpp_execute_include, | |
5292 | _cpp_compare_file_date): Update. | |
5293 | (_cpp_pop_context, _cpp_get_token, _cpp_free_lookaheads, _cpp_push_token): New. | |
5294 | (_cpp_init_macros, _cpp_cleanup_macros): Rename to _cpp_init_hashtable, | |
5295 | _cpp_cleanup_hashtable. | |
5296 | ||
5297 | * Makefile.in: Remove cppoutput.c. | |
5298 | ||
5299 | * cppoutput.c: Delete | |
5300 | ||
5301 | * fixheader.c (read_scan_file): Update for new cpp_get_token | |
5302 | prototype. | |
5303 | (recognized_function): New argument LINE. | |
5304 | ||
5305 | * scan-decls.c (skip_to_closing_brace, scan_decls): Update for | |
5306 | new cpp_get_token prototype. | |
5307 | ||
5308 | * scan.h (recognized_function): Update prototype. | |
5309 | ||
5310 | * po/POTFILES.in: Remove cppoutput.c. | |
5311 | ||
5312 | 2000-10-27 Mark Mitchell <mark@codesourcery.com> | |
5313 | ||
5314 | * c-typeck.c (check_init_type_bitfields): Remove. | |
5315 | (constructor_incremental): Likewise. | |
5316 | (struct constructor_stack): Remove incremental bit. | |
5317 | (struct initializer_stack): Likewise. | |
5318 | (start_init): Don't play with constructor_incremental. | |
5319 | (finish_init): Likewise. | |
5320 | (really_start_incremental_init): Likewise. | |
5321 | (push_init_level): Likewise. | |
5322 | (pop_init_level): Likewise. | |
5323 | (output_init_level): Likewise. | |
5324 | (output_pending_init_elements): Likewise. | |
5325 | ||
5326 | 2000-10-21 Mike Coleman <mcoleman2@kc.rr.com> | |
5327 | ||
5328 | * c-pragma.c (handle_pragma_pack): Initialize align to -1. | |
5329 | Improve error messages. Correct parsing of | |
5330 | #pragma pack(pop [,id]). Do not check the user-supplied | |
5331 | alignment if we're popping. | |
5332 | ||
5333 | * gcc.dg/pack-test-1.c: New test case. | |
5334 | * gcc.dg/pack-test-2.c: New test case. | |
5335 | * gcc.dg/pack-test-1.h: New file. | |
5336 | ||
5337 | 2000-10-27 Neil Booth <neilb@earthling.net> | |
5338 | ||
5339 | * cpp.texi: Update. | |
5340 | ||
5341 | 2000-10-27 Kelley Cook <kelley.cook@home.com> | |
5342 | ||
5343 | * invoke.texi: Document -mintel-syntax | |
5344 | ||
5345 | 2000-10-27 Richard Henderson <rth@redhat.com> | |
5346 | ||
5347 | * invoke.texi: Document -frename-registers. Add it to -O3. | |
5348 | * toplev.c (rest_of_compilation): Run regrename before ifcvt2. | |
5349 | (enum dump_file_index, dump_file): Update order. | |
5350 | (main): Set flag_rename_registers at -O3. | |
5351 | ||
5352 | 2000-10-27 Richard Henderson <rth@redhat.com> | |
5353 | ||
5354 | * config/alpha/alpha.h (enum reg_class): Add PV_REG. | |
5355 | (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update. | |
5356 | (REG_CLASS_FROM_LETTER): Assign it to 'c'. | |
5357 | * config/alpha/alpha.md (call_osf_1): Use it. | |
5358 | (call_value_osf_1): Likewise. | |
5359 | ||
5360 | * config/ia64/ia64.c: Revert 10-23 patch. | |
5361 | (ia64_hard_regno_rename_ok): New. | |
5362 | * config/ia64/ia64-protos.h: Declare it. | |
5363 | * config/ia64/ia64.h (HARD_REGNO_RENAME_OK): Use it. | |
5364 | ||
5365 | 2000-10-27 Bernd Schmidt <bernds@redhat.co.uk> | |
5366 | Richard Henderson <rth@redhat.com> | |
5367 | ||
5368 | * regrename.c: Rewrite to handle multi-register modes and | |
5369 | cond_exec instructions. | |
5370 | * Makefile.in (regrename.o): Update dependencies. | |
5371 | * recog.h (struct operand_alternative): Add is_address. | |
5372 | * recog.c (preprocess_constraints) [case 'p']: Set it. | |
5373 | ||
5374 | 2000-10-27 Zack Weinberg <zack@wolery.stanford.edu> | |
5375 | ||
5376 | * configure.in: If not NO_MINUS_C_MINUS_O, substitute | |
5377 | OUTPUT_OPTION with '-o $@'. Make zlibdir, zlibinc relative to | |
5378 | top level. Kill oldstyle_subdirs. Do not include | |
5379 | $srcdir/$s/Makefile.in in all_lang_makefiles, but do include | |
5380 | $outputs. Do not run configure.lang from config.status. | |
5381 | Rearrange warning-flag logic to correspond to what the | |
5382 | makefile wants. Put special vax stage1 options in | |
5383 | @stage1_flags@ not @stage1_warn_cflags@. Don't do anything | |
5384 | with extra_c_objs, extra_cxx_objs, or extra_cpp_objs. | |
5385 | (--enable-c-cpplib): AC_SUBST(maybe_cpplib) with "libcpp.a" if | |
5386 | switch is given, nothing otherwise. | |
5387 | * configure.lang: Delete. | |
5388 | ||
5389 | * Makefile.in: Expunge all traces of extra_c_objs, | |
5390 | extra_cxx_objs, and extra_cpp_objs. Set MAYBE_CPPLIB from | |
5391 | @maybe_cpplib@. Add $(MAYBE_CPPLIB) to C_AND_OBJC_OBJS. Set | |
5392 | warning options via a three level scheme so that -pedantic and | |
5393 | -Wtraditional are not used for non-C front ends: LOOSE_WARN, | |
5394 | STRICT1_WARN, STRICT2_WARN -> $(@D)-warn, GCC_WARN_CFLAGS -> | |
5395 | WARN_CFLAGS. Distinguish STAGE1_CFLAGS from BOOT_CFLAGS. | |
5396 | Add -I$(@D) and -I$(srcdir)/$(@D) to INCLUDES. | |
5397 | Set OUTPUT_OPTION, ZLIB, ZLIBINC. Do not set P, | |
5398 | LANG_FLAGS_TO_PASS. Add OUTPUT_OPTION to all object-file | |
5399 | generation rules. Wrap all rules that change the current | |
5400 | directory in parentheses; pmake doesn't spawn a new shell for | |
5401 | each command. Expunge all references to $(P). When one | |
5402 | command depends on another and they're run all at once, use && | |
5403 | to separate them, not ;. Add libgcc_s$(SHLIB_EXT) to files | |
5404 | deleted on make clean. Force OUTPUT_OPTION='-o $@' in stage2 | |
5405 | and beyond. | |
5406 | ||
5407 | * objc/Make-lang.in: Wrap all rules that change the current | |
5408 | directory in parentheses. Expunge all references to $(P). | |
5409 | When one command depends on another and they're run all at | |
5410 | once, use && to separate them, not ;. Add OUTPUT_OPTION to | |
5411 | all object-file generation rules. Delete obsolete variables. | |
5412 | * objc/Makefile.in: Delete. | |
5413 | ||
5414 | 2000-10-27 Jakub Jelinek <jakub@redhat.com> | |
5415 | ||
5416 | * calls.c (expand_call): If sibcall_failure is set during pass 1, | |
5417 | clear tail_call_insns as well. | |
5418 | ||
5419 | 2000-10-27 Nick Clifton <nickc@redhat.com> | |
5420 | ||
5421 | * config/arm/arm-protos.h (arm_function_ok_for_sibcall): Add | |
5422 | prototype. | |
5423 | ||
5424 | 2000-10-26 Richard Henderson <rth@redhat.com> | |
5425 | ||
5426 | * calls.c (expand_call): Supress sibcall if we have a | |
5427 | BLKmode return in registers. | |
5428 | ||
5429 | 2000-10-26 Bernd Schmidt <bernds@redhat.co.uk> | |
5430 | ||
5431 | * ia64.h (PREFERRED_RELOAD_CLASS): Force floating point constants | |
5432 | into memory. | |
5433 | ||
5434 | 2000-10-26 Nathan Sidwell <nathan@codesourcery.com> | |
5435 | ||
5436 | * tree.c (make_node, case 't'): Set alignment to that of | |
5437 | char_type_node. | |
5438 | * expr.c (move_by_pieces_ninsns): Abort if some length remains. | |
5439 | ||
5440 | 2000-10-25 Mark Mitchell <mark@codesourcery.com> | |
5441 | ||
5442 | * Makefile.in (site.exp): Define HAVE_LIBSTDCXX_V3. | |
5443 | * configure.in (enable-libstdcxx-v3): Arrange to have | |
5444 | HAVE_LIBSTDCXX_V3 substituted into the output files. | |
5445 | ||
5446 | 2000-10-25 Richard Henderson <rth@redhat.com> | |
5447 | ||
5448 | * recog.c (constrain_operands): Initialize which_alternative | |
5449 | before no alternatives early exit. | |
5450 | ||
5451 | * cse.c (find_comparison_args): Check that we can reverse a | |
5452 | comparison if needed before accepting the substitution. | |
5453 | ||
5454 | * reload.c (find_reloads_address_part): Kill rtx obstack hackery. | |
5455 | ||
5456 | * simplify-rtx.c (simplify_relational_operation): Sign extend | |
5457 | low words before sign extending to high words. | |
5458 | ||
5459 | 2000-10-25 Nick Clifton <nickc@redhat.com> | |
5460 | ||
5461 | * config/mcore/mcore.c: Include config.h before system.h. | |
5462 | ||
5463 | 2000-10-25 Ray Essick <essick@ddna.labs.mot.com> | |
5464 | ||
5465 | * config/mcore/mcore.md (return): Force function epilogue to | |
5466 | always be generated to work around epilogue suppression bug in | |
5467 | M*Core backend. | |
5468 | ||
5469 | 2000-10-25 Joseph S. Myers <jsm28@cam.ac.uk> | |
5470 | ||
5471 | * c-decl.c (grokdeclarator): Move warning for qualified void | |
5472 | return types with -pedantic to when the function type is | |
5473 | constructed. At -W, warn in general for qualified function return | |
5474 | types, except for volatile void. | |
5475 | * invoke.texi: Document this new warning at -W. | |
5476 | ||
5477 | 2000-10-25 Neil Booth <neilb@earthling.net> | |
5478 | ||
5479 | * cpp.texi: Update with implementation-defined behavior and | |
5480 | internal limits. | |
5481 | ||
5482 | 2000-10-25 Jakub Jelinek <jakub@redhat.com> | |
5483 | ||
5484 | * stor-layout.c (layout_type): If TYPE_ALIAS_SET was already set on the | |
5485 | incomplete type force it into alias set 0. | |
5486 | ||
5487 | Wed Oct 25 01:02:44 EDT 2000 John Wehle (john@feith.com) | |
5488 | ||
5489 | * alias.c: Include basic-block.h. | |
5490 | (loop_p): New function. | |
5491 | (mark_constant_function): Use it. | |
5492 | * Makefile.in (alias.o): Update dependencies. | |
5493 | ||
5494 | 2000-10-24 Aldy Hernandez <aldyh@redhat.com> | |
5495 | ||
5496 | * config/mn10300/mn10300.c (secondary_reload_class): Treat pseudos | |
5497 | like memory. | |
5498 | ||
5499 | 2000-10-24 Jim Wilson <wilson@cygnus.com> | |
5500 | ||
5501 | * expmed.c (store_bit_field): Move integer pun code down after | |
5502 | code that calls emit_move_insn for entire register move. | |
5503 | * stor-layout.c (compute_record_mode): Revert Mar 25, Aug 18, and | |
5504 | Oct 20 changes. Only store mode in TYPE_MODE if RECORD_TYPE. | |
5505 | ||
5506 | 2000-10-24 Richard Henderson <rth@cygnus.com> | |
5507 | ||
5508 | * rtlanal.c (rtx_unstable_p, rtx_varies_p): Don't consider pic | |
5509 | register stable if PIC_OFFSET_TABLE_REG_CALL_CLOBBERED. | |
5510 | ||
5511 | 2000-10-24 Aldy Hernandez <aldyh@redhat.com> | |
5512 | ||
5513 | * gcse.c (cprop_insn): do not propagate constants into jump_insn | |
5514 | for machines with CC0 more than once. | |
5515 | ||
5516 | 2000-10-24 Richard Henderson <rth@cygnus.com>, Aldy <aldyh@cygnus.com> | |
5517 | ||
5518 | * config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS): Treat | |
5519 | pseudos just like memory. | |
5520 | ||
5521 | 2000-10-24 Alexandre Oliva <aoliva@redhat.com> | |
5522 | ||
5523 | * combine.c (distribute_notes): Discard REG_LIBCALL and REG_RETVAL | |
5524 | when deleting libcall sequence collapsed to a single instruction. | |
5525 | ||
5526 | 2000-10-24 Andrew Haley <aph@cygnus.co.uk> | |
5527 | ||
5528 | * expr.c (do_store_flag): Don't crash if either side of a | |
5529 | comparison is error_mark_node. | |
5530 | ||
5531 | 2000-10-24 Jakub Jelinek <jakub@redhat.com> | |
5532 | ||
5533 | * sibcall.c (purge_mem_unchanging_flag): New function. | |
5534 | (optimize_sibling_and_tail_recursive_calls): Call it. | |
5535 | ||
5536 | 2000-10-24 Philipp Thomas <pthomas@suse.de> | |
5537 | ||
5538 | * Makefile.in (check-po): New target for doing checks in the po | |
5539 | subdir if all languages configured. | |
5540 | (CHECK_TARGETS): Add @CHECK_PO@, replaced with check-po via | |
5541 | configure if NLS is enabled. | |
5542 | * configure.in: If NLS is enabled, substitute CHECK_PO by check-po, | |
5543 | otherwise leave empty. | |
5544 | * configure: Regenerate. | |
5545 | ||
5546 | 2000-10-23 Diego Novillo <dnovillo@cygnus.com> | |
5547 | ||
5548 | * i386.c (print_operand): Handle new 'A' formatting code. | |
5549 | 387 opcodes need suffixes even with -mintel-syntax. | |
5550 | Check for explicit size override (codes 'b', 'w' and 'k'). | |
5551 | (print_operand_address): Check if register prefix is needed when | |
5552 | emitting `ds' segment override. | |
5553 | * i386.h: Add comment about new 'A' formatting code. | |
5554 | * i386.md (jump and call patterns): Emit absolute references using %A. | |
5555 | ||
5556 | 2000-10-23 Richard Henderson <rth@cygnus.com> | |
5557 | ||
5558 | * config/ia64/ia64.c (ia64_expand_prologue): Mark extra | |
5559 | output registers as fixed. | |
5560 | (ia64_function_epilogue): Undo output fixation. | |
5561 | ||
5562 | 2000-10-23 Richard Henderson <rth@cygnus.com> | |
5563 | ||
5564 | * config/alpha/alpha.md: Add names for all unnamed insns; use | |
5565 | define_insn_and_split in some obvious places. | |
5566 | (lda): Remove. | |
5567 | (zero_extendqihi2): Use an expander w/ nonimmediate_operand for BWX. | |
5568 | (zero_extendqisi2, zero_extendqidi2): Likewise. | |
5569 | (zero_extendhisi2, zero_extendhidi2): Likewise. | |
5570 | (abs splitters): Fix match_scratch operand number. | |
5571 | (bcc_reverse): Swap pc & label instead of non-canonical compare. | |
5572 | ||
5573 | 2000-10-23 Jim Wilson <wilson@cygnus.com> | |
5574 | ||
5575 | * ia64.c (ia64_print_operand, case 'r'): Correct comment. Handle | |
5576 | CONST_INT. | |
5577 | * ia64.md (cmpsi_adjusted): Use %r3. | |
5578 | (cmpdi_adjusted): Likewise. | |
5579 | ||
5580 | 2000-10-23 Diego Novillo <dnovillo@cygnus.com> | |
5581 | ||
5582 | * config/i386/att.h (ASM_FILE_START): Define. | |
5583 | ||
5584 | 2000-10-23 Diego Novillo <dnovillo@cygnus.com> | |
5585 | ||
5586 | * config/i386/linux.h (ASM_FILE_START): Define. | |
5587 | ||
5588 | Wed Oct 18 11:16:40 2000 Donald Lindsay <dlindsay@cygnus.com> | |
5589 | ||
5590 | * gcc/configure.in: m68k-coff tm_file should not have libgloss.h, | |
5591 | since this (only) drags in a crt0.o reference that the .ld files | |
5592 | also introduce. | |
5593 | ||
5594 | 2000-10-23 Geoff Keating <geoffk@cygnus.com> | |
5595 | ||
5596 | * reload1.c (reload_reg_reaches_end_p): A RELOAD_OTHER can | |
5597 | overwrite the value in a RELOAD_FOR_INPUT and other kinds of | |
5598 | reloads just like an RELOAD_FOR_OUTPUT would. | |
5599 | ||
5600 | * local-alloc.c (update_equiv_regs): Add an abort(). When | |
5601 | deleting or moving insns, update reg_equiv[regno].init_insns. | |
5602 | ||
5603 | 2000-10-23 Mark Mitchell <mark@codesourcery.com> | |
5604 | ||
5605 | * c-tree.texi: Improve documentation for IF_STMTs and related | |
5606 | conditional statements. | |
5607 | ||
5608 | 2000-10-22 Mark Mitchell <mark@codesourcery.com> | |
5609 | ||
5610 | * expr.c (do_preexpand_calls): Remove. | |
5611 | (same_from_p): Don't use CALL_EXPR_RTL. | |
5612 | (expand_expr): Don't call preexpand_calls, or use CALL_EXPR_RTL. | |
5613 | (preexpand_calls): Remove. | |
5614 | * tree.c (first_rtl_op): Remove CALL_EXPR case. | |
5615 | (unsave_expr_1): Likewise. | |
5616 | * tree.def (CALL_EXPR): Give it only two slots. | |
5617 | * tree.h (CALL_EXPR_RTL): Remove. | |
5618 | ||
5619 | 2000-10-21 Chandrakala Chavva <cchavva@redhat.com> | |
5620 | ||
5621 | * libgcc-std.ver (__addvsi3, __addvdi3, __subvsi3, __subvdi3, | |
5622 | __mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3): | |
5623 | New functions. | |
5624 | ||
5625 | 2000-10-22 Alexandre Oliva <aoliva@redhat.com> | |
5626 | ||
5627 | * calls.c (combine_pending_stack_adjustment_and_call): Don't | |
5628 | adjust stack when unadjusted_alignment ends up as zero. | |
5629 | ||
5630 | 2000-10-22 Joseph S. Myers <jsm28@cam.ac.uk> | |
5631 | ||
5632 | * fixinc/genfixes: Remove EGCS reference. | |
5633 | * install.texi: Remove EGCS reference. | |
5634 | * INSTALL: Regenerate. | |
5635 | ||
5636 | 2000-10-22 Mark Mitchell <mark@codesourcery.com> | |
5637 | ||
5638 | * tree.h (TYPE_IS_SIZETYPE): Add more documentation. | |
5639 | ||
5640 | 2000-10-21 Joseph S. Myers <jsm28@cam.ac.uk> | |
5641 | ||
5642 | * diagnostic.c: Remove EGCS reference in comment. | |
5643 | ||
5644 | Sat Oct 21 08:24:25 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
5645 | ||
5646 | * loop.c (strength_reduce): Fix error in last change. | |
5647 | ||
5648 | 2000-10-20 David Edelsohn <edelsohn@gnu.org> | |
5649 | ||
5650 | * Makefile.in (SHLIB_NM_FLAGS): New. | |
5651 | (libgcc.mk): Pass it. | |
5652 | * mklibgcc.in (libgcc.map): Use it. | |
5653 | ||
5654 | * rs6000/t-aix43 (SHLIB_EXT, SHLIB_LINK, SHLIB_LIBS, | |
5655 | SHLIB_MKMAP, SHLIB_MAPFILES, SHLIB_NM_FLAGS): New. | |
5656 | ||
5657 | 2000-10-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
5658 | ||
5659 | * mips.h (REG_CLASS_FROM_LETTER): Cast array arg to unsigned char. | |
5660 | ||
5661 | * sparc.c (load_pic_register): Delete unused varaible. | |
5662 | ||
5663 | * libgcc2.c (__addvsi3): Delete unused variable. | |
5664 | ||
5665 | * libgcc2.h (__absvsi2, __absvdi2, __addvsi3, __addvdi3, | |
5666 | __subvsi3, __subvdi3, __mulvsi3, __mulvdi3, __negvsi2, | |
5667 | __negvdi2): Prototype. | |
5668 | ||
5669 | * ssa.c (apply_delayed_renames): Avoid undefined operation. | |
5670 | ||
5671 | * toplev.c (display_target_options): Make static to match | |
5672 | prototype. Delete empty declaration. | |
5673 | ||
5674 | 2000-10-20 Tom Tromey <tromey@cygnus.com> | |
5675 | ||
5676 | * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT. | |
5677 | * gcc.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT. | |
5678 | ||
5679 | Fri Oct 20 17:05:49 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
5680 | ||
5681 | * expr.c (expand_expr, case SAVE_EXPR): Set RTX_UNCHANGING_P on | |
5682 | returned MEM. | |
5683 | (expand_expr_unaligned, case ARRAY_REF): Check that index is | |
5684 | a constant before comparing it; use tree_low_cst. | |
5685 | * tree.c (save_expr): Set TREE_READONLY. | |
5686 | (substitute_expr): Return inside of NON_LVALUE_EXPR. | |
5687 | (build, build1): Set TREE_READONLY if all operands are. | |
5688 | (build_index_type): If upper bound is a negative number, lower | |
5689 | bound is zero and sizetype is unsigned, use upper bound of one and | |
5690 | lower of zero. | |
5691 | ||
5692 | 2000-10-20 David Edelsohn <edelsohn@gnu.org> | |
5693 | ||
5694 | * gcc.c (process_command, main): Use "because" instead of | |
5695 | "since" in error messages. | |
5696 | ||
5697 | Fri Oct 20 13:33:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
5698 | ||
5699 | * stor-layout.c (compute_record_mode): Use tree_low_cst. | |
5700 | Don't use mode of field for record unless sizes are the same. | |
5701 | (layout_type, case ARRAY_TYPE): Remove special bounds handling | |
5702 | previously added for Ada; also change to using host_integerp | |
5703 | and tree_low_cst. | |
5704 | ||
5705 | * loop.c (strength_reduce): Show when new register made for | |
5706 | giv is known to be a pointer and its aligment if so and known. | |
5707 | (loop_dump_aux): Show VERBOSE parameter unused. | |
5708 | ||
5709 | * gcse.c (set_hash_table_size): Now unsigned. | |
5710 | * sdbout.c (template_name_p): Add "const" to avoid warnings. | |
5711 | (sdbout_record_type_name, plain_type_1, sdbout_symbol): Likewise. | |
5712 | (sdbout_one_type, sdbout_parms, sdbout_reg_parms): Likewise. | |
5713 | (sdbout_end_epilogue): Remove variable NAME. | |
5714 | * system.h (getopt): Add default definition. | |
5715 | * config/alpha/alpha.c (print_operand): Don't continue processing | |
5716 | after issuing error. | |
5717 | (summarize_insn): Avoid use of UL in constant. | |
5718 | ||
5719 | * function.c (locate_and_pad_parm): Use host_integerp and tree_low_cst. | |
5720 | ||
5721 | * fold-const.c (force_fit_type): Unsigned values can overflow | |
5722 | if they are sizetype. | |
5723 | (int_const_binop): Don't use cache if overflows. | |
5724 | ||
5725 | 2000-10-20 Richard Henderson <rth@cygnus.com> | |
5726 | ||
5727 | * function.c (locate_and_pad_parm): Zero alignment_pad. | |
5728 | ||
5729 | * regrename.c (rr_replace_reg): Rewrite to use recog_data to | |
5730 | perform substitutions, and apply_change_group to see if it worked. | |
5731 | ||
5732 | Fri Oct 20 13:33:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
5733 | ||
5734 | * dwarf2out.c (add_bound_info): Also ignore COND_EXPR. | |
5735 | ||
5736 | * combine.c (struct undo): Change int to unsigned int. | |
5737 | (do_SUBST_INT): Args are unsigned int. | |
5738 | (make_extraction, force_to_mode): Use proper type when forming mask. | |
5739 | (make_field_assignment): Likewise. | |
5740 | ||
5741 | 2000-10-20 Joseph S. Myers <jsm28@cam.ac.uk> | |
5742 | ||
5743 | * c-common.c (check_format_info_recurse): Extract string constant | |
5744 | initializers from non-volatile constant arrays and check them as | |
5745 | formats. | |
5746 | * c-typeck.c (decl_constant_value): Don't check pedantic or check | |
5747 | for DECL_MODE (decl) != BLKmode. | |
5748 | (decl_constant_value_for_broken_optimization): New function which | |
5749 | includes these checks. | |
5750 | (default_conversion, convert_for_assignment, digest_init): Use | |
5751 | decl_constant_value_for_broken_optimization instead of | |
5752 | decl_constant_value. | |
5753 | ||
5754 | 2000-10-20 Mark Mitchell <mark@codesourcery.com> | |
5755 | ||
5756 | * tree.h (DECL_ALIGN_UNIT): New macro. | |
5757 | ||
5758 | 2000-10-14 Marek Michalkiewicz <marekm@linux.org.pl> | |
5759 | ||
5760 | * config/avr/avr-protos.h (avr_output_bld): New. | |
5761 | (out_shift_with_cnt): Add t_len argument. | |
5762 | * config/avr/avr.c (avr_num_arg_regs): Remove -mpack-args. | |
5763 | (output_movqi, output_movhi, output_movsisf): Optimize loading | |
5764 | any constant with exactly one bit set to NO_LD_REGS. | |
5765 | (out_shift_with_cnt): Optimize output code for size or speed, | |
5766 | depending on optimize_size. Handle small shift counts as well | |
5767 | (if not hand-optimized in ?sh??i3_out). Shifts can be done | |
5768 | with or without a scratch register, with help of __tmp_reg__ | |
5769 | or __zero_reg__ if necessary. Add T_LEN argument to pass the | |
5770 | length of TEMPLATE in words, return total insn length in *LEN. | |
5771 | (ashlqi3_out, ashrqi3_out, lshrqi3_out): Change all calls to | |
5772 | out_shift_with_cnt to work with the above change. | |
5773 | (ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out, lshrhi3_out, | |
5774 | lshrsi3_out): Likewise. Optimize more known shift count cases. | |
5775 | Remove cases already well optimized in out_shift_with_cnt. | |
5776 | (avr_output_bld): New function. | |
5777 | * config/avr/avr.h (MASK_PACK_ARGS, TARGET_PACK_ARGS): Remove. | |
5778 | (TARGET_SWITCHES): Remove -mpack-args backward compatibility. | |
5779 | * config/avr/avr.md (*reload_inqi, *reload_inhi, *reload_insi): | |
5780 | Add reload_completed to insn condition - only for peepholes. | |
5781 | (ashlqi3, ashrqi3, lshrqi3): Correct insn length for shift counts | |
5782 | in a register or memory. | |
5783 | (ashlhi3, ashlsi3, ashrhi3, ashrsi3, lshrhi3, lshrsi3): Likewise. | |
5784 | Do not require a scratch register. | |
5785 | (*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const, | |
5786 | *lshrhi3_const, *lshrsi3_const): New insns and matching peepholes. | |
5787 | Optimize shifts by known count using a scratch register, but only | |
5788 | if one is still available after register allocation. | |
5789 | ||
5790 | 2000-10-20 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
5791 | ||
5792 | * t-vax: New file. Don't build modules from libgcc1.c. | |
5793 | ||
5794 | Fri Oct 20 00:57:00 EDT 2000 John Wehle (john@feith.com) | |
5795 | ||
5796 | * alias.c: (mark_constant_function): Don't check pure functions. | |
5797 | Initialize and end alias analysis. | |
5798 | (nonlocal_mentioned_p): Rename from nonlocal_reference_p. | |
5799 | Don't make a special exception for recursion. Handle | |
5800 | UNSPEC_VOLATILE. Don't assume ASM_OPERANDS is non-local | |
5801 | unless it's volatile. | |
5802 | ||
5803 | * local-alloc.c (equivalence): New structure. | |
5804 | (reg_equiv): Define. | |
5805 | (contains_replace_regs): Remove array and use | |
5806 | field in reg_equiv. | |
5807 | (memref_referenced_p): Likewise. | |
5808 | (no_equiv): Likewise. | |
5809 | (update_equiv_regs): Likewise. | |
5810 | ||
5811 | (equiv_init_varies_p, | |
5812 | equiv_init_movable_p): New functions. | |
5813 | (update_equiv_regs): Use them. Use rtx_varies_p | |
5814 | instead of function_invariant_p. Process insns | |
5815 | from end to beginning. Allow a REG_EQUIV insn | |
5816 | within the same loop as a use to be moved, also | |
5817 | allow it to be moved out of a loop. Update | |
5818 | REG_DEAD notes when substituting into an insn. | |
5819 | ||
5820 | 2000-10-19 Jim Wilson <wilson@cygnus.com> | |
5821 | ||
5822 | * c-decl.c (start_decl): Check for error_mark_node type before using | |
5823 | COMPLETE_TYPE_P. | |
5824 | (finish_decl): Likewise. Don't give an error if decl type is | |
5825 | already error_mark_node. | |
5826 | ||
5827 | * haifa-sched.c (compute_trg_info): Add explanatory comments. | |
5828 | New local update_blocks. Use update_blocks to remove duplicates | |
5829 | when computing update blocks. Check for bblst_table overflow. | |
5830 | (schedule_block): Add explanatory comment. Reduce bblst_size by | |
5831 | factor of 2. | |
5832 | * config/ia64/ia64.md (movdi_symbolic): Document loss of REG_LABEL | |
5833 | notes. | |
5834 | ||
5835 | 2000-10-19 Chandrakala Chavva <cchavva@redhat.com> | |
5836 | ||
5837 | * libgcc2.c (_mulvsi3): Change variables u and v to a and b. | |
5838 | ||
5839 | 2000-10-19 Chandrakala Chavva <cchavva@redhat.com> | |
5840 | ||
5841 | * expmed.c: Minor corrections in comments. | |
5842 | * invoke.texi: Added desciption for the new option -ftrapv. | |
5843 | ||
5844 | 2000-10-19 Chandrakala Chavva <cchavva@redhat.com> | |
5845 | ||
5846 | * libgcc2.c: Added the missing #endif. | |
5847 | ||
5848 | Thu Oct 19 14:25:11 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
5849 | ||
5850 | * i386.h (CONST_OK_FOR_LETTER): Re-add 'N'; document. | |
5851 | ||
5852 | 2000-10-18 Chandrakala Chavva <cchavva@redhat.com> | |
5853 | ||
5854 | * expmed.c (expand_mult): Don't do synth_mult optimization for -ftrapv. | |
5855 | Use smulv_optab for -ftrapv. | |
5856 | (expand_mult_highpart): Use unsigned multiply. | |
5857 | (expand_divmod): Special-case division by -1. | |
5858 | For EXACT_DIV_EXPR, do right shift first, then the multiply. | |
5859 | For complex divide, use abs with unsigned result. | |
5860 | * expr.c (force_operand): Use unsigned multiply. | |
5861 | (expand_expr): Use overflow-trapping optabs for signed types if | |
5862 | flag_trapv. | |
5863 | If flag_trapv, don't generate a recursive call with EXPAND_SUM | |
5864 | if the type is signed and the original call wasn't EXPAND_SUM or | |
5865 | EXPAND_INITIALIZER. | |
5866 | * expr.h (addv_optab, subv_optab, smulv_optab, sdivv_optab): Declare. | |
5867 | (negv_optab, absv_optab): Declare. | |
5868 | * flags.h (flag_trapv): Declare. | |
5869 | * genopinit.c (optabs): Add entries for addv_optab, subv_optab, | |
5870 | smulv_optab, sdivv_optab, negv_optab and absv_optab. | |
5871 | (gen_insn): Interpret '$P' as requiring an integer mode, | |
5872 | including partial integer modes. | |
5873 | * loop.c (emit_iv_add_mult): Use unsigned expand_mult_add. | |
5874 | (product_cheap_p): Use unsigned expand_mult. | |
5875 | * optabs.c (addv_optab, subv_optab, smulv_optab, sdivv_optab): Define. | |
5876 | (negv_optab, absv_optab): Define. | |
5877 | (expand_binop): Use overflow-trapping optabs for signed types if | |
5878 | flag_trapv. | |
5879 | Handle negv_optab libe neg_optab. | |
5880 | (expand_abs): Take result_unsignedp argument instead of unsignedp one. | |
5881 | Use overflow-trapping optabs for signed result if flag_trapv. | |
5882 | (expand_complex_abs): Use overflow-trapping optabs for signed types if | |
5883 | flag_trapv. | |
5884 | Don't open-code complex absolute-value operation for flag_trapv. | |
5885 | (init_optabs): Initialize addv_optab, subv_optab, smulv_optab, | |
5886 | sdivv_optab, negv_optab and absv_optab. | |
5887 | * toplev.c (flag_trapv): Define. | |
5888 | (lang_independent_options f_options): Include flag_trapv. | |
5889 | * tree.h (TYPE_TRAP_SIGNED): Define. | |
5890 | * libgcc2.c (__addvsi3, __addvdi3, __subvsi3,__subvsi3, __subvdi3, | |
5891 | __mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3): | |
5892 | New functions. | |
5893 | * Makefile.in: add _absvsi2 _absvdi2 _addvsi3 _addvdi3 _subvsi3 | |
5894 | _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2. | |
5895 | ||
5896 | 2000-10-18 Geoffrey Keating <geoffk@cygnus.com> | |
5897 | David V. Henkel-Wallace <gumby@cygnus.com> | |
5898 | ||
5899 | * config/i386/t-netware: Bring in from the Red Hat tree. | |
5900 | * config/i386/netware.h: Likewise. | |
5901 | * config/netware.h: Likewise. | |
5902 | * config/rs6000/netware.h: Delete. | |
5903 | * configure.in: Add i[34567]86-*-netware. | |
5904 | * configure: Hand-edit to match configure.in change. | |
5905 | ||
5906 | 2000-10-18 Mark Mitchell <mark@codesourcery.com> | |
5907 | ||
5908 | * c-common.h (flag_no_builtin): Declare. | |
5909 | (flag_no_nonansi_builtin): Likewise. | |
5910 | (c_common_nodes_and_builtins): Change prototype. | |
5911 | * c-common.c (flag_no_builtin): New variable. | |
5912 | (flag_no_nonansi_builtin): Likewise. | |
5913 | (c_common_nodes_and_builtins): Remove parameters. Adjust | |
5914 | accordingly. | |
5915 | * c-decl.c (flag_no_builtin): Remove. | |
5916 | (flag_no_nonansi_builtin): Likewise. | |
5917 | (init_decl_processing): Adjust call to | |
5918 | c_common_nodes_and_builtins. | |
5919 | ||
5920 | 2000-10-18 Marc Espie <espie@openbsd.org> | |
5921 | ||
5922 | * tm.texi (LIBGCC_SPEC): Synch with reality. | |
5923 | ||
5924 | 2000-10-18 Joseph S. Myers <jsm28@cam.ac.uk> | |
5925 | ||
5926 | * c-common.c (check_format_types): Check for writing through a | |
5927 | NULL pointer argument. | |
5928 | ||
5929 | 2000-10-18 Hans-Peter Nilsson <hp@axis.com> | |
5930 | ||
5931 | * tm.texi (Exception Region Output): Document | |
5932 | DWARF_CIE_DATA_ALIGNMENT. | |
5933 | * dwarf2out.c (DWARF_CIE_DATA_ALIGNMENT): Wrap definition in | |
5934 | #ifndef. | |
5935 | [ENABLE_CHECKING] (reg_save): Abort if offset is not a multiple of | |
5936 | DWARF_CIE_DATA_ALIGNMENT. | |
5937 | ||
5938 | 2000-10-18 Michael Hayes <mhayes@cygnus.com> | |
5939 | ||
5940 | * basic-block.h (struct loop): Delete fields pre_header_root | |
5941 | and pre_header_trace and replace with pre_header_edges | |
5942 | and num_pre_header_edges. | |
5943 | * flow.c (flow_loop_dump): Dump pre_header_edges. | |
5944 | (flow_loops_free): Free pre_header_edges. | |
5945 | (flow_loop_pre_header_scan): Calculate pre_header_edges. | |
5946 | ||
5947 | 2000-10-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> | |
5948 | ||
5949 | * contrib.texi: Update references to steering committee members | |
5950 | and Jeff Law's entry. | |
5951 | ||
5952 | 2000-10-18 Joseph S. Myers <jsm28@cam.ac.uk> | |
5953 | ||
5954 | * c-common.c (CPLUSPLUS_STD_VER, C_STD_VER, C_STD_NAME): Define. | |
5955 | (maybe_read_dollar_number, check_format_info_main): Use them for | |
5956 | pedantic warning messages. | |
5957 | ||
5958 | 2000-10-18 Joseph S. Myers <jsm28@cam.ac.uk> | |
5959 | ||
5960 | * c-common.c (check_format_info_main): Minor cleanup: move | |
5961 | variables into inner scopes; initialize declarations where | |
5962 | appropriate; don't hardcode "scanf" name on warning for zero | |
5963 | width. | |
5964 | ||
5965 | 2000-10-17 Mark Mitchell <mark@codesourcery.com> | |
5966 | ||
5967 | * c-common.c (back_end_hook): New variable. | |
5968 | * c-common.h (back_end_hook): Declare it. | |
5969 | * c-lang.c (finish_file): Use it. | |
5970 | ||
5971 | * emit-rtl.c (init_emit_once): Initialize the const_int_htab | |
5972 | earlier. | |
5973 | ||
5974 | 2000-10-18 Jan Hubicka <jh@suse.cz> | |
5975 | ||
5976 | * i386.c (ix86_comparison_operator, put_condition_code, | |
5977 | ix86_match_ccmode, ix86_cc_mode): Handle CCRCmode. | |
5978 | (ix86_expand_strlensi_unroll_1): Use CCRCmode. | |
5979 | * i386.h (EXTRA_CC_MODES): Add CCRCmode. | |
5980 | * i386.md (adddi and negdi splitter): Use CCRCmode. | |
5981 | (add?i_3, add?i_4, add?i_5): Use CCRCmode; swap operands | |
5982 | (subsi3_carry): add '*' | |
5983 | (addsi3_carry_rc, subsi3_carry_rc, x86_movsicc_0_m1_rc): New. | |
5984 | (cmp to add peep2): Use CCRCmode; swap operands. | |
5985 | ||
5986 | 2000-10-18 Kazu Hirata <kazu@hxi.com> | |
5987 | ||
5988 | * h8300.c: Fix a comment typo. | |
5989 | (round_frame_size): New. | |
5990 | (compute_saved_regs): Likewise. | |
5991 | (push): Likewise. | |
5992 | (pop): Likewise. | |
5993 | (push_order): Remove. | |
5994 | (pop_order): Likewise. | |
5995 | (function_prologue): Rearrange code for readability. | |
5996 | (function_epilogue): Likewise. | |
5997 | ||
5998 | * config/h8300/h8300.md: Remove an unnecessary sign_extend | |
5999 | expander that is used when not optimizing. Output a tab after | |
6000 | each assembly insns. | |
6001 | ||
6002 | * reorg.c: Fix formatting. | |
6003 | ||
6004 | 2000-10-17 Joern Rennecke <amylaar@redhat.co.uk> | |
6005 | ||
6006 | * reload1.c (move2add_note_store): Check for simple | |
6007 | auto-inc in destination. | |
6008 | ||
6009 | 2000-10-17 Michael Chastain <chastain@redhat.com> | |
6010 | ||
6011 | * config/i386/i386-aout.h: define INT_ASM_OP. | |
6012 | ||
6013 | Tue Oct 17 20:11:08 2000 Alan Modra <alan@linuxcare.com.au> | |
6014 | ||
6015 | * pa.c (print_operand): Handle case 'c' for .vtable_inherit | |
6016 | ||
6017 | Tue Oct 17 20:05:51 2000 Martin Buchholz <martin@xemacs.org> | |
6018 | ||
6019 | * i370.md: Fix spelling typo. | |
6020 | ||
6021 | 2000-10-17 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | |
6022 | ||
6023 | * function.c (locate_and_pad_parm): Don't align stack unconditionally. | |
6024 | Fixes execute/20001017-1.c on powerpc-linux-gnu. | |
6025 | ||
6026 | * expr.c (store_constructor): Apply MEM_ALIAS_SET to MEMs only. | |
6027 | * rs6000/rs6000.c (rs6000_hash_constant): Use X0INT to access a | |
6028 | LABEL_REF. | |
6029 | ||
6030 | * rs6000/rs6000.h (NO_DOLLAR_IN_LABEL, DOLLARS_IN_IDENTIFIERS, | |
6031 | ENCODE_SECTION_INFO, ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Move from | |
6032 | here... | |
6033 | * rs6000/aix.h: ...to here. | |
6034 | * rs6000/linux.h (ASM_APP_ON, ASM_APP_OFF): Define to Linux-style. | |
6035 | ||
6036 | 2000-10-17 Jakub Jelinek <jakub@redhat.com> | |
6037 | ||
6038 | * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Reload gp if needed. | |
6039 | ||
6040 | * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Always use call, make | |
6041 | sure linker can relax even the delay slot mov %g1,%o7, fix output | |
6042 | formating. | |
6043 | ||
6044 | 2000-10-17 Kazu Hirata <kazu@hxi.com> | |
6045 | ||
6046 | * config/h8300/h8300.md: Remove an unnecessary zero_extend | |
6047 | expander that is used when not optimizing. Output a tab after | |
6048 | each assembly insns. | |
6049 | ||
6050 | 2000-10-17 Chandrakala Chavva <cchavva@redhat.com> | |
6051 | ||
6052 | * gcc.c: New options --target-help. | |
6053 | (process_command): Added code to parse this new option. | |
6054 | * toplev.c (display_target_options): New function to support the | |
6055 | above new option. | |
6056 | * cppinit.c (new_pending_directive) : New option OPT_target__help. | |
6057 | (cpp_handle_option): Support this new option. | |
6058 | * invoke.texi: Added notes about --target-help option. | |
6059 | ||
6060 | 2000-10-17 Graham Stott <grahams@redhat.com> | |
6061 | ||
6062 | * config/i386/i386.md (testqi_1): Add missing operand prefix | |
6063 | for operand 0. | |
6064 | * config/i386/i386-protos.h: Add missing prototype. | |
6065 | ||
6066 | 2000-10-17 Diego Novillo <dnovillo@cygnus.com> | |
6067 | ||
6068 | * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Symbol | |
6069 | _GLOBAL_OFFSET_TABLE should not have a $ prefix when | |
6070 | using -mintel-syntax. | |
6071 | ||
6072 | 2000-10-17 Joseph S. Myers <jsm28@cam.ac.uk> | |
6073 | ||
6074 | * c-common.c (FMT_FLAG_DOLLAR_MULTIPLE): Define. | |
6075 | (format_types): Use it for printf. | |
6076 | (maybe_read_dollar_number): Add parameter for the kind of format | |
6077 | involved. Warn for multiple use for arguments if this is | |
6078 | inappropriate for the kind of format involved. | |
6079 | (check_format_info_main): Update calls to maybe_read_dollar_number. | |
6080 | ||
6081 | 2000-10-17 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
6082 | ||
6083 | * inclhack.def (hpux_maxint): Also apply fix to values.h. | |
6084 | * fixincl.x: Rebuilt. | |
6085 | ||
6086 | 2000-10-17 Alexandre Oliva <aoliva@redhat.com> | |
6087 | ||
6088 | * genrecog.c (write_switch): Return the first condition that needs a | |
6089 | label. | |
6090 | ||
6091 | 2000-10-17 Bernd Schmidt <bernds@redhat.co.uk> | |
6092 | ||
6093 | * c-tree.h (warn_sequence_point): Move declaration to... | |
6094 | * c-common.h (warn_sequence_point): ... here. | |
6095 | * c-decl.c (warn_sequence_point): Move definition to... | |
6096 | * c-common.c (warn_sequence_point): ... here. | |
6097 | (struct reverse_tree): New. | |
6098 | (reverse_list, reverse_max_depth): New static variables. | |
6099 | (build_reverse_tree, common_ancestor, modify_ok | |
6100 | verify_sequence_points): New functions. | |
6101 | (c_expand_expr_stmt): Call verify_sequence_points if -Wsequence-point. | |
6102 | * c-typeck.c (check_modify_expr): Delete. | |
6103 | (build_modify_expr): Don't call it. | |
6104 | ||
6105 | 2000-10-17 Joseph S. Myers <jsm28@cam.ac.uk> | |
6106 | ||
6107 | * c-common.h (warn_missing_format_attribute): New variable. | |
6108 | * c-decl.c (warn_missing_format_attribute): New variable. | |
6109 | (c_decode_option): Decode -Wmissing-format-attribute and | |
6110 | -Wno-missing-format-attribute. | |
6111 | * c-common.c (check_function_format): If | |
6112 | -Wmissing-format-attribute, give a warning where a vprintf or | |
6113 | vscanf function is called by a function without its own printf or | |
6114 | scanf attribute. | |
6115 | * toplev.c (documented_lang_options): Add | |
6116 | -Wmissing-format-attribute. | |
6117 | * invoke.texi: Document -Wmissing-format-attribute. | |
6118 | ||
6119 | 2000-10-17 Marc Espie <espie@openbsd.org> | |
6120 | ||
6121 | * invoke.texi (-shared): Insist on requiring code generation flags | |
6122 | to be used along with -shared, and document the subtle failure that | |
6123 | may occur otherwise. | |
6124 | ||
6125 | 2000-10-16 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
6126 | ||
6127 | * pa.md (return_internal): Move `use' after `return'. | |
6128 | ||
6129 | 2000-10-16 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr> | |
6130 | ||
6131 | * machmode.def: Correct comment. | |
6132 | ||
6133 | 2000-10-16 Rodney Brown <RodneyBrown@mynd.com> | |
6134 | ||
6135 | * print-rtl.c (print_rtx_head): Constify. | |
6136 | * rtl.h (print_rtx_head): Similarly. | |
6137 | ||
6138 | * config/pa/pa/pa-protos.h (output_64bit_and, output_64bit_ior): | |
6139 | Constify char * return value. | |
6140 | * config/pa/pa/pa.c | |
6141 | (output_64bit_and, output_64bit_ior): Constify char * return value. | |
6142 | (pa_can_combine_p): Make static. | |
6143 | (function_arg): Decorate unused `named' argument. Fix comment typo. | |
6144 | (function_arg_partial_nregs): Decorate unused `named' argument. | |
6145 | ||
6146 | 2000-10-16 Joseph S. Myers <jsm28@cam.ac.uk> | |
6147 | ||
6148 | * c-common.c (format_check_results): New structure. | |
6149 | (finish_dollar_format_checking): Adjust to take a | |
6150 | format_check_results * parameter. | |
6151 | (check_format_info, check_format_info_recurse, | |
6152 | check_format_info_main): Split check_format_info into three | |
6153 | functions, the main checking going in check_format_info_main. | |
6154 | Recurse when any reduction of the format string argument towards a | |
6155 | string literal is done; go down both branches of a conditional | |
6156 | expression. Don't warn for extra format arguments or empty format | |
6157 | strings if they only occur in some branches of a conditional | |
6158 | expression. | |
6159 | ||
6160 | 2000-10-16 Kazu Hirata <kazu@hxi.com> | |
6161 | ||
6162 | * config/h8300/h8300.c: Remove obstack. Include ggc.h. | |
6163 | ||
6164 | 2000-10-16 Jakub Jelinek <jakub@redhat.com> | |
6165 | ||
6166 | * rtlanal.c (may_trap_p): Check operand modes of COMPARE. | |
6167 | ||
6168 | 2000-10-15 Diego Novillo <dnovillo@cygnus.com> | |
6169 | ||
6170 | * i386.md (*movsi_or): Switch operand order for intel syntax. | |
6171 | ||
6172 | 2000-10-14 Joseph S. Myers <jsm28@cam.ac.uk> | |
6173 | ||
6174 | * PROBLEMS: Remove. | |
6175 | ||
6176 | * gcc.texi (Contributing): Update. | |
6177 | ||
6178 | 2000-10-13 Diego Novillo <dnovillo@cygnus.com> | |
6179 | ||
6180 | * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Output final jump using | |
6181 | appropriate assembler dialect. | |
6182 | ||
6183 | 2000-10-13 Alexandre Oliva <aoliva@redhat.com> | |
6184 | ||
6185 | * c-common.c (c_expand_builtin): PARAMS-ize prototype. | |
6186 | ||
6187 | 2000-10-12 Marek Michalkiewicz <marekm@linux.org.pl> | |
6188 | ||
6189 | * config/avr/avr.c (output_movhi, output_movsisf): Fix loading | |
6190 | constants 1 and 2 to NO_LD_REGS. | |
6191 | ||
6192 | 2000-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
6193 | ||
6194 | * Makefile.in (c-parse.c, tradcif.c): Create atomically. | |
6195 | ||
6196 | * objc/Make-lang.in (objc-parse.c): Likewise. | |
6197 | ||
6198 | 2000-10-13 Richard Earnshaw <rearnsha@arm.com> | |
6199 | ||
6200 | * arm.c: Include obstack.h | |
6201 | (minipool_obstack, minipool_startobj): Define. | |
6202 | (arm_add_gc_roots): Initialize them. | |
6203 | (create_fix_barrier): Use our new obstack. | |
6204 | (push_minipool_barrier, push_minipool_fix): Likewise. | |
6205 | (arm_reorg): Release obstack memory. | |
6206 | ||
6207 | 2000-10-13 Jakub Jelinek <jakub@redhat.com> | |
6208 | ||
6209 | * config/sparc/sparc.md (nonlocal_goto_receiver): Remove. | |
6210 | (prologue, exception_receiver, builtin_setjmp_receiver): New | |
6211 | patterns. | |
6212 | * config/sparc/sparc.h (FINALIZE_PIC): Remove. | |
6213 | * config/sparc/sparc-protos.h (finalize_pic): Remove. | |
6214 | (load_pic_register): New prototype. | |
6215 | * config/sparc/sparc.c (pic_setup_code): Remove. | |
6216 | (finalize_pic): Rename to... | |
6217 | (load_pic_register): ...this function. | |
6218 | Don't look for nonlocal_goto_receivers and emit pic setup code | |
6219 | directly. Don't check current_function_uses_pic_offset_table. | |
6220 | ||
6221 | 2000-10-13 Richard Earnshaw <rearnsha@arm.com> | |
6222 | ||
6223 | * tree.h (struct obstack): Declare. | |
6224 | ||
6225 | 2000-10-12 Mark Mitchell <mark@codesourcery.com> | |
6226 | ||
6227 | Remove obstacks. | |
6228 | * Makefile.in (ggc-callbacks.o): Remove target. | |
6229 | (flow.o): Depend on GGC_H. | |
6230 | * alias.c (init_alias_analysis): | |
6231 | Remove ggc_p conditionals. | |
6232 | (end_alias_analysis): Likewise. | |
6233 | * basic-block.h (init_flow): New function. | |
6234 | (allocate_reg_life_data): Declare. | |
6235 | * bb-reorder.c (function_obstack): Replace with ... | |
6236 | (flow_obstack): ... new variable. | |
6237 | (fixup_reorder_chain): Use it. | |
6238 | * c-decl.c (ggc_p): Remove. | |
6239 | (caller-save.c): Don't call oballoc/obfree. | |
6240 | * combine.c (struct | |
6241 | undobuf): Remove storage. | |
6242 | (try_combine): Don't call oballoc. | |
6243 | (undo_all): Don't call obfree. | |
6244 | * cse.c (insert): Use xmalloc, not | |
6245 | oballoc. | |
6246 | (cse_main): Adjust accordingly. | |
6247 | * dwarf2out.c (save_rtx): Remove | |
6248 | obstack code. | |
6249 | (dwarf2out_init): Remove ggc_p conditionals. | |
6250 | * emit-rtl.c (rtl_obstack): Remove. | |
6251 | (gen_rtx_CONST_INT): Remove ggc_p conditionals. | |
6252 | (make_insn_raw): Likewise. | |
6253 | (emit_insn_before): Likewise. | |
6254 | (emit_insn_after): Likewise. | |
6255 | (emit_insn): Likewise. | |
6256 | (gen_sequence): Likewise. | |
6257 | (copy_insn_1): Remove handling of `b' RTL components. | |
6258 | (init_emit_once): Remove ggc_p conditionals. | |
6259 | * except.c (create_rethrow_ref): Don't fool with obstacks. | |
6260 | (add_partial_entry): Likewise. | |
6261 | (call_get_eh_context): Likewise. | |
6262 | (begin_protect_partials): Likewise. | |
6263 | (protect_with_terminate): Likewise. | |
6264 | * explow.c | |
6265 | (plus_constant_wide): Likewise. | |
6266 | * expr.c (init_expr_once): | |
6267 | Likewise. | |
6268 | (emit_block_move): Likewise. | |
6269 | (clear_storage): Likewise. | |
6270 | (expand_expr): Likewise. | |
6271 | * flow.c (function_obstack): Remove. | |
6272 | (flow_obstack): New variable. | |
6273 | (flow_firstobj): Likewise. | |
6274 | (create_base_block): Use the flow_obstack. | |
6275 | (split_block): Likewise. | |
6276 | (split_edge): Likewise. | |
6277 | (calculate_global_regs_live): Likewise. | |
6278 | (allocate_bb_life_data): Make it static. Likewiwse. | |
6279 | (init_flow): New function. | |
6280 | (size_int_type_wide): Remove ggc_p conditionals. | |
6281 | * function.c | |
6282 | (push_function_context_to): Don't call save_tree_status. | |
6283 | (pop_function_context_from): Or restore_tree_status. | |
6284 | (assign_stack_local_1): Don't call push_obstacks. | |
6285 | (find_fixup_replacement): Use xmalloc. | |
6286 | (fixup_var_refs_insns): Free the storage. | |
6287 | (insns_for_mem_walk): Don't mess with obstacks. | |
6288 | (instantiate_decls): Likewise. | |
6289 | (trampoline_address): Likewise. | |
6290 | (expand_function_end): Likewise. | |
6291 | * function.h (sturct function): | |
6292 | Remove obstack-related variables. | |
6293 | (save_tree_status): Don't declare. | |
6294 | (restore_tree_status): Likewise. | |
6295 | * gcse.c (compute_can_copy): | |
6296 | Don't call oballoc/obfree. | |
6297 | * genattrtab.c (operate_exp): Remove | |
6298 | ggc_p conditionals. | |
6299 | (simplify_cond): Likewise. | |
6300 | (simplify_test_exp): Don't mess with obstacks. | |
6301 | (optimize_attrs): Likewise. | |
6302 | * gengenrtl.c (gendef): Don't include | |
6303 | ggc_p conditionals. | |
6304 | * ggc-callbacks.c (ggc_p): Remove. | |
6305 | * ggc-none.c (ggc_p): Remove. | |
6306 | * ggc.h (ggc_p): Don't declare. | |
6307 | * integrate.c (save_for_inline): Don't mess with obstacks. | |
6308 | (integrate_decl_tree): Likewise. | |
6309 | (output_inline_function): Likewise. | |
6310 | * lists.c | |
6311 | (init_EXPR_INSN_LIST_cache): Likewise. | |
6312 | * loop.c (temp_obstack): | |
6313 | Remove. | |
6314 | (rtl_obstack): Likewise. | |
6315 | (init_loop): Don't mess with obstacks. | |
6316 | (reg_address_cost): Free BIVs and GIVs. | |
6317 | (check_insns_for_bivs): Use xmalloc, not oballoc. | |
6318 | (find_mem_givs): Likewise. | |
6319 | (record_biv): Likewise. | |
6320 | (general_induction_var): Likewise. | |
6321 | (product_cheap_p): Likewse. | |
6322 | * optabs.c (init_one_libfunc): Remove | |
6323 | ggc_p conditional. | |
6324 | * print-tree.c (debug_tree): Don't use | |
6325 | oballoc/obfree. | |
6326 | (print_node): Likewise. | |
6327 | * profile.c (output_func_start_profiler): | |
6328 | Remove call to temporary_allocation. | |
6329 | * reload1.c | |
6330 | (eliminate_regs_in_insn): Don't mess with obstacks. | |
6331 | * resource.c | |
6332 | (mark_target_live_regs): Use xmalloc. | |
6333 | (free_resource_info): Free the memory. | |
6334 | * rtl.c (rtl_obstack): | |
6335 | Remove. | |
6336 | (rtvec_alloc): Don't mess with obstacks. | |
6337 | (rtx_alloc): Likewise. | |
6338 | (rtx_free): Remove. | |
6339 | (copy_rtx): Don't handle `b' cases. | |
6340 | (read_rtx): Use a local rtl_obstack. | |
6341 | * rtl.h (oballoc): Remove. | |
6342 | (obfree): Likewise. | |
6343 | (pop_obstacks): Likewise. | |
6344 | (push_obstacks): Likewise. | |
6345 | (allocate_bb_life_data): Likewise. | |
6346 | (allocate_reg_life_data): Likewise. | |
6347 | (rtx_free): Likewise. | |
6348 | * sdbout.c (sdbout_queue_anonymous_type): | |
6349 | Use tree_cons, not saveable_tree_cons. | |
6350 | * simplify-rtx.c | |
6351 | (cselib_init): Don't mess with obstacks. | |
6352 | * stmt.c | |
6353 | (mark_block_nesting): Mark the label_chain. | |
6354 | (epxand_label): Use ggc_alloc, not oballoc. | |
6355 | (clear_last_expr): Don't mess with obstacks. | |
6356 | (expand_decl_cleanup): Likewise. | |
6357 | (expand_dcc_cleanup): Likewise. | |
6358 | (expand_dhc_cleanup): Likewise. | |
6359 | (expand_anon_union_decl): Likewise. | |
6360 | (add_case_node): Use xmalloc, not oballoc. | |
6361 | (free_case_nodes): New function. | |
6362 | (expand_end_case): Call it. | |
6363 | * stor-layout.c (layout_type): Don't | |
6364 | mess with obstacks. | |
6365 | (layout_type): Likewise. | |
6366 | * toplev.c (wrapup_global_declarations): | |
6367 | Likewise. | |
6368 | (compile_file): Remove ggc_p conditionals. | |
6369 | (rest_of_compilation): Call init_flow. Remove ggc_p conditionals. | |
6370 | (decode_f_option): Remove ggc_p conditionals. | |
6371 | * tree.c | |
6372 | (function_maybepermanent_obstack): Remove. | |
6373 | (maybepermanent_obstack): Likewise. | |
6374 | (function_obstack): Likewise. | |
6375 | (tmeporary_obstack): Likewise. | |
6376 | (momentary_obstack): Likewise. | |
6377 | (temp_decl_obstack): Likewise. | |
6378 | (saveable_obstack): Likewise. | |
6379 | (rtl_obstack): Likewise. | |
6380 | (current_obstack): Likewise. | |
6381 | (expression_obstack): Likewise. | |
6382 | (struct obstack_stack): Likewise. | |
6383 | (obstack_stack): Likewise. | |
6384 | (obstack_stack_obstack): Likewise. | |
6385 | (maybepermanent_firstobj): Likewise. | |
6386 | (temporary_firstobj): Likewise. | |
6387 | (momentary_firstobj): Likewise. | |
6388 | (temp_decl_firstobj): Likewise. | |
6389 | (momentary_function_firstobj): Likewise. | |
6390 | (all_types_permanent): Likewise. | |
6391 | (struct momentary_level): Likewise. | |
6392 | (momentary_stack): Likewise. | |
6393 | (init_obstacks): Remove initialization of removed obstacks. | |
6394 | (save_tree_status): Remove. | |
6395 | (restore_tree_status): Likewise. | |
6396 | (temporary_allocation): Liekwise. | |
6397 | (end_temporary_allocation): Liekwise. | |
6398 | (resume_temporary_allocation): Likewise. | |
6399 | (saveable_allocation): Likewise. | |
6400 | (push_obstacks): Likewise. | |
6401 | (push_obstacks_nochange): Likewise. | |
6402 | (pop_obstacks): Likewise. | |
6403 | (allocation_temporary_p): Likewise. | |
6404 | (permanent_allocation): Likewise. | |
6405 | (preserve_data): Likewise. | |
6406 | (preserve_initializer): Likewise. | |
6407 | (rtl_in_current_obstack): Likewise. | |
6408 | (rtl_in_saveable_obstack): Likewise. | |
6409 | (oballoc): Likewise. | |
6410 | (obfree): Likewise. | |
6411 | (savealloc): Likewise. | |
6412 | (expralloc): Likewise. | |
6413 | (print_obstack_name): Likewise. | |
6414 | (debug_obstack): Likewise. | |
6415 | (object_permanent_p): Likewise. | |
6416 | (push_momentary): Likewise. | |
6417 | (perserve_momentary): Likewise. | |
6418 | (clear_momentary): Likewise. | |
6419 | (pop_momentary): Likewise. | |
6420 | (pop_momentary_nofree): Likewise. | |
6421 | (suspend_momentary): Likewise. | |
6422 | (resume_momentary): Likewise. | |
6423 | (make_node): Don't set TREE_PERMANENT. | |
6424 | (copy_node): Remove ggc_p conditionals. Don't set TYPE_OBSTACK. | |
6425 | Don't set TREE_PERMANENT. | |
6426 | (get_identifier): Remove ggc_p conditionals. | |
6427 | (build_string): Likewise. | |
6428 | (make_tree_vec): Likewise. | |
6429 | (build_decl_list): Remove. | |
6430 | (build_expr_list): Likewise. | |
6431 | (tree_cons): Remove ggc_p conditionals. | |
6432 | (decl_tree_cons): Remove. | |
6433 | (expr_tree_cons): Likewise. | |
6434 | (perm_tree_cons): Likewise. | |
6435 | (temp_tree_cons): Likewise. | |
6436 | (saveable_tree_cons): Likewise. | |
6437 | (build1): Remove ggc_p conditionals. | |
6438 | (build_parse_node): Likewise. | |
6439 | (build_type_attribute_variant): Don't mess with obstacks. | |
6440 | (build_type_copy): Likewise. | |
6441 | (type_hash_canon): Likewise. | |
6442 | (build_pointer_type): Likewise. | |
6443 | (build_reference_type): Likewise. | |
6444 | (build_index_type): Likewise. | |
6445 | (build_range_type): Likewise. | |
6446 | (dump_tree_statistics): Don't print obstack information. | |
6447 | * tree.h | |
6448 | (struct tree_common): Remove permanent_flag. | |
6449 | (TREE_PERMANENT): Remove. | |
6450 | (TREE_SET_PERMANENT): Likewise. | |
6451 | (TYPE_OBSTACK): Likewise. | |
6452 | (struct tree_type): Remove obstack. | |
6453 | (oballoc): Remove. | |
6454 | (savealloc): Likewise. | |
6455 | (build_decl_list): Likewise. | |
6456 | (build_expr_list): Likewise. | |
6457 | (perm_tree_cons): Likewise. | |
6458 | (temp_tree_cons): Likewise. | |
6459 | (saveable_tree_cons): Likewise. | |
6460 | (decl_tree_cons): Likewise. | |
6461 | (expr_tree_cons): Likewise. | |
6462 | (suspend_momentary): Likewise. | |
6463 | (allocation_temporary_p): Likewise. | |
6464 | (resume_momentary): Likewise. | |
6465 | (push_obstacks_nochange): Likewise. | |
6466 | (permanent_allocation): Likewise. | |
6467 | (push_momentary): Likewise. | |
6468 | (clear_momentary): Likewise. | |
6469 | (pop_momentary): Likewise. | |
6470 | (end_temporary_allocation): Likewise. | |
6471 | (pop_obstacks): Likewise. | |
6472 | (push_obstacks): Likewise. | |
6473 | (pop_momentary_nofree): LIkewise. | |
6474 | (preserve_momentary): Likewise. | |
6475 | (saveable_allocation): Likewise. | |
6476 | (temporary_allocation): Likewise. | |
6477 | (resume_temporary_allocation): Likewise. | |
6478 | (perserve_initializer): Likewise. | |
6479 | (debug_obstack): Likewise. | |
6480 | (rtl_in_current_obstack): Likewise. | |
6481 | (rtl_in_saveable_obstack): Likewise. | |
6482 | (obfree): Likewise. | |
6483 | * varasm.c (current_obstack): Remove. | |
6484 | (saveable_obstack): Remove. | |
6485 | (rtl_obstack): Remove. | |
6486 | (immed_double_const): Don't mess with obstacks. | |
6487 | (immed_real_cons): Likewise. | |
6488 | (output_constant_def): Likewise. | |
6489 | (init_varasm_status): Use xcalloc. | |
6490 | (mark_pool_constant): Mark the pool constant itself. | |
6491 | (free_varasm_status): Free memory. | |
6492 | (decode_rtx_const): Call bzero directly, rather than expanding it | |
6493 | inline. | |
6494 | (record_rtx_const): Don't mess with obstacks. | |
6495 | (force_const_mem): Likewise. | |
6496 | * config/arm/arm.c (arm_encode_call_attribute): Remove ggc_p | |
6497 | conditionals. | |
6498 | (aof_pic_entry): Likewise. | |
6499 | * config/ia64/ia64.c (ia64_encode_section_info): Likewise. | |
6500 | * config/m32r/m32r.c (m32r_encode_section_info): Likewise. | |
6501 | * config/pa/pa.c (saveable_obstack): Remove. | |
6502 | (rtl_obstack): Likewise. | |
6503 | (current_obstack): Likewise. | |
6504 | (output_call): Don't mess with obstacks. | |
6505 | (hppa_encode_label): Remove ggc_p conditionals. | |
6506 | * config/romp/romp.c (get_symref): Don't mess with obstacks. | |
6507 | * config/rs6000/rs6000.c (output_toc): Remove ggc_p conditional. | |
6508 | (rs6000_encode_section_info): Likewise. | |
6509 | * config/sh/sh.c (get_fpscr_rtx): Likewise. | |
6510 | ||
6511 | Thu Oct 12 16:02:31 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
6512 | ||
6513 | * i386.md (adddi3, subdi3 splitters): Update for new pattern. | |
6514 | (addsi3_cc, addqi3_cc, subsi3_cc): Remove | |
6515 | (addsi3_carry): Canonicalize. | |
6516 | (addqi_5): Remove '*'. | |
6517 | (sbb pattern): Canonicalize. | |
6518 | ||
6519 | * i386.md (cmp to inc/add peep2): New. | |
6520 | ||
6521 | 2000-10-12 Richard Earnshaw <rearnsha@arm.com> | |
6522 | ||
6523 | * bb-reorder.c (reorder_basic_blocks): Allocate an aux block for | |
6524 | the exit block. | |
6525 | ||
6526 | 2000-10-12 Joseph S. Myers <jsm28@cam.ac.uk> | |
6527 | ||
6528 | * gcc.texi: Merge in contents of README.TRAD and TESTS.FLUNK. | |
6529 | * README.TRAD, TESTS.FLUNK: Remove. | |
6530 | ||
6531 | 2000-10-12 Joseph S. Myers <jsm28@cam.ac.uk> | |
6532 | ||
6533 | * c-common.c (decl_attributes): Don't allow strftime formats with | |
6534 | first_arg_num nonzero. | |
6535 | (check_format_info): Set wanted_type and wanted_type_name to zero | |
6536 | before they are possibly assigned and used. | |
6537 | ||
6538 | 2000-10-12 Joseph S. Myers <jsm28@cam.ac.uk> | |
6539 | ||
6540 | * c-common.c (scanf_flag_specs): Add flags ' and I. | |
6541 | (strftime_flag_pairs): Disallow any pair of the _, - and 0 flags, | |
6542 | or the ^ and # flags together. | |
6543 | (scan_char_table): Handle the ' and I flags. | |
6544 | (format_types): Add ' and I flags for scanf. | |
6545 | ||
6546 | 2000-10-12 Joseph S. Myers <jsm28@cam.ac.uk> | |
6547 | ||
6548 | * c-common.c (print_char_table): Use the unpromoted type for | |
6549 | lengths "h" and "hh" with conversions dioxXu. | |
6550 | (check_format_types): Apply the default argument promotions where | |
6551 | the wanted type is not a pointer target. | |
6552 | ||
6553 | 2000-10-11 Michael Meeks <mmeeks@gnu.org> | |
6554 | Joseph S. Myers <jsm28@cam.ac.uk> | |
6555 | ||
6556 | * c-typeck.c (check_modify_expr): New function. | |
6557 | (build_modify_expr): Call it if warn_sequence_point. | |
6558 | * c-decl.c (warn_sequence_point): New variable. | |
6559 | (c_decode_option): Handle -Wsequence-point and | |
6560 | -Wno-sequence-point. Enable -Wsequence-point as part of -Wall. | |
6561 | * c-tree.h (warn_sequence_point): Declare. | |
6562 | * invoke.texi (-Wsequence-point): Document. | |
6563 | * toplev.c (documented_lang_options): Add -Wsequence-point and | |
6564 | -Wno-sequence-point. | |
6565 | Original work by Michael Meeks, 16 Jun 1998. | |
6566 | ||
6567 | Wed Oct 11 06:15:41 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
6568 | ||
6569 | * tree.c (get_narrower): Don't look at precision of field if | |
6570 | not laid out yet. | |
6571 | ||
6572 | Tue Oct 10 23:14:33 2000 Denis Chertykov <denisc@overta.ru> | |
6573 | ||
6574 | * config/avr/avr.c (valid_machine_decl_attribute): Allow `extern' | |
6575 | declaration for data with "progmem" attribute. | |
6576 | ||
6577 | 2000-10-09 Marek Michalkiewicz <marekm@linux.org.pl> | |
6578 | ||
6579 | * config/avr/avr.c (out_shift_with_cnt): Use AS2 macro. | |
6580 | Correct insn length if shift count is a memory operand. | |
6581 | * config/avr/avr.md: New define_peephole2 to use *reload_inqi. | |
6582 | (*iorhi3_clobber): Change lo8 to hi8. | |
6583 | (zero_extendhisi2): Change %B0 to %A1. | |
6584 | (ashlhi3, ashrhi3): Correct insn length. | |
6585 | (andhi3, abssf2, extendqisi2, extendhisi2): Change "cc" | |
6586 | from "clobber" to "set_n" in some alternatives. | |
6587 | ||
6588 | 2000-10-10 Jakub Jelinek <jakub@redhat.com> | |
6589 | ||
6590 | * reload1.c (calculate_needs_all_insns): If deleting an instruction, | |
6591 | remove its insn_chain structure as well. | |
6592 | ||
6593 | 2000-10-09 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
6594 | ||
6595 | * dbxout.c (dbxout_source_line): Remove extra tab. | |
6596 | ||
6597 | 2000-10-09 Hans-Peter Nilsson <hp@bitrange.com> | |
6598 | ||
6599 | * config/elfos.h (UNIQUE_SECTION): Apply STRIP_NAME_ENCODING on name. | |
6600 | ||
6601 | 2000-10-09 Richard Henderson <rth@cygnus.com> | |
6602 | ||
6603 | * Makefile.in (LANG_LIB2FUNCS): Remove. | |
6604 | (LIB2FUNCS): Remove _pure. | |
6605 | (LIB2ADD): Remove LANG_LIB2FUNCS. | |
6606 | (stage_a): Don't set LANG_LIB2FUNCS. | |
6607 | * libgcc2.c (__terminate): Mark noreturn. | |
6608 | (__pure_virtual): Remove. | |
6609 | * mklibgcc.in: Remove LIB2ADD .txt processing. | |
6610 | ||
6611 | 2000-10-09 Richard Earnshaw <rearnsha@arm.com> | |
6612 | ||
6613 | * arm.md (push_multi): Revert unintended change. | |
6614 | ||
6615 | 2000-10-09 Richard Earnshaw <rearnsha@arm.com> | |
6616 | ||
6617 | * arm.c: Miscellaneous white space and comment clean-ups. No | |
6618 | functional change. | |
6619 | * arm.md: Likewise. | |
6620 | ||
6621 | 2000-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
6622 | ||
6623 | * c-common.c (c_expand_builtin_printf): Set the TREE_TYPE of a new | |
6624 | STRING_CST by calling combine_strings. | |
6625 | ||
6626 | 2000-10-09 Richard Earnshaw <rearnsha@arm.com> | |
6627 | ||
6628 | * arm.c (thumb_expand_movstrqi): Rewrite to support SSA form. | |
6629 | (thumb_output_move_mem_multiple): Support new insn format. | |
6630 | * arm.md (movmem12b): Use SSA compatible format. | |
6631 | (movmem8b): Likewise. | |
6632 | ||
6633 | 2000-10-09 Richard Earnshaw <rearnsha@arm.com> | |
6634 | ||
6635 | * arm.md (predicable): New attribute, default to "no". | |
6636 | (all patterns): Mark as predicable if appropriate. | |
6637 | (conditional execution splits): Split using predication format. | |
6638 | (define_cond_exec): Define. | |
6639 | * arm.c (arm_print_operand): handle insn predicate. | |
6640 | ||
6641 | 2000-10-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> | |
6642 | ||
6643 | * README.NS32K: Remove file. | |
6644 | ||
6645 | 2000-10-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> | |
6646 | ||
6647 | * README-bugs: Remove file. | |
6648 | ||
6649 | 2000-10-08 Philipp Thomas <pthomas@suse.de> | |
6650 | * aclocal.m4 (AM_GNU_GETTEXT): Fix non portable use of == operator | |
6651 | for test. | |
6652 | * configure: Rebuilt. | |
6653 | ||
6654 | 2000-10-08 Philipp Thomas <pthomas@suse.de> | |
6655 | * aclocal.m4 (AM_WITH_NLS): When not using included gettext, | |
6656 | disable catalog building if no suitable program was found. | |
6657 | Move warning message from here | |
6658 | (AM_GNU_GETTEXT): To here. | |
6659 | * configure: Rebuilt. | |
6660 | ||
6661 | 2000-10-08 Philipp Thomas <pthomas@suse.de> | |
6662 | * aclocal.m4 (GCC_PATH_PROG): New. Like AC_PATH_PROG but uses | |
6663 | different cache variables. | |
6664 | (GCC_PATH_PROG_WITH_TEST): New. Like AM_PATH_PROG_WITH_TEST but | |
6665 | uses different cache variables. | |
6666 | (AM_WITH_NLS): Use GCC_PATH_PROG and GCC_PATH_PROG_WITH_TEST. | |
6667 | * configure: Regenerated. | |
6668 | ||
6669 | 2000-10-08 Richard Henderson <rth@cygnus.com> | |
6670 | ||
6671 | * Makefile.in (libgcc.mk): Pass SHLIB_EXT, not SHLIB_LIBS. | |
6672 | * configure.in (sparc*-*-solaris*): Use t-slibgcc{,-sld}. | |
6673 | * mklibgcc.in: Consider SHLIB_LINK the entire shlib build command. | |
6674 | Use SHLIB_EXT. | |
6675 | ||
6676 | * config/t-linux (SHLIB_EXT): New. | |
6677 | (SHLIB_LINK): Use the entire build command, with substitutions. | |
6678 | (SHLIB_LIBS): Remove. | |
6679 | * config/alpha/t-osf4: Likewise. | |
6680 | * config/mips/t-iris6: Likewise. | |
6681 | * config/sparc/t-sol2: Likewise, but move shlib stuff... | |
6682 | * config/sparc/t-slibgcc-sld: ...here. | |
6683 | * config/sparc/t-slibgcc: New file. | |
6684 | ||
6685 | 2000-10-08 Joseph S. Myers <jsm28@cam.ac.uk> | |
6686 | ||
6687 | * tm.texi (INTMAX_TYPE, UINTMAX_TYPE): Define. | |
6688 | * c-common.h (enum c_tree_index): Add CTI_INTMAX_TYPE and | |
6689 | CTI_UINTMAX_TYPE. | |
6690 | (intmax_type_node, uintmax_type_node): Define. | |
6691 | * c-common.c (decl_attributes): If pedantic, warn if `mode' | |
6692 | attributes create a type wider than intmax_t. | |
6693 | (T_IM, T_UIM): Define properly. | |
6694 | * c-decl.c (INTMAX_TYPE, UINTMAX_TYPE): Define if not already | |
6695 | defined. | |
6696 | (init_decl_processing): Initialize intmax_type_node and | |
6697 | uintmax_type_node. | |
6698 | * c-lex.c (lex_number): When pedantic and warning for integer | |
6699 | constants that are too large, in C99 mode warn for those that have | |
6700 | a type wider than long long. | |
6701 | ||
6702 | 2000-10-08 Joseph S. Myers <jsm28@cam.ac.uk> | |
6703 | ||
6704 | * c-common.c (FMT_FLAG_ARG_CONVERT, FMT_FLAG_SCANF_A_KLUDGE, | |
6705 | FMT_FLAG_FANCY_PERCENT_OK): Define. | |
6706 | (format_char_info): Add flag "4" to comment. | |
6707 | (format_flag_spec, format_flag_pair): New structures. | |
6708 | (format_kind_info): Add additional fields to control format | |
6709 | checking. | |
6710 | (printf_flag_specs, printf_flag_pairs, scanf_flag_specs, | |
6711 | scanf_flag_pairs, strftime_flag_specs, strftime_flag_pairs): New | |
6712 | arrays. | |
6713 | (time_char_table): Use "4" flag to handle %Ey. | |
6714 | (format_types): Add entries for new fields. | |
6715 | (get_flag_spec): New function. | |
6716 | (check_format_info): Increase size of flag_chars[] to 256. | |
6717 | Control format checking using the new fields of a format_kind_info | |
6718 | and the new tables; remove all conditionals on printf_format_type, | |
6719 | scanf_format_type or strftime_format_type. Handle all details of | |
6720 | bad combinations of flags (including width, precision and strftime | |
6721 | modifiers) through data rather than ad hoc code. Handle all | |
6722 | details of standard versions in which flags appeared through | |
6723 | data. Use the "4" flag. | |
6724 | ||
6725 | 2000-10-07 Will Cohen <wcohen@redhat.com>, Kazu Hirata <kazu@hxi.com> | |
6726 | ||
6727 | * config/h8300/h8300.md: Remove the memory alternative and correct | |
6728 | the insn lengths in the templates for sign extension and zero | |
6729 | extension. | |
6730 | ||
6731 | 2000-10-07 Richard Henderson <rth@cygnus.com> | |
6732 | ||
6733 | * calls.c (expand_call): Disallow sibcalls to noreturn functions. | |
6734 | * flow.c (make_edges): Revert last change. | |
6735 | ||
6736 | * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Don't test | |
6737 | TREE_THIS_VOLATILE. | |
6738 | * config/pa/pa.h (FUNCTION_OK_FOR_SIBCALL): Likewise. | |
6739 | ||
6740 | 2000-10-06 David O'Brien <obrien@dragon.nuxi.com> | |
6741 | ||
6742 | * config/alpha/elf.h: Standardize the formatting. | |
6743 | ||
6744 | 2000-10-06 David O'Brien <obrien@FreeBSD.org> | |
6745 | ||
6746 | * config/alpha/elf.h: Protect the ASM_OUTPUT_IDENT definition with an | |
6747 | #undef. | |
6748 | ||
6749 | 2000-10-06 Richard Henderson <rth@cygnus.com> | |
6750 | ||
6751 | * function.c (diddle_return_value): Examine | |
6752 | current_function_return_rtx instead of the DECL_RESULT. | |
6753 | (expand_function_end): Handle reloading DECL_RESULT from memory | |
6754 | into a hard register. Query promote_mode for sign of mismatched | |
6755 | modes. | |
6756 | ||
6757 | 2000-10-06 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com> | |
6758 | ||
6759 | * haifa-sched.c (schedule_insns): Fix typo in freeing | |
6760 | forward_dependency_cache. | |
6761 | ||
6762 | 2000-10-06 Alexandre Oliva <aoliva@redhat.com> | |
6763 | ||
6764 | * config/sh/sh.md (calli_pcrel, call_valuei_pcrel): Add | |
6765 | `TARGET_SH2' as a condition. | |
6766 | ||
6767 | 2000-10-06 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com> | |
6768 | ||
6769 | * haifa-sched.c (anti_dependency_cache, output_dependency_cache, | |
6770 | forward_dependency_cache): New variables. | |
6771 | (add_dependence, remove_dependence): Use anti_dependency_cache and | |
6772 | output_dependency_cache. | |
6773 | (compute_block_forward_dependences): Use forward_dependency_cache. | |
6774 | (schedule_insns): Allocate and free memory for anti/output/forward | |
6775 | dependencies caches. | |
6776 | ||
6777 | 2000-10-06 Alexandre Oliva <aoliva@redhat.com> | |
6778 | ||
6779 | * config/sh/sh.md (call, call_value): Use `TARGET_SH2' instead of | |
6780 | `! TARGET_SH1'. Reindent. | |
6781 | ||
6782 | 2000-10-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
6783 | ||
6784 | * builtins.c (is_valid_printf_arglist, expand_builtin_printf): | |
6785 | Move functions from here ... | |
6786 | ||
6787 | * c-common.c (is_valid_printf_arglist, c_expand_builtin_printf): | |
6788 | ... to here. | |
6789 | (c_expand_builtin): New function. | |
6790 | (init_function_format_info): Don't set `check_function_format_ptr'. | |
6791 | (c_common_nodes_and_builtins): Set built_in_class type for | |
6792 | printf/__builtin_printf to BUILT_IN_FRONTEND. | |
6793 | (c_expand_expr): Handle CALL_EXPRs that are front-end builtins. | |
6794 | ||
6795 | * c-common.h (build_function_call): Declare. | |
6796 | ||
6797 | * expr.c (expand_expr): Pass builtins with class BUILT_IN_FRONTEND | |
6798 | to `lang_expand_expr' rather than `expand_builtin'. | |
6799 | ||
6800 | * tree.c (check_function_format_ptr): Delete. | |
6801 | ||
6802 | * tree.h (check_function_format_ptr): Likewise. | |
6803 | ||
6804 | 2000-10-06 Hans-Peter Nilsson <hp@bitrange.com> | |
6805 | ||
6806 | * dwarf2out.c (build_cfa_loc): Correct to use DW_OP_regx or | |
6807 | DW_OP_bregx when cfa->reg > 31. | |
6808 | ||
6809 | * frame-dwarf2.c (decode_stack_op) [case DW_OP_regx]: Add missing | |
6810 | break. | |
6811 | ||
6812 | 2000-10-05 Richard Henderson <rth@cygnus.com> | |
6813 | ||
6814 | * c-decl.c (warn_missing_noreturn): Remove. | |
6815 | (c_expand_body): Don't set or check can_reach_end. | |
6816 | * c-tree.h (warn_missing_noreturn): Move ... | |
6817 | * flags.h: ... here. | |
6818 | (can_reach_end): Remove. | |
6819 | * flow.c (check_function_return_warnings): New. | |
6820 | (make_edges): No edge to exit for noreturn sibcalls. | |
6821 | * function.c (expand_function_end): Save the return value | |
6822 | clobber instruction. | |
6823 | (mark_function_status): Mark it. | |
6824 | * function.h (struct function): Add x_clobber_return_insn. | |
6825 | * jump.c (can_reach_end): Remove. | |
6826 | (calculate_can_reach_end): Remove. | |
6827 | (jump_optimize_1): Don't call it. | |
6828 | * output.h (check_function_return_warnings): Declare. | |
6829 | * toplev.c (warn_missing_noreturn): Move from c-decl.c | |
6830 | (rest_of_compilation): Call check_function_return_warnings. | |
6831 | ||
6832 | 2000-10-05 Richard Henderson <rth@cygnus.com> | |
6833 | ||
6834 | * Makefile.in (NM_FOR_TARGET): New. | |
6835 | (libgcc.mk): Pass SHLIB_MKMAP, SHLIB_MAPFILES. | |
6836 | (libgcc.a, stmp-multilib): Pass NM_FOR_TARGET. | |
6837 | * mklibgcc.in: If SHLIB_MKMAP, build libgcc.map. Depend the | |
6838 | shared library build on that and EXTRA_MULTILIB_PARTS. | |
6839 | * mkmap-flat.awk: New file. | |
6840 | * mkmap-symver.awk: New file. | |
6841 | * libgcc-std.ver: New file. | |
6842 | * config/libgcc-glibc.ver: New file. | |
6843 | * config/ia64/libgcc-ia64.ver: New file. | |
6844 | * config/t-linux (SHLIB_MKMAP, SHLIB_MAPFILES): New. | |
6845 | (SHLIB_LINK): Add --version-script. | |
6846 | * config/ia64/t-ia64 (SHLIB_MAPFILES): Add libgcc-ia64.ver. | |
6847 | * config/mips/t-iris6 (SHLIB_MKMAP, SHLIB_MAPFILES): New. | |
6848 | * config/sparc/t-sol2 (SHLIB_MKMAP, SHLIB_MAPFILES): New. | |
6849 | (SHLIB_LINK): Add -M. | |
6850 | ||
6851 | 2000-10-05 Richard Henderson <rth@cygnus.com> | |
6852 | ||
6853 | * Makefile.in (LIB2FUNCS): Add _clz. | |
6854 | * libgcc2.c (__ffsdi2): Use count_trailing_zeros. | |
6855 | (__clz_tab): Put in its own unit, non-static. | |
6856 | * libgcc2.h: Always include longlong.h. | |
6857 | ||
6858 | * longlong.h [alpha] (count_leading_zeros): Use cmpbge with | |
6859 | a zero instead of -1. | |
6860 | (count_trailing_zeros): Likewise. | |
6861 | ||
6862 | 2000-10-05 Richard Henderson <rth@cygnus.com> | |
6863 | ||
6864 | * config/alpha/alpha.c (alpha_emit_setcc): Don't swap GT tests | |
6865 | when second op1 is const0_rtx. Validate op0 as a register. | |
6866 | * config/alpha/alpha.md (setcc_internal): Don't allow constants | |
6867 | in the first argument of the compare. | |
6868 | (setcc_swapped_internal): Likewise. | |
6869 | (setne_internal): Likewise. | |
6870 | ||
6871 | 2000-10-05 Geoff Keating <geoffk@cygnus.com> | |
6872 | ||
6873 | * tree.c (tree_size): New function split out of copy_node. | |
6874 | (make_node): Remove obstack handling. Use tree_size. | |
6875 | (copy_node): Use tree_size. | |
6876 | * tree.h: Prototype tree_size. | |
6877 | ||
6878 | 2000-10-05 Richard Henderson <rth@cygnus.com> | |
6879 | ||
6880 | * diagnostic.c (output_format): Add missing break. | |
6881 | ||
6882 | 2000-10-05 Jim Wilson <wilson@cygnus.com> | |
6883 | ||
6884 | * function.c (fixup_var_refs_1, case SET): When gen_move_insn returns a | |
6885 | SEQUENCE, call emit_insn_before, copy PATTERN and REG_NOTES of last | |
6886 | sequence insn to INSN, and delete last sequence insn. | |
6887 | ||
6888 | 2000-10-05 Phil Edwards <pme@gcc.gnu.org> | |
6889 | ||
6890 | * gcc.c (main): Include generated configargs.h header | |
6891 | and use arguments in '-v' output. | |
6892 | ||
6893 | Thu Oct 5 16:16:57 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
6894 | ||
6895 | * gcc.c: Move data on prefixes forward in file and reorganize. | |
6896 | (md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1): | |
6897 | Always define, but make null if no value. | |
6898 | (static_specs): Add "md_exec_prefix", "md_startfile_prefix", | |
6899 | and "md_startfile_prefix_1". | |
6900 | (main): Check whether md_exec_prefix and the others are the | |
6901 | null string rather than whether the macro is defined. | |
6902 | ||
6903 | Thu Oct 5 19:04:18 2000 J"orn Rennecke <amylaar@redhat.co.uk> | |
6904 | ||
6905 | * (convert_move): Use zero_extendpsisi2 to do an unsigned extension | |
6906 | from PSImode to SImode. | |
6907 | ||
6908 | 2000-10-05 Jakub Jelinek <jakub@redhat.com> | |
6909 | ||
6910 | * emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETICS]: Fix conversion | |
6911 | from float to integral mode with HOST_BITS_PER_WIDE_INT 64. | |
6912 | * dwarf2out.c (add_const_value_attribute): Divide by 4, not | |
6913 | sizeof(long). | |
6914 | ||
6915 | Thu Oct 5 09:31:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
6916 | ||
6917 | * fold-const.c (fold, case MINUS_EXPR, case EQ_EXPR): Perform | |
6918 | negation in proper type.a | |
6919 | ||
6920 | 2000-10-04 Richard Henderson <rth@cygnus.com> | |
6921 | ||
6922 | * configure.in (enable-shared): New. | |
6923 | * Makefile.in (LIBGCC_DEPS): Depend on EXTRA_PARTS as well. | |
6924 | (libgcc.mk): Pass SHLIB_LINK, SHLIB_LIBS, SHLIB_MULTILIB to mklibgcc. | |
6925 | * mklibgcc.in: Use them to link shared a libgcc. | |
6926 | * config/t-linux (SHLIB_LINK, SHLIB_LIBS): New. | |
6927 | * config/alpha/t-ieee (SHLIB_MULTILIB): New. | |
6928 | * config/mips/t-iris6 (SHLIB_LINK, SHLIB_LIBS): New. | |
6929 | * config/sparc/t-sol2 (SHLIB_LINK, SHLIB_LIBS): New. | |
6930 | ||
6931 | * configure.in (alpha-osf*): Use t-osf and x-osf. | |
6932 | * config/alpha/t-osf: New file. | |
6933 | * config/alpha/t-osf4: New file. | |
6934 | * config/alpha/x-osf: New file. | |
6935 | * config/alpha/x-alpha: Remove file. | |
6936 | ||
6937 | 2000-10-04 Will Cohen <wcohen@redhat.com> | |
6938 | ||
6939 | * c-typeck.c (process_init_element): Added warning for zero-length | |
6940 | array. | |
6941 | ||
6942 | * extend.texi (Zero Length): State that static initializers for | |
6943 | zero-length arrays are not allowed. | |
6944 | ||
6945 | Mon Oct 2 14:50:14 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
6946 | ||
6947 | * rtlanal.c (single_set_1): Do not require USE and CLOBBERs | |
6948 | to come last. | |
6949 | ||
6950 | 2000-10-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
6951 | ||
6952 | * config/float-c4x.h: New. | |
6953 | * configure.in (c4x-*): Set float_format to c4x. | |
6954 | * configure: Regenerate. | |
6955 | ||
6956 | 2000-10-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
6957 | ||
6958 | * configure.in (sparc-*-solaris2*): Disable 32-to-64 cross | |
6959 | compilation for solaris versions 2.7 and greater. | |
6960 | ||
6961 | 2000-10-02 Marc Espie <espie@openbsd.org> | |
6962 | ||
6963 | * config/alpha.h (WORD_SWITCH_TAKES_ARG): add -rpath to default, | |
6964 | instead of redefining from scratch. | |
6965 | ||
6966 | 2000-10-02 David O'Brien <obrien@dragon.nuxi.com> | |
6967 | ||
6968 | * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Define. | |
6969 | ||
6970 | 2000-10-01 Mark Mitchell <mark@codesourcery.com> | |
6971 | ||
6972 | * config/ns32k/genix.h: Remove. | |
6973 | * config/ns32k/x-genix: Likewise. | |
6974 | * config/ns32k/xm-genix.h: Likewise. | |
6975 | * config/fx80: Remove all filee in directory. | |
6976 | * config/pyr: Likewise. | |
6977 | * config/tahoe: Likewise. | |
6978 | * config/gmicro: Likewise. | |
6979 | * config/spur: Likewise. | |
6980 | * configure.in: Remove configury bits for above targets. | |
6981 | * configure: Regenerated. | |
6982 | ||
6983 | * configure.in: Don't configure chill by default. | |
6984 | * configure: Regenerated. | |
6985 | ||
6986 | * c-decl.c (c_expand_body): Don't generate RTL if flag_syntax_only. | |
6987 | (lang_mark_false_label_stack): Remove. | |
6988 | * c-lex.c (init_c_lex): Add file_info_tree as GC root. Allocate | |
6989 | <top level> string in GC area. | |
6990 | (mark_splay_tree_node): New function. | |
6991 | (mark_splay_tree): Likewise. | |
6992 | * except.c (mark_eh_status): Only call lang_mark_false_label_stack | |
6993 | if it exists. | |
6994 | * ggc-callbacks.c (lang_mark_false_label_stack): Remove. | |
6995 | * ggc-common.c (lang_mark_false_label_stack): Change type. | |
6996 | * ggc.h (ggc_alloc_string): Add comment. | |
6997 | (ggc_strdup): New function. | |
6998 | ||
6999 | Sat Sep 23 19:10:20 2000 Denis Chertykov <denisc@overta.ru> | |
7000 | ||
7001 | * config/avr/avr.h (BRANCH_COST): Define as 0. | |
7002 | ||
7003 | * config/pdp11/pdp11.c: #include "tree.h" added. | |
7004 | ||
7005 | 2000-09-30 Marek Michalkiewicz <marekm@linux.org.pl> | |
7006 | ||
7007 | * config/avr/avr.c (ashlhi3_out, ashlsi3_out, ashrhi3_out, | |
7008 | ashrsi3_out, lshrhi3_out, lshrsi3_out): Optimize more cases | |
7009 | with known shift count. | |
7010 | * config/avr/avr.md (ashlsi3, ashrsi3, lshrsi3): | |
7011 | New alternative for shift count 2 with no scratch register. | |
7012 | (ashlhi3, ashlsi3): Change "cc" attribute from "clobber" to | |
7013 | "set_n" for shift counts 1 and 2. | |
7014 | ||
7015 | 2000-09-30 Geoff Keating <geoffk@cygnus.com> | |
7016 | ||
7017 | * config/rs6000/rs6000.md (movsi_to_cr): Remove the USE. Calculate | |
7018 | the mask value from the individual SET operations. | |
7019 | (return_internal_si): Move the USE after the RETURN. | |
7020 | (return_internal_di): Likewise. | |
7021 | (return_and_restore_fpregs_si): Likewise. | |
7022 | (return_and_restore_fpregs_di): Likewise. | |
7023 | (return_eh_si): Likewise. | |
7024 | (return_eh_di): Likewise. | |
7025 | * config/rs6000/rs6000.c (mtcrf_operation): Don't look for, | |
7026 | or check, the USE. | |
7027 | (rs6000_emit_prologue): Don't emit the USE for movsi_to_cr. | |
7028 | Don't generate a PARALLEL around a single operation movsi_to_cr. | |
7029 | Generate the RETURN first in any PARALLELs. | |
7030 | ||
7031 | * rtlanal.c (single_set_1): Use fatal_insn to display the | |
7032 | invalid insn. Check for more cases when a USE or CLOBBER occurs | |
7033 | before a SET. | |
7034 | * Makefile.in: Update dependencies for rtlanal.o. | |
7035 | ||
7036 | 2000-09-30 Joseph S. Myers <jsm28@cam.ac.uk> | |
7037 | ||
7038 | * i386.c: Move include of "config.h" to before that of <setjmp.h>. | |
7039 | ||
7040 | 2000-09-30 Joseph S. Myers <jsm28@cam.ac.uk> | |
7041 | ||
7042 | * c-tree.texi, contrib.texi, gcc.texi, install.texi, invoke.texi: | |
7043 | Consistently use @email for formatting email addresses. | |
7044 | ||
7045 | 2000-09-29 Richard Henderson <rth@cygnus.com> | |
7046 | ||
7047 | * cse.c (notreg_cost): New argument outer. | |
7048 | (COST): Pass in SET to notreg_cost | |
7049 | (COST_IN): New. | |
7050 | (fold_rtx): Use COST_IN. Prefer constants when costs | |
7051 | are the same. | |
7052 | ||
7053 | 2000-09-29 David Edelsohn <edelsohn@gnu.org> | |
7054 | ||
7055 | * fixinc/inclhack.def (broken_cabs): Generalize regex. | |
7056 | * fixinc/fixincl.x: Regenerate. | |
7057 | ||
7058 | 2000-09-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | |
7059 | ||
7060 | * loop.c (check_final_value): A GIV is not replaceable if used | |
7061 | before set. | |
7062 | ||
7063 | Fri Sep 29 10:04:12 2000 Jeffrey A Law (law@cygnus.com) | |
7064 | ||
7065 | * version.c: Bump to gcc-2.97. | |
7066 | ||
7067 | Frs Sep 29 13:37:59 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
7068 | ||
7069 | * final.c (final_scan_insn): Remove extra extract_insn call; | |
7070 | Use caching for constrain_operands. | |
7071 | (cleanup_subreg_operands): Use caching for extract_insn. | |
7072 | * recog.c (constrain_operands_cached): New. | |
7073 | * recog.h (constrain_operands_cached): Declare. | |
7074 | * i386.c (ix86_attr_length_immediate_default, | |
7075 | ix86_attr_length_address_default, ix86_agi_dependant): Cache | |
7076 | extract_insn call. | |
7077 | ||
7078 | * recog.c (asm_noperands): Tweak. | |
7079 | (extract_insn): Do not call asm_noperads for non-asm instructions. | |
7080 | ||
7081 | Fri Sep 29 13:20:42 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
7082 | ||
7083 | * recog.c (recog_memoized): Rename to recog_memoized_1. | |
7084 | * recog.h (recog_memoized): Rename to recog_memoized_1. | |
7085 | (recog_memoized): New macro. | |
7086 | * rtl.h (single_set): Rename to single_set_1 | |
7087 | (single_set): New macro. | |
7088 | * rtlanal.c (single_set): Rename to single_set_1; expect clobbers | |
7089 | to be last. | |
7090 | ||
7091 | * i386.md (strmovsi_1, strmovhi_1 strmovqi_1): | |
7092 | Do not use match_dup of input operands at outputs. | |
7093 | Use register_operand for memory expression. | |
7094 | (rep_movsi): Put use last, canonicalize. | |
7095 | Use register_operand for memory expression. | |
7096 | (rep_movqi): Put use last. | |
7097 | Use register_operand for memory expression. | |
7098 | (strsetsi_1, strset_hi_1, strsetqi_1): Do not use match_dup | |
7099 | of input operands at outputs. Use register_operand for memory | |
7100 | expression. | |
7101 | (rep_stossi): Put use last; canonicalize; fix match_dup in | |
7102 | the address expression | |
7103 | (rep_stosqi): Likewise. | |
7104 | (memcmp expander): Update calls. | |
7105 | (cmpstrsi_nz_1, cmpstrsi_1, strlensi_1): Avoid match_dups in | |
7106 | the clobbers. | |
7107 | ||
7108 | * i386.md (fp_jcc_3, fp_jcc_4, jp_fcc_5): if_then_else operand is | |
7109 | VOIDmode. | |
7110 | (fp_jcc_4, fp_jcc_3): Refuse unordered comparisons. | |
7111 | ||
7112 | 2000-09-28 David O'Brien <obrien@FreeBSD.org> | |
7113 | ||
7114 | * config/i386/freebsd-aout.h: New, FreeBSD a.out config file. | |
7115 | Contains the old contents of config/i386/freebsd.h | |
7116 | * config/i386/freebsd.h: Now the ELF rather than a.out config file. | |
7117 | Contains the old contents of config/i386/freebsd-elf.h | |
7118 | * config/i386/freebsd-elf.h: Retire this file -- contents moved to | |
7119 | config/i386/freebsd.h. | |
7120 | * configure.in: Adjust for above changes. | |
7121 | * po/POTFILES.in: Likewise. | |
7122 | * po/en_GB.po: Likewise. | |
7123 | * po/gcc.pot: Likewise. | |
7124 | * configure: Rebuilt. | |
7125 | ||
7126 | 2000-09-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | |
7127 | ||
7128 | * doloop.c (doloop_modify): Prevent delete_insn() from | |
7129 | deleting too much. Prefer loop->top over loop->start as | |
7130 | target for the new JUMP insn. | |
7131 | (doloop_valid_p): Ignore loop with exit_count != 0. | |
7132 | ||
7133 | 2000-09-28 Philipp Thomas <pthomas@suse.de> | |
7134 | ||
7135 | * invoke.texi (i386 Options): Add athlon to table of possible | |
7136 | choices for -mcpu=. | |
7137 | ||
7138 | 2000-09-28 Gabriel Dos Reis <gdr@codesourcery.com> | |
7139 | ||
7140 | * diagnostic.h (output_clear_message_text): New function. | |
7141 | (output_message_text): New macro. | |
7142 | ||
7143 | * diagnostic.c (clear_text_info): Rename to | |
7144 | output_clear_message_text. | |
7145 | (output_clear): Adjust. | |
7146 | (output_finish): Rename to output_finalize_message. Tweek. | |
7147 | (output_to_stream): Adjust. | |
7148 | ||
7149 | 2000-09-28 Neil Booth <neilb@earthling.net> | |
7150 | ||
7151 | * cpperror.c (_cpp_begin_message): Do the test for suppression | |
7152 | of warnings and pedantic warnings before the "is a warning an | |
7153 | error" tests. | |
7154 | * cppinit.c (cpp_handle_option): Remove surplus \n. | |
7155 | * cpplex.c (ON_REST_ARG): Delete. | |
7156 | (skip_block_comment): Initialize prevc. | |
7157 | (parse_args): Improve error messages. | |
7158 | (maybe_paste_with_next): Use CONTEXT_VARARGS rather | |
7159 | than ON_REST_ARG. | |
7160 | * cpplib.c (cpp_push_buffer): Fix grammar in message. | |
7161 | * cppmain.c (main): Set callbacks for #ident and #pragma | |
7162 | only if no_output option is false. | |
7163 | (do_pragma_implementation): Only call the #pragma handler | |
7164 | if it is set in the cpp_reader structure. | |
7165 | ||
7166 | Wed Sep 27 14:00:07 2000 Donald Lindsay <dlindsay@cygnus.com> | |
7167 | ||
7168 | * integrate.c (copy_insn_list): if an ignored return value | |
7169 | is being clobbered, skip cloning that into the inline copy. | |
7170 | ||
7171 | 2000-09-27 Joseph S. Myers <jsm28@cam.ac.uk> | |
7172 | ||
7173 | * extend.texi, invoke.texi, gcc.texi, install.texi: Consistently | |
7174 | use @uref for formatting URLs. | |
7175 | ||
7176 | 2000-09-27 Mark Elbrecht <snowball3@bigfoot.com> | |
7177 | ||
7178 | * config/i386/djgpp.h (UNIQUE_SECTION): Constify the variables | |
7179 | name and prefix. | |
7180 | ||
7181 | Tue 26-Sep-2000 18:25:38 BST Neil Booth <neilb@earthling.net> | |
7182 | ||
7183 | * gcc.c (cpp_options): Add spec for -ftabstop=. | |
7184 | (invoke_as): New spec that handles invoking as. | |
7185 | Update specs to handle -save-temps and -traditional. | |
7186 | * ch/lang-specs.h, f/lang-specs.h, java/lang-specs.h: | |
7187 | Use invoke_as. | |
7188 | * cp/lang-specs.h, objc/lang-specs.h: Update to use | |
7189 | invoke_as, and handle -save-temps and -traditional (if | |
7190 | appropriate). | |
7191 | ||
7192 | 2000-09-26 Jakub Jelinek <jakub@redhat.com> | |
7193 | ||
7194 | * config/sparc/sparc.c (sparc_emit_set_const64): Don't abort when | |
7195 | op0 is a SUBREG. | |
7196 | (function_arg_slotno): Accept TImode/CTImode. | |
7197 | * config/sparc/sparc.h (MIN_UNITS_PER_WORD): If IN_LIBGCC2 define | |
7198 | to UNITS_PER_WORD. | |
7199 | ||
7200 | 2000-09-26 Michael Hayes <mhayes@cygnus.com> | |
7201 | ||
7202 | * flow.c (flow_loop_pre_header_scan): Punt if loop enters | |
7203 | from entry block. | |
7204 | ||
7205 | 2000-09-25 Jim Wilson <wilson@cygnus.com> | |
7206 | ||
7207 | * config/ia64/ia64.h (INDEX_REG_CLASS): Define to GENERAL_REGS. | |
7208 | (REGNO_OK_FOR_INDEX_P): Define to REGNO_OK_FOR_BASE_P. | |
7209 | (LEGITIMATE_ADDRESS_DISP): Use LEGITIMATE_ADDRESS_REG. | |
7210 | (REG_OK_FOR_INDEX): Define to REG_OK_FOR_BASE_P. | |
7211 | ||
7212 | Tue 26-Sep-2000 00:16:22 BST Neil Booth <neilb@earthling.net> | |
7213 | ||
7214 | * cpplex.c (parse_args): Don't set VOID_REST flag. | |
7215 | (CONTEXT_VARARGS): New flag. | |
7216 | (maybe_paste_with_next): Set context earlier in loop. Use | |
7217 | it. Do varargs test with CONTEXT_VARARGS flag. | |
7218 | (push_arg_context): Set CONTEXT_VARARGS flag if we're | |
7219 | pushing an argument context for a varargs argument. | |
7220 | * cpplib.h (VOID_REST): Delete. | |
7221 | * gcc.dg/cpp/vararg1.c: Add test case. | |
7222 | ||
7223 | 2000-09-25 Branko Cibej <branko.cibej@hermes.si> | |
7224 | ||
7225 | * flags.h: Declare warning flag warn_system_headers. | |
7226 | * toplev.c: Define it. | |
7227 | (W_options): Add option -Wsystem-headers. | |
7228 | * diagnostic.c (count_error): Test warn_system_headers. | |
7229 | * invoke.texi: Add description for -Wsystem-headers. | |
7230 | * cpplib.h (cpp_options): New member warn_system_headers. | |
7231 | * cpphash.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Don't test | |
7232 | CPP_IN_SYSTEM_HEADER. | |
7233 | * cpplib.c (do_import, do_pragma_once): Likewise. | |
7234 | * cpperror.c (_cpp_begin_message): Test warn_system_headers | |
7235 | and CPP_IN_SYSTEM_HEADER. | |
7236 | * cppinit.c (handle_option): Recognize -Wsystem_headers. | |
7237 | (print_help): Describe -Wsystem_headers. | |
7238 | * cpplex.c (lex_line): Reorganize condition so that warnings | |
7239 | about C++ comments in system headers can be enabled. Remove | |
7240 | label do_line_comment. | |
7241 | ||
7242 | Mon 25-Sep-2000 23:38:27 BST Neil Booth <neilb@earthling.net> | |
7243 | ||
7244 | * cpplex.c (save_comment): Only store the initial '/' | |
7245 | now. | |
7246 | (lex_token): Combine handling of the two comment types. | |
7247 | Pass everything but the initial '/' to save_comment. | |
7248 | ||
7249 | Mon 25-Sep-2000 23:31:45 BST Neil Booth <neilb@earthling.net> | |
7250 | ||
7251 | * cpphash.h (_cpp_digraph_spellings, _cpp_process_directive, | |
7252 | _cpp_can_paste): New library-internal prototypes. | |
7253 | * cpplex.c (dump_param_spelling, output_line_command, | |
7254 | output_token, cpp_scan_buffer, cpp_scan_buffer_nooutput, | |
7255 | cpp_printf, cpp_output_list): Move to cppoutput.c. | |
7256 | (process_directive, can_paste, digraph_spellings): Add _cpp_ prefix. | |
7257 | * cppmacro.c (dump_macro_args, cpp_dump_definition) Move to | |
7258 | cppoutput.c. | |
7259 | * cppoutput.c (dump_macro_args, cpp_dump_definition, output_token, | |
7260 | dump_param_spelling, output_line_command, cpp_scan_buffer, | |
7261 | cpp_scan_buffer_nooutput, cpp_printf, cpp_output_list): Moved | |
7262 | from elsewhere. | |
7263 | * Makefile.in: Add cppoutput.c. | |
7264 | * po/POTFILES.in: Add cppoutput.c. | |
7265 | ||
7266 | 2000-09-25 Richard Henderson <rth@cygnus.com> | |
7267 | ||
7268 | * config/ia64/ia64.c (ia64_print_operand): Define 'e' as 64-n. | |
7269 | * config/ia64/ia64.md (rotrsi3): Allow variable rotates; don't | |
7270 | split until after reload. | |
7271 | (rotlsi3, rotldi3): New. | |
7272 | ||
7273 | 2000-09-25 Gabriel Dos Reis <gdr@codesourcery.com> | |
7274 | ||
7275 | * diagnostic.c (output_last_position): Define. | |
7276 | (set_real_maximum_length): Tweek. | |
7277 | * diagnostic.h (output_last_position): Declare. | |
7278 | ||
7279 | 2000-09-25 Kazu Hirata <kazu@hxi.com> | |
7280 | ||
7281 | * config/i386/i386.c: Fix formatting. | |
7282 | ||
7283 | 2000-09-24 Alan Lehotsky <alehotsky@cygnus.com> | |
7284 | ||
7285 | * emit-rtl-c (gen_lowpart_common): Accept non-paradoxical SUBREG when | |
7286 | UNITS_PER_WORD is small. | |
7287 | ||
7288 | 2000-09-25 Joseph S. Myers <jsm28@cam.ac.uk> | |
7289 | ||
7290 | * c-common.c (format_char_info): Add flags2; update comments. | |
7291 | (print_char_table, scan_char_table, time_char_table): Split some | |
7292 | flags out into flags2. | |
7293 | (check_format_info): Use flags2 for those flags, for identifying | |
7294 | the initial character of a scanf scanset, and for identifying | |
7295 | printf formats where the '0' flag is ignored with precision. | |
7296 | ||
7297 | 2000-09-25 Hans-Peter Nilsson <hp@axis.com> | |
7298 | ||
7299 | Changes below marked "here" add TABs on either or both sides, | |
7300 | covering start of line, up to any operand for all noted .*ASM.*_OP | |
7301 | definitions. All callers changed. | |
7302 | * tm.texi: Make documented *_ASM.*_OP:s include spacing | |
7303 | (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, SHARED_SECTION_ASM_OP, | |
7304 | BSS_SECTION_ASM_OP, SHARED_BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP, | |
7305 | ASM_BYTE_OP, FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP, | |
7306 | ASM_STABS_OP, ASM_STABD_OP, ASM_STABN_OP). | |
7307 | Fix typos in description for LONG_LONG_TYPE_SIZE and | |
7308 | FINI_SECTION_ASM_OP. | |
7309 | * crtstuff.c (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Explain | |
7310 | why these defaults don't have leading spacing. | |
7311 | * dbxout.c (ASM_STABS_OP, ASM_STABN_OP): Here. | |
7312 | * dwarf2out.c (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, | |
7313 | UNALIGNED_DOUBLE_INT_ASM_OP, SECTION_ASM_OP, ASM_BYTE_OP): Here. | |
7314 | * dwarfout.c (FILE_ASM_OP, VERSION_ASM_OP, | |
7315 | UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, ASM_BYTE_OP, | |
7316 | PUSHSECTION_ASM_OP, POPSECTION_ASM_OP): Here. | |
7317 | * defaults.h (ASM_STABD_OP, EH_FRAME_SECTION_ASM_OP): Here. | |
7318 | * varasm.c (ASM_STABS_OP): Here. | |
7319 | * xcoffout.h (ASM_STABS_OP): Here. | |
7320 | * config/elfos.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP, | |
7321 | SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP, | |
7322 | INT_ASM_OP, ASCII_DATA_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, | |
7323 | STRING_ASM_OP): Here. | |
7324 | * config/freebsd.h (IDENT_ASM_OP): Here. | |
7325 | * config/linux-aout.h (SET_ASM_OP): Here. | |
7326 | * config/linux.h (SET_ASM_OP): Here. | |
7327 | * config/lynx.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, | |
7328 | INT_ASM_OP): Here. | |
7329 | * config/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here. | |
7330 | * config/nextstep.h (EH_FRAME_SECTION_ASM_OP, ALIGN_ASM_OP): Here. | |
7331 | * config/openbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here. | |
7332 | * config/psos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, | |
7333 | INT_ASM_OP): Here. | |
7334 | * config/ptx4.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP, | |
7335 | SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP, | |
7336 | INT_ASM_OP, ASCII_DATA_ASM_OP, CONST_SECTION_ASM_OP, | |
7337 | CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP, | |
7338 | FINI_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP STRING_ASM_OP): Here. | |
7339 | * config/svr3.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, | |
7340 | CONST_SECTION_ASM_OP, ASM_BYTE_OP): Here. | |
7341 | * config/a29k/udi.h (INT_ASM_OP): Here. | |
7342 | * config/alpha/alpha-interix.h (CONST_SECTION_ASM_OP, | |
7343 | CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP, | |
7344 | SET_ASM_OP): Here. | |
7345 | * config/alpha/alpha.h (TEXT_SECTION_ASM_OP, | |
7346 | READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP, | |
7347 | UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, | |
7348 | UNALIGNED_DOUBLE_INT_ASM_OP, ASM_STABS_OP, ASM_STABN_OP, | |
7349 | ASM_STABD_OP): Here. | |
7350 | * config/alpha/elf.h (IDENT_ASM_OP, SKIP_ASM_OP, ALIGN_ASM_OP, | |
7351 | COMMON_ASM_OP, INT_ASM_OP, ASCII_DATA_ASM_OP, | |
7352 | CONST_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, | |
7353 | BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP, | |
7354 | INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, TYPE_ASM_OP, | |
7355 | SIZE_ASM_OP, STRING_ASM_OP): Here. | |
7356 | * config/alpha/vms.h (LINK_SECTION_ASM_OP, | |
7357 | READONLY_SECTION_ASM_OP, LITERALS_SECTION_ASM_OP, | |
7358 | CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, COMMON_ASM_OP): Here. | |
7359 | * config/arc/arc.h (ASM_BYTE_OP, SET_ASM_OP): Here. | |
7360 | (PUSHSECTION_ASM_OP): Define this, not PUSHSECTION_FORMAT. | |
7361 | * config/arm/aof.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): | |
7362 | Here. | |
7363 | * config/arm/aout.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, | |
7364 | BSS_SECTION_ASM_OP, SET_ASM_OP): Here. | |
7365 | * config/arm/coff.h (INT_ASM_OP): Here. | |
7366 | * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Here. | |
7367 | * config/arm/elf.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP): Here. | |
7368 | * config/arm/linux-elf.h (IDENT_ASM_OP, CONST_SECTION_ASM_OP, | |
7369 | INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Here. | |
7370 | * config/arm/unknown-elf.h (UNALIGNED_WORD_ASM_OP): Here. | |
7371 | * config/avr/avr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, | |
7372 | ASM_BYTE_OP, TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP, | |
7373 | STRING_ASM_OP): Here. Update documentation copy in comments. | |
7374 | * config/c4x/c4x.h (ASM_STABS_OP, BSS_SECTION_ASM_OP): Here. | |
7375 | * config/clipper/clipper.h (TEXT_SECTION_ASM_OP, | |
7376 | DATA_SECTION_ASM_OP): Here. | |
7377 | * config/clipper/clix.h (BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP): | |
7378 | Here. | |
7379 | * config/convex/convex.h (TEXT_SECTION_ASM_OP, | |
7380 | DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here. | |
7381 | * config/d30v/d30v.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, | |
7382 | BSS_SECTION_ASM_OP): Here. | |
7383 | * config/fr30/fr30.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, | |
7384 | BSS_SECTION_ASM_OP): Here. | |
7385 | * config/fx80/fx80.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): | |
7386 | Here. | |
7387 | * config/gmicro/gmicro.h (TEXT_SECTION_ASM_OP, | |
7388 | DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here. | |
7389 | * config/h8300/h8300.h (ASM_WORD_OP): Here. | |
7390 | * config/i370/i370.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, | |
7391 | BSS_SECTION_ASM_OP): Here. | |
7392 | * config/i386/aix386.h (INIT_SECTION_ASM_OP): Here. | |
7393 | * config/i386/bsd.h (ASM_BYTE_OP): Here. | |
7394 | * config/i386/cygwin.h (SET_ASM_OP, INT_ASM_OP): Here. | |
7395 | * config/i386/dgux.h (CONST_SECTION_ASM_OP): Here. | |
7396 | * config/i386/djgpp.h (IDENT_ASM_OP, INT_ASM_OP, SET_ASM_OP): | |
7397 | Here. | |
7398 | * config/i386/freebsd-elf.h (SET_ASM_OP): Here. | |
7399 | * config/i386/freebsd.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP): | |
7400 | Here. | |
7401 | * config/i386/i386-coff.h (CTORS_SECTION_ASM_OP, | |
7402 | DTORS_SECTION_ASM_OP, INT_ASM_OP): Here. | |
7403 | * config/i386/i386-interix.h (STRING_ASM_OP, CONST_SECTION_ASM_OP, | |
7404 | CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP, | |
7405 | SET_ASM_OP): Here. | |
7406 | * config/i386/i386elf.h (BSS_SECTION_ASM_OP): Here. | |
7407 | * config/i386/netbsd.h (INT_ASM_OP): Here. | |
7408 | * config/i386/openbsd.h (INT_ASM_OP): Here. | |
7409 | * config/i386/osfrose.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP, | |
7410 | IDENT_ASM_OP): Here. | |
7411 | * config/i386/sco5.h (ALIGN_ASM_OP, ASCII_DATA_ASM_OP, | |
7412 | ASM_BYTE_OP, IDENT_ASM_OP, COMMON_ASM_OP, SET_ASM_OP, | |
7413 | LOCAL_ASM_OP, INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, STRING_ASM_OP, | |
7414 | SKIP_ASM_OP, GLOBAL_ASM_OP): Here. | |
7415 | * config/i386/seq-sysv3.h (SHARED_SECTION_ASM_OP, | |
7416 | SHARED_BSS_SECTION_ASM_OP): Here. | |
7417 | * config/i386/sequent.h (SHARED_SECTION_ASM_OP): Here. | |
7418 | * config/i386/sun386.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP, | |
7419 | DATA_SECTION_ASM_OP): Here. | |
7420 | * config/i386/svr3gas.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, | |
7421 | CONST_SECTION_ASM_OP): Here. | |
7422 | * config/i386/sysv3.h (INIT_SECTION_ASM_OP): Here. | |
7423 | * config/i386/unix.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, | |
7424 | BSS_SECTION_ASM_OP): Here. | |
7425 | * config/i860/bsd-gas.h (ASCII_DATA_ASM_OP): Here. | |
7426 | * config/i860/bsd.h (ASCII_DATA_ASM_OP): Here. | |
7427 | * config/i860/fx2800.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP, | |
7428 | BSS_ASM_OP): Here, but use trailing spaces. | |
7429 | * config/i860/i860.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP, | |
7430 | DATA_SECTION_ASM_OP): Here. | |
7431 | * config/i860/paragon.h (ASCII_DATA_ASM_OP, BSS_SECTION_ASM_OP): | |
7432 | Here. | |
7433 | * config/i860/sysv3.h (ASCII_DATA_ASM_OP, CTORS_SECTION_ASM_OP, | |
7434 | DTORS_SECTION_ASM_OP, TDESC_SECTION_ASM_OP): Here. | |
7435 | * config/i860/sysv4.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, | |
7436 | TDESC_SECTION_ASM_OP): Here. | |
7437 | * config/i960/i960-coff.h (CTORS_SECTION_ASM_OP, | |
7438 | DTORS_SECTION_ASM_OP, INT_ASM_OP): Here. | |
7439 | * config/i960/i960.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): | |
7440 | Here. | |
7441 | * config/ia64/ia64.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, | |
7442 | BSS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP, | |
7443 | UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, | |
7444 | UNALIGNED_DOUBLE_INT_ASM_OP): Here. | |
7445 | * config/ia64/sysv4.h (ASM_BYTE_OP, STRING_ASM_OP, SKIP_ASM_OP, | |
7446 | COMMON_ASM_OP, ASCII_DATA_ASM_OP, INIT_SECTION_ASM_OP, | |
7447 | FINI_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, | |
7448 | SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Here. | |
7449 | * config/m32r/m32r.h (SCOMMON_ASM_OP): Here. | |
7450 | * config/m68hc11/m68hc11.h (GLOBAL_ASM_OP): Here. | |
7451 | * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP, | |
7452 | SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP, | |
7453 | SET_ASM_OP): Here. | |
7454 | * config/m68k/coff.h (BSS_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, | |
7455 | DTORS_SECTION_ASM_OP, INT_ASM_OP): Here. | |
7456 | * config/m68k/crds.h (BSS_SECTION_ASM_OP): Here. | |
7457 | * config/m68k/dpx2.h (ASM_BYTE_OP, GLOBAL_ASM_OP): Here. | |
7458 | * config/m68k/hp320.h (ASCII_DATA_ASM_OP, GLOBAL_ASM_OP): Here. | |
7459 | * config/m68k/linux.h (BSS_SECTION_ASM_OP): Here. | |
7460 | * config/m68k/lynx.h (BSS_SECTION_ASM_OP): Here. | |
7461 | * config/m68k/m68k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, | |
7462 | GLOBAL_ASM_OP): Here. | |
7463 | * config/m68k/m68kelf.h (SWBEG_ASM_OP, BSS_ASM_OP, | |
7464 | BSS_SECTION_ASM_OP): Here. | |
7465 | * config/m68k/m68kv4.h (BSS_ASM_OP): Here. | |
7466 | * config/m68k/mot3300.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, | |
7467 | ASCII_DATA_ASM_OP, SET_ASM_OP, CTORS_SECTION_ASM_OP, | |
7468 | DTORS_SECTION_ASM_OP, GLOBAL_ASM_OP, ASM_BYTE_OP, ALIGN_ASM_OP, | |
7469 | SKIP_ASM_OP): Here. | |
7470 | * config/m68k/newsgas.h (SET_ASM_OP): Here. | |
7471 | * config/m68k/rtemself.h (INIT_SECTION_ASM_OP, | |
7472 | FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here. | |
7473 | * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP, | |
7474 | SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP, | |
7475 | SET_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here, | |
7476 | but use trailing spaces. | |
7477 | * config/m68k/tower-as.h (TEXT_SECTION_ASM_OP, | |
7478 | DATA_SECTION_ASM_OP, GLOBAL_ASM_OP, INIT_SECTION_ASM_OP, | |
7479 | FINI_SECTION_ASM_OP, CONST_SECTION_ASM_OP, BSS_SECTION_ASM_OP): | |
7480 | Here. | |
7481 | * config/m88k/dgux.h (FINI_SECTION_ASM_OP, INIT_SECTION_ASM_OP, | |
7482 | CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here. | |
7483 | * config/m88k/m88k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, | |
7484 | CONST_SECTION_ASM_OP, TDESC_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, | |
7485 | DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, | |
7486 | IDENT_ASM_OP, FILE_ASM_OP, SECTION_ASM_OP, SET_ASM_OP, | |
7487 | GLOBAL_ASM_OP, ALIGN_ASM_OP, SKIP_ASM_OP, COMMON_ASM_OP, | |
7488 | BSS_ASM_OP, FLOAT_ASM_OP, DOUBLE_ASM_OP, INT_ASM_OP, SHORT_ASM_OP, | |
7489 | CHAR_ASM_OP, ASCII_DATA_ASM_OP, SBSS_ASM_OP, SCOMM_ASM_OP, | |
7490 | SDATA_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, INTERNAL_ASM_OP, | |
7491 | VERSION_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, | |
7492 | PUSHSECTION_ASM_OP, POPSECTION_ASM_OP, REQUIRES_88110_ASM_OP, | |
7493 | ASM_BYTE_OP): Here. | |
7494 | * config/m88k/openbsd.h (SET_ASM_OP): Here. | |
7495 | * config/m88k/sysv4.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, | |
7496 | CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here. | |
7497 | * config/mcore/mcore-elf.h (UNALIGNED_INT_ASM_OP, | |
7498 | UNALIGNED_SHORT_ASM_OP, CTORS_SECTION_ASM_OP, | |
7499 | DTORS_SECTION_ASM_OP): Here. | |
7500 | * config/mcore/mcore-pe.h (CTORS_SECTION_ASM_OP, | |
7501 | DTORS_SECTION_ASM_OP, INT_ASM_OP): Here. | |
7502 | * config/mips/elf.h (TYPE_ASM_OP, SIZE_ASM_OP, | |
7503 | BSS_SECTION_ASM_OP): Here. | |
7504 | * config/mips/elf64.h (TYPE_ASM_OP, SIZE_ASM_OP): Here. | |
7505 | * config/mips/iris5.h (ABICALLS_ASM_OP): Here. | |
7506 | * config/mips/iris6.h (TYPE_ASM_OP, SIZE_ASM_OP, | |
7507 | POPSECTION_ASM_OP, BSS_SECTION_ASM_OP, CONST_SECTION_ASM_OP_32, | |
7508 | CONST_SECTION_ASM_OP_64, CTORS_SECTION_ASM_OP, | |
7509 | DTORS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here. | |
7510 | * config/mips/mips.c (ABICALLS_ASM_OP): Here. | |
7511 | * config/mips/mips.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): | |
7512 | Here. | |
7513 | * config/mips/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP): | |
7514 | Here. | |
7515 | * config/mips/osfrose.h (SET_ASM_OP): Here. | |
7516 | * config/mips/sni-svr4.h (ABICALLS_ASM_OP): Here. | |
7517 | * config/ns32k/encore.h (SHARED_SECTION_ASM_OP): Here. | |
7518 | * config/ns32k/merlin.h (SHARED_SECTION_ASM_OP): Here. | |
7519 | * config/ns32k/ns32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): | |
7520 | Here. | |
7521 | * config/ns32k/sequent.h (SHARED_SECTION_ASM_OP): Here. | |
7522 | * config/ns32k/tek6000.h (SHARED_SECTION_ASM_OP): Here. | |
7523 | * config/pa/pa-64.h (INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP): Here. | |
7524 | * config/pa/pa.h (ASM_STABS_OP, ASM_STABN_OP): Here. | |
7525 | * config/pj/pj.h (SET_ASM_OP, BSS_SECTION_ASM_OP): Here. | |
7526 | * config/pyr/pyr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): | |
7527 | Here. | |
7528 | * config/romp/romp.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): | |
7529 | Here. | |
7530 | * config/rs6000/rs6000.h (SET_ASM_OP): Here. | |
7531 | * config/rs6000/sol2.h (ASM_STABN_OP): Here. | |
7532 | * config/rs6000/sysv4.h (SKIP_ASM_OP, LOCAL_ASM_OP, LCOMM_ASM_OP): | |
7533 | Here. | |
7534 | * config/sh/sh.h (SET_ASM_OP, BSS_SECTION_ASM_OP, | |
7535 | UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here. | |
7536 | * config/sparc/linux.h (COMMON_ASM_OP): Here. | |
7537 | * config/sparc/linux64.h (COMMON_ASM_OP, | |
7538 | UNALIGNED_DOUBLE_INT_ASM_OP): Here. | |
7539 | * config/sparc/litecoff.h (BSS_SECTION_ASM_OP, | |
7540 | CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP): Here. | |
7541 | * config/sparc/lynx.h (BSS_SECTION_ASM_OP): Here. | |
7542 | * config/sparc/pbd.h (ASM_INT_OP): Here. | |
7543 | * config/sparc/sp64-elf.h (UNALIGNED_LONGLONG_ASM_OP): Here. | |
7544 | * config/sparc/sparc.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP, | |
7545 | DATA_SECTION_ASM_OP, IDENT_ASM_OP): Here. | |
7546 | * config/sparc/sun4gas.h (UNALIGNED_DOUBLE_INT_ASM_OP, | |
7547 | UNALIGNED_INT_ASM_OP, UNALIGNED_SHORT_ASM_OP): Here. | |
7548 | * config/sparc/sysv4.h (STRING_ASM_OP, COMMON_ASM_OP, SKIP_ASM_OP, | |
7549 | UNALIGNED_DOUBLE_INT_ASM_OP, UNALIGNED_INT_ASM_OP, | |
7550 | UNALIGNED_SHORT_ASM_OP, PUSHSECTION_ASM_OP, POPSECTION_ASM_OP, | |
7551 | TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, | |
7552 | CONST_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, | |
7553 | CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, | |
7554 | EH_FRAME_SECTION_ASM_OP): Here. | |
7555 | * config/sparc/vxsim.h (COMMON_ASM_OP): Here. | |
7556 | * config/spur/spur.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): | |
7557 | Here. | |
7558 | * config/tahoe/tahoe.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): | |
7559 | Here. | |
7560 | * config/v850/v850.h (SCOMMON_ASM_OP, ZCOMMON_ASM_OP, | |
7561 | TCOMMON_ASM_OP): Here. | |
7562 | * config/vax/vax.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): | |
7563 | Here. | |
7564 | * config/we32k/we32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, | |
7565 | ASM_BYTE_OP): Here. | |
7566 | ||
7567 | 2000-09-25 Richard Henderson <rth@cygnus.com> | |
7568 | ||
7569 | * expmed.c (store_bit_field): Adjust last change to not consider | |
7570 | any word-sized field naturally aligned. | |
7571 | ||
7572 | 2000-09-24 Richard Henderson <rth@cygnus.com> | |
7573 | ||
7574 | * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle | |
7575 | TFmode unordered compares properly. Revalidate integer compare | |
7576 | operands. | |
7577 | (alpha_emit_setcc): New. | |
7578 | (alpha_emit_conditional_move): Revalidate integer compare operands. | |
7579 | * config/alpha/alpha-protos.h: Update. | |
7580 | * config/alpha/alpha.md (cmpdi): Allow general operands. | |
7581 | (sne): Use alpha_emit_setcc. | |
7582 | (seq, slt, sle, sgt, sge, sltu, sleu, sgtu, sgeu): Likewise. | |
7583 | (sunordered, sordered): New. | |
7584 | ||
7585 | 2000-09-24 Richard Henderson <rth@cygnus.com> | |
7586 | ||
7587 | * config/ia64/ia64-protos.h: Update. | |
7588 | * config/ia64/ia64.c (call_multiple_values_operation): Remove. | |
7589 | (ia64_expand_call): New. | |
7590 | (ia64_expand_prologue): Emit an alloc if we need extra input | |
7591 | registers. | |
7592 | (ia64_expand_epilogue): New arg sibcall_p; don't emit the return | |
7593 | instruction if true. | |
7594 | (struct reg_flags): Add is_sibcall. | |
7595 | (rtx_needs_barrier): A sibcall does not use CFM et al. Ignore USEs. | |
7596 | (emit_insn_group_barriers): Set flags.is_sibcall. Remove hacks | |
7597 | for CODE_FOR_gr_spill_internal/CODE_FOR_gr_restore_internal. | |
7598 | * config/ia64/ia64.h (PREDICATE_CODES): Update. | |
7599 | * config/ia64/ia64.md (call): Use ia64_expand_call. | |
7600 | (call_value): Likewise. | |
7601 | (sibcall, sibcall_value): New. | |
7602 | (call patterns): Remove extra expanders; tidy. | |
7603 | (sibcall_epilogue): New. | |
7604 | (set_bsp): Remove the extra USE. Put the operand inside the UNSPEC. | |
7605 | ||
7606 | 2000-09-24 Richard Henderson <rth@cygnus.com> | |
7607 | ||
7608 | * emit-rtl.c (gen_lowpart_common): Use trunc_int_for_mode. | |
7609 | ||
7610 | * sibcall.c (skip_pic_restore): New. | |
7611 | (identify_call_return_value): Use it. | |
7612 | ||
7613 | 2000-09-24 Mark Mitchell <mark@codesourcery.com> | |
7614 | ||
7615 | * c-tree.texi: Moved here from cp/ir.texi. Documented nested | |
7616 | functions. Generalize to handle both C and C++. | |
7617 | * Makefile.in (c-tree.info): New target. | |
7618 | (info): Add c-tree.info. | |
7619 | ||
7620 | Sun Sep 24 09:15:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
7621 | ||
7622 | * expr.c (store_field): If BITSIZE is negative, use size of type. | |
7623 | (expand_expr, case COMPONENT_EXPR): Likewise. | |
7624 | ||
7625 | Sun 24-Sep-2000 11:40:23 BST Neil Booth <NeilB@earthling.net> | |
7626 | ||
7627 | * cpplex.c: Update TODO comment. | |
7628 | * cpplib.c (do_error, do_warning): Merge common code of | |
7629 | do_error and do_warning into do_diagnostic. Use it. | |
7630 | (do_diagnostic): New function. | |
7631 | * cpplib.h: Fix comment typo. | |
7632 | ||
7633 | 2000-09-24 Joseph S. Myers <jsm28@cam.ac.uk> | |
7634 | ||
7635 | * c-common.c (check_format_info): Warn for a wide character string | |
7636 | used as a non-wide format argument. | |
7637 | ||
7638 | 2000-09-24 Joseph S. Myers <jsm28@cam.ac.uk> | |
7639 | ||
7640 | * builtins.def (BUILT_IN_LLABS): Add. | |
7641 | * builtins.c (expand_builtin): Also abort on BUILT_IN_LLABS. | |
7642 | * c-common.c (c_common_nodes_builtins): Create builtin functions | |
7643 | __builtin_llabs, and plain llabs unless no_nonansi_builtins | |
7644 | outside of C99 mode. | |
7645 | (expand_tree_builtin): Handle BUILT_IN_LLABS. | |
7646 | ||
7647 | Sat 23-Sep-2000 22:39:18 BST Neil Booth <NeilB@earthling.net> | |
7648 | ||
7649 | * cpphash.h (CPP_RESERVE, CPP_PUTS_Q, CPP_PUTS, CPP_PUTC_Q, | |
7650 | CPP_PUTC, DUMMY_TOKEN, NO_DUMMY_TOKEN): Delete. | |
7651 | * cpplex.c (_cpp_expand_token_space, _cpp_init_toklist, | |
7652 | _cpp_free_toklist): No need to worry about extra dummy token | |
7653 | at the start of token lists any more. | |
7654 | (trigraph_ok): Only warn outside comments. | |
7655 | (skip_block_comment): Set and clear lexing_comment. | |
7656 | (skip_line_comment): Take a cpp_reader not cpp_buffer. | |
7657 | Set and clear lexing_comment. | |
7658 | (parse_number): Handle leading '.' indicated by pfile->seen_dot. | |
7659 | (check_long_token): Delete. | |
7660 | (lex_percent, lex_dot): New subroutines of lex_token to | |
7661 | handle lexing of '.' and '%' without lookback. | |
7662 | (lex_token): Use lex_dot and lex_percent. | |
7663 | (lex_line): Don't check for LIST_OFFSET. | |
7664 | (_cpp_init_input_buffer): Update for new _cpp_init_toklist. | |
7665 | * cpplib.c (_cpp_parse_assertion): Similarly. | |
7666 | (cpp_push_buffer): Initialize extra_char. | |
7667 | * cpplib.h (LIST_OFFSET): Delete. | |
7668 | (struct cpp_buffer): New member extra_char. | |
7669 | (struct lexer_state): New members lexing_comment and seen_dot. | |
7670 | ||
7671 | 2000-09-23 Jason Merrill <jason@redhat.com> | |
7672 | ||
7673 | * config/rs6000/x-aix41 (CLIB): Define here. | |
7674 | * config/rs6000/t-aix43: Not here. | |
7675 | * config/rs6000/t-aix41: Or here. Remove. | |
7676 | * configure.in: Don't use it. | |
7677 | ||
7678 | 2000-09-22 Jason Merrill <jason@redhat.com> | |
7679 | ||
7680 | * configure.in: Add test for HAVE_LD_DWARF_LINKONCE. | |
7681 | * toplev.c: Use it to initialize flag_eliminate_dwarf2dups. | |
7682 | * config.in: Regenerate. | |
7683 | ||
7684 | * configure.in: Fix checks for assembler features when using a | |
7685 | one-tree assembler that has not yet been built. | |
7686 | Fix --disable-threads. | |
7687 | ||
7688 | 2000-09-19 Geoff Keating <geoffk@cygnus.com> | |
7689 | ||
7690 | * stmt.c (expand_asm_operands): Allow # in constraints. | |
7691 | ||
7692 | 2000-09-22 Jason Merrill <jason@redhat.com> | |
7693 | ||
7694 | * c-lex.c (skip_white_space): Just treat CRs as horizontal whitespace. | |
7695 | ||
7696 | * dbxout.c (dbxout_symbol_name): Just use DECL_NAME for | |
7697 | function-local names. | |
7698 | ||
7699 | 2000-09-22 Brad Lucier <lucier@math.purdue.edu> | |
7700 | Mark Mitchell <mark@codesourcery.com> | |
7701 | ||
7702 | * toplev.c (warn_disabled_optimization): Declare new warning flag. | |
7703 | * flags.h (warn_disabled_optimization): Add it here. | |
7704 | * gcse.c (gcse_main): Add warning when disabled. | |
7705 | * invoke.texi: Document -Wdisabled-optimization. | |
7706 | ||
7707 | 2000-09-21 Jason Merrill <jason@redhat.com> | |
7708 | ||
7709 | * dwarf2out.c (add_const_value_attribute): Multiply by length, not 4. | |
7710 | ||
7711 | * dwarf2out.c (tree_add_const_value_attribute): New fn. | |
7712 | (gen_variable_die): Call it for non-definitions. | |
7713 | ||
7714 | * dwarf2out.c (die_struct): Add die_mark field. | |
7715 | (mark_dies, unmark_dies): New fns. | |
7716 | (clear_die_sizes): Remove. | |
7717 | (print_die): Check die_symbol rather than die_offset. | |
7718 | (build_abbrev_table, output_pubnames, output_aranges): Check | |
7719 | die_mark rather than die_offset. | |
7720 | (output_comp_unit): Move calc_die_sizes after build_abbrev_table. | |
7721 | Call mark_dies. | |
7722 | ||
7723 | Thu 21-Sep-2000 18:19:05 BST Neil Booth <NeilB@earthling.net> | |
7724 | ||
7725 | * cppfiles.c (lookup_include_file): Rename to open_file. | |
7726 | Always create a splay tree value, even on syscall failures. | |
7727 | Negative entries indicated by fd == -2. | |
7728 | Re-open files closed in the meantime. | |
7729 | (_cpp_fake_include): Create a negative splay tree entry. | |
7730 | (find_include_file, cpp_read_file): Update for function name | |
7731 | change. | |
7732 | * gcc.gd/cpp/mi4.c: Testcase. | |
7733 | ||
7734 | 2000-09-21 Nick Clifton <nickc@redhat.com> | |
7735 | ||
7736 | * config/arm/t-arm-elf (MULTILIB_DIRNAMES): Enable multilibs for | |
7737 | ARM and THUMB modes. | |
7738 | ||
7739 | * config/mcore/mcore.c: Fix compile time warnings. | |
7740 | * config/mcore/mcore-protos.h: Fix compile time warnings. | |
7741 | ||
7742 | 2000-09-20 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
7743 | ||
7744 | * configure.in: Correct test of gcc_cv_glibc. | |
7745 | * configure: Rebuilt. | |
7746 | * config.in: Rebuilt. | |
7747 | ||
7748 | 2000-09-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
7749 | ||
7750 | * builtins.c (expand_builtin_fputs): Also expand when length!=1. | |
7751 | (expand_builtin): Handle BUILT_IN_FWRITE. | |
7752 | ||
7753 | * builtins.def (BUILT_IN_FWRITE): New entry. | |
7754 | ||
7755 | * c-common.c (c_common_nodes_and_builtins): Declare __builtin_fwrite. | |
7756 | ||
7757 | Wed Sep 20 15:39:14 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
7758 | ||
7759 | * gcc.c (modify_target): New variable and struct. | |
7760 | (process_command): Handle MODIFY_TARGET_NAME. | |
7761 | * tm.texi (MODIFY_TARGET_NAME): Add documentation for new macro. | |
7762 | * config/pa/pa.h (MODIFY_TARGET_NAME): New macro. | |
7763 | ||
7764 | * c-decl.c (finish_decl): Add else's to avoid referencing | |
7765 | TYPE_DOMAIN of an ERROR_MARK. | |
7766 | ||
7767 | Wed Sep 20 21:44:31 2000 Denis Chertykov <denisc@overta.ru> | |
7768 | ||
7769 | * config/avr/avr.c (adjust_insn_length): Adjust lengths of | |
7770 | `reload_in*' insns. | |
7771 | ||
7772 | 2000-09-19 Marek Michalkiewicz <marekm@linux.org.pl> | |
7773 | ||
7774 | * config/avr/avr.md (neghi2): Add alternative for input and output | |
7775 | operands in different registers, as in negsi2. | |
7776 | (*negsi2): Remove '*' from the name. Use "movw" if available. | |
7777 | ||
7778 | 2000-09-19 Jim Wilson <wilson@cygnus.com> | |
7779 | ||
7780 | * config/ia64/crtbegin.asm (__dso_handle): Delete use of | |
7781 | HAVE_GAS_HIDDEN macro. | |
7782 | ||
7783 | Tue 19-Sep-2000 22:38:57 BST Neil Booth <NeilB@earthling.net> | |
7784 | ||
7785 | * cpplex.c (lex_line): Drop the EOF token for unknown | |
7786 | directives in assembler. | |
7787 | ||
7788 | 2000-09-19 David Edelsohn <edelsohn@gnu.org> | |
7789 | ||
7790 | * configure.in: Allow enable_threads_flag value of "aix". Define | |
7791 | thread_file as "aix" for AIX 4.3 and above. | |
7792 | * configure: Regenerated. | |
7793 | ||
7794 | * gthr-aix.h: New file. | |
7795 | ||
7796 | * rs6000/t-aix43: Replace soft-float multilib with pthread. | |
7797 | Remove 403 processor multilib match. Fix rios2 processor multilib | |
7798 | match. | |
7799 | ||
7800 | * rs6000/aix.h (ASM_DECLARE_FUNCTION_NAME): Use function_section | |
7801 | to return to appropriate csect. | |
7802 | ||
7803 | 2000-09-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
7804 | ||
7805 | * builtins.c (is_valid_printf_arglist, expand_builtin_printf): New | |
7806 | functions. | |
7807 | (expand_builtin_fputs): Set `target' parameter for `expand_expr'. | |
7808 | (expand_builtin): Handle BUILT_IN_PUTCHAR, BUILT_IN_PUTS and | |
7809 | BUILT_IN_PRINTF. | |
7810 | ||
7811 | * builtins.def (BUILT_IN_PUTCHAR, BUILT_IN_PUTS, BUILT_IN_PRINTF): | |
7812 | New entries. | |
7813 | ||
7814 | * c-common.c (init_function_format_info): Handle __builtin_printf. | |
7815 | Set `check_function_format_ptr'. | |
7816 | (c_common_nodes_and_builtins): Set `puts_ftype' and | |
7817 | `printf_ftype'. Declare __builtin_putchar, __builtin_puts, | |
7818 | __builtin_printf and printf. | |
7819 | ||
7820 | * tree.c, tree.h (check_function_format_ptr): Declare. | |
7821 | ||
7822 | Tue 19-Sep-2000 18:26:57 BST Neil Booth <NeilB@earthling.net> | |
7823 | ||
7824 | * cppfiles.c (read_include_file): Take no special action for | |
7825 | zero-length files. | |
7826 | ||
7827 | 2000-09-19 Bernd Schmidt <bernds@redhat.co.uk> | |
7828 | ||
7829 | * final.c (insn_current_reference_address): Use INSN_SHUID of seq | |
7830 | rather than that of branch. | |
7831 | (shorten_branches): Don't increment insn_current_address twice. | |
7832 | ||
7833 | Undo most of the Wed Jan 27 23:39:53 1999 patch: | |
7834 | * loop.h (struct induction): Delete members derived, ix and last_use. | |
7835 | (struct loop_ivs): Delete members first_increment_giv and | |
7836 | last_increment_giv. | |
7837 | * loop.c (verify_dominator, find_life_end, cmp_recombine_givs_stats, | |
7838 | recombine_givs): Delete functions. | |
7839 | (find_and_verify_loops): Don't initialize cont_dominator. | |
7840 | (strength_reduce): Lose code to try to find bivs that can be | |
7841 | expressed as givs of another biv, and to convert biv increments | |
7842 | into givs. | |
7843 | Lose loop_scan_start variable, always use loop->scan_start. | |
7844 | Don't call recombine_givs. Don't handle derived givs. | |
7845 | (record_giv): Don't initialize derived and last_use fields. | |
7846 | (biv_eliminiation_giv_has_0_offset): Lose code to handle derived | |
7847 | givs. | |
7848 | * unroll.c (derived_regs): Delete static variable. | |
7849 | (unroll_loop): Don't initialize it. | |
7850 | (copy_loop_body): Lose code to handle derived givs. | |
7851 | (find_splittable_givs): Don't check for givs made from biv | |
7852 | increments. | |
7853 | Don't set derived_regs. | |
7854 | ||
7855 | Fix misapplied earlier patch: | |
7856 | * config/sh/sh.md (floatsisf_ie): Reenable. Remove explicit reference | |
7857 | to fpul. | |
7858 | (floatsisf2): Generate floatsisf_ie by default. | |
7859 | (floatsisf_i4): Conditional on TARGET_SH4. | |
7860 | ||
7861 | (floatsisf2, floatsidf2, extendsfdf2): Also use reg_no_subreg_operand | |
7862 | predicate for the expanders. | |
7863 | ||
7864 | 2000-09-19 Richard Henderson <rth@cygnus.com> | |
7865 | ||
7866 | * config/i386/i386.h (CPP_CPU_SPEC): Define i586 and i686 symbols | |
7867 | in addition to pentium and pentiumpro symbols. | |
7868 | (CPP_CPU_DEFAULT_SPEC): Likewise. | |
7869 | ||
7870 | * c-typeck.c (c_expand_asm_operands): Restore the output tree | |
7871 | after expanding. | |
7872 | ||
7873 | * stmt.c (expand_expr_stmt): Only call warn_if_unused_value | |
7874 | if the tree has side effects. | |
7875 | (warn_if_unused_value): Do not warn about void constructs. | |
7876 | ||
7877 | * c-decl.c (poplevel): Invoke warn_about_unused_variables. | |
7878 | ||
7879 | * unroll.c (copy_loop_body): Update LABEL_NUSES before | |
7880 | calling invert_jump. | |
7881 | ||
7882 | 2000-09-18 Geoff Keating <geoffk@cygnus.com> | |
7883 | ||
7884 | * combine.c (can_combine_p): Don't substitute an ASM_OPERANDS | |
7885 | into anything. | |
7886 | ||
7887 | 2000-09-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
7888 | ||
7889 | * Makefile.in (c-common.o): Depend on diagnostic.h. | |
7890 | ||
7891 | * c-common.c: Include diagnostic.h. | |
7892 | (tfaff): Delete. | |
7893 | (status_warning): New function. | |
7894 | (check_format_info, maybe_read_dollar_number, check_format_types, | |
7895 | finish_dollar_format_checking, check_function_format): Accept a | |
7896 | `status' parameter. All callers changed. | |
7897 | ||
7898 | * c-common.h (check_function_format): Accept a `status' parameter. | |
7899 | ||
7900 | * c-typeck.c: Update call to `check_function_format'. | |
7901 | ||
7902 | 2000-09-18 Richard Henderson <rth@cygnus.com> | |
7903 | ||
7904 | * c-decl.c (c_expand_body): Call mark_varargs before | |
7905 | expand_function_start. | |
7906 | ||
7907 | 2000-09-18 Geoff Keating <geoffk@cygnus.com> | |
7908 | ||
7909 | * config/rs6000/eabi-cn.asm: Use /**/ to delimit comments, not #. | |
7910 | * config/rs6000/eabi-ci.asm: Likewise. | |
7911 | ||
7912 | 2000-09-18 Richard Henderson <rth@cygnus.com> | |
7913 | ||
7914 | * emit-rtl.c (init_emit_once): Initialize const_tiny_rtx | |
7915 | for BImode. | |
7916 | ||
7917 | 2000-09-18 Jim Wilson <wilson@cygnus.com> | |
7918 | ||
7919 | * unroll.c (loop_iterations): Pass increment to extend_for_giv_value | |
7920 | before passing it to fold_rtx_mult_add. | |
7921 | ||
7922 | * unroll.c (final_giv_value): Pass increment through | |
7923 | extend_value_for_giv before passing it to emit_iv_add_mult. | |
7924 | ||
7925 | * function.c (fixup_var_refs_1, case ZERO_EXTRACT): If we have a | |
7926 | paradoxical subreg, then directly substitute the replacement and | |
7927 | return. | |
7928 | ||
7929 | Mon 18-Sep-2000 22:12:44 BST Neil Booth <NeilB@earthling.net> | |
7930 | ||
7931 | * cpp.texi: Update documentation, including some clarifications, | |
7932 | the treatment of various newline combinations, and space between | |
7933 | backslash and newline. | |
7934 | ||
7935 | Mon Sep 18 21:00:47 2000 J"orn Rennecke <amylaar@redhat.co.uk> | |
7936 | ||
7937 | * sdbout.c (PUT_SDB_DEF, PUT_SDB_TAG, PUT_SDB_EPILOGUE_END): | |
7938 | Replace ASM_OUTPUT_LABELREF with assemble_name. | |
7939 | ||
7940 | Mon Sep 18 20:26:50 2000 J"orn Rennecke <amylaar@redhat.co.uk> | |
7941 | ||
7942 | * sh.c (addsubcosts): CONST is not cheap. | |
7943 | (find_barrier): For Sh1, take alignment after jumps into account. | |
7944 | ||
7945 | 2000-09-15 Andrew Haley <aph@redhat.com> | |
7946 | ||
7947 | * toplev.c (rest_of_compilation): Call purge_hard_subreg_sets to | |
7948 | remove all SETs of SUBREGs of hard registers. | |
7949 | * function.c (purge_hard_subreg_sets): New function. | |
7950 | (purge_single_hard_subreg_set): New function. | |
7951 | * rtl.h: (purge_hard_subreg_sets): New function. | |
7952 | ||
7953 | 2000-09-18 Richard Henderson <rth@cygnus.com> | |
7954 | ||
7955 | * config/ia64/ia64-protos.h: Update. | |
7956 | * config/ia64/ia64.c (signed_inequality_operator): New. | |
7957 | (ia64_expand_compare): New. | |
7958 | (ia64_register_move_cost): Handle PR_REGS moves. | |
7959 | (ia64_secondary_reload_class): Require a GR when moving to a PR. | |
7960 | (struct reg_write_state): Add written_by_and/or. | |
7961 | (struct reg_flags): Add is_and/or. | |
7962 | (rws_update): Set them. | |
7963 | (rws_access_regno): Test them to allow parallel comparisons. | |
7964 | (rtx_needs_barrier): Recognize parallel comparisons. | |
7965 | (emit_insn_group_barriers): Set prev_insn after a call stop bit. | |
7966 | Call recog_memoized; ignore pred_rel_mutex. | |
7967 | (emit_predicate_relation_info): Don't call find_basic_blocks here. | |
7968 | (ia64_reorg): Do it here instead. | |
7969 | * config/ia64/ia64.h: s/CCmode/BImode/g | |
7970 | (MODES_TIEABLE_P): Don't tie BImode. | |
7971 | (PREFERRED_RELOAD_CLASS): Do not reload operations into AR regs. | |
7972 | (CONST_COSTS): Pick sensible values for CONST_INT based on context. | |
7973 | (RTX_COSTS): Make multiply 4 insns. | |
7974 | (MEMORY_MOVE_COST): New. | |
7975 | (PREDICATE_CODES): Update. | |
7976 | * config/ia64/ia64.md: s/CCmode/BImode/g | |
7977 | (movcci, movbi): New. | |
7978 | (andbi3, andcmbi3, iorbi3, iorcmbi3, one_cmplbi2): New. | |
7979 | (cmpsi_and_0, cmpsi_and_1, cmpsi_andnot_0, cmpsi_andnot_1): New. | |
7980 | (cmpdi_and_0, cmpdi_and_1, cmpdi_andnot_0, cmpdi_andnot_1): New. | |
7981 | (tbit_and_0, tbit_and_1, tbit_and_2, tbit_and_3): New. | |
7982 | (cmpsi_or_0, cmpsi_or_1, cmpsi_orcm_0, cmpsi_orcm_1): New. | |
7983 | (cmpdi_or_0, cmpdi_or_1, cmpdi_orcm_0, cmpdi_orcm_1): New. | |
7984 | (tbit_or_0, tbit_or_1, tbit_or_2, tbit_or_3): New. | |
7985 | (mulsi, muldi): Use xmpy not xma. | |
7986 | (cmpbi): New. | |
7987 | (movcc, movcc_internal): Remove. | |
7988 | (branch expanders): Use ia64_expand_compare. | |
7989 | (setcc expanders): Likewise. | |
7990 | (cmov insns): Use move_operand and ia64_move_ok. | |
7991 | (pred_rel_mutex): Use unspec not unspec_volatile. Prevent the | |
7992 | scheduler from moving it past a use. | |
7993 | * config/ia64/build.hacks: Remove. | |
7994 | ||
7995 | Mon 18-Sep-2000 19:21:35 BST Neil Booth <NeilB@earthling.net> | |
7996 | ||
7997 | * cpphash.h (HASHSTEP): Take character rather than pointer | |
7998 | to character. | |
7999 | (_cpp_check_directive, _cpp_check_linemarker): Update prototypes. | |
8000 | ||
8001 | * cpphash.c (cpp_loookup): Update for new HASHSTEP. | |
8002 | ||
8003 | * cpplex.c (auto_expand_name_space, trigraph_replace, | |
8004 | backslash_start, handle_newline, parse_name, INIT_TOKEN_STR, | |
8005 | IMMED_TOKEN, PREV_TOKEN_TYPE, PUSH_TOKEN, REVISE_TOKEN, | |
8006 | BACKUP_TOKEN, BACKUP_TRIGRAPH, MIGHT_BE_DIRECTIVE, | |
8007 | KNOWN_DIRECTIVE): Delete. | |
8008 | ||
8009 | (handle_newline, check_long_token, skip_escaped_newlines, | |
8010 | unterminated): New functions. | |
8011 | (ACCEPT_CHAR, SAVE_STATE, RESTORE_STATE): New macros. | |
8012 | ||
8013 | (parse_identifier): Was parse_name, new implementation. | |
8014 | (skip_line_comment, skip_block_comment, skip_whitespace, | |
8015 | parse_number, parse_string, trigraph_ok, save_comment, | |
8016 | adjust_column, _cpp_get_line): New implementations. | |
8017 | ||
8018 | (lex_token): New function. Lexes a token at a time, looking | |
8019 | forwards. Contains most of the guts of the old lex_line. | |
8020 | (lex_line): New implementation, using lex_token to obtain | |
8021 | individual tokens. | |
8022 | (cpp_scan_buffer): Use the token's line, not the list's line. | |
8023 | ||
8024 | * cpplib.c (_cpp_check_directive, _cpp_check_linemarker): | |
8025 | New implementations. | |
8026 | (do_assert): Don't bother setting the answer's list's line. | |
8027 | (cpp_push_buffer): Initialize new pfile and read_ahead members | |
8028 | of struct cpp_buffer. | |
8029 | ||
8030 | * cpplib.h (cppchar_t): New typedef. | |
8031 | (struct cpp_buffer): read_ahead, pfile and col_adjust are | |
8032 | new members. | |
8033 | (struct lexer_state): New structure that determines the state | |
8034 | and behavior of the lexer. | |
8035 | (IN_DIRECTIVE, KNOWN_DIRECTIVE): New macros. | |
8036 | (struct cpp_reader): New member "state". Rename | |
8037 | multiline_string_line and multiline_string_column. Delete | |
8038 | col_adjust, in_lex_line members. | |
8039 | (CPP_BUF_COLUMN): Update. | |
8040 | ||
8041 | 2000-09-18 Richard Henderson <rth@cygnus.com> | |
8042 | ||
8043 | * combine.c (simplify_comparison): Shift a NOT out of a single | |
8044 | bit test. | |
8045 | ||
8046 | * combine.c (if_then_else_cond): Canonicalize BImode true to | |
8047 | STORE_FLAG_VALUE. | |
8048 | * explow.c (trunc_int_for_mode): Likewise. | |
8049 | ||
8050 | * combine.c (combine_simplify_rtx): Use gen_unary to distribute | |
8051 | the NOT for De Morgan's rule. | |
8052 | * simplify-rtx.c (simplify_unary_operation): Simplify a BImode NOT | |
8053 | of a comparison to the reverse comparison. | |
8054 | ||
8055 | * combine.c (try_combine): Allow split to create a single insn. | |
8056 | ||
8057 | * machmode.def: Add BImode. Add a column for bitsize. | |
8058 | * machmode.h (DEF_MACHMODE): Adjust for extra column. | |
8059 | (GET_MODE_BITSIZE): Use it. | |
8060 | * rtl.c (DEF_MACHMODE): Adjust for extra column. | |
8061 | (mode_bitsize): New. | |
8062 | (mode_mask_array): Use bitsize. | |
8063 | * combine.c (combine_simplify_rtx): Require inner and outer | |
8064 | modes to match on nonzero_bits optimizations. | |
8065 | ||
8066 | 2000-09-18 Bernd Schmidt <bernds@redhat.co.uk> | |
8067 | ||
8068 | * reload1.c (forget_old_reloads_1): If a hard reg is stored, clear | |
8069 | its entry in spill_reg_store. | |
8070 | * config/sh/lib1funcs.ams (movstr_i4 functions): Always compile in. | |
8071 | * sh.c (reg_no_subreg_operand): New function. | |
8072 | * sh-protos.h (reg_no_subreg_operand): Declare it. | |
8073 | * sh.h (PREDICATE_CODES): Add it. | |
8074 | * sh.md (floatsisf2_i4, floatsidf2_i, extendsfdf2_i4): Use it for | |
8075 | input operand that needs to be in fpul. | |
8076 | (fix_truncsfsi2, fix_truncsfsi2_i4): Use register_operand for output. | |
8077 | * sh.c (find_barrier): Take into account that machine_dependent_reorg | |
8078 | might add new insns. | |
8079 | ||
8080 | 2000-09-18 Alexandre Oliva <aoliva@redhat.com> | |
8081 | ||
8082 | * config/sh/sh.c (sh_expand_prologue): Mark GOTaddr2picreg as | |
8083 | MAYBE_DEAD. | |
8084 | (sh_expand_epilogue): Take the PIC register into account when | |
8085 | computing the frame size. | |
8086 | ||
8087 | * config/sh/sh.c (nonpic_symbol_mentioned_p): Check LABEL_REFs. | |
8088 | * config/sh/sh.md (sym_label2reg, symPLT_label2reg): Protect | |
8089 | LABEL_REFs with a PIC-safe unspec. | |
8090 | ||
8091 | 2000-09-18 Joseph S. Myers <jsm28@cam.ac.uk> | |
8092 | ||
8093 | * c-common.c (check_format_info): Properly save the argument | |
8094 | number and parameter for $ operand number formats in case width | |
8095 | and precision arguments are also used. Allow printf width and | |
8096 | precision arguments to have operand numbers even if none was | |
8097 | specified for the main format, since this is OK for %*.*m. Only | |
8098 | object to missing $ operand number if the format used requires an | |
8099 | argument. | |
8100 | ||
8101 | 2000-09-18 Joseph S. Myers <jsm28@cam.ac.uk> | |
8102 | ||
8103 | * c-common.c (format_char_info): Add 'W' flag to comment. | |
8104 | (print_char_table, scan_char_table): Use it. | |
8105 | (check_format_info): Use the 'W' flag to determine whether a | |
8106 | format argument is written into. | |
8107 | ||
8108 | 2000-09-18 Joseph S. Myers <jsm28@cam.ac.uk> | |
8109 | ||
8110 | * c-common.c (check_format_types): Reorganize and clean up, | |
8111 | checking earlier for ERROR_MARKs and making cur_type into its | |
8112 | TYPE_MAIN_VARIANT where convenient. | |
8113 | ||
8114 | 2000-09-18 Joseph S. Myers <jsm28@cam.ac.uk> | |
8115 | ||
8116 | * gcc.c (cpp_options): Add specs for __STDC_HOSTED__. | |
8117 | ||
8118 | 2000-09-18 Bernd Schmidt <bernds@redhat.co.uk> | |
8119 | ||
8120 | * optabs.c (emit_libcall_block): Set CONST_CALL_P for the call. | |
8121 | ||
8122 | * i386-protos.h (ix86_init_builtins, ix86_expand_builtin): Declare. | |
8123 | * i386.c (struct builtin_description): New. | |
8124 | (bdesc_comi, bdesc_2arg, bdesc_1arg): New arrays. | |
8125 | (mmx_reg_operand): Declare MODE arg as unused. | |
8126 | (ix86_expand_sse_comi, ix86_expand_sse_compare, safe_vector_operand, | |
8127 | ix86_expand_unop1_builtin, ix86_expand_unop_builtin, | |
8128 | ix86_expand_binop_builtin, ix86_expand_store_builtin, | |
8129 | ix86_init_builtins, ix86_expand_builtin): New functions. | |
8130 | * i386.h (ix86_builtins): New enumeration. | |
8131 | (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): New macros. | |
8132 | * i386.md (attr length_immediate): 0 for mmx/sse types. | |
8133 | (attr prefix_0f): 1 for mmx/sse types. | |
8134 | (setcc_2): Remove "*" so we get gen_setcc_2. | |
8135 | (emms): Account for changed register numbering. Set "memory" attr | |
8136 | to unknown. | |
8137 | (sfence): Set "memory" attr to unknown. | |
8138 | ||
8139 | 2000-09-18 Andreas Jaeger <aj@suse.de> | |
8140 | ||
8141 | * configure.in: Define _GNU_SOURCE only when using the GNU C | |
8142 | Library. | |
8143 | * configure: Regenerated. | |
8144 | * config.in: Regenerated. | |
8145 | ||
8146 | 2000-09-17 Mark Mitchell <mark@codesourcery.com> | |
8147 | ||
8148 | * cppinit.c (cpp_init): Don't use ANSI prototypes. | |
8149 | * flow.c (flow_dump_loop): Likewise. | |
8150 | (flow_loops_dump): Likewise. | |
8151 | ||
8152 | * c-typeck.c (c_start_case): Fix typo. | |
8153 | ||
8154 | 2000-09-17 Joseph S. Myers <jsm28@cam.ac.uk> | |
8155 | ||
8156 | * c-decl.c (grokdeclarator): Don't give a warning about defaulting | |
8157 | to int for plain complex which defaults to complex double. Do | |
8158 | warn about defaulting to complex double if pedantic. Warn about | |
8159 | complex integer types if pedantic. Warn about complex types if | |
8160 | pedantic and not in C99 mode. | |
8161 | * c-typeck.c (build_unary_op): If pedantic, warn about use of ~ | |
8162 | for complex conjugation. | |
8163 | ||
8164 | 2000-09-17 Joseph S. Myers <jsm28@cam.ac.uk> | |
8165 | ||
8166 | * contrib.texi: Update my entry. | |
8167 | ||
8168 | Sun Sep 17 18:48:32 2000 Denis Chertykov <denisc@overta.ru> | |
8169 | ||
8170 | * config/avr/avr.md (mcu_enhanced): New attribute. | |
8171 | (mcu_mega): Likewise. | |
8172 | (extendhisi2): Use mcu_enhanced. | |
8173 | (zero_extendhisi2): Likewise. | |
8174 | (call_insn): Use mcu_enhanced and mcu_mega. | |
8175 | (call_value_insn): Likewise. | |
8176 | (*sbrx_branch): Use mcu_mega. | |
8177 | (*sbrx_and_branchsi): Likewise. | |
8178 | (*sbrx_and_branchhi): Likewise. | |
8179 | (*tablejump_lib): Likewise. | |
8180 | ||
8181 | Sun Sep 17 10:46:17 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
8182 | ||
8183 | * alias.c (true_dependence): Allow non-unchanging read to conflict | |
8184 | with unchanging write. | |
8185 | ||
8186 | * expr.c (store_constructor_field): Accept ALIAS_SET arg. | |
8187 | (store_constructor): Pass alias_set to it. | |
8188 | ||
8189 | * c-decl.c (grokdeclarator): Reorder tests to avoid looking at | |
8190 | TYPE_MAIN_VARIANT of ERROR_MARK. | |
8191 | * c-lex.c (readescape): Avoid using printf syntax we don't recognize. | |
8192 | ||
8193 | * simplify-rtx.c (simplify_unary_operation): Add cases | |
8194 | FLOAT_EXTEND and FLOAT_TRUNCATE to ones that return 0. | |
8195 | ||
8196 | 2000-09-17 Bernd Schmidt <bernds@redhat.co.uk> | |
8197 | ||
8198 | * expr.h (emit_library_call, emit_library_call_value): Delete | |
8199 | declarations. | |
8200 | * rtl.h (enum libcall_type): New. | |
8201 | (emit_library_call, emit_library_call_value): Change fn_type arg to | |
8202 | be of type enum libcall_type. | |
8203 | * calls.c: Likewise for the function definitions. Several callers | |
8204 | throughout changed to use the new enumeration appropriately. | |
8205 | (emit_library_call_value_1): Likewise. Put back code to make libcall | |
8206 | blocks of equal form, but only use it for the two new higher | |
8207 | enumeration values. | |
8208 | ||
8209 | 2000-09-16 Mark Mitchell <mark@codesourcery.com> | |
8210 | ||
8211 | Convert the C front-end to use function-at-a-time mode. | |
8212 | * c-common.h: Include splay-tree.h. | |
8213 | (C_DECLARED_LABEL_FLAG): New macro. | |
8214 | (struct language_function): Add x_scope_stmt_stack and | |
8215 | x_function_name_declared_p. | |
8216 | (RECHAIN_STMTS): Move definition. | |
8217 | (lang_statement_code_p): Likewise. | |
8218 | (lang_expand_stmt): Likewise. | |
8219 | (lang_expand_decl_stmt): New variable. | |
8220 | (lang_expand_function_end): Likewise. | |
8221 | (current_scope_stmt_stack): New function. | |
8222 | (add_decl_stmt): Likewise. | |
8223 | (add_scope_stmt): Likewise. | |
8224 | (mark_stmt_tree): Likewise. | |
8225 | (struct c_lang_decl): New structure. | |
8226 | (DECL_SAVED_TREE): Define. | |
8227 | (c_mark_lang_decl): New function. | |
8228 | (c_expand_start_cond): Change prototype. | |
8229 | (c_finish_then): New function. | |
8230 | (c_finish_else): Likewise. | |
8231 | (current_function_name_declared): Remove. | |
8232 | (set_current_function_name_declared): Likewise. | |
8233 | (mark_c_language_function): Declare. | |
8234 | (case_compare): Likewise. | |
8235 | (c_add_case_label): Likewise. | |
8236 | (c_expand_expr): Likewise. | |
8237 | (c_safe_from_p): Likewise. | |
8238 | * c-common.c (lang_expand_function_end): New variable. | |
8239 | (struct if_elt): Add if_stmt. | |
8240 | (c_expand_start_cond): Add the if-statement to the statement-tree, | |
8241 | rather than generating RTL. | |
8242 | (c_finish_then): New function. | |
8243 | (c_expand_start_else): Don't generate RTL. | |
8244 | (c_finish_else): New function. | |
8245 | (c_expand_expr_stmt): Don't generate RTL. | |
8246 | (statement_code_p): Add SCOPE_STMT. | |
8247 | (case_compare): New function. | |
8248 | (c_add_case_label): Likewise. | |
8249 | (mark_stmt_tree): Likewise. | |
8250 | (c_mark_lang_decl): Likewise. | |
8251 | (mark_c_language_function): Likewise. | |
8252 | (c_expand_expr): Likewise. | |
8253 | (c_safe_from_p): Likewise. | |
8254 | * c-decl.c (c_stmt_tree): New variable | |
8255 | (c_scope_stmt_stack): Likewise. | |
8256 | (c_function_name_declared_p): Likewise. | |
8257 | (lang_expand_expr_stmt): Remove. | |
8258 | (poplevel): Don't call output_inline_function for nested | |
8259 | functions. | |
8260 | (pushdecl): Don't set DECL_CONTEXT for a local declaration of an | |
8261 | `extern' function. | |
8262 | (redeclaration_error_message): Change means of computing whether | |
8263 | or not a function is nested. | |
8264 | (lookup_label): Don't call label_rtx. | |
8265 | (init_decl_processing): Add more GC roots. | |
8266 | (start_decl): Add DECL_STMTs to the statement-tree, rather than | |
8267 | calling rest_of_decl_compilation. | |
8268 | (finish_decl): Don't call expand_decl. | |
8269 | (store_parm_decls): Begin the statement-tree, but don't generate | |
8270 | RTL. | |
8271 | (finish_function): Tie off the statement-tree. Call c_expand_body | |
8272 | if appropriate. | |
8273 | (c_expand_body): New function. | |
8274 | (push_c_function_context): Save more information. | |
8275 | (pop_c_function_contxt): Likewise. | |
8276 | (copy_lang_decl): Now that we use DECL_LANG_SPECIFIC, copy it. | |
8277 | (lang_mark_tree): Mark it. | |
8278 | (current_stmt_tree): Adjust. | |
8279 | (current_scope_stmt_stack): New function. | |
8280 | (do_case): Remove. | |
8281 | (set_current_name_declared): Likewise. | |
8282 | (c_begin_compound_stmt): Define. | |
8283 | (c_expand_decl_stmt): Likewise. | |
8284 | * c-lang.c: Include rtl.h and expr.h. | |
8285 | (lang_init): Set more language-specific hooks. | |
8286 | * c-lex.c: Include expr.h. | |
8287 | * c-parse.in: Changes throughout to add statements to the | |
8288 | statement-tree, rather than generating RTL after every statement. | |
8289 | * c-semantics.c (lang_expand_decl_stmt): Define. | |
8290 | (add_decl_stmt): New function. | |
8291 | (add_scope_stmt): Likewise. | |
8292 | (finish_stmt_tree): Tweak. | |
8293 | (genrtl_expr_stmt): Likewise. | |
8294 | (genrtl_decl_stmt): Handle local labels, and call | |
8295 | lang_expand_decl_stmt if required. | |
8296 | (genrtl_for_stmt): Fix line-number handling. | |
8297 | (genrtl_case_label): Handle cleanups. | |
8298 | (genrtl_asm_stmt): Don't call combine_strings. | |
8299 | (genrtl_compound_stmt): Simplify. | |
8300 | (expand_stmt): Handle SCOPE_STMTs. | |
8301 | * c-tree.h (struct lang_decl): New structure. | |
8302 | (C_DECLARED_LABEL_FLAG): Remove. | |
8303 | (c_begin_compound_stmt): Declare. | |
8304 | (c_expand_decl_stmt): Likewise. | |
8305 | (c_expand_start_case): Rename to c_start_case. | |
8306 | (c_finish_case): New function. | |
8307 | * c-typeck.c (start_init): Tweak setting of | |
8308 | constructor_incremental. | |
8309 | (c_expand_asm_operands): Tweak error-handling. Add to the | |
8310 | statement-tree. | |
8311 | (c_expand_return): Add to the statement-tree. | |
8312 | (c_expand_start_case): Rename to ... | |
8313 | (c_start_case): ... this. | |
8314 | (struct c_switch): New type. | |
8315 | (switch_stack): New variable. | |
8316 | (do_case): Simplify. | |
8317 | (c_finish_case): New function. | |
8318 | * dependence.c: Include expr.h. | |
8319 | (enum dependence_type): Change spelling of enumerals. | |
8320 | (check_node_dependence): Adjust. | |
8321 | * expr.h (lang_safe_from_p): Declare. | |
8322 | (safe_from_p): Likewise. | |
8323 | * expr.c (lang_safe_from_p): New variable. | |
8324 | (safe_from_p): Give it external linkage. Use lang_safe_from_p. | |
8325 | * stmt.c (expand_expr_stmt): Avoid clobberring of last_expr_type. | |
8326 | * toplev.c (rest_of_decl_compilation): Robustify. | |
8327 | * tree.c (contains_placeholder_p): Likewise. | |
8328 | * Makefile.in: Update dependencies. | |
8329 | * objc/objc-act.h: Adjust calculation of value for dummy_tree_code. | |
8330 | * objc/objc-act.c: Include rtl.h, expr.h, and c-common.h. | |
8331 | (objc_expand_function_end): New function. | |
8332 | (finish_method_def): Use it. | |
8333 | (init_objc): Initialize more language-specific hooks. | |
8334 | * objc/Make-lang.in: Update dependencies. | |
8335 | ||
8336 | 2000-09-16 Geoffrey Keating <geoffk@cygnus.com> | |
8337 | ||
8338 | * configure.in: Define macros that affect features before | |
8339 | testing for features. Don't define _XOPEN_SOURCE. | |
8340 | * configure: Regenerated. | |
8341 | * config.in: Regenerated. | |
8342 | ||
8343 | Sat Sep 16 19:42:50 EDT 2000 John Wehle (john@feith.com) | |
8344 | ||
8345 | * rtlanal.c (rtx_varies_p): Volatile asms vary. | |
8346 | (rtx_unstable_p): Restructure code. Volatile asms | |
8347 | are unstable. | |
8348 | ||
8349 | Sat Sep 16 14:35:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
8350 | ||
8351 | * function.h (no_debugging_symbols): New field. | |
8352 | * integrate.c (save_for_inline): Renamed from save_for_inline_nocopy. | |
8353 | Initialize no_debugging_symbols. | |
8354 | (output_inline_function): Save and restore write_symbols and set from | |
8355 | no_debugging_symbols. | |
8356 | * toplev.c (rest_of_compilation): Call save_for_inline. | |
8357 | * tree.h: Update comment. | |
8358 | ||
8359 | * stor-layout.c (place_field): Don't do anything if field or | |
8360 | its type are ERROR_MARK. | |
8361 | ||
8362 | Sat Sep 16 19:14:00 2000 Laurynas Biveinis <lauras@softhome.net> | |
8363 | ||
8364 | * cppfiles.c (purge_cache): Use munmap only if MMAP_THRESHOLD defined. | |
8365 | (read_include_file): Ensure inc->mmaped is initialized. | |
8366 | ||
8367 | 2000-09-16 Richard Henderson <rth@cygnus.com> | |
8368 | ||
8369 | * cppiles.c (purge_cache): Use PTR not caddr_t. | |
8370 | ||
8371 | 2000-09-16 Hans-Peter Nilsson <hp@axis.com> | |
8372 | ||
8373 | * gcc.c: In description for %{<S}, say the option removed is -S. | |
8374 | * invoke.texi (Spec Files): Ditto. | |
8375 | ||
8376 | 2000-09-16 Andreas Jaeger <aj@suse.de> | |
8377 | ||
8378 | * configure.in: Always define _GNU_SOURCE to make interfaces | |
8379 | visible that were hidden by only defining _GNU_SOURCE. | |
8380 | * configure: Regenerated. | |
8381 | ||
8382 | Sat 16-Sep-2000 08:13:45 BST Neil Booth <NeilB@earthling.net> | |
8383 | ||
8384 | * cpplex.c (push_macro_context): Set an argument's level after | |
8385 | calling parse_args. We could loop infinitely otherwise. | |
8386 | ||
8387 | 2000-09-15 Tom Tromey <tromey@cygnus.com> | |
8388 | ||
8389 | * configure, config.in: Rebuilt. | |
8390 | * configure.in: Check for iconv.h. Define _XOPEN_SOURCE. | |
8391 | ||
8392 | 2000-09-15 Greg McGary <greg@mcgary.org> | |
8393 | ||
8394 | * cppmacro.c (check_trad_stringification): Check token | |
8395 | text pointers against limit before dereferencing. | |
8396 | ||
8397 | 2000-09-15 Joseph S. Myers <jsm28@cam.ac.uk> | |
8398 | ||
8399 | * c-common.c (format_wanted_type): New structure. | |
8400 | (check_format_types): New function. | |
8401 | (check_format_info): Pass all checking of types of format | |
8402 | arguments, including width and precision arguments, to this new | |
8403 | function. | |
8404 | ||
8405 | 2000-09-15 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> | |
8406 | ||
8407 | * BUGS: Remove file. | |
8408 | ||
8409 | 2000-09-15 Jakub Jelinek <jakub@redhat.com> | |
8410 | ||
8411 | * config/alpha/alpha.c (override_options): ev6 cache latencies | |
8412 | from Richard Henderson. Don't allow -mmemory-latency=L0. | |
8413 | ||
8414 | * config/alpha/alpha.h (TARGET_CPU_EV5, TARGET_CPU_EV6): Define. | |
8415 | (TARGET_OPTIONS): Add tune=. | |
8416 | (alpha_tune_string): Declare. | |
8417 | * config/alpha/alpha.c (override_options): Add cpu_table. | |
8418 | Use alpha_cpu_string first to set both alpha_cpu and target_flags | |
8419 | and then alpha_tune_string to set alpha_cpu only. | |
8420 | Replace tests for PROCESSOR_EV* with TARGET_CPU_EV* tests. | |
8421 | * config/alpha/elf.h (ASM_FILE_START): Likewise. | |
8422 | * config/alpha/osf.h (ASM_FILE_START): Likewise. | |
8423 | * config/alpha/openbsd.h (ASM_FILE_START): Likewise. | |
8424 | ||
8425 | Fri Sep 15 19:45:55 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
8426 | ||
8427 | * i386-protos.h (no_comparison_operator, uno_comparison_operator): | |
8428 | Remove. | |
8429 | (ix86_comparison_operator, ix86_cc_mode): Declare | |
8430 | * i386.h (CCGC, CCGCO): New modes. | |
8431 | (SELECT_CC_MODE): Move offline to .... | |
8432 | * i386.c (ix86_cc_mode): .... here; use new modes. | |
8433 | (ix86_comparison_operator): New. | |
8434 | (fcmov_comparison_operator): Ensure proper mode. | |
8435 | (put_condition_mode): More sanity checking. | |
8436 | (ix86_match_ccmode): Handle new modes. | |
8437 | (ix86_expand_fp_compare): GEU requires CCmode. | |
8438 | (ix86_expand_strlensi_unroll_1): Use emit_cmp_and_jump_insn instead of | |
8439 | doing it by hand. | |
8440 | * i386.md (cmp?i_ccz_1): Remove | |
8441 | (cmp?i_ccno_1): Use ix86_match_ccmode. | |
8442 | (cmp?i_minus_1): New. | |
8443 | (cmpsi_1): New expander. | |
8444 | (cmpqi_ext_1): Use match_ccmode | |
8445 | (cmpqi_ext_3): New expander. | |
8446 | (cmpqi_ext_3_insn): Rename from cmpqi_ext_3. | |
8447 | (cmpqi_ext_4): Use match_ccmode. | |
8448 | (add?i_?): Use match_ccmode. | |
8449 | (add?i_6): New. | |
8450 | (test?i_ccz_1): Remove | |
8451 | (test?i_1): New. | |
8452 | (testsi_ccno_1, testqi_ccz_1, testqi_ext_ccno_0): New expander. | |
8453 | (testqi_ext_0): Use ix86_match_ccmode. | |
8454 | (*xorqi_cc_ext_1): Use ix86_match_ccmode. | |
8455 | (xorqi_cc_ext_1): New expander. | |
8456 | (shift patterns): Use CCGOCmode for all shifts except for sar. | |
8457 | (setcc_?, jcc_?, miv?icc_nic): Use ix86_comparison_operator. | |
8458 | (setcc_3, jcc_3, miv?icc_c): Remove. | |
8459 | ||
8460 | 2000-09-15 Will Cohen <wcohen@redhat.com> | |
8461 | ||
8462 | * dwarf2out.c (add_const_value_attribute): Changed array into a | |
8463 | xmalloced object, so it exists after function exit. | |
8464 | (free_AT): Added case for dw_val_class_float to free allocated | |
8465 | memory. | |
8466 | ||
8467 | 2000-09-15 Kazu Hirata <kazu@hxi.com> | |
8468 | ||
8469 | * config/i386/i386.md: Fix a comment typo. | |
8470 | * gcc.c: Fix formatting. | |
8471 | ||
8472 | 2000-09-15 Bernd Schmidt <bernds@redhat.co.uk> | |
8473 | ||
8474 | * optabs.c (emit_libcall_block): If target is a user variable, | |
8475 | copy to a temporary first. | |
8476 | * expr.c (convert_move): When generating a libcall, make a libcall | |
8477 | block. | |
8478 | * calls.c (emit_library_call_value_1): Don't create a libcall | |
8479 | sequence here; our caller will in most cases do it. | |
8480 | ||
8481 | * sh.h (SECONDARY_INPUT_RELOAD_CLASS): Handle moving T, MACL or | |
8482 | MACH into FPUL. | |
8483 | (SECONDARY_OUTPUT_RELOAD_CLASS): Similar case. | |
8484 | * sh.md (reload_outsf): Generate recognizable patterns for | |
8485 | TARGET_SH3E. | |
8486 | (floatsisf2, floatsisf2_ie, floatsisf2_i4, fix_truncsfsi2, | |
8487 | fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i, fix_truncdfsi2, | |
8488 | fix_truncdfsi2_i, extendsfdf2, extendsfdf2_i4, truncdfsf2, | |
8489 | truncdfsf2_i4): Change not to use explicit references to fpul. | |
8490 | (floatsisf2_ie): Remove USE of fpscr. | |
8491 | (floatsisf2): Change default expansion to match this. | |
8492 | (fix_truncsfsi2_i4_2, fix_truncdfsi2_i4 & splitters): Comment out | |
8493 | unused patterns. | |
8494 | ||
8495 | 2000-09-15 Richard Henderson <rth@cygnus.com> | |
8496 | ||
8497 | * expmed.c (store_bit_field): Consider naturally aligned | |
8498 | memory for direct reference. | |
8499 | ||
8500 | 2000-09-15 Richard Henderson <rth@cygnus.com> | |
8501 | ||
8502 | * config/alpha/alpha.c (alpha_expand_unaligned_load): Force all | |
8503 | AND addresses into alias set 0. | |
8504 | (alpha_expand_unaligned_store): Likewise. | |
8505 | (alpha_expand_unaligned_load_words): Likewise. | |
8506 | (alpha_expand_unaligned_store_words): Likewise. | |
8507 | ||
8508 | 2000-09-15 Bernd Schmidt <bernds@redhat.co.uk> | |
8509 | ||
8510 | * config/sh/sh.h (CPP_SPEC): For -m4-nofpu, define __SH4_NOFPU__. | |
8511 | * config/sh/lib1funcs.asm (movstr_i4): Also compile if __SH4_NOFPU__ | |
8512 | is defined. | |
8513 | * config/mips/mips.c (mips_va_arg): Args passed by reference have a | |
8514 | rsize of UNITS_PER_WORD. | |
8515 | ||
8516 | Fri 15-Sep-2000 06:49:07 BST Neil Booth <NeilB@earthling.net> | |
8517 | ||
8518 | * cpplex.c (ON_REST_ARG): Correct the test. | |
8519 | (maybe_paste_with_next): Duplicate a token that fail pasting, | |
8520 | and clear its PASTE_LEFT flag, so that nested pasting attempts | |
8521 | do not occur. | |
8522 | ||
8523 | 2000-09-14 Richard Henderson <rth@cygnus.com> | |
8524 | ||
8525 | * calls.c (precompute_register_parameters): Use COSTS_N_INSNS, not 2. | |
8526 | * cse.c (rtx_cost): Likewise. | |
8527 | * optabls.c (expand_binop): Likewise. | |
8528 | (expand_twoval_binop, prepare_cmp_insn): Likewise. | |
8529 | * regclass.c (copy_cost): Likewise. | |
8530 | * reload1.c (reload_cse_move2add): Likewise. | |
8531 | ||
8532 | 2000-09-14 Joseph S. Myers <jsm28@cam.ac.uk> | |
8533 | ||
8534 | * c-parse.in (reswords): Add _Complex. | |
8535 | ||
8536 | 2000-09-14 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
8537 | ||
8538 | * gcc.1: Delete documentation for -undef preprocessor option. | |
8539 | ||
8540 | 2000-09-14 Alexandre Oliva <aoliva@redhat.com> | |
8541 | ||
8542 | * config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, | |
8543 | STARTFILE_SPEC, ENDFILE_SPEC): Remove define. | |
8544 | * config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): | |
8545 | Remove undefine before config/elfos.h. | |
8546 | * config/sh/t-sh (EXTRA_MULTILIB_PARTS): Comment out. | |
8547 | ||
8548 | 2000-09-14 Kazu Hirata <kazu@hxi.com> | |
8549 | ||
8550 | * invoke.texi (H8/300 Options): Add -ms2600. | |
8551 | * config/h8300.c (h8300_init_once): Output an error when -ms2600 | |
8552 | is used without -ms. | |
8553 | * config/h8300.h (TARGET_MAC): New. | |
8554 | (TARGET_SWITCHES): Add -ms2600 and -mno-s2600. | |
8555 | (CONDITIONA_REGISTER_USAGE): Disable the mac register on any | |
8556 | machine other than H8S/2600. | |
8557 | * config/h8300.md: Accept mac instructions on the H8S/2600 instead | |
8558 | of the H8S/2000. | |
8559 | ||
8560 | 2000-09-14 Alexandre Oliva <aoliva@redhat.com>, Bernd Schmidt <bernds@redhat.co.uk> | |
8561 | ||
8562 | * reload.c (find_reloads_address_1): Generate reloads for auto_inc | |
8563 | pseudos that refer to the original pseudos, not only to their | |
8564 | equivalent memory locations. | |
8565 | ||
8566 | Thu Sep 14 12:10:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
8567 | ||
8568 | * expr.c (expand_expr, case COMPONENT_EXPR): Copy memory attributes | |
8569 | when making new MEM. | |
8570 | ||
8571 | * Makefile.in (LN): Remove duplicate definition. | |
8572 | ||
8573 | 2000-09-12 Bernd Schmidt <bernds@redhat.co.uk> | |
8574 | ||
8575 | From Joern Rennecke: | |
8576 | * local-alloc.c (update_equiv_regs): If there is no REG_EQUAL note | |
8577 | on an insn and function_invariant_p returns nonzero for the source, | |
8578 | add a REG_EQUAL note. | |
8579 | ||
8580 | Thu Sep 14 00:51:57 EDT 2000 John Wehle (john@feith.com) | |
8581 | ||
8582 | * alias.c (memrefs_conflict_p): An ADDRESSOF doesn't | |
8583 | conflict with frame_pointer_rtx. | |
8584 | ||
8585 | 2000-09-13 Kazu Hirata <kazu@hxi.com> | |
8586 | ||
8587 | * loop.c: Fix formatting. | |
8588 | * loop.h: Likewise. | |
8589 | ||
8590 | 2000-09-13 Richard Henderson <rth@cygnus.com> | |
8591 | ||
8592 | * config/ia64/ia64.md (divsf3): New. | |
8593 | (divsf3_internal_lat, divsf3_internal_thr): New. | |
8594 | (divdf3, divdf3_internal_lat, divdf3_internal_thr): New. | |
8595 | (divtf3, divtf3_internal_lat, divtf3_internal_thr): New. | |
8596 | (adddf3_trunc, subdf3_trunc, muldf3_trunc): New. | |
8597 | (madddf4_trunc, msubdf4_trunc, nmuldf3_trunc): New. | |
8598 | (nmadddf4_alts, nmadddf4_trunc): New. | |
8599 | (addtf3_truncsf, addtf3_truncdf, subtf3_truncsf): New. | |
8600 | (subtf3_truncdf, multf3_truncsf, multf3_truncdf): New. | |
8601 | (multf3_truncsf_alts, multf3_truncdf_alts): New. | |
8602 | (maddtf4_truncsf, maddtf4_truncdf, maddtf4_alts_truncdf): New. | |
8603 | (msubtf4_truncsf, msubtf4_truncdf, nmultf3_truncsf): New. | |
8604 | (nmultf3_truncdf, nmaddtf4_truncsf, nmaddtf4_truncdf): New. | |
8605 | (nmaddtf4_truncdf_alts): New. | |
8606 | (recip_approx): Don't predicate. | |
8607 | ||
8608 | 2000-09-13 Richard Henderson <rth@cygnus.com> | |
8609 | ||
8610 | * config/ia64/lib1funcs.asm (__divsf3): Protect fnorm.s with p6. | |
8611 | ||
8612 | 2000-09-13 Stephane Carrez <Stephane.Carrez@worldnet.fr> | |
8613 | ||
8614 | * flags.h (flag_dump_rtl_in_asm): Declare. | |
8615 | * toplev.c (flag_dump_rtl_in_asm): Define. | |
8616 | (decode_d_option): Set flag_dump_rtl_in_asm and flag_print_asm_name | |
8617 | if -dP is specified. | |
8618 | * rtl.h (print_rtx_head): Declare. | |
8619 | * print-rtl.c (print_rtx_head): Define. | |
8620 | (print_rtx): Print the string pointed to by print_rtx_head | |
8621 | at beginning of each dump line. | |
8622 | (print_rtl): Likewise. | |
8623 | (print_rtl_single): Likewise. | |
8624 | * final.c (final_scan_insn): Dump the insn in the assembly | |
8625 | file for debugging. | |
8626 | * gcc.1: Document -dP option. | |
8627 | * invoke.texi (Debugging Options): Likewise. | |
8628 | ||
8629 | 2000-09-13 Stephane Carrez <Stephane.Carrez@worldnet.fr> | |
8630 | ||
8631 | * md.texi (Machine Constraints): Document the 68HC11 constraints. | |
8632 | * install.texi (Configurations): Document the 68HC11&68HC12 port. | |
8633 | * invoke.texi (Option Summary, M68hc1x Options): Document the options. | |
8634 | ||
8635 | Tue Sep 12 13:51:13 2000 Denis Chertykov <denisc@overta.ru> | |
8636 | ||
8637 | * config/avr/avr.h (ASSEMBLER_DIALECT): New macro declared. | |
8638 | * config/avr/avr.md (*movstrqi_insn): Cleanup output template. | |
8639 | (*clrstrqi): Likewise. | |
8640 | (xorhi3,xorsi3,absqi2): Likewise. | |
8641 | (one_cmplhi2,one_cmplsi2): Likewise. | |
8642 | (addsi3): Two stupid constraint alternatives removed. | |
8643 | (extendhisi2): Use `movw' for enhanced avr cores. | |
8644 | (zero_extendhisi2): Likewise. | |
8645 | ||
8646 | Wed Sep 13 02:31:23 EDT 2000 John Wehle (john@feith.com) | |
8647 | ||
8648 | * alias.c (find_base_term): Use frame_pointer_rtx | |
8649 | when handling an ADDRESSOF. | |
8650 | ||
8651 | * cse.c (canon_hash): Handle USE of BLKmode memory. | |
8652 | (cse_insn): Outgoing arguments for a libcall don't | |
8653 | affect any recorded expressions. | |
8654 | ||
8655 | 2000-09-12 Tom Tromey <tromey@cygnus.com> | |
8656 | ||
8657 | * configure, config.in: Rebuilt. | |
8658 | * configure.in: Check for iconv, nl_langinfo, langinfo.h. | |
8659 | ||
8660 | 2000-09-12 Jakub Jelinek <jakub@redhat.com> | |
8661 | ||
8662 | * c-lex.c (lex_string): Use charwidth to compute bytemask. | |
8663 | * expr.c (expand_expr): Don't optimize constant array references | |
8664 | initialized with wide string constants. | |
8665 | ||
8666 | 2000-09-13 Michael Hayes <mhayes@cygnus.com> | |
8667 | ||
8668 | * loop.c (note_set_pseudo_multiple_uses): Correct. | |
8669 | ||
8670 | 2000-09-12 Jim Wilson <wilson@cygnus.com> | |
8671 | ||
8672 | * ifcvt.c (noce_process_if_block): If A and B are the same, and no | |
8673 | else block, and X has side-effects, then fail. | |
8674 | ||
8675 | 2000-09-12 Greg McGary <greg@mcgary.org> | |
8676 | ||
8677 | * config/mips/mips-protos.h | |
8678 | (trap_cmp_op, mips_gen_conditional_trap): New func decls. | |
8679 | * config/mips/mips.h (ISA_HAS_COND_TRAP): New macro. | |
8680 | (PREDICATE_CODES): Add "trap_cmp_op". | |
8681 | * config/mips/mips.c | |
8682 | (trap_cmp_op, mips_gen_conditional_trap): New functions. | |
8683 | * config/mips/mips.md (trap, conditional_trap): New patterns. | |
8684 | ||
8685 | 2000-09-12 Bernd Schmidt <bernds@redhat.co.uk> | |
8686 | ||
8687 | * flow.c (try_pre_increment_1): Don't do anything to sets of the stack | |
8688 | pointer. | |
8689 | ||
8690 | 2000-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
8691 | ||
8692 | * builtins.c (built_in_decls): New array. | |
8693 | (expand_builtin_fputs): New function. | |
8694 | (expand_builtin): Handle BUILT_IN_FPUTC and BUILT_IN_FPUTS. | |
8695 | ||
8696 | * builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTS): New members. | |
8697 | ||
8698 | * c-common.c (c_common_nodes_and_builtins): Handle fputc/fputs. | |
8699 | ||
8700 | * tree.h (built_in_decls): New array. | |
8701 | ||
8702 | Tue Sep 12 08:53:57 2000 Jeffrey A Law (law@cygnus.com) | |
8703 | ||
8704 | * convex.md: Use "+" instead of "=" for outputs wrapped in a | |
8705 | STRICT_LOW_PART. | |
8706 | * i370.md, i386.md, ns32k.md, sh.md, vax.md: Likewise. | |
8707 | ||
8708 | 2000-09-12 Kazu Hirata <kazu@hxi.com> | |
8709 | ||
8710 | * haifa-sched.c: Fix formatting. | |
8711 | ||
8712 | * genattrtab.c: Fix formatting. | |
8713 | ||
8714 | * unroll.c: Fix formatting. | |
8715 | ||
8716 | 2000-09-12 Bruce Korb <bkorb@gnu.org> | |
8717 | ||
8718 | * fixinc/fixfixes.c: make a type for the fix procedure & use it, | |
8719 | remove obsolete code | |
8720 | * fixinc/fixincl.c: Use PARAMS, not _P_. Add no-op default to switch. | |
8721 | * fixinc/fixincl.tpl: make non-exported arrays static scope | |
8722 | * fixinc/fixincl.x: regenerate | |
8723 | * fixinc/fixlib.h: Use PARAMS, not _P_ | |
8724 | * fixinc/fixtests.c: make a type for the test proc & use it | |
8725 | * fixinc/server.h: Use PARAMS, not _P_ | |
8726 | ||
8727 | 2000-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
8728 | ||
8729 | * c-typeck.c (process_init_element): Avoid union init warnings on | |
8730 | floating point zero. Don't crash on unions containing structs. | |
8731 | ||
8732 | 2000-09-12 Alexandre Oliva <aoliva@redhat.com> | |
8733 | ||
8734 | * config/sh/sh.h (PREDICATE_CODES): Add CONST_DOUBLE to | |
8735 | general_movsrc_operand, and remove CONST_INT from | |
8736 | general_movdst_operand. | |
8737 | ||
8738 | 2000-09-12 Bernd Schmidt <bernds@redhat.co.uk> | |
8739 | ||
8740 | * cse.c (approx_reg_cost): If SMALL_REGISTER_CLASSES, return INT_MAX | |
8741 | if a reference to non-fixed hardreg is seen. Otherwise, count hard | |
8742 | regs with a higher cost. | |
8743 | (preferrable): Deal with cases where either cost or regcost is | |
8744 | MAX_COST. | |
8745 | (cse_insn): Use MAX_COST rather than 10000. Always initialize | |
8746 | regcost values. | |
8747 | (COSTS_N_INSNS): Move definition... | |
8748 | * rtl.h: ...here. | |
8749 | (MAX_COST): New macro. | |
8750 | * loop.c (init_loop): Use COSTS_N_INSNS macro instead of hardcoded | |
8751 | constant. | |
8752 | ||
8753 | 2000-09-11 Mark Mitchell <mark@codesourcery.com> | |
8754 | ||
8755 | * c-common.h (genrtl_clear_out_block): Remove. | |
8756 | * c-semantics.c (genrtl_clear_out_block): Remove. | |
8757 | (genrtl_while_stmt): Don't call it. | |
8758 | (genrtl_for_stmt): Likewise. | |
8759 | ||
8760 | 2000-09-11 Zack Weinberg <zack@wolery.cumb.org> | |
8761 | ||
8762 | * cppfiles.c: Move all default-#defines to top of file. | |
8763 | (open_include_file): Replace by lookup_include_file. | |
8764 | (read_with_read, read_file): Merged into read_include_file. | |
8765 | (stack_include_file, purge_cache): New functions. | |
8766 | (close_cached_fd): Delete. | |
8767 | (lookup_include_file, read_include_file, _cpp_pop_file_buffer): | |
8768 | Cache the in-memory buffer, not the file descriptor. | |
8769 | ||
8770 | * cpphash.h (struct include_file): Add buffer, st, refcnt, | |
8771 | mapped fields. | |
8772 | (xcnew): New utility macro. | |
8773 | (DO_NOT_REREAD, NEVER_REREAD): Move up by struct include_file. | |
8774 | * cpplib.h (struct cpp_buffer): Remove mapped field. | |
8775 | ||
8776 | 2000-09-11 Zack Weinberg <zack@wolery.cumb.org> | |
8777 | ||
8778 | * cpplex.c (parse_string): Accept backslash space newline as a | |
8779 | line continuation. | |
8780 | (lex_line): Likewise. | |
8781 | (_cpp_get_token): Remove hard limit on macro nesting. | |
8782 | ||
8783 | 2000-09-12 Philipp Thomas <pthomas@suse.de> | |
8784 | ||
8785 | * aclocal.m4 (AM_WITH_NLS): Don't force use of included gettext. | |
8786 | * configure: Rebuilt. | |
8787 | ||
8788 | 2000-09-13 Michael Hayes <mhayes@cygnus.com> | |
8789 | ||
8790 | * flow.c (split_block): Fix update of registers live at | |
8791 | end of split block. | |
8792 | ||
8793 | Tue Sep 12 01:51:38 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
8794 | ||
8795 | * i386.md (add?i_3, add?i_5): New. | |
8796 | (add?i_4): Rename from add?i_3; Fix compare pattern. | |
8797 | (sub?i_3, xor?i_3, ior?i_3): New. | |
8798 | ||
8799 | * genrecog.c (write_tree): Output code to clear insn_extract cache. | |
8800 | * genattrtab.c (write_attr_case): Gen call to extract_insn_cache | |
8801 | instead of extract_insn and extract_constrain_insn_cache instead of | |
8802 | extract_insn and constrain_operands. | |
8803 | * recog.c (extract_insn_cached, extract_constrain_insn_cached): | |
8804 | New functions. | |
8805 | (extract_insn): Clear which_alternative. | |
8806 | (constrain_operands): Set which_alternative to -1 when failed. | |
8807 | * recog.h (extract_constrain_insn_cached, extract_insn_cached): | |
8808 | Declare. | |
8809 | ||
8810 | 2000-09-11 Matthew Hiller <hiller@redhat.com> | |
8811 | ||
8812 | * config/h8300/h8300.md (movstrictqi): Changed constraint modifier | |
8813 | on operand 0 to '+'. | |
8814 | (movstricthi): Likewise. | |
8815 | ||
8816 | 2000-09-12 Michael Hayes <mhayes@cygnus.com> | |
8817 | ||
8818 | * loop.h (LOOP_IVS): New macro. | |
8819 | (REG_IV_TYPE, REG_IV_INFO): Add ivs argument. | |
8820 | (struct loop_ivs): New. | |
8821 | (struct loop_info): Add ivs field. | |
8822 | (reg_iv_type, reg_iv_info): Delete prototype. | |
8823 | (reg_biv_class, loop_iv_list): Likewise. | |
8824 | * loop.c (record_biv, find_life_end): Pass loop argument. | |
8825 | (reg_iv_type): Remove global array and use | |
8826 | field in loop_regs structure within loop_ivs structure. | |
8827 | (reg_iv_info, reg_biv_class, loop_iv_list): Likewise. | |
8828 | (first_increment_giv, last_increment_giv): Use entry in | |
8829 | loop_ivs structure. | |
8830 | (record_initial): Pass ivs pointer. | |
8831 | * unroll.c (copy_loop_body, remap_split_bivs): Add loop argument. | |
8832 | ||
8833 | 2000-09-12 Michael Hayes <mhayes@cygnus.com> | |
8834 | ||
8835 | * loop.h (LOOP_REGS): New macro. | |
8836 | (struct loop_regs): New. | |
8837 | (struct loop_info): Add regs field. | |
8838 | * loop.c (set_in_loop): Remove global array and store | |
8839 | in loop_regs structure as part of loop_info structure. | |
8840 | (n_times_set, may_not_optimize): Likewise. | |
8841 | (reg_single_usage, moved_once): Likewise. | |
8842 | (count_one_set): Add regs argument. | |
8843 | (combine_movables, rtx_equal_for_loop_p, combine_givs): Likewise. | |
8844 | (set_pseudo_multiple_uses): Pass regs pointer. | |
8845 | ||
8846 | 2000-09-12 Michael Hayes <mhayes@cygnus.com> | |
8847 | ||
8848 | * unroll.c (iteration_info): Subsume into loop_iterations. | |
8849 | * loop.h (loop_info): New field iv. | |
8850 | ||
8851 | 2000-09-12 Michael Hayes <mhayes@cygnus.com> | |
8852 | ||
8853 | * basic-block.h (LOOP_TREE, LOOP_PRE_HEADER, LOOP_EDGES): New. | |
8854 | (LOOP_EXITS_DOMS, LOOP_ALL): Likewise. | |
8855 | (flow_loops_update): New prototype. | |
8856 | (flow_loops_find): Add flags to prototype. | |
8857 | (struct loop): Add `pre_header_root' and `pre_header_trace' fields. | |
8858 | * flow.c (flow_loop_pre_header_scan): New. | |
8859 | (flow_loop_dump): Dump pre-header root and trace and exit dominators. | |
8860 | (flow_loop_free): Free pre-header root and trace and exit dominators. | |
8861 | (flow_loops_find): New argument flags. | |
8862 | (flow_loops_update): New function. | |
8863 | * toplev.c (rest_of_compilation): Add flag argument to flow_loops_find. | |
8864 | ||
8865 | 2000-09-12 Michael Hayes <mhayes@cygnus.com> | |
8866 | ||
8867 | * basic-block.h (split_block, update_bb_for_insn): New prototypes. | |
8868 | * flow.c (split_block, update_bb_for_insn): New functions. | |
8869 | ||
8870 | 2000-09-11 Richard Henderson <rth@cygnus.com> | |
8871 | ||
8872 | * cse.c (fold_rtx): Honor NO_FUNCTION_CSE. | |
8873 | ||
8874 | 2000-09-11 Richard Henderson <rth@cygnus.com> | |
8875 | ||
8876 | * config/ia64/ia64-protos.h (fr_nonimmediate_operand): Declare. | |
8877 | * config/ia64/ia64.c (fr_nonimmediate_operand): New. | |
8878 | (ia64_override_options): Prevent optimizing division for both | |
8879 | latency and throughput. | |
8880 | (rtx_needs_barrier): Handle frcpa. | |
8881 | * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): New. | |
8882 | (MASK_INLINE_DIV_THR, TARGET_INLINE_DIV_LAT): New. | |
8883 | (TARGET_INLINE_DIV_THR, TARGET_INLINE_DIV): New. | |
8884 | (TARGET_SWITCHES): Add -minline-divide-min-latency and | |
8885 | -minline-divide-max-throughput. | |
8886 | (PREDICATE_CODES): Update. | |
8887 | * config/ia64/ia64.md (extendsidi2): Remove * from f case. | |
8888 | (zero_extendsidi2): Likewise. Fix typo in f case insn. | |
8889 | (extendsfdf2): Add cases for gr<->fr and fr<->mem. | |
8890 | (extendsftf2): Likewise. | |
8891 | (extenddftf2): Likewise. | |
8892 | (fix_trunctfdi2_alts): New. | |
8893 | (fixuns_trunctfdi2_alts): New. | |
8894 | (madd*4): Rename from madd*3. | |
8895 | (divsi3, modsi3, udivsi3, umodsi3): New. | |
8896 | (divsi3_internal): New. | |
8897 | (divdi3, moddi3, udivdi3, umoddi3): New. | |
8898 | (divdi3_internal_lat, divdi3_internal_thr): New. | |
8899 | (multf3_alts, maddtf4_alts, nmaddtf4_alts): New. | |
8900 | (recip_approx): New. | |
8901 | ||
8902 | 2000-09-11 Alexandre Oliva <aoliva@redhat.com> | |
8903 | ||
8904 | * print-rtl.c (debug_call_placeholder_verbose): New variable. | |
8905 | (print_rtx) [CALL_PLACEHOLDER]: Dump all call sequences if it is | |
8906 | set. | |
8907 | * integrate.c (copy_rtx_and_substitute): Don't share | |
8908 | LEAF_REG_REMAPpable registers with the inlined function. Don't | |
8909 | share the function value with calling sequences. | |
8910 | ||
8911 | 2000-09-11 Jakub Jelinek <jakub@redhat.com> | |
8912 | ||
8913 | * c-decl.c (do_case): Fix a typo. | |
8914 | ||
8915 | * combine.c (simplify_if_then_else): Don't convert a == b ? b : a | |
8916 | to a if the comparison is floating mode and not -ffast-math. | |
8917 | * simplify-rtx.c (simplify_ternary_operation): Likewise. | |
8918 | ||
8919 | Mon Sep 11 20:07:48 2000 J"orn Rennecke <amylaar@redhat.co.uk> | |
8920 | ||
8921 | * sh.h (INITIALIZE_TRAMPOLINE): Remove stray call to | |
8922 | gen_ic_invalidate_line. | |
8923 | ||
8924 | 2000-09-11 Philip Blundell <pb@futuretv.com> | |
8925 | ||
8926 | * config/arm/elf.h (SUBTARGET_CPP_SPEC): Don't define `arm_elf'. | |
8927 | ||
8928 | Mon Sep 11 10:48:41 2000 Ulrich Drepper <drepper@redhat.com> | |
8929 | ||
8930 | * install.texi (LANGUAGES): Update to include new languages. | |
8931 | * INSTALL: Rebuilt. | |
8932 | ||
8933 | 2000-09-11 DJ Delorie <dj@redhat.com> | |
8934 | ||
8935 | * gcc.c (main): Don't warn about unused -B prefixes | |
8936 | (unused_prefix_warnings): remove | |
8937 | ||
8938 | 2000-09-11 Kazu Hirata <kazu@hxi.com> | |
8939 | ||
8940 | * final.c: Fix formatting. | |
8941 | ||
8942 | * integrate.c: Fix formatting. | |
8943 | ||
8944 | 2000-09-11 Geoff Keating <geoffk@cygnus.com> | |
8945 | ||
8946 | * alias.c (memrefs_conflict_p): An ADDRESSOF does conflict, sorry. | |
8947 | ||
8948 | 2000-09-11 Bernd Schmidt <bernds@redhat.co.uk> | |
8949 | ||
8950 | * reload.c (regno_clobbered_p): Fix thinko in previous change. | |
8951 | ||
8952 | 2000-09-10 Stephane Carrez <Stephane.Carrez@worldnet.fr> | |
8953 | ||
8954 | * gcc.1: Document 68hc11 specific options. | |
8955 | ||
8956 | 2000-09-10 Geoff Keating <geoffk@cygnus.com> | |
8957 | ||
8958 | * config/rs6000/sysv4.h (MASK_LONG_DOUBLE_128): Define. | |
8959 | (TARGET_LONG_DOUBLE_128): Define. | |
8960 | (SUBTARGET_SWITCHES): Add -mlong-double-64 and -mlong-double-128. | |
8961 | (LONG_DOUBLE_TYPE_SIZE): Redefine. | |
8962 | (MAX_LONG_DOUBLE_TYPE_SIZE): Define. | |
8963 | (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on definition | |
8964 | of __LONG_DOUBLE_128__. | |
8965 | (CPP_SYSV_SPEC): Define __LONG_DOUBLE_128__ if -mlong-double-128 | |
8966 | passed. | |
8967 | (CPP_LONGDOUBLE_DEFAULT_SPEC): Define. | |
8968 | (CPP_SYSV_DEFAULT_SPEC): Define. | |
8969 | (SUBTARGET_EXTRA_SPECS): Add cpp_longdouble_default. | |
8970 | (INIT_TARGET_OPTABS): Define. | |
8971 | ||
8972 | * config/rs6000/aix.h (RS6000_ITRUNC): Moved from rs6000.h. | |
8973 | (RS6000_UITRUNC): Likewise. | |
8974 | (INIT_TARGET_OPTABS): New macro. | |
8975 | * config/rs6000/rs6000.c (rs6000_trunc_used): Delete. | |
8976 | (trunc_defined): Delete. | |
8977 | (output_prolog): Don't output .extern definitions for fp->int | |
8978 | conversion routines, ASM_OUTPUT_EXTERNAL_LIBCALL will do it. | |
8979 | * config/rs6000/rs6000.h (rs6000_trunc_used): Delete. | |
8980 | (trunc_defined): Delete. | |
8981 | (RS6000_ITRUNC): Moved to aix.h. | |
8982 | (RS6000_UITRUNC): Likewise. | |
8983 | * config/rs6000/rs6000.md (fix_truncdfsi2): Fail if it would | |
8984 | only emit a libcall. | |
8985 | (fixuns_truncdfsi2): Delete. | |
8986 | (trunc_call): Delete. | |
8987 | (trunc_call_rtl): Delete. | |
8988 | ||
8989 | 2000-09-10 Zack Weinberg <zack@wolery.cumb.org> | |
8990 | ||
8991 | * varasm.c (make_decl_rtl): Restore leading star on | |
8992 | DECL_ASSEMBLER_NAME set for decls with an asmspec. | |
8993 | ||
8994 | 2000-09-10 Zack Weinberg <zack@wolery.cumb.org> | |
8995 | ||
8996 | * c-pragma.c (handle_pragma_pack): Correct parsing logic so it | |
8997 | won't give a spurious error for '#pragma pack()'. Simplify | |
8998 | control flow for readability. 'reset' action is not necessary. | |
8999 | ||
9000 | 2000-09-10 Zack Weinberg <zack@wolery.cumb.org> | |
9001 | ||
9002 | * defaults.h: Provide default definitions for: CHAR_TYPE_SIZE, | |
9003 | SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE, | |
9004 | LONG_LONG_TYPE_SIZE, WCHAR_TYPE_SIZE, FLOAT_TYPE_SIZE, | |
9005 | DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE, and WCHAR_UNSIGNED. | |
9006 | ||
9007 | * cppexp.c, dwarfout.c, dwarf2out.c, emit-rtl.c, final.c, optabs.c, | |
9008 | profile.c, sdbout.c, tradcif.y, tree.c: | |
9009 | Include defaults.h if not already included. | |
9010 | Don't define the above macros. | |
9011 | ||
9012 | * Makefile.in: Update dependencies. | |
9013 | ||
9014 | 2000-09-10 Mark Mitchell <mark@codesourcery.com> | |
9015 | ||
9016 | * c-common.h (add_stmt): Change prototype. | |
9017 | (RECHAIN_STMTS): New macro. | |
9018 | (CASE_LABEL_DECL): Likewise. | |
9019 | (genrtl_case_label): Change prototype. | |
9020 | (c_expand_start_case): Remove prototype. | |
9021 | (build_case_label): Change prototype. | |
9022 | (decl_constant_value): Declare. | |
9023 | * c-common.c (check_case_value): Handle C++'s extensions to C | |
9024 | semantics. | |
9025 | * c-commnon.def (CASE_LABEL): Add room for the CASE_LABEL_DECL | |
9026 | field. | |
9027 | * c-parse.in (stmt): Adjust handling of return statements and case | |
9028 | laels. | |
9029 | * c-semantics.c (add_stmt): Return the new statement. | |
9030 | (genrtl_return_stmt): Take the RETURN_STMT as input, not the | |
9031 | returned expression. Directly generate RTL, rather than calling | |
9032 | c_expand_return. | |
9033 | (genrtl_switch_stmt): Don't call c_expand_start_case. | |
9034 | (build_case_label): Take the LABEL_DECL as input, too. | |
9035 | (genrtl_case_label): Just call add_case_node. | |
9036 | (expand_stmt): Adjust calls to genrtl_return_stmt and | |
9037 | genrtl_case_label. | |
9038 | * c-tree.h (c_expand_start_case): Declare. | |
9039 | * c-typeck.c (decl_constant_value): Give it external linkage. | |
9040 | (c_expand_return): Don't call expand_return or expand_null_return; | |
9041 | use genrtl_return_stmt instead. | |
9042 | * stmt.c (struct nesting): Remove num_ranges field. | |
9043 | (add_case_node): Give it external linkage. | |
9044 | (expand_start_case): Don't set num_ranges. | |
9045 | (expand_start_case_dummy): Don't clear it. | |
9046 | (pushcase): Rely on add_case_node to handle `default' labels. | |
9047 | (add_case_node): Handle `default' labels. | |
9048 | * tree.c (tree_int_cst_compare): New function. | |
9049 | * tree.h (tree_int_cst_compare): Declare. | |
9050 | (add_case_node): Likewise. | |
9051 | ||
9052 | 2000-09-10 Richard Henderson <rth@cygnus.com> | |
9053 | ||
9054 | * c-parse.in: Revert last change. | |
9055 | (init_reswords): Do not enter disabled keywords into the ridpointers | |
9056 | table, modulo objc weirdness. | |
9057 | (_yylex): Return the canonical spelling for a keyword. | |
9058 | ||
9059 | 2000-09-10 Philip Blundell <philb@gnu.org> | |
9060 | ||
9061 | * config/arm/arm.h (CPP_ISA_SPEC): Don't define `arm' or `thumb'. | |
9062 | * config/arm/linux-elf.h (CPP_PREDEFINES): Don't define `__arm__'. | |
9063 | ||
9064 | Sun Sep 10 14:30:28 EDT 2000 John Wehle (john@feith.com) | |
9065 | ||
9066 | * alias.c (find_base_term): Handle ADDRESSOF. | |
9067 | (memrefs_conflict_p): An ADDRESSOF doesn't conflict. | |
9068 | ||
9069 | 2000-09-10 Denis Chertykov <denisc@overta.ru> | |
9070 | ||
9071 | * genoutput.c (output_insn_data): Translate <NEWLINE> to \n\ while | |
9072 | outputting templates with many lines. | |
9073 | ||
9074 | 2000-09-10 Stephane Carrez <Stephane.Carrez@worldnet.fr> | |
9075 | ||
9076 | * libgcc2.h: Use LONG_LONG_TYPE_SIZE instead of MIN_UNITS_PER_WORD | |
9077 | to decide whether 64-bit support must be generated. | |
9078 | ||
9079 | 2000-09-10 Richard Henderson <rth@cygnus.com> | |
9080 | ||
9081 | * c-parse.in (asm patterns): Fix volatile check. | |
9082 | ||
9083 | 2000-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
9084 | ||
9085 | * cppmacro.c (check_trad_stringification): New function. | |
9086 | (save_expansion): If -Wtraditional, warn about stringification of | |
9087 | macro arguments. | |
9088 | ||
9089 | 2000-09-11 Michael Hayes <mhayes@cygnus.com> | |
9090 | ||
9091 | * loop.h (struct loop_mem_info): Move from loop.c | |
9092 | (struct loop_info): Add fields store_mems, mems, mems_idx, | |
9093 | mems_allocated, unknown_address_altered, | |
9094 | unknown_constant_address_altered, num_mem_sets, and | |
9095 | first_loop_store_insn. | |
9096 | ||
9097 | * loop.c (loop_store_mems): Replace with field in loop_info struct. | |
9098 | (loop_mems, loop_mems_idx, loop_mems_allocated): Likewise. | |
9099 | (unknown_address_altered, unknown_constant_address_altered): Likewise. | |
9100 | (num_mem_sets): Likewise. | |
9101 | (replace_loop_mems, replace_loop_regs): New. | |
9102 | (struct loop_replace_args): New. | |
9103 | (load_mems): Use replace_loop_mems. | |
9104 | (try_copy_prop): Use replace_loop_regs. | |
9105 | (replace_loop_reg, replace_loop_mem): Use loop_replace_args structure. | |
9106 | ||
9107 | 2000-09-09 Stephane Carrez <Stephane.Carrez@worldnet.fr> | |
9108 | ||
9109 | * configure.in: Recognize m6811-elf and m6812-elf. | |
9110 | * configure: Regenerate. | |
9111 | ||
9112 | 2000-09-09 Geoff Keating <geoffk@cygnus.com> | |
9113 | ||
9114 | * recog.c (validate_replace_rtx_1): Correct MODE parameter in call | |
9115 | to operand_subword. | |
9116 | ||
9117 | 2000-09-10 Michael Hayes <mhayes@cygnus.com> | |
9118 | ||
9119 | * loop.c (struct movables): New. | |
9120 | (num_movables): Move into struct movables. | |
9121 | (the_movables): Change type to struct movables. | |
9122 | (ignore_some_movables): Change struct movable arg to struct movables. | |
9123 | (force_movables, combine_movables, regs_match_p): Likewise. | |
9124 | (rtx_equal_for_loop_p, move_movables): Likewise. | |
9125 | (scan_loop): Change movables to be of type struct movables. | |
9126 | Replace last_movable with field in movables structure. | |
9127 | ||
9128 | 2000-09-08 Zack Weinberg <zack@wolery.cumb.org> | |
9129 | ||
9130 | * c-pragma.c: Don't elide entire file if !HANDLE_GENERIC_PRAGMAS. | |
9131 | (init_pragma): Avoid warning if pfile happens to be unused. | |
9132 | * c-pragma.h: Never define HANDLE_GENERIC_PRAGMAS. Never | |
9133 | define init_pragma to nothing. Always prototype | |
9134 | init_pragma. Prototype dispatch_pragma if !USE_CPPLIB. | |
9135 | ||
9136 | * c-lex.c (process_directive): Always call dispatch_pragma. | |
9137 | Initialize entering_c_header to 0. | |
9138 | ||
9139 | 2000-09-08 Stephane Carrez <Stephane.Carrez@worldnet.fr> | |
9140 | ||
9141 | * config/m68hc11/m68hc11.md: New file, machine description for | |
9142 | 68HC11 & 68HC12. | |
9143 | * config/m68hc11/m68hc11.h: New file, definitions for 68HC11 & 68HC12. | |
9144 | * config/m68hc11/m68hc11.c: New file, functions for 68HC11 & 68HC12. | |
9145 | * config/m68hc11/m68hc12.h: New file, definitions for 68HC12. | |
9146 | * config/m68hc11/m68hc11-protos.h: New file. | |
9147 | * config/m68hc11/m68hc11-crt0.S: New file, startup code. | |
9148 | * config/m68hc11/t-m68hc11-gas: New file, makefile fragment. | |
9149 | * config/m68hc11/xm-m68hc11.h: New file, target defs. | |
9150 | * config/m68hc11/larith.asm: New file, libgcc routines. | |
9151 | ||
9152 | 2000-09-08 Stephane Carrez <Stephane.Carrez@worldnet.fr> | |
9153 | ||
9154 | * Makefile.in (DPBIT_FUNCS): Add _usi_to_df. | |
9155 | (FPBIT_FUNCS): Add _usi_to_sf. | |
9156 | * config/fp-bit.c (usi_to_float): New function. | |
9157 | * config/fp-bit.h (L_usi_to_sf, L_usi_to_df): Define. | |
9158 | (usi_to_float): Add appropriate #define. | |
9159 | ||
9160 | 2000-09-08 Bernd Schmidt <bernds@redhat.co.uk> | |
9161 | ||
9162 | * i386-protos.h (sse_comparison_operator, mmx_reg_operand): Declare | |
9163 | new functions. | |
9164 | * i386.c (sse_comparison_operator, mmx_reg_operand): New functions. | |
9165 | * i386.md (attr "type"): Add sse and mmx types. | |
9166 | (attr "memory"): Handle them without a crash. | |
9167 | (movsi_1, movdi_2): Allow MMX regs. | |
9168 | (movdi splits): Don't split moves involving MMX regs. | |
9169 | (setcc_4): Remove '*' from pattern name so we get a gen_setcc4. | |
9170 | (movv4sf_internal, movv4si_internal, movv8qi_internal, | |
9171 | movv4hi_internal, movv2si_internal, movv8qi, movv4hi, movv2si, | |
9172 | movv4sf, movv4si, pushv4sf, pushv4si, pushv8qi, pushv4hi, pushv2si, | |
9173 | sse_movaps, sse_movups, sse_movmskps, mmx_pmovmskb, mmx_maskmovq, | |
9174 | sse_movntv4sf, sse_movntdi, sse_movhlps, sse_movlhps, sse_movhps, | |
9175 | sse_movlps, sse_loadss, sse_movss, sse_storess, sse_shufps, | |
9176 | addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, mulv4sf3, vmmulv4sf3, | |
9177 | divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2, rsqrtv4sf2, vmrsqrtv4sf2, | |
9178 | sqrtv4sf2, vmsqrtv4sf2, sse_andti3, sse_nandti3, sse_iorti3, | |
9179 | sse_xorti3, maskcmpv4sf3, maskncmpv4sf3, vmmaskcmpv4sf3, | |
9180 | vmmaskncmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps, | |
9181 | smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi, | |
9182 | cvttps2pi, cvtsi2ss, cvtss2si, cvttss2si, addv8qi3, addv4hi3, | |
9183 | addv2si3, ssaddv8qi3, ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3, | |
9184 | subv4hi3, subv2si3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3, | |
9185 | mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd, | |
9186 | mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3, mmx_uavgv8qi3, | |
9187 | mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw, mmx_pshufw, | |
9188 | eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3, gtv2si3, umaxv8qi3, | |
9189 | smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3, ashrv2si3, lshrv4hi3, | |
9190 | lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3, mmx_ashldi3, | |
9191 | mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw, | |
9192 | mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd, | |
9193 | mmx_punpckldq, emms, sfence, ldmxcsr, prefetch, stmxcsr, sse_clrti, | |
9194 | mmx_clrdi): New patterns. | |
9195 | ||
9196 | 2000-09-08 Richard Earnshaw <rearnsha@arm.com> | |
9197 | ||
9198 | * arm.c: Don't include tm.h directly. | |
9199 | ||
9200 | Fri Sep 8 14:34:56 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
9201 | ||
9202 | * recog.c (validate_replace_rtx_1): Fix confusion about equality | |
9203 | testing; simplify subregs of constants and nested subregs. | |
9204 | ||
9205 | 2000-09-08 Alexandre Oliva <aoliva@redhat.com> | |
9206 | ||
9207 | * config/sh/sh.md (symPLT_label2reg): Use operand3 for PIC reg. | |
9208 | ||
9209 | 2000-09-08 Bernd Schmidt <bernds@redhat.co.uk> | |
9210 | ||
9211 | * combine.c (combine_simplify_rtx): Try to simplify VEC_SELECT of a | |
9212 | VEC_CONCAT. | |
9213 | * rtl.texi (description of USE): Add note about possible pitfalls | |
9214 | with this rtx. | |
9215 | From Richard Henderson: | |
9216 | * reload1.c (choose_reload_regs): Compute need_mode properly. | |
9217 | ||
9218 | 2000-09-07 Richard Henderson <rth@cygnus.com> | |
9219 | ||
9220 | * config/ia64/lib1funcs.asm (__divsi3): Use .s1 for frcpa. | |
9221 | (__modsi3, __umodsi3): Likewise. | |
9222 | (__udivsi3): Likewise. Normalize the TFmode values. | |
9223 | ||
9224 | 2000-09-07 Geoff Keating <geoffk@cygnus.com> | |
9225 | ||
9226 | * config/rs6000/sol-c0.c (_start): Declare `termfunc' parameter | |
9227 | with a prototype. | |
9228 | * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Use cast to suppress | |
9229 | warning. | |
9230 | ||
9231 | Fri Sep 8 03:26:38 2000 J"orn Rennecke <amylaar@redhat.co.uk> | |
9232 | ||
9233 | * sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): Remove. | |
9234 | (cmpeqdi_t): Add output pattern. | |
9235 | (cmpeqdi_t+1): Don't split when not optimizing. | |
9236 | Restore proper splitting operation. | |
9237 | ||
9238 | 2000-09-07 Richard Henderson <rth@cygnus.com> | |
9239 | ||
9240 | * c-lex.c (process_directive): If not HANDLE_GENERIC_PRAGMAS, | |
9241 | do not call dispatch_pragma. | |
9242 | ||
9243 | 2000-09-07 Jim Wilson <wilson@cygnus.com> | |
9244 | ||
9245 | * reload.c (push_reload): Use CLASS_CANNOT_CHANGE_MODE_P in addition | |
9246 | to CLASS_CANNOT_CHANGE_MODE. | |
9247 | * config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE_P): True only if the | |
9248 | mode classes are different. | |
9249 | ||
9250 | 2000-09-07 Zack Weinberg <zack@wolery.cumb.org> | |
9251 | ||
9252 | * cpplib.h (struct cpp_options): Add user_label_prefix member, | |
9253 | left out of commit which removed cppulp.c. | |
9254 | ||
9255 | 2000-09-07 Richard Henderson <rth@cygnus.com> | |
9256 | ||
9257 | * bb-reorder.c (fixup_reorder_chain): Add jump in new block | |
9258 | after switch for CASE_DROPS_THROUGH. | |
9259 | ||
9260 | 2000-09-07 Richard Henderson <rth@cygnus.com> | |
9261 | ||
9262 | * loop.c (strength_reduce): Call check_ext_dependant_givs. | |
9263 | Properly extend the biv initial value for the giv. | |
9264 | (record_biv): Zero ext_dependant. | |
9265 | (record_giv): New argument ext_val. Update all callers. | |
9266 | (general_induction_var): Likewise. | |
9267 | (consec_sets_giv): Likewise. | |
9268 | (simplify_giv_expr): Likewise. Fill in ext_val if we find | |
9269 | a sign-extend, zero-extend, or truncate. | |
9270 | (combine_givs_p): Make sure modes are compatible. | |
9271 | (check_ext_dependant_givs): New. | |
9272 | (extend_value_for_giv): New. | |
9273 | * loop.h (struct induction): Add ext_dependant. | |
9274 | * unroll.c (iteration_info): Extend the biv initial value for the giv. | |
9275 | (find_splittable_givs): Likewise. | |
9276 | (final_giv_value): Likewise. | |
9277 | ||
9278 | 2000-09-07 Zack Weinberg <zack@wolery.cumb.org> | |
9279 | ||
9280 | * c-pragma.h: Define HANDLE_GENERIC_PRAGMAS if | |
9281 | REGISTER_TARGET_PRAGMAS is defined. Duplicate some | |
9282 | definitions from cpplib.h. | |
9283 | * cpplib.h: Don't typedef struct cpp_reader if c-pragma.h has | |
9284 | already done it. | |
9285 | * tm.texi: Document HANDLE_PRAGMA as no longer supported. Add | |
9286 | documentation for REGISTER_TARGET_PRAGMAS. | |
9287 | ||
9288 | * c-lex.c: Include cpplib.h before c-pragma.h. Define a | |
9289 | default-pragma callback to implement -Wunknown-pragmas if | |
9290 | USE_CPPLIB. | |
9291 | * c-parse.in: Move all includes to top of file. | |
9292 | * c-pragma.c: Include cpplib.h before c-pragma.h. Include | |
9293 | tm_p.h. | |
9294 | (dispatch_pragma): Put the namespace in the -Wunknown-pragmas | |
9295 | warning. | |
9296 | (init_pragma): If REGISTER_TARGET_PRAGMAS is defined, call it. | |
9297 | ||
9298 | * arm.h, arm-protos.h, arm.c, | |
9299 | c4x.h, c4x-protos.h, c4x.c, | |
9300 | h8300.h, h8300-protos.h, h8300.c, | |
9301 | i370.h, i370-protos.h, i370.c, | |
9302 | i960.h, i960-protos.h, i960.c, | |
9303 | sh.h, sh-protos.h, sh.c, | |
9304 | v850.h, v850-protos.h, v850.c: Convert HANDLE_PRAGMA-based | |
9305 | pragmata scheme to use REGISTER_TARGET_PRAGMAS instead. | |
9306 | ||
9307 | * d30v.h: Don't mention HANDLE_PRAGMA in comment. Add | |
9308 | multiple include guard. | |
9309 | * i370.md (untyped_call): Use GEN_CALL. | |
9310 | (umodsi3): Remove unused variable. | |
9311 | * sh/elf.h: Don't undef HANDLE_SYSV_PRAGMA. | |
9312 | * v850.c (output_move_single, output_move_double): Constify | |
9313 | return value. | |
9314 | (print_operand): Constify a char *. | |
9315 | * v850.h (struct small_memory_info): Constify name member. | |
9316 | ||
9317 | 2000-09-07 Kazu Hirata <kazu@hxi.com> | |
9318 | ||
9319 | * config/h8300.h: Fix comment typos. | |
9320 | * config/h8300/h8300.md: Likewise. | |
9321 | * config/h8300/lib1funcs.asm: Likewise. | |
9322 | ||
9323 | Thu 07-Sep-2000 21:29:00 BST Neil Booth <NeilB@earthling.net> | |
9324 | ||
9325 | * Makefile.in: Remove references to cppulp.{c,o}. | |
9326 | * cppinit.c (initialize_builtins, cpp_start_read, | |
9327 | cpp_handle_option): Update to use cpp_options structure. | |
9328 | * cppulp.c: Remove. | |
9329 | ||
9330 | 2000-09-07 Joseph S. Myers <jsm28@cam.ac.uk> | |
9331 | ||
9332 | * c-common.c (time_char_table): Allow %#b and %#h. | |
9333 | ||
9334 | 2000-09-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | |
9335 | ||
9336 | * reorg.c (find_end_label): If the basic block reorder pass moves the | |
9337 | return insn to some other place try to locate it again and put our | |
9338 | end_of_function_label there. | |
9339 | * reorg.c (relax_delay_slots): Check if find_end_label created a | |
9340 | new label that invalidates the current optimazation. | |
9341 | ||
9342 | 2000-09-07 Catherine Moore <clm@redhat.com> | |
9343 | ||
9344 | * unroll.c (unroll_loop): Check for unconditional jumps | |
9345 | to loop continuation. Delete if n_iterations is 1. | |
9346 | (ujump_to_loop_cont): New routine. | |
9347 | ||
9348 | 2000-09-07 Bernd Schmidt <bernds@redhat.co.uk> | |
9349 | ||
9350 | * rtl.c (class_narrowest_mode): Add entries for MODE_VECTOR_INT and | |
9351 | MODE_VECTOR_FLOAT. | |
9352 | * reload.c (regno_clobbered_p): Accept new arg, MODE, and use it | |
9353 | to handle multiword modes correctly. All callers and the declaration | |
9354 | changed. | |
9355 | ||
9356 | 2000-09-06 Mark Mitchell <mark@codesourcery.com> | |
9357 | ||
9358 | * c-common.h (prep_stmt): Declare. | |
9359 | (lang_expand_stmt): Likewise. | |
9360 | * c-decl.c (lang_expand_stmt): Remove. | |
9361 | * c-semantics.c (lang_expand_stmt): Define. | |
9362 | (prep_stmt): New function. | |
9363 | (expand_stmt): Handle common statement types here. | |
9364 | ||
9365 | 2000-09-07 Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>, Alexandre Oliva <aoliva@redhat.com> | |
9366 | ||
9367 | * configure.in (sh-*-linux*): Added. | |
9368 | * configure: Rebuilt. | |
9369 | * config/sh/t-linux: New file. | |
9370 | * config/sh/sh.h (USERMODE_BIT): Define. | |
9371 | (TARGET_USERMODE): Likewise. | |
9372 | (TARGET_SWITCHES): New switches for the bits above. | |
9373 | (INITIALIZE_TRAMPOLINE): Call __ic_invalidate in USERMODE. | |
9374 | * config/sh/linux.h: New file. | |
9375 | * config/sh/lib1funcs.asm (GLOBAL): Don't prefix symbols with | |
9376 | underscore on linux. | |
9377 | (L_sdivsi3, L_udivsi3): Define for linux. | |
9378 | (L_ic_invalidate): Define. | |
9379 | * invoke.texi (SH Options): Document -musermode. | |
9380 | ||
9381 | 2000-09-07 Alexandre Oliva <aoliva@redhat.com> | |
9382 | ||
9383 | * config/sh/sh.h (OVERRIDE_OPTIONS): Don't disable function | |
9384 | CSE unless generating PIC. | |
9385 | ||
9386 | * config/sh/sh.md (symPLT_label2reg): Force the initialization of | |
9387 | the PIC register. | |
9388 | ||
9389 | 2000-09-06 H.J. Lu (hjl@gnu.org) | |
9390 | ||
9391 | * Makefile.in (clean_s1): Depend on stage_b. | |
9392 | (clean_s2): Depend on stage_d. Don't remove $(VOL_FILES) in | |
9393 | stage2. They are used for "make compare". | |
9394 | ||
9395 | 2000-09-06 Mark Mitchell <mark@codesourcery.com> | |
9396 | ||
9397 | Move statement-tree facilities from C++ to C front-end. | |
9398 | * c-common.h (c_tree_index): Add CTI_VOID_ZERO. | |
9399 | (void_zero_node): New macro. | |
9400 | (struct stmt_tree_s): New type. | |
9401 | (stmt_tree): New typedef. | |
9402 | (struct language_function): New type. | |
9403 | (last_tree): New macro. | |
9404 | (last_expr_type): Likewise. | |
9405 | (walk_tree_fn): New typedef. | |
9406 | (current_stmt_tree): New function. | |
9407 | (begin_stmt_tree): Likewise. | |
9408 | (add_stmt): Likewise. | |
9409 | (finish_stmt_tree): Likewise. | |
9410 | (statement_code_p): Likewise. | |
9411 | (lang_statement_code_p): New variable. | |
9412 | (walk_stmt_tree): New function. | |
9413 | (STMT_IS_FULL_EXPR_P): New macro. | |
9414 | * c-common.c (lang_statement_code_p): New variable. | |
9415 | (c_common_nodes_and_builtins): Initialize void_zero_node. | |
9416 | (statement_code_p): New function. | |
9417 | (walk_stmt_tree): Likewise. | |
9418 | * c-decl.c (language_function): Rename to ... | |
9419 | (c_language_function): ... this. Include language_function. | |
9420 | (push_c_function_context): Adjust accordingly. | |
9421 | (pop_c_function_context): Likewise. | |
9422 | (mark_c_function_context): Likewise. | |
9423 | (current_stmt_tree): Define. | |
9424 | * c-semantics.c (begin_stmt_tree): New function. | |
9425 | (add_stmt): Likewise. | |
9426 | (prune_unused_decls): Likewise. | |
9427 | (finish_stmt_tree): Likewise. | |
9428 | ||
9429 | 2000-09-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | |
9430 | ||
9431 | * flow.c (insn_dead_p): Detect dead memory stores with auto increments. | |
9432 | ||
9433 | 2000-09-06 Kazu Hirata <kazu@hxi.com> | |
9434 | ||
9435 | * calls.c: Fix formatting. | |
9436 | ||
9437 | 2000-09-06 Graham Stott <grahams@cygnus.co.uk> | |
9438 | ||
9439 | * config/i386/i386.h (ADDRESS_COST): Fix typo. | |
9440 | ||
9441 | 2000-09-06 Zack Weinberg <zack@wolery.cumb.org> | |
9442 | ||
9443 | Integrated preprocessor. | |
9444 | ||
9445 | * Makefile.in: Remove all references to c-parse.gperf, | |
9446 | c-gperf.h, and c-parse.h. Remove -d from yacc command line | |
9447 | generating c-parse.c. Update dependencies. | |
9448 | * c-parse.gperf, c-gperf.h: Delete. | |
9449 | ||
9450 | * c-common.c: Don't define parse_options, cpp_token, yy_cur, | |
9451 | yy_lim, or yy_get_token. Don't define get_directive_line if | |
9452 | USE_CPPLIB. | |
9453 | * c-common.h: Add multiple include guard. Define RID values | |
9454 | for every keyword in C, C++, and Objective-C. Put all the | |
9455 | modifiers first. | |
9456 | (struct c_fileinfo, get_fileinfo, dump_time_statistics): New. | |
9457 | * c-decl.c (c_decode_option): Handle -lang-objc here. | |
9458 | (print_lang_identifier): Handle C_IS_RESERVED_WORD case. | |
9459 | (grokdeclarator): Adjust for new RID scheme. | |
9460 | (extract_interface_info): New stub. | |
9461 | * c-lang.c: Don't declare yy_cur or parse_options. | |
9462 | (lang_init_options): Call cpp_init. Don't call | |
9463 | cpp_options_init. | |
9464 | (lang_init): Don't call check_newline if USE_CPPLIB. | |
9465 | ||
9466 | * c-lex.c: Don't include c-parse.h. Do include timevar.h. | |
9467 | Elide lots of unnecessary code if USE_CPPLIB. Delete code | |
9468 | rendered unnecessary by new architecture. Move routines not | |
9469 | shared with C++ to c-parse.in. Maintain a local idea of the | |
9470 | line number. Handle C++ as well as C. | |
9471 | [USE_CPPLIB]: Declare and register callbacks for #ident and | |
9472 | for entering/leaving files. | |
9473 | (init_c_lex, c_lex): Are now the entry points to this file. | |
9474 | (check_newline): Break out directive handling to | |
9475 | process_directive. | |
9476 | (read_ucs, is_extended_char, utf8_extend_token): Moved here | |
9477 | from C++ front end. | |
9478 | (readescape, parse_float): Overhaul. | |
9479 | (lex_number, lex_string, lex_charconst): Break out of c_lex | |
9480 | (n'ee yylex). | |
9481 | (get_fileinfo, update_header_times, dump_one_header, | |
9482 | dump_time_statistics): New and/or moved here from C++. | |
9483 | Support per-file data needed by C++ and per-header timing | |
9484 | statistics (C++ only, at the moment). | |
9485 | * c-lex.h: Update prototypes. Add multiple include guard. | |
9486 | * c-tree.h (struct lang_identifier): Add rid_code field. | |
9487 | (C_IS_RESERVED_WORD, C_RID_CODE): New. | |
9488 | ||
9489 | * c-parse.in: Include c-pragma.h. Remove unnecesary calls to | |
9490 | reinit_parse_for_function and/or position_after_white_space. | |
9491 | (save_filename, save_lineno): Look ahead before saving. | |
9492 | (label -> identifier ':'): Save file and line before shifting ':'. | |
9493 | (reservedwords): No need to call get_identifier. | |
9494 | (init_parse, finish_parse, yyerror, yylex, yyprint, | |
9495 | make_pointer_declarator): Are now here for C/ObjC. | |
9496 | (rid_to_yy): Conversion table from RID constants to Yacc codes. | |
9497 | ||
9498 | * c-pragma.c: Rewrite parsing logic to fit with cpplib's | |
9499 | #pragma registry. Provide dummy implementation of that | |
9500 | interface if !USE_CPPLIB. | |
9501 | * c-pragma.h: Update to match. | |
9502 | ||
9503 | * flags.h: Add multiple include guard. | |
9504 | (flag_detailed_statistics): Moved here from C++. | |
9505 | * toplev.c: Define flag_detailed_statistics. | |
9506 | ||
9507 | * gcc.c (C specs): Use %(trad_capable_cpp) for -E|-M|-MM case | |
9508 | #if USE_CPPLIB. | |
9509 | * timevar.def (TV_CPP, TV_LEX): New. | |
9510 | * timevar.h: Add multiple include guard. | |
9511 | ||
9512 | * objc/lang-specs.h: Use %(trad_capable_cpp) for -E|-M|-MM case | |
9513 | #if USE_CPPLIB. | |
9514 | * objc/objc-act.c: Don't mention yy_cur or parse_options. | |
9515 | Initialize cpplib properly. Force lineno to 0 after first | |
9516 | call to check_newline. Don't handle -lang-objc here. | |
9517 | Move forget_protocol_qualifiers and remember_protocol_qualifiers here. | |
9518 | ||
9519 | 2000-09-06 David Edelsohn <edelsohn@gnu.org> | |
9520 | ||
9521 | * rs6000.md: Correct function unit definitions for cr_logical and | |
9522 | mtjmpr. | |
9523 | (sCOND): Additionally fail for sgt, slt, sge, sle if !TARGET_POWER | |
9524 | and use portable method for >=0 and floating point >=. Remove | |
9525 | associated matchers. | |
9526 | ||
9527 | 2000-09-06 Mark Mitchell <mark@codesourcery.com> | |
9528 | ||
9529 | * extend.texi: Mark named return value extension as deprecated. | |
9530 | ||
9531 | 2000-09-06 Geoff Keating <geoffk@cygnus.com> | |
9532 | ||
9533 | * config/rs6000/rs6000.c (rs6000_reverse_condition): Return | |
9534 | the result. | |
9535 | ||
9536 | 2000-09-06 Gabriel Dos Reis <gdr@codesourcery.com> | |
9537 | ||
9538 | * toplev.c (display_help): Fix thinko in documentation. | |
9539 | ||
9540 | * diagnostic.h (output_buffer::indent_skip): New fields. | |
9541 | (output_indentation): New macro. | |
9542 | ||
9543 | * diagnostic.c (output_indent): New function. | |
9544 | (output_set_prefix, clear_diagnostic_info): Use. | |
9545 | (output_emit_prefix): Predict future indentation. | |
9546 | ||
9547 | 2000-09-06 DJ Delorie <dj@redhat.com> | |
9548 | ||
9549 | * Makefile.in (stage_*): add more dependencies to ensure parallel | |
9550 | builds build correctly | |
9551 | ||
9552 | 2000-09-06 Manfred Hollstein <manfredh@redhat.com> | |
9553 | ||
9554 | * Makefile.in (bootstrap-lean): Depend on bootstrap-lean_g, | |
9555 | not bootstrap-lean_f. | |
9556 | ||
9557 | 2000-09-06 Andreas Schwab <schwab@suse.de> | |
9558 | ||
9559 | * mklibgcc.in: Emit rule for libgcc-stage-start. | |
9560 | * Makefile.in (stage1-start, stage2-start, stage3-start, | |
9561 | stage4-start): Don't handle libgcc here, use libgcc.mk instead. | |
9562 | ||
9563 | 2000-09-06 Bernd Schmidt <bernds@redhat.co.uk> | |
9564 | ||
9565 | * local-alloc.c (local_alloc): Ignore CLASS_LIKELY_SPILLED. | |
9566 | (update_equiv_regs): Likewise, except for the mn10200 kludge. | |
9567 | (combine_regs): Likewise. | |
9568 | ||
9569 | * Makefile.in (cse.o): Depend on $(BASIC_BLOCK_H). | |
9570 | * cse.c: Include "basic-block.h". | |
9571 | (struct table_elt): New field REGCOST. | |
9572 | (CHEAP_REG): Delete macro. | |
9573 | (COST): Return 0 for REGs. | |
9574 | (approx_reg_cost_1, approx_reg_cost, preferrable): New functions. | |
9575 | (notreg_cost): Return 0 for appropriate SUBREGs. | |
9576 | (COSTS_N_INSNS): Return N * 2. | |
9577 | (rtx_cost): Return 0 for REGs, and use cost of nested rtx for cheap | |
9578 | SUBREGs. | |
9579 | (CHEAPER): Use new function preferrable. | |
9580 | (insert): Initialize REGCOST member. | |
9581 | (find_best_addr): Use approx_reg_cost for estimation of register | |
9582 | usage. | |
9583 | (cse_insn): Likewise. | |
9584 | * loop.c (iv_add_mult_cost): New function. | |
9585 | (add_cost, shift_cost, mult_cost): Delete variables. | |
9586 | (init_loop): Don't initialize add_cost; reduce copy_cost by half. | |
9587 | (strength_reduce): Use iv_add_mult_cost instead of fixed add_cost. | |
9588 | Make code that detects autoinc opportunities slightly less optimistic. | |
9589 | (simplify_giv_expr): If expression contains other reg that is also a | |
9590 | giv, only increment benefit if this is the only use of that reg. | |
9591 | (consec_sets_giv): Take that change into account. | |
9592 | (combine_givs): Slightly more verbose output. | |
9593 | ||
9594 | * i386.h (RTX_COSTS): For MULT, return true cost of multiplication, | |
9595 | not the cost of an equivalent shift. | |
9596 | * sh-protos.h (addsubcosts): Declare. | |
9597 | * sh.c (addsubcosts): New function. | |
9598 | * sh.h (CONST_COSTS): If CONST_OK_FOR_I, then return 0. | |
9599 | (RTX_COSTS): Tweak. Use addsubcosts. | |
9600 | (ADDRESS_COST): Return higher cost for reg+reg addressing. | |
9601 | ||
9602 | 2000-09-06 Geoff Keating <geoffk@cygnus.com> | |
9603 | ||
9604 | * config/rs6000/rs6000.c (validate_condition_mode): New function. | |
9605 | (branch_comparison_operator): Call validate_condition_mode to | |
9606 | abort rather than returning 0. | |
9607 | (branch_positive_comparison_operator): New function. | |
9608 | (scc_comparison_operator): Call validate_condition_mode to abort | |
9609 | rather than returning 0. | |
9610 | (ccr_bit): Call validate_condition_mode. Update for | |
9611 | new branch scheme. | |
9612 | (print_operand): Delete %C modifier. Update %E case | |
9613 | to use EQ bit not SO bit. | |
9614 | (rs6000_reverse_condition): New function. | |
9615 | (rs6000_generate_compare): New function. | |
9616 | (rs6000_emit_sCOND): New function. | |
9617 | (rs6000_emit_cbranch): New function. | |
9618 | (output_cbranch): The length of a long branch insn is | |
9619 | now only 8 bytes. Add validate_condition_mode. Use | |
9620 | rs6000_reverse_condition. Remove cror generation. | |
9621 | ||
9622 | * config/rs6000/rs6000.h: Update comments. | |
9623 | (PREDICATE_CODES): Add new predicate. Update codes used | |
9624 | by branch_comparison_operator and scc_comparison_operator. | |
9625 | * config/rs6000/rs6000-protos.h: Add prototypes for | |
9626 | new external functions. | |
9627 | * config/rs6000/rs6000.md: Add new scheduling parameters | |
9628 | for cr_logical instructions. Change length of branch | |
9629 | instructions. | |
9630 | (bCOND patterns): Call rs6000_emit_cbranch. | |
9631 | (sCOND patterns): Call rs6000_emit_sCOND. | |
9632 | (branch patterns): Change lengths to 4. | |
9633 | (cr logical patterns): New. | |
9634 | ||
9635 | 2000-09-06 Richard Henderson <rth@cygnus.com> | |
9636 | ||
9637 | * config/i386/i386.md (call_pop): Fix test for setting | |
9638 | current_function_uses_pic_offset_table. | |
9639 | (call, call_value_pop, call_value): Likewise. | |
9640 | ||
9641 | 2000-09-06 Zack Weinberg <zack@wolery.cumb.org> | |
9642 | ||
9643 | * timevar.c (timevar_add): Delete. | |
9644 | (timevar_get): Also count time since the selected timer was | |
9645 | last updated. Do not examine the timevar stack if the | |
9646 | selected timer is standalone. | |
9647 | ||
9648 | 2000-09-05 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
9649 | ||
9650 | * gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend. | |
9651 | ||
9652 | 2000-09-05 Jason Merrill <jason@redhat.com> | |
9653 | ||
9654 | * c-decl.c (finish_incomplete_decl): Don't call complete_array_type | |
9655 | for 'extern' arrays. | |
9656 | ||
9657 | 2000-09-05 Richard Henderson <rth@cygnus.com> | |
9658 | ||
9659 | * config/ia64/lib1func.asm (__divtf3): Rebundle for Itanium. | |
9660 | Eliminate final copy from non-trapping case. | |
9661 | (__divdf3, __divsf3): Likewise. | |
9662 | ||
9663 | 2000-09-05 Richard Henderson <rth@cygnus.com> | |
9664 | ||
9665 | * config/ia64/ia64.md (mulhi3): Fix typo last change. | |
9666 | * config/ia64/lib1func.asm (__divdi3, __udivdi3, __umodsi3): Likewise. | |
9667 | ||
9668 | 2000-09-03 Donn Terry <donn@interix.com>, Laurynas Biveinis <lauras@softhome.net> | |
9669 | ||
9670 | * Makefile.in: Restructure bootstrap stages to allow clean | |
9671 | restart after failure. | |
9672 | ||
9673 | 2000-09-05 Richard Henderson <rth@cygnus.com> | |
9674 | ||
9675 | * config/ia64.md (movsi and movdi patterns): Allow moves from | |
9676 | 8-bit constants to AR registers. | |
9677 | ||
9678 | 2000-09-05 Richard Henderson <rth@cygnus.com> | |
9679 | ||
9680 | * config/ia64/ia64.md (mulhi3): New. | |
9681 | ||
9682 | 2000-09-05 Richard Henderson <rth@cygnus.com> | |
9683 | ||
9684 | * config/ia64/ia64.h (INIT_TARGET_OPTABS): Remove. | |
9685 | * config/ia64/lib1funcs.asm (__divdi3): Update from Intel IA-64 | |
9686 | Optimization Guide, minimum latency alternative. | |
9687 | (__moddi3, __udivdi3, __umoddi3): Likewise. | |
9688 | (__divsi3, __modsi3, __udivsi3, __umodsi3): Likewise. | |
9689 | ||
9690 | 2000-09-05 Bruce Korb <bkorb@gnu.org> | |
9691 | ||
9692 | * fixinc/fixincl.c (load_file): always read header files | |
9693 | with sizes that are a multiple of the page size. | |
9694 | & use libiberty's getpagesize for determining that. | |
9695 | ||
9696 | 2000-09-05 Alexandre Oliva <aoliva@redhat.com> | |
9697 | ||
9698 | * gcse.c (hash_string_1): Add prototype. | |
9699 | * cse.c (canon_hash_string): Likewise. | |
9700 | ||
9701 | 2000-09-04 Craig Newell <CraigN@ieee.org> | |
9702 | ||
9703 | * gcc.c: Undefine "__WCHAR_TYPE__" before redefining it. | |
9704 | ||
9705 | 2000-09-04 Andreas Schwab <schwab@suse.de> | |
9706 | ||
9707 | * Makefile.in (STAGESTUFF): Remove libgcc. | |
9708 | (stage1-start, stage2-start, stage3-start): Copy the contents of | |
9709 | the libgcc directory explicitly. | |
9710 | (mostlyclean): Clean libgcc. | |
9711 | ||
9712 | 2000-09-04 Andrew Haley <aph@redhat.com> | |
9713 | ||
9714 | * dwarf2out.c: (stack_adjust_offset): New prototype. | |
9715 | ||
9716 | Wed Jan 1 00:23:59 MET 1997 Jan Hubicka <jh@suse.cz> | |
9717 | ||
9718 | * combine.c (make_extraction): Fix rtx_cost comparison to | |
9719 | match the comment. | |
9720 | ||
9721 | Wed Jan 1 00:17:32 MET 1997 Jan Hubicka <jh@suse.cz> | |
9722 | ||
9723 | * i386.md (pushsi2, pushhi2, pophi2, swapsf, swapdf, | |
9724 | umulsi3_highpart, smulsi3_highpart, testqi_ccno_1, xorqi_ext_1): | |
9725 | Add '*' to insn pattern name. | |
9726 | ||
9727 | 2000-09-04 Jakub Jelinek <jakub@redhat.com> | |
9728 | ||
9729 | * cpplex.c (ON_REST_ARG): Check VAR_ARGS flag of current context, | |
9730 | use posn - 1 to index into tokens array. | |
9731 | (maybe_paste_with_next): Adjust caller. | |
9732 | ||
9733 | 2000-09-03 Geoff Keating <geoffk@cygnus.com> | |
9734 | ||
9735 | * invoke.texi: Document the -mvxworks option for rs6000 ELF. | |
9736 | ||
9737 | * config/rs6000/rs6000.h: Update various comments about XER_REGNO. | |
9738 | (REGNO_REG_CLASS): Use symbolic register | |
9739 | names. | |
9740 | ||
9741 | 2000-09-03 Richard Earnshaw <rearnsha@arm.com> | |
9742 | ||
9743 | * arm.c (final_prescan_insn): If the form of a jump insn isn't | |
9744 | recognized, don't try to conditionally execute it. | |
9745 | ||
9746 | Sun Sep 3 13:10:56 2000 Denis Chertykov <denisc@overta.ru> | |
9747 | ||
9748 | * config/avr/avr.md ("*tablejump_lib"): New pattern. | |
9749 | (call_value_insn): Right length claculation. | |
9750 | (call_insn): Likewise. | |
9751 | ||
9752 | 2000-09-02 Marek Michalkiewicz <marekm@linux.org.pl> | |
9753 | ||
9754 | * config/avr/avr-protos.h, config/avr/avr.c (unique_section, | |
9755 | gas_output_limited_string, gas_output_ascii, output_movqi, | |
9756 | output_movhi, out_movqi_r_mr, out_movqi_mr_r, out_movhi_r_mr, | |
9757 | out_movhi_mr_r, out_movsi_r_mr, out_movsi_mr_r, output_movsisf, | |
9758 | out_tstsi, out_tsthi, ret_cond_branch, ashlqi3_out, ashlhi3_out, | |
9759 | ashlsi3_out, ashrqi3_out, ashrhi3_out, ashrsi3_out, lshrqi3_out, | |
9760 | lshrhi3_out, lshrsi3_out, output_reload_inhi, output_reload_insisf, | |
9761 | out_shift_with_cnt, ptrreg_to_str, cond_string, encode_section_info): | |
9762 | Add "const" as needed to remove warnings. | |
9763 | ||
9764 | * config/avr/avr.c (avr_override_options, avr_init_once, | |
9765 | function_prologue, function_epilogue, frame_pointer_required_p, | |
9766 | class_likely_spilled_p, order_regs_for_local_alloc, | |
9767 | avr_address_cost, avr_ret_register): Use K&R style arguments. | |
9768 | (initial_elimination_offset, gas_output_limited_string): | |
9769 | Remove ATTRIBUTE_UNUSED from the used arguments. | |
9770 | (output_mov*, out_mov*_r_mr, out_mov*_mr_r, output_reload_insisf): | |
9771 | Use local variables src, dest, base to access operands[]. | |
9772 | Rename reg_dest to reg_src if that's what it is. | |
9773 | (output_movhi, output_movsisf): Optimize loading 8-bit immediate | |
9774 | constants to LD_REGS if reg_was_0. | |
9775 | (output_reload_insisf): Change arg 3 to insn length and set it. | |
9776 | (out_movhi_r_mr, out_movhi_mr_r): Use in/out for more efficient | |
9777 | access to 16-bit I/O register pairs. | |
9778 | (avr_address_cost): Lower cost for the above case. | |
9779 | (out_tsthi): Use "or" (faster) instead of "sbiw" if the operand | |
9780 | may be clobbered, also for LD_REGS. | |
9781 | (adjust_insn_length): Correct insn length for iorhi3 and iorsi3 | |
9782 | with a CONST_INT. | |
9783 | ||
9784 | * config/avr/avr.h (PTRDIFF_TYPE): Make signed. | |
9785 | ||
9786 | * config/avr/avr.md: Change all uses of the TEST_HARD_REG_CLASS | |
9787 | macro to test_hard_reg_class function. | |
9788 | (*movsi, *movsf): Change "cc" attribute from "clobber" to "none" | |
9789 | for loading immediate constants to LD_REGS. | |
9790 | (andsi3, cmphi, cmpsi): Add return statements to avoid warnings. | |
9791 | ||
9792 | ||
9793 | Sat Sep 2 13:58:23 2000 Marek Michalkiewicz <marekm@linux.org.pl> | |
9794 | ||
9795 | * config/avr/avr.md ("*negsi2"): substitute %@ to __zero_reg__ | |
9796 | * config/avr/libgcc.S: Lost part of the previous patch. | |
9797 | ||
9798 | 2000-08-31 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
9799 | ||
9800 | * gthr-dce.h (__gthread_objc_mutex_allocate): Create a pthread_mutex_t | |
9801 | object before calling pthread_mutex_init. | |
9802 | ||
9803 | 2000-09-02 Alexandre Oliva <aoliva@redhat.com> | |
9804 | ||
9805 | * config/sh/t-elf, config/sh/crt1.asm, config/sh/crti.asm, | |
9806 | config/sh/crtn.asm: New files. | |
9807 | * config/sh/t-sh (EXTRA_MULTILIB_PARTS): Set. | |
9808 | (crt1.o, crti.o, crtn.o): New targets. | |
9809 | * configure.in [sh-*-elf*, sh-*-rtemself*] (tmake_file): Added | |
9810 | sh/t-elf. | |
9811 | * configure: Rebuilt. | |
9812 | * config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, | |
9813 | STARTFILE_SPEC, ENDFILE_SPEC, CRT_CALL_STATIC_FUNCTION): Define. | |
9814 | * config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): | |
9815 | Undefine for config/elfos.h to redefine. | |
9816 | (STARTFILE_SPEC, ENDFILE_SPEC): Redefine after config/elfos.h. | |
9817 | ||
9818 | 2000-09-02 Alexandre Oliva <aoliva@redhat.com>, Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp> | |
9819 | ||
9820 | * config/sh/sh-protos.h (nonpic_symbol_mentioned_p, | |
9821 | legitimize_pic_address, output_pic_addr_const): Declare. | |
9822 | * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Fix PIC register. | |
9823 | (PREFERGOT_BIT, TARGET_PREFERGOT): Likewise. | |
9824 | (TARGET_SWITCHES): New switch -mprefergot. | |
9825 | (OVERRIDE_OPTIONS): Set flag_no_function_cse unless -mprefergot. | |
9826 | (PIC_OFFSET_TABLE_REGNUM): Define. | |
9827 | (GOT_SYMBOL_TABLE): Likewise. | |
9828 | (LEGITIMIZE_ADDRESS): Use legitimize_pic_address. | |
9829 | (ENCODE_SECTION_INFO): Define. | |
9830 | (FINALIZE_PIC): New macros. | |
9831 | (LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST_P): New macro. | |
9832 | (ASM_OUTPUT_INT, ASM_OUTPUT_SHORT): Use output_pic_addr_const. | |
9833 | * config/sh/sh.c (print_operand_address): Use output_pic_addr_const. | |
9834 | (prepare_move_operands): Call emit_pic_move or | |
9835 | emit_pic_const_move if appropriate. | |
9836 | (output_far_jump): For PIC, use braf and output long offset. | |
9837 | (machine_dependent_reorg): | |
9838 | (sh_expand_prologue): Save and initialize the PIC register. | |
9839 | (sh_expand_epilogue): Restore it. | |
9840 | (initial_elimination_offset): Account for it. | |
9841 | (nonpic_symbol_mentioned_p): New function. | |
9842 | (legitimize_pic_address): Likewise. | |
9843 | (output_pic_addr_const): Likewise. | |
9844 | * config/sh/sh.md (calli_pcrel, call_valuei_pcrel): New insns. | |
9845 | (call, call_value): Use them. | |
9846 | (GOTaddr2picreg, sym_label2reg, symGOT2reg, symGOTOFF2reg, | |
9847 | symPLT_label2reg): New expands. | |
9848 | * invoke.texi (SH Options): Document -mprefergot. | |
9849 | ||
9850 | 2000-09-01 Alexandre Oliva <aoliva@redhat.com> | |
9851 | ||
9852 | * rtl.h (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): New macro. | |
9853 | * gcse.c (hash_string_1): New function. | |
9854 | (hash_expr_1) <ASM_OPERANDS>: Disregard filename and line number. | |
9855 | (expr_equiv_p) <ASM_OPERANDS>: Likewise. | |
9856 | * cse.c (rtx_cost): Don't increase the cost of ASM_OPERANDS. | |
9857 | (canon_hash_string): New function. | |
9858 | (canon_hash) <ASM_OPERANDS>: Disregard filename and line number. | |
9859 | (exp_equiv_p) <ASM_OPERANDS>: Likewise. | |
9860 | (fold_rtx): Use ASM_OPERANDS accessor macros. | |
9861 | * emit-rtl.c (copy_insn_1): Likewise. | |
9862 | * integrate.c (copy_rtx_and_substitute): Likewise. | |
9863 | * stmt.c (expand_asm_operands): Likewise. Give an | |
9864 | ASM_OPERANDS rtx the mode of the output reg being set from it. | |
9865 | ||
9866 | 2000-09-01 Fred Fish <fnf@be.com> | |
9867 | ||
9868 | * fix-header.c (write_rbrac): Add putc and getc to list of | |
9869 | functions to protect against prior definition as a macro. | |
9870 | ||
9871 | 2000-09-01 Joseph S. Myers <jsm28@cam.ac.uk> | |
9872 | ||
9873 | * c-common.h (enum c_tree_index): Add CTI_C_SIZE_TYPE. | |
9874 | (c_size_type_node): Define. | |
9875 | * c-decl.c (init_decl_processing): Initialize c_size_type_node. | |
9876 | * c-common.c (enum format_lengths, enum format_std_version, | |
9877 | format_length_info, format_type_detail, BADLEN, NOLENGTHS, | |
9878 | format_kind_info, printf_length_specs, scanf_length_specs, T89_I, | |
9879 | T99_I, T89_L, T99_LL, TEX_LL, T89_S, T89_UI, T99_UI, T89_UL, | |
9880 | T99_ULL, TEX_ULL, T89_US, T89_F, T99_F, T89_D, T99_D, T89_LD, | |
9881 | T99_LD, T89_C, T99_SC, T99_UC, T89_V, T94_W, TEX_W, T94_WI, | |
9882 | TEX_WI, T99_ST, T99_SST, T99_PD, T99_UPD, T99_IM, T99_UIM, | |
9883 | format_types): Define. | |
9884 | (format_char_info, print_char_table, scan_char_table, | |
9885 | time_char_table): Rearrange for new organization of information | |
9886 | about format length modifiers and standard versions. | |
9887 | (T_ST): Redefine to use c_size_type_node. | |
9888 | (check_format_info): Obtain information about length modifiers and | |
9889 | standard versions from tables. Adjust warning message wordings. | |
9890 | Use the name from the user's program for `ll' and `hh' length | |
9891 | modifiers in warning messages. Use more informative names for | |
9892 | wanted types where available (for wchar_t, wint_t, size_t, signed | |
9893 | size_t, ptrdiff_t, unsigned ptrdiff_t, intmax_t and uintmax_t). | |
9894 | ||
9895 | 2000-09-01 Jim Wilson <wilson@cygnus.com> | |
9896 | ||
9897 | * calls.c (emit_call_1): Add REG_NORETURN note to call if ECF_NORETURN. | |
9898 | * combine.c (distribute_notes): Handle REG_NORETURN. | |
9899 | * rtl.c (reg_note_name): Add REG_NORETURN. | |
9900 | * rtl.h (enum reg_note): Likewise. | |
9901 | ||
9902 | * config/ia64/ia64-protos.h (emit_safe_across_calls): Renamed from | |
9903 | ia64_file_start. | |
9904 | * config/ia64/ia64.c (emit_safe_across_calls): Likewise. | |
9905 | (rtx_needs_barrier): Handle unspec_volatile 8 and 9. | |
9906 | (emit_predicate_relation_info): Handle conditional calls with | |
9907 | REG_NORETURN. | |
9908 | * config/ia64/ia64.h (ASM_FILE_START): Call emit_safe_across_calls | |
9909 | instead of ia64_file_start. | |
9910 | * config/ia64/sysv4.h (ASM_FILE_START): Likewise. | |
9911 | * config/ia64/ia64.md (safe_across_calls_all, | |
9912 | save_across_calls_normal): New patterns. | |
9913 | ||
9914 | * loop.c (check_final_value): Check for biv use before checking for | |
9915 | giv use. Check for both biv and giv uses. Always set last_giv_use | |
9916 | if there is a giv use. | |
9917 | ||
9918 | 2000-09-01 Richard Henderson <rth@cygnus.com> | |
9919 | ||
9920 | * config/ia64/ia64.md (mulsi3): Use grfr_register_operand. | |
9921 | (madddi3): Likewise. | |
9922 | (maddsi3): New. | |
9923 | ||
9924 | Fri Sep 1 10:59:47 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
9925 | ||
9926 | * expr.c (clear_storage): Don't use emit_move_insn unless | |
9927 | either BLKmode or proper size. | |
9928 | (store_constructor): Don't call clear_storage if REG of wrong size. | |
9929 | ||
9930 | * flow.c (init_propagate_block_info): Don't mark frame dead at end | |
9931 | of function if returns wiht stack pointer depressed. | |
9932 | ||
9933 | 2000-09-01 Andrew Haley <aph@redhat.com> | |
9934 | ||
9935 | * dwarf2out.c (stack_adjust_offset): New function. | |
9936 | (dwarf2out_stack_adjust): Break out stack adjust logic into | |
9937 | new stack_adjust_offset function. Look inside parallels and | |
9938 | sequences for stack adjustments. | |
9939 | ||
9940 | 2000-08-31 Jeff Law <law@cygnus.com> | |
9941 | ||
9942 | * arm.md: Use no_new_pseudos to determine when it is safe | |
9943 | to create new pseudo registers. | |
9944 | ||
9945 | * arm.c (legitimize_pic_address): Use no_new_pseudos to determine | |
9946 | when we can safely allocate new registers. | |
9947 | ||
9948 | 2000-08-31 Geoffrey Keating <geoffk@cygnus.com> | |
9949 | ||
9950 | * stmt.c (expand_asm_operands): Twiddle generating_concat_p | |
9951 | so that CONCATs are not generated for ASMs. | |
9952 | * emit-rtl.c (gen_reg_rtx): Don't generate CONCATs when | |
9953 | not generating_concat_p. | |
9954 | * function.c (pop_function_context_from): Reset | |
9955 | generating_concat_p. | |
9956 | (prepare_function_start): Likewise. | |
9957 | * rtl.c (generating_concat_p): Define. | |
9958 | * rtl.h (generating_concat_p): Declare. | |
9959 | * toplev.c (rest_of_compilation): No CONCATs after RTL generation. | |
9960 | ||
9961 | 2000-08-22 Philipp Thomas <pthomas@suse.de> | |
9962 | Masanobu Yuhara <yuhara@flab.fujitsu.co.jp> | |
9963 | ||
9964 | * gmicro.h (TARGET_SWITCHES): Add descriptions and mark them | |
9965 | for translation. | |
9966 | ||
9967 | 2000-08-30 Greg McGary <greg@mcgary.org> | |
9968 | ||
9969 | * Makefile.in (fixinc.sh): Pass CC, CFLAGS and LDFLAGS to mkfixinc.sh | |
9970 | * fixinc/Makefile.in (fixincl): Pass $(LDFLAGS) to $(CC). | |
9971 | * fixinc/mkfixinc.sh: Pass $CC, $CFLAGS and $LDFLAGS to $MAKE. | |
9972 | ||
9973 | 2000-08-30 Greg McGary <greg@mcgary.org> | |
9974 | ||
9975 | * tree.h (struct tree_int_cst): Wrap low and high in a sub-struct. | |
9976 | (TREE_INT_CST_LOW, TREE_INT_CST_HIGH): Access through sub-struct. | |
9977 | (TREE_INT_CST): New macro. | |
9978 | * varasm.c (const_hash, compare_constant_1, record_constant_1): | |
9979 | Use new macro TREE_INT_CST. | |
9980 | ||
9981 | Wed 30-Aug-2000 23:18:59 BST Neil Booth <NeilB@earthling.net> | |
9982 | ||
9983 | * contrib.texi: Add self. | |
9984 | ||
9985 | 2000-08-30 Alexandre Oliva <aoliva@redhat.com> | |
9986 | ||
9987 | * config/sh/sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): New insns. | |
9988 | (cmpeqdi_t splitter): Use cmpeqsi_and_t instead of emitting jumps | |
9989 | and labels. | |
9990 | ||
9991 | 2000-08-30 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
9992 | ||
9993 | * fixinc/gnu-regex.c: Don't define `const'. | |
9994 | ||
9995 | Tue Aug 29 22:09:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
9996 | ||
9997 | * expr.c (store_constructor): Allow variable bounds of array type. | |
9998 | (expand_expr): Don't blow up if type is ERROR_MARK. | |
9999 | * varasm.c (output_constructor): Don't access lower bound of array | |
10000 | type unless need it if index is supplied (so it can be a variable | |
10001 | if no index is supplied). | |
10002 | Use tree_low_cst; use HOST_WIDE_INT for sizes; change BITPOS to POS. | |
10003 | Other minor cleanups. | |
10004 | ||
10005 | 2000-08-29 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
10006 | ||
10007 | * Makefile.in: Revamp handling of cflags to allow different WARN_CFLAGS | |
10008 | for compilations in stage 1 and subsequent stages, respectively. | |
10009 | * configure.in (vax): Add compiler-dependent CFLAGS for stage 1. | |
10010 | * configure: Rebuilt. | |
10011 | * x-vax, x-vax-gcc: Deleted. | |
10012 | ||
10013 | 2000-08-29 Zack Weinberg <zack@wolery.cumb.org> | |
10014 | ||
10015 | * c-common.c (declare_function_name): Use func_id_node, | |
10016 | function_id_node, and pretty_function_id_node. Do not make | |
10017 | __func__ visible at file scope. | |
10018 | * c-common.h (c_tree_index): Add CTI_FUNCTION_ID, | |
10019 | CTI_PRETTY_FUNCTION_ID, and CTI_FUNC_ID. | |
10020 | (function_id_node, pretty_function_id_node, func_id_node): New | |
10021 | macros. | |
10022 | * c-decl.c (init_decl_processing): Initialize function_id_node, | |
10023 | pretty_function_id_node, and func_id_node. | |
10024 | (c_make_fname_decl): Correct comment. | |
10025 | ||
10026 | * tree.h (struct tree_identifier): Constify pointer member. | |
10027 | ||
10028 | * c-decl.c (pushdecl, implicit_decl_warning): Constify a char *. | |
10029 | * c-pragma.h (struct weak_syms): Constify name and value members. | |
10030 | (add_weak): Constify arguments. | |
10031 | ||
10032 | * calls.c (special_function_p): Constify a char *. | |
10033 | (expand_call): Remove variable which is initialized and then | |
10034 | never used. | |
10035 | * dependence.c (struct def_use, struct induction, struct subscript): | |
10036 | Constify 'variable' member. | |
10037 | (get_low_bound, have_induction_variable): Constify char * argument. | |
10038 | (find_induction_variable): Add braces to avoid dangling else. | |
10039 | (classify_dependence): Constify char * arrays. | |
10040 | * profile.c (output_func_start_profiler): Constify a char *. | |
10041 | * stor-layout.c (finalize_record_size): Constify a char *. | |
10042 | * tree.c (is_attribute_p): Constify a char *. | |
10043 | * varasm.c (add_weak, remove_from_pending_weak_list): Constify argument. | |
10044 | ||
10045 | * varasm.c (make_function_rtl, make_decl_rtl): Rearrange code | |
10046 | for comprehensibility. Do not call get_identifier if we did | |
10047 | not change the DECL_ASSEMBLER_NAME of the decl. Use alloca to | |
10048 | create temporary string constants, not ggc_alloc_string. No | |
10049 | need to copy result of ASM_FORMAT_PRIVATE_NAME. Use const | |
10050 | char * to hold IDENTIFIER_POINTERs. | |
10051 | ||
10052 | 2000-08-29 Richard Henderson <rth@cygnus.com> | |
10053 | ||
10054 | * config/ia64/ia64.md (muldi3): Use grfr_register_operand | |
10055 | for the inputs. | |
10056 | ||
10057 | 2000-08-29 Richard Henderson <rth@cygnus.com> | |
10058 | ||
10059 | * reload.c (push_secondary_reload): Allow class == reload_class | |
10060 | if we're using a reload_in/out pattern. | |
10061 | ||
10062 | * config/ia64/ia64.md (reload_inti): Use a TImode scratch. Use | |
10063 | the half that does not conflict with the reload register. | |
10064 | (reload_outti): Likewise. | |
10065 | ||
10066 | 2000-08-29 Kazu Hirata <kazu@hxi.com> | |
10067 | ||
10068 | * reload.c: Fix formatting. | |
10069 | ||
10070 | * stmt.c: Fix formatting. | |
10071 | ||
10072 | * gcc.c: Fix formatting. | |
10073 | ||
10074 | 2000-08-29 Zack Weinberg <zack@wolery.cumb.org> | |
10075 | ||
10076 | * flags.h (time_report, mem_report): New global flags. | |
10077 | * toplev.c: Define time_report and mem_report. | |
10078 | (f_options): Add -ftime-report and -fmem-report. | |
10079 | (compile_file): Turn on time_report if quiet_flag is off. | |
10080 | Call ggc_print_statistics at very end if mem_report is on. | |
10081 | * timevar.c (TIMEVAR_ENABLE): Examine time_report, not quiet_flag. | |
10082 | ||
10083 | * ggc-common.c (ggc_print_statistics): Rename to | |
10084 | ggc_print_common_statistics; all callers changed. Scale | |
10085 | quantities above 10K to kilobytes and above 10M to megabytes. | |
10086 | * ggc-page.c (ggc_page_print_statistics): Rename to | |
10087 | ggc_print_statistics. Report memory consumed by internal data | |
10088 | structures for each allocation bucket. Scale quantities above | |
10089 | 10K to kilobytes and above 10M to megabytes. | |
10090 | * ggc-simple.c: Prototype debug_ggc_tree to avoid warning. | |
10091 | Cast PTR_KEY(p) to unsigned long in fprintf call to avoid warning. | |
10092 | Define tally_leaves always. | |
10093 | (ggc_print_statistics): New function. | |
10094 | * ggc.h: Adjust for renamed functions. | |
10095 | ||
10096 | Wed Aug 30 00:11:42 2000 Denis Chertykov <denisc@overta.ru> | |
10097 | ||
10098 | * config/avr/avr.md ("*movsf","*movsi"): Pass NULL to | |
10099 | output_movsisf instead of which_alternative. | |
10100 | ||
10101 | * config/avr/avr.c (output_reload_inhi): Check for NULL ponter. | |
10102 | ||
10103 | Tue Aug 29 22:29:58 2000 Denis Chertykov <denisc@overta.ru> & Marek Michalkiewicz <marekm@linux.org.pl> | |
10104 | ||
10105 | * config/avr/avr-protos.h: (avr_output_ascii) Removed. | |
10106 | (avr_progmem_p): New prototype. | |
10107 | (output_movsisf): Prototype declaration changed. | |
10108 | (output_movqi): New prototype. | |
10109 | (output_movhi): New prototype. | |
10110 | (call_insn_operand): Likewise. | |
10111 | (final_prescan_insn): Likewise. | |
10112 | (avr_simplify_comparision_p): Likewise. | |
10113 | (avr_normalize_condition): Likewise. | |
10114 | (compare_eq_p): Likewise. | |
10115 | (out_shift_with_cnt): Likewise. | |
10116 | (const_int_pow2_p): Likewise. | |
10117 | (output_reload_inhi): Prototype declaration changed. | |
10118 | ||
10119 | * config/avr/avr.c: (debug_hard_reg_set): Prototype declared. | |
10120 | (ldi_reg_rtx): New. rtx for r31. | |
10121 | (avr_init_stack): Initialize as "__stack". | |
10122 | (function_prologue): Use it. | |
10123 | Replace all TARGET_ENHANCED with AVR_ENHANCED. | |
10124 | (avr_mcu_name): Initialize as "avr2". | |
10125 | (avr_enhanced_p, avr_mega_p): New variables. | |
10126 | (mcu_types, avr_override_options): Handle all known MCU types. | |
10127 | Also handle avr1 (only preprocess, assemble and link). | |
10128 | (print_operand): Using of `%K' in output template removed. | |
10129 | (out_movqi_r_mr): Optimized. | |
10130 | (out_movhi_r_mr): Likewise. | |
10131 | (output_movqi): New function. | |
10132 | (output_movhi): Likewise. | |
10133 | (out_movsi_r_mr): Optimized. | |
10134 | (output_movsisf): Compute insn length for `adjust_insn_length' | |
10135 | (out_movqi_mr_r): Optimized. | |
10136 | (out_movhi_mr_r): Optimized. | |
10137 | (adjust_insn_length): Use output_movsisf, output_movqi, | |
10138 | output_movhi for insn length adjusting. | |
10139 | (reg_unused_after): Use dead_or_set_p. | |
10140 | (preferred_reload_class): Now haven't any restriction. | |
10141 | (reg_was_0): New function. | |
10142 | (io_address_p): Likewise. | |
10143 | (const_int_pow2_p): Likewise. | |
10144 | (output_reload_inhi): Likewise. | |
10145 | (output_reload_insisf): Likewise. | |
10146 | ||
10147 | * config/avr/avr.h (MULTILIB_DEFAULTS): Define. | |
10148 | (LIB_SPEC): Use -lc for all supported devices. | |
10149 | (LIBGCC_SPEC): Use -lgcc for all supported devices. | |
10150 | (AVR_MEGA): Define as avr_mega_p. | |
10151 | (AVR_ENHANCED): New, define as avr_enhanced_p. | |
10152 | (TARGET_SWITCHES): Remove -menhanced, now handled by -mmcu=... | |
10153 | (CPP_SPEC, LINK_SPEC): Handle all known MCU types. | |
10154 | (CRT_BINUTILS_SPECS): Handle all known MCU types. | |
10155 | Rename gcrt1-*.o to make file names unique on 8.3 filesystems. | |
10156 | (EXTRA_SPECS): Add CPP_AVR[1-5]_SPEC. | |
10157 | (ASM_SPEC): Pass -mmcu=... to the assembler. | |
10158 | Change all -DAVR_* to -D__AVR_*__. | |
10159 | (INIT_TARGET_OPTABS), config/avr/libgcc.S: | |
10160 | Rename library functions to start with two underscores. | |
10161 | (ASM_OUTPUT_COMMON): Outputs `.comm VAR,VAR-SIZE,1' to avoid | |
10162 | alignment. | |
10163 | (ASM_WEAKEN_LABEL): Declared for __attribute__((weak)). | |
10164 | (SUPPORTS_WEAK): Likewise. | |
10165 | (LDI_REG_REGNO): New. Register r31 will be used as temporary | |
10166 | register for loading constants to r0-r14. | |
10167 | ||
10168 | * config/avr/avr.md: Replace all TARGET_ENHANCED with | |
10169 | AVR_ENHANCED. | |
10170 | (*mov_r_sp): Removed. Handled by output_movhi. | |
10171 | (*mov_sp_r): Likewise. | |
10172 | (*mov_sp_r_no_interrupts): Likewise | |
10173 | (*mov_sp_r_tiny): Likewise. | |
10174 | (*movqi): Use output_movqi. | |
10175 | (*reload_inqi): New. | |
10176 | (*movhi): Use output_movhi. | |
10177 | (*reload_inhi): New. | |
10178 | (*negsi2): Optimized. | |
10179 | (*negsf2): Likewise. | |
10180 | Added peepholes (define_peephole2) for loading constants to r0-r14 | |
10181 | and for using `cpse' command. | |
10182 | ||
10183 | * config/avr/libgcc.S: Rename library functions to start with two | |
10184 | underscores. | |
10185 | Add support for enhanced core. | |
10186 | (_moqhi3): Fix typo, now _modqi3. | |
10187 | (__divsi_raw): Use __zero_reg__ as loop counter, smaller by 1 word. | |
10188 | (__prologue_saves__): Remove test for stack adjust by 0. | |
10189 | (__tablejump__): New. | |
10190 | ||
10191 | * config/avr/t-avr: Build libgcc2 with -mcall-prologues. | |
10192 | Add multilib support. | |
10193 | ||
10194 | Tue Aug 29 15:17:54 EDT 2000 John Wehle (john@feith.com) | |
10195 | ||
10196 | * loop.c (prescan_loop): Don't check unknown_address_altered | |
10197 | when deciding if insert_loop_mem is safe. Add BLKmode MEMs | |
10198 | to loop_store_mems as necessary. | |
10199 | (loop_invariant_p): Don't check unknown_address_altered | |
10200 | or unknown_constant_address_altered. | |
10201 | ||
10202 | 2000-08-29 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
10203 | ||
10204 | * vax.md (sltu, sgeu): Delete sltu and sgeu insn patterns. | |
10205 | ||
10206 | 2000-08-29 Zack Weinberg <zack@wolery.cumb.org> | |
10207 | ||
10208 | * cpperror.c (print_file_and_line): If line is (unsigned int)-1, | |
10209 | print just the filename. | |
10210 | * cpplex.c (_cpp_run_directive): Add additional argument, the | |
10211 | name to give the synthetic buffer. This defaults to | |
10212 | translated "<command line>". | |
10213 | * cpplib.c (cpp_define, cpp_undef, cpp_assert, cpp_unassert): | |
10214 | Adjust to match. | |
10215 | (_cpp_define_builtin): New function. | |
10216 | * cppinit.c (initialize_builtins): Use _cpp_define_builtin. | |
10217 | * cpphash.h: Update prototypes. | |
10218 | ||
10219 | * tradcpp.c (main): Process -D and -U simultaneously, in the | |
10220 | order they appeared on the command line. | |
10221 | ||
10222 | 2000-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
10223 | ||
10224 | * c-decl.c (define_label): Call warning_with_file_and_line and | |
10225 | error_with_file_and_line instead of plain warning or error. | |
10226 | ||
10227 | * c-parse.in (label): Use save_filename/save_lineno to ensure | |
10228 | correct values for calls to define_label. | |
10229 | ||
10230 | 2000-08-29 Mark Mitchell <mark@codesourcery.com> | |
10231 | ||
10232 | * calls.c (expand_call): Don't create a VAR_DECL just to throw it | |
10233 | away. | |
10234 | * expr.c (expand_expr, case TARGET_EXPR): Don't call | |
10235 | mark_addressable. | |
10236 | * tree.h (get_file_function_name): Remove two duplicate | |
10237 | declarations. | |
10238 | ||
10239 | 2000-08-28 Kazu Hirata <kazu@hxi.com> | |
10240 | ||
10241 | * tree.c: Fix formatting. | |
10242 | ||
10243 | * xcoffout.c: Fix formatting. | |
10244 | ||
10245 | 2000-08-28 Jason Merrill <jason@redhat.com> | |
10246 | ||
10247 | * dwarf2out.c (attr_checksum): Also ignore DW_AT_producer. | |
10248 | ||
10249 | 2000-08-28 Daniel Berlin <dberlin@redhat.com> | |
10250 | ||
10251 | * dwarf2out.c (dwarf2out_finish): Don't bother calling | |
10252 | break_out_includes if it won't do anything. | |
10253 | ||
10254 | 2000-08-28 Richard Henderson <rth@cygnus.com> | |
10255 | ||
10256 | * reload.c (push_secondary_reload): Revert 2000-08-16 change. | |
10257 | (find_reloads): Likewise. | |
10258 | * config/alpha/alpha.md (reload_inqi): Revert 2000-08-11 change. | |
10259 | (reload_inhi): Likewise. | |
10260 | ||
10261 | 2000-08-28 Richard Henderson <rth@cygnus.com> | |
10262 | ||
10263 | * config/i386/i386.c: Don't error on EXTRA_CONSTRAINT defined. | |
10264 | (call_insn_operand): Don't expect a surrounding mem. | |
10265 | (constant_call_address_operand): Likewise. | |
10266 | * config/i386/i386.h (PREDICATE_CODES): Update. | |
10267 | * config/i386/i386.md (call patterns): Move the match_operand | |
10268 | for the call destination inside the mem. | |
10269 | ||
10270 | 2000-08-28 Richard Henderson <rth@cygnus.com> | |
10271 | ||
10272 | * local-alloc.c (requires_inout): Don't use reserved range for | |
10273 | EXTRA_CONSTRAINTS; use anything not matched by REG_CLASS_FROM_LETTER. | |
10274 | * recog.c (asm_operand_ok): Likewise. | |
10275 | (preprocess_constraints, constrain_operands): Likewise. | |
10276 | * regclass.c (record_reg_classes): Likewise. | |
10277 | * reload.c (find_reloads): Likewise. | |
10278 | * reload1.c (maybe_fix_stack_asms): Likewise. | |
10279 | (reload_cse_simplify_operands): Likewise. | |
10280 | * stmt.c (expand_asm_operands): Likewise. | |
10281 | ||
10282 | * md.texi: Update constraints documentation. | |
10283 | * tm.texi (EXTRA_CONSTRAINT): Update. | |
10284 | ||
10285 | 2000-08-28 Daniel Berlin <dberlin@redhat.com> | |
10286 | ||
10287 | * dwarf2out.c (DIE_LABEL_PREFIX): Remove leading "__". | |
10288 | (print_die): If we don't know the offset of the | |
10289 | target die, try the symbol. Add a trailing newline. | |
10290 | (reverse_all_dies): New fn. | |
10291 | (dwarf2out_finish): Call it. | |
10292 | (break_out_includes): Reorganize for clarity. | |
10293 | (add_sibling_attributes): Don't call reverse_die_lists. | |
10294 | (output_comp_unit): Rename from output_comdat_comp_unit. Use for | |
10295 | primary CU, too. | |
10296 | * flags.h: Add flag_eliminate_dwarf2_dups. | |
10297 | * toplev.c (f_options): Support -feliminate-dwarf2-dups. | |
10298 | ||
10299 | 2000-08-28 Jason Merrill <jason@redhat.com> | |
10300 | ||
10301 | * dwarf2.h (DW_TAG_GNU_BINCL, DW_TAG_GNU_EINCL): New tags. | |
10302 | * dwarf2out.c: #include "md5.h". | |
10303 | (DIE_LABEL_PREFIX): New macro. | |
10304 | (dw_val_struct): Add 'external' flag to val_die_ref. | |
10305 | (add_AT_die_ref, AT_ref): Adjust. | |
10306 | (AT_ref_external, set_AT_ref_external): New fns. | |
10307 | (build_abbrev_table): Call set_AT_ref_external. | |
10308 | (value_format): Call AT_ref_external. | |
10309 | (die_struct): Add die_symbol field. | |
10310 | (new_die): Clear it. | |
10311 | (dwarf_tag_name): Handle BINCL/EINCL. | |
10312 | (dwarf2out_start_source_file): Add BINCL DIE. | |
10313 | (dwarf2out_end_source_file): Add EINCL DIE. | |
10314 | (push_new_compile_unit, pop_compile_unit, clear_die_sizes): New fns. | |
10315 | (loc_checksum, attr_checksum, die_checksum): New fns. | |
10316 | (is_type_die, is_comdat_die, is_symbol_die): New fns. | |
10317 | (compute_section_prefix, assign_symbol_names): New fns. | |
10318 | (gen_internal_sym, output_die_symbol, output_symbolic_ref): New fns. | |
10319 | (output_die): Call output_die_symbol and AT_ref_external. | |
10320 | (output_comdat_comp_unit): New fn, split out from... | |
10321 | (dwarf2out_finish): ...here. Also call add_sibling_attributes for | |
10322 | secondary CUs. | |
10323 | (output_pubnames, output_aranges): Abort if we see entries from | |
10324 | secondary CUs. | |
10325 | * toplev.h: Declare file_name_nondirectory. | |
10326 | * toplev.c (file_name_nondirectory): New fn, moved from C++ frontend. | |
10327 | (rest_of_type_compilation): Call dwarf2out_decl if at toplevel. | |
10328 | (debug_start_source_file): Call dwarf2out_start_source_file | |
10329 | regardless of debug verbosity. | |
10330 | (debug_end_source_file): Similarly. | |
10331 | * tree.h: Declare clean_symbol_name. | |
10332 | * tree.c (clean_symbol_name): Split out from... | |
10333 | (get_file_function_name_long): ...here. | |
10334 | ||
10335 | * dwarf2out.c (new_loc_descr): Use calloc. | |
10336 | (splice_child_die): Remove the die from the right parent. | |
10337 | (gen_struct_or_union_die): Don't add AT_name to a specification DIE. | |
10338 | ||
10339 | Mon Aug 28 19:02:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
10340 | ||
10341 | * toplev.c (decode_g_option): Don't give warning for unknown -g | |
10342 | option; return 0 instead. | |
10343 | (main): If -g option is not recognized by front end or | |
10344 | language-independent code, give warning. | |
10345 | ||
10346 | 2000-08-28 Greg McGary <greg@mcgary.org> | |
10347 | ||
10348 | * config/i386/i386-protos.h (ix86_expand_compare): Add extern decl. | |
10349 | * config/i386/i386.c (ix86_expand_compare): Remove `static'. | |
10350 | * config/i386/i386.md (trap, conditional_trap): New insn & expand. | |
10351 | ||
10352 | 2000-08-27 Greg McGary <greg@mcgary.org> | |
10353 | ||
10354 | * cpplex.c (parse_string): Don't look for backslash | |
10355 | before first char in `namebuf'. | |
10356 | * loop.c (strength_reduce): Skip NOTEs. | |
10357 | ||
10358 | 2000-08-27 Jason Merrill <jason@redhat.com> | |
10359 | ||
10360 | * c-decl.c (duplicate_decls): Don't set TREE_STATIC or clear | |
10361 | DECL_EXTERNAL on a local extern. Don't set DECL_IGNORED_P or | |
10362 | TREE_ASM_WRITTEN, either. | |
10363 | (finish_decl): Adjust. | |
10364 | ||
10365 | 2000-08-28 Philipp Thomas <pthomas@suse.de> | |
10366 | ||
10367 | * ABOUT-GCC-NLS: Remove gettext patches from Paul Eggert as | |
10368 | they have been incorporated into the gettext CVS. Change the text to | |
10369 | reflect the current status of NLS. Add instructions for accessing | |
719bb4e3 | 10370 | the gettext CVS and add the patch from Martin v. Löwis. |
3eb54e5f ILT |
10371 | |
10372 | 2000-08-27 Geoff Keating <geoffk@cygnus.com> | |
10373 | ||
10374 | * config/rs6000/rs6000.md (movdi_internal64+5): Make SUBREG-safe | |
10375 | by using gen_lowpart_common. | |
10376 | (movdi_internal64+6): Likewise. | |
10377 | ||
10378 | 2000-08-26 Alexandre Oliva <aoliva@redhat.com> | |
10379 | ||
10380 | * tm.texi (FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): | |
10381 | Document. | |
10382 | ||
10383 | * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Remap register | |
10384 | numbers to the ranges used by GDB. | |
10385 | ||
10386 | 2000-08-25 Richard Henderson <rth@cygnus.com> | |
10387 | ||
10388 | * config/ia64/ia64.h (struct machine_function): Add n_varargs. | |
10389 | * config/ia64/ia64.c (ia64_compute_frame_size): Use it. | |
10390 | (ia64_expand_prologue): Likewise. | |
10391 | (ia64_setup_incoming_varargs): Set it. Properly skip the current | |
10392 | argument for stdargs. | |
10393 | ||
10394 | 2000-08-25 Jason Merrill <jason@redhat.com> | |
10395 | ||
10396 | * integrate.c (expand_inline_function): Pull out the original decl. | |
10397 | ||
10398 | 2000-08-25 Jim Wilson <wilson@cygnus.com> | |
10399 | ||
10400 | * cse.c (cse_insn): Don't pass label subtraction to force_const_mem. | |
10401 | ||
10402 | * function.c (gen_mem_addressof): Clear MEM_ALIAS_SET if no decl. | |
10403 | ||
10404 | 2000-08-25 Greg McGary <greg@mcgary.org> | |
10405 | ||
10406 | * flow.c (dump_edge_info): Use ARRAY_SIZE. | |
10407 | * config/alpha/alpha.c (alpha_expand_block_move): Likewise. | |
10408 | ||
10409 | 2000-08-25 Richard Earnshaw <rearnsha@arm.com> | |
10410 | ||
10411 | * arm.h (STRUCT_VALUE): Define to 0, not NULL. | |
10412 | ||
10413 | Fri Aug 25 12:52:49 EDT 2000 John Wehle (john@feith.com) | |
10414 | ||
10415 | * i386.c (ix86_find_base_term): New. | |
10416 | * i386-protos.h (ix86_find_base_term): Prototype. | |
10417 | * i386.h (FIND_BASE_TERM): Define. | |
10418 | * alias.c (find_base_term): Use it. | |
10419 | * tm.texi (FIND_BASE_TERM): Document it. | |
10420 | ||
10421 | * alias.c (true_dependence, write_dependence_p): Unchanging | |
10422 | memory can't conflict with non-unchanging memory. | |
10423 | ||
10424 | * alias.c (memrefs_conflict_p): A BLKmode reference | |
10425 | to a symbol (or CONST_INT address) always conflicts | |
10426 | with a reference to another symbol. | |
10427 | ||
10428 | 2000-08-25 Joseph S. Myers <jsm28@cam.ac.uk> | |
10429 | ||
10430 | * c-common.c (time_char_table): Don't allow width and flags with | |
10431 | "z" format. | |
10432 | ||
10433 | 2000-08-25 Jakub Jelinek <jakub@redhat.com> | |
10434 | ||
10435 | * config/i386/i386.c (ix86_expand_branch): Treat GE and GEU the same | |
10436 | way as LT and LTU when the second operand has 0 in low word. | |
10437 | ||
10438 | 2000-08-26 Michael Hayes <mhayes@cygnus.com> | |
10439 | ||
10440 | * basic-block.h (struct loop): Rename `exits' field to | |
10441 | `exit_edges'. Add `entry_edges' and `num_entries' fields. | |
10442 | ||
10443 | * flow.c (flow_loop_exit_edges_find): Rename from flow_loop_exits_find. | |
10444 | (flow_loop_entry_edges_find): Add. | |
10445 | (flow_edge_list_print): Rename from flow_exits_print. | |
10446 | (flow_loops_find): Call flow_loop_entry_edges_find. | |
10447 | (flow_loop_dump): Dump entry_edges list. | |
10448 | (flow_loops_free): Free entry_edges. | |
10449 | ||
10450 | 2000-08-26 Michael Hayes <mhayes@cygnus.com> | |
10451 | ||
10452 | * loop.c (loop_dump_aux, debug_loop): New functions. | |
10453 | (LOOP_BLOCK_NUM_1, LOOP_BLOCK_NUM, LOOP_INSN_UID): New macros. | |
10454 | ||
10455 | * flow.c (flow_loops_dump): Add callback parameter. | |
10456 | (flow_loop_dump): Add callback parameter and call it. Move | |
10457 | loop note debugging code to loop_dump_aux. | |
10458 | ||
10459 | * basic-block.h (flow_loop_dump): Add callback parameter | |
10460 | (flow_loops_dump): Likewise. | |
10461 | ||
10462 | * toplev.c (rest_of_compilation): Add NULL callback function pointer | |
10463 | to call to flow_loops_dump. | |
10464 | ||
10465 | 2000-08-26 Michael Hayes <mhayes@cygnus.com> | |
10466 | ||
10467 | * loop.c (count_loop_regs_set): Replace start and end arguments | |
10468 | with loop argument. All callers udated. | |
10469 | ||
10470 | 2000-08-26 Michael Hayes <mhayes@cygnus.com> | |
10471 | ||
10472 | * loop.c (constant_high_bytes): Delete. | |
10473 | ||
10474 | 2000-08-26 Michael Hayes <mhayes@cygnus.com> | |
10475 | ||
10476 | * loop.c (prescan_loop): Move checks for NOTE_INSN_LOOP_CONT | |
10477 | and NOTE_INSN_LOOP_VTOP to... | |
10478 | (find_and_verify_loops) ...here. | |
10479 | ||
10480 | Fri Aug 25 04:21:13 2000 Alexandre Oliva <aoliva@redhat.com> | |
10481 | ||
10482 | * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Define default. | |
10483 | (fini_dummy, init_dummy): Use it. | |
10484 | ||
10485 | Fri 25-Aug-2000 08:03:27 BST Neil Booth <NeilB@earthling.net> | |
10486 | ||
10487 | * cpplex.c (is_macro_disabled): Caller has already checked | |
10488 | that we're not a preprocessed file. | |
10489 | ||
10490 | 2000-08-24 Mark Mitchell <mark@codesourcery.com> | |
10491 | ||
10492 | * Makefile.in (C_AND_OBJC_OBJS): Remove c-iterate.o. | |
10493 | (c-iterate.o): Remove target. | |
10494 | * gcc/c-common.h (enum rid): Remove RID_ITERATOR. | |
10495 | * gcc/c-decl.c (init_decl_processing): Remove call to init_iterators. | |
10496 | (finish_decl): Don't handle iterators. | |
10497 | (grokdeclarator): Likewise. | |
10498 | * gcc/c-parse.gperf: Remove __iterator and __iterator__ keywords. | |
10499 | * gcc/c-gperf.h: Regenerated. | |
10500 | * gcc/c-iterate.c: Removed. | |
10501 | * gcc/c-lex.c (init_lex): Don't handle iterators. | |
10502 | * gcc/c-parse.in (primary): Remove pop_iterator_stack call. | |
10503 | (compstmt_primary_start): Remove push_iterator_stack call. | |
10504 | (stmt): Don't allow iterator statements. Replace iterator_expand | |
10505 | with expand_expr_stmt. | |
10506 | (all_iter_stmt): Remove. | |
10507 | (all_iter_stmt_simple): Likewise. | |
10508 | (all_iter_stmt_with_decl): Likewise. | |
10509 | * gcc/c-tree.h (ITERATOR_P): Remove. | |
10510 | (ITERATOR_BOUND_P): Likewise. | |
10511 | (init_iterators): Remove declaration. | |
10512 | (iterator_expand): Likewise. | |
10513 | (iterator_for_loop_start): Likewise. | |
10514 | (iterator_for_loop_end): Likewise. | |
10515 | (iterator_for_loop_record): Likewise. | |
10516 | (push_iterator_stack): Likewise. | |
10517 | (pop_iterator_stack): Likewise. | |
10518 | * gcc/c-typeck.c (decl_constant_value): Don't check ITERATOR_P. | |
10519 | (readonly_warning): Likewise. | |
10520 | * gcc/tree.h (ITERATOR_BOUND_P): Don't mention it. | |
10521 | ||
10522 | 2000-08-24 Jim Wilson <wilson@cygnus.com> | |
10523 | ||
10524 | * c-common.c (decl_attributes, case A_ALIGN): Revert last change. | |
10525 | Copy type in a TYPE_DECL, just like pushdecl does. | |
10526 | ||
10527 | 2000-08-24 Richard Henderson <rth@cygnus.com> | |
10528 | ||
10529 | * toplev.c (main): Enable flag_reorder_blocks at -O2. | |
10530 | ||
10531 | 2000-08-24 Zack Weinberg <zack@wolery.cumb.org> | |
10532 | ||
10533 | * ggc-page.c (alloc_page): If HAVE_MMAP_ANYWHERE and we're | |
10534 | asked for one page, allocate GGC_QUIRE_SIZE of them and put | |
10535 | the extras on the free list. | |
10536 | (release_pages): Clean up. | |
10537 | (ggc_set_mark): Don't adjust G.allocated here... | |
10538 | (sweep_pages): ... do it here. | |
10539 | ||
10540 | 2000-08-24 Zack Weinberg <zack@wolery.cumb.org> | |
10541 | ||
10542 | * cppfiles.c (read_include_file): Rearrange initializations. | |
10543 | ||
10544 | 2000-08-24 Richard Henderson <rth@cygnus.com> | |
10545 | ||
10546 | * stmt.c (expand_asm_operands): Treat EXTRA_CONSTRAINT like g or X. | |
10547 | ||
10548 | * config/ia64/ia64-protos.h: Update. | |
10549 | * config/ia64/ia64.c (gr_register_operand): New. | |
10550 | (fr_register_operand, grfr_register_operand): New. | |
10551 | (gr_nonimmediate_operand, grfr_nonimmediate_operand): New. | |
10552 | (grfr_reg_or_8bit_operand): New. | |
10553 | (gr_reg_or_0_operand): Rename from reg_or_0_operand and | |
10554 | use gr_register_operand. | |
10555 | (gr_reg_or_5bit_operand, gr_reg_or_6bit_operand): Likewise. | |
10556 | (gr_reg_or_8bit_operand, gr_reg_or_8bit_adjusted_operand): Likewise. | |
10557 | (gr_reg_or_8bit_and_adjusted_operand): Likewise. | |
10558 | (gr_reg_or_14bit_operand, gr_reg_or_22bit_operand): Likewise. | |
10559 | (fr_reg_or_fp01_operand): Likewise. | |
10560 | (not_postinc_memory_operand): New. | |
10561 | (ia64_split_timode): Remove unused variables. | |
10562 | (rtx_needs_barrier): Check arguments to cmpxchg. | |
10563 | (builtin_description): Remove. | |
10564 | (bdesc_2argsi, bdesc_2argdi): Remove. | |
10565 | (ia64_init_builtins): Declare all builtins directly. | |
10566 | (ia64_expand_fetch_and_op): Rewrite to be called from | |
10567 | ia64_expand_builtin directly. Use expand_binop and co. | |
10568 | (ia64_expand_op_and_fetch): Likewise. | |
10569 | (ia64_expand_compare_and_swap): Likewise. | |
10570 | (ia64_expand_binop_builtin): Remove. | |
10571 | (ia64_expand_lock_test_and_set): New. | |
10572 | (ia64_expand_lock_release): New. | |
10573 | (ia64_expand_builtin): Use them. | |
10574 | * config/ia64/ia64.h (CONSTRAINT_OK_FOR_S): New. | |
10575 | (EXTRA_CONSTRAINT): Use it. | |
10576 | (PREDICATE_CODES): Update. | |
10577 | * config/ia64/ia64.md (*): Use gr_register_operand and co. | |
10578 | (mf): Indicate that we set memory as well as use it. | |
10579 | (fetchadd_acq_si): Show memory being modified as well. | |
10580 | (fetchadd_acq_di, cmpxchg_acq_si, cmpxchg_acq_di): Likewise. | |
10581 | (val_compare_and_swap_si, val_compare_and_swap_di): Remove. | |
10582 | (lock_test_and_set_si, lock_test_and_set_di): Remove. | |
10583 | (fetch_and_add_si, fetch_and_sub_si, fetch_and_or_si): Remove. | |
10584 | (fetch_and_and_si, fetch_and_xor_si, fetch_and_nand_si): Remove. | |
10585 | (fetch_and_add_di, fetch_and_sub_di, fetch_and_or_di): Remove. | |
10586 | (fetch_and_and_di, fetch_and_xor_di, fetch_and_nand_di): Remove. | |
10587 | (add_and_fetch_di, sub_and_fetch_di, or_and_fetch_di): Remove. | |
10588 | (and_and_fetch_di, xor_and_fetch_di, nand_and_fetch_di): Remove. | |
10589 | (add_and_fetch_si, sub_and_fetch_si, or_and_fetch_si): Remove. | |
10590 | (and_and_fetch_si, xor_and_fetch_si, nand_and_fetch_si): Remove. | |
10591 | * config/ia64/ia64intrin.h (*): Cast result to the appropriate | |
10592 | return type. Pretty print definitions. | |
10593 | ||
10594 | 2000-08-24 Jim Wilson <wilson@cygnus.com> | |
10595 | ||
10596 | * config/ia64/ia64.md (movdi): Don't call gen_movdi_symbolic if | |
10597 | we have a SYMBOL_REF with SYMBOL_REF_FLAG set. | |
10598 | ||
10599 | 2000-08-24 Jason Merrill <jason@redhat.com> | |
10600 | ||
10601 | * dwarf2out.c (AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, | |
10602 | AT_loc, AT_addr, AT_lbl): Abort on unsuitable input. | |
10603 | (get_AT_low_pc, get_AT_hi_pc, get_AT_string, get_AT_flag, | |
10604 | get_AT_unsigned, get_AT_ref): Don't call them if get_AT fails. | |
10605 | ||
10606 | 2000-08-24 Greg McGary <greg@mcgary.org> | |
10607 | ||
10608 | * optabs.c (init_optabs): Initialize fixtab, fixtrunctab, floattab, | |
10609 | and extendtab within their proper array boundaries. | |
10610 | * emit-rtl.c (init_emit_once): Pass `const_tiny_rtx' with bounds | |
10611 | for the entire array. | |
10612 | ||
10613 | * config/arm/arm.c (arm_override_options): Use ARRAY_SIZE. | |
10614 | * config/alpha/alpha.c (alpha_lookup_xfloating_lib_func): Likewise. | |
10615 | * config/avr/avr.c (order_regs_for_local_alloc): Likewise. | |
10616 | * config/fr30/fr30.c (fr30_print_operand): Likewise. | |
10617 | * config/i386/dgux.c (output_options): Likewise. | |
10618 | * config/i386/dgux.h (ASM_FILE_START): Likewise. | |
10619 | * config/m88k/m88k.c (output_options): Likewise. | |
10620 | * config/m88k/m88k.h (ASM_FILE_START): Likewise. | |
10621 | * config/mcore/mcore.c (mcore_output_inline_const_forced, | |
10622 | layout_mcore_frame, handle_structs_in_regs): Likewise. | |
10623 | * config/mips/mips.c (output_block_move): Likewise. | |
10624 | * config/rs6000/rs6000.c (rs6000_override_options, | |
10625 | rs6000_file_start): Likewise. | |
10626 | * config/sparc/sparc.c (sparc_add_gc_roots): Likewise. | |
10627 | * fixinc/fixfixes.c (FIX_TABLE_CT): Likewise. | |
10628 | * fixinc/fixtests.c (TEST_TABLE_CT): Likewise. | |
10629 | * builtins.c (expand_builtin_setjmp): Likewise. | |
10630 | * expr.c (safe_from_p): Likewise. | |
10631 | * flow.c (life_analysis): Likewise. | |
10632 | * fold-const.c (size_int_type_wide): Likewise. | |
10633 | * gcc.c (translate_options, init_spec, set_spec, main): Likewise. | |
10634 | * genattrtab.c (make_length_attrs): Likewise. | |
10635 | * genopinit.c (gen_insn): Likewise. | |
10636 | * genrecog.c (NUM_KNOWN_PREDS, NUM_SPECIAL_MODE_PREDS): Likewise. | |
10637 | * global.c (global_alloc): Likewise. | |
10638 | * local-alloc.c (find_free_reg): Likewise. | |
10639 | * mips-tdump.c (print_symbol): Likewise. | |
10640 | * mips-tfile.c (parse_def, parse_input): Likewise. | |
10641 | * reload1.c (NUM_ELIMINABLE_REGS): Likewise. | |
10642 | * stmt.c (expand_nl_goto_receiver): Likewise. | |
10643 | * stor-layout.c (set_sizetype): Likewise. | |
10644 | * varasm.c (decode_reg_name): Likewise. | |
10645 | * toplev.c (decode_f_option, decode_W_option, | |
10646 | set_target_switch, print_switch_values): Likewise. | |
10647 | (NUM_ELEM): Remove macro. | |
10648 | (display_help, main): s/NUM_ELEM/ARRAY_SIZE/ | |
10649 | ||
10650 | 2000-08-24 Greg McGary <greg@mcgary.org> | |
10651 | ||
10652 | * tree.h (enum tree_index): New member `TI_MAIN_IDENTIFIER'. | |
10653 | (MAIN_NAME_P, main_identifier_node): New macros. | |
10654 | * c-common.c (c_common_nodes_and_builtins): Init main_identifier_node. | |
10655 | * c-decl.c (start_decl, grokdeclarator, start_function, | |
10656 | store_parm_decls, finish_function): Use MAIN_NAME_P. | |
10657 | * config/avr/avr.c (function_prologue, function_epilogue): Likewise. | |
10658 | * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise. | |
10659 | * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise. | |
10660 | * config/pdp11/pdp11.c (output_function_prologue): Likewise. | |
10661 | ||
10662 | 2000-08-24 Greg McGary <greg@mcgary.org> | |
10663 | ||
10664 | * cppfiles.c (actual_directory): Don't write beyond `dir' | |
10665 | when it contains "". | |
10666 | * real.c (asctoeg): Stay within bounds of etens[][]. | |
10667 | ||
10668 | 2000-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
10669 | ||
10670 | * dependence.c (dependence_string, direction_string, | |
10671 | dump_one_node, dump_node_dependence): Hide unused identifiers. | |
10672 | (get_low_bound, normalize_coefficients): Match definition to | |
10673 | static prototype. | |
10674 | (get_one_coefficient): Initialize variables `value0_is_idx' and | |
10675 | `value1_is_idx'. | |
10676 | (ziv_test, gcd_test): Mark parameters with ATTRIBUTE_UNUSED. | |
10677 | (ziv_test): Delete variable `idx', use parameter `sub' instead. | |
10678 | (direction_merge): Avoid automatic aggregate initialization. | |
10679 | (have_dependence_p): Use `src' not `dest' to set `src_idx'. | |
10680 | Initialize variables `dest_idx' and `src_idx'. | |
10681 | (end_dependence_analysis): Avoid C89 style function definition. | |
10682 | ||
10683 | 2000-08-24 Joseph S. Myers <jsm28@cam.ac.uk> | |
10684 | ||
10685 | * c-common.c (time_char_table): Don't allow width with %F. | |
10686 | (check_format_info): Don't allow "Z" length with scanf. | |
10687 | ||
10688 | 2000-08-24 Gabriel Dos Reis <gdr@codesourcery.com> | |
10689 | ||
10690 | * diagnostic.c (finish_diagnostic): Define. | |
10691 | (output_do_printf): Use wrap_text instead of output_add_string. | |
10692 | (default_print_error_function): Avoid embedded '\n'. | |
10693 | ||
10694 | * diagnostic.h (flush_diagnostic_buffer): Declare. | |
10695 | ||
10696 | 2000-08-23 Alexandre Oliva <aoliva@redhat.com> | |
10697 | ||
10698 | * dependence.c: Replace `[][]' with `[][MAX_SUBSCRIPTS]'. | |
10699 | ||
10700 | 2000-08-23 Hans-Peter Nilsson <hp@axis.com> | |
10701 | ||
10702 | * Makefile.in (GCC_PASSES): Add specs. | |
10703 | ||
10704 | 2000-08-23 Jim Wilson <wilson@cygnus.com> | |
10705 | ||
10706 | * frame.h (IA64_UNW_EHANDLER, IA64_UNW_UHANDLER): New. | |
10707 | * config/ia64/frame-ia64.c (__get_personality): Return zero if neither | |
10708 | EHANDLER nor UHANDLER bit is set. | |
10709 | (__get_except_table): Likewise. | |
10710 | ||
10711 | 2000-08-23 Nick Clifton <nickc@redhat.com> | |
10712 | ||
10713 | * config/arm/lib1funcs.asm: Replace upper case condition codes | |
10714 | with lower case versions. | |
10715 | ||
10716 | * config/arm/arm.h (STRUCT_VALUE): Define. | |
10717 | (STRUCT_VALUE_REGNUM): Delete. | |
10718 | ||
10719 | 2000-08-23 Zack Weinberg <zack@wolery.cumb.org> | |
10720 | ||
10721 | * cpphash.h (IN_I): New flag for directive table. | |
10722 | * cpplib.c (DIRECTIVE_TABLE): Mark #define, #undef, #ident, and | |
10723 | #pragma with IN_I. | |
10724 | (_cpp_check_directive): If -fpreprocessed, execute directives | |
10725 | marked with IN_I. Issue no warnings in this case. | |
10726 | * cpplex.c (_cpp_get_token): Expand no macros if -fpreprocessed. | |
10727 | ||
10728 | 2000-08-23 Joseph S. Myers <jsm28@cam.ac.uk> | |
10729 | ||
10730 | * c-common.c (print_char_table): Allow 'I' flag with %d, %i and | |
10731 | %u. | |
10732 | (check_format_info): Support printf 'I' flag; warn about it with | |
10733 | -pedantic. | |
10734 | ||
10735 | 2000-08-23 Richard Earnshaw (rearnsha@arm.com) | |
10736 | ||
10737 | * arm.c (arm_expand_prologue): Ensure that the stack-adjustment | |
10738 | barrier can't be ignored by the alias analysis code. | |
10739 | ||
10740 | 2000-08-12 Eli Zaretskii <eliz@is.elta.co.il> | |
10741 | ||
10742 | * fixinc/inclhack.def (sysv68_string): Fix the Sed script so it | |
10743 | works inside fixincl. | |
10744 | ||
10745 | Wed Aug 23 04:55:48 2000 Alexandre Oliva <aoliva@redhat.com> | |
10746 | ||
10747 | * simplify-rtx.c (simplify_rtx): Don't pass VOIDmode to | |
10748 | simplify_relational_operation() unless both operands are of | |
10749 | VOIDmode. | |
10750 | * cse.c (fold_rtx): Likewise. | |
10751 | ||
10752 | Tue Aug 22 23:53:27 EDT 2000 John Wehle (john@feith.com) | |
10753 | ||
10754 | * rtlanal.c (rtx_unstable_p): The pic register is stable | |
10755 | (within one function) and the actual rtx should be used | |
10756 | when checking the registers. | |
10757 | (rtx_addr_can_trap_p): Pic memory addresses can't trap. | |
10758 | ||
10759 | * alias.c (true_dependence, write_dependence_p): Fix | |
10760 | bug in previous patch. | |
10761 | ||
10762 | * i386.c (ix86_GOT_alias_set): New. | |
10763 | (legitimize_pic_address): Use it. | |
10764 | ||
10765 | * rtlanal.c (rtx_unstable_p): An unchanging MEM is | |
10766 | only stable if its address is stable. | |
10767 | (rtx_varies_p): An unchanging MEM can't vary if | |
10768 | its address doesn't vary. | |
10769 | ||
10770 | 2000-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
10771 | ||
10772 | * c-parse.in (unop +): Restrict -Wtraditional warnings to user code. | |
10773 | ||
10774 | 2000-08-22 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
10775 | ||
10776 | * vax.h (ASM_SPEC): Pass `-J' to assembler. | |
10777 | * x-vax-gcc: New file for bootstrapping with gcc. | |
10778 | * x-vax: Use X_CFLAGS rather than X_CPPFLAGS to pass `-J'. | |
10779 | * configure.in: Use x-vax-gcc with gcc. | |
10780 | * configure: Rebuilt. | |
10781 | ||
10782 | Tue Aug 22 21:21:05 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
10783 | ||
10784 | * toplev.c (rest_of_compilation): Rebuild label notes after | |
10785 | post-reload splitting pass if new labels have been created. | |
10786 | ||
10787 | 2000-08-22 Gabriel Dos Reis <gdr@codesourcery.com> | |
10788 | ||
10789 | * diagnostic.h (output_buffer_state): New macro. | |
10790 | * diagnostic.c (diagnostic_for_decl, sorry, | |
10791 | default_print_error_function, output_do_verbatim, | |
10792 | report_diagnostic, report_problematic_module): Use it. | |
10793 | (wrap_text): Tweak. | |
10794 | (output_format): Use wrap_text instead of maybe_wrap_text. | |
10795 | ||
10796 | 2000-08-22 Nick Clifton <nickc@redhat.com> | |
10797 | ||
10798 | * config/arm/lib1funcs.asm (ARM_DIV_MOD_BODY): New macro. | |
10799 | Common code for ARM divide and modulus functions. | |
10800 | (THUMB_DIV_MOD_BODY): New macro. Thumb equivalent of | |
10801 | ARM_DIV_MOD_BODY. | |
10802 | (FUNC_END): New macro: Common code at the end of the division and | |
10803 | modulo functions. | |
10804 | (THUMB_FUNCTION_START): New macro: Common code at the start of | |
10805 | Thumb functions. | |
10806 | (__divsi3, __udivsi3, __modsi3, __umodsi3): Use new macros. | |
10807 | ||
10808 | Tue Aug 22 20:34:52 2000 Kaz Kojima <kkojima@rr.iij4u.or.jp> | |
10809 | ||
10810 | * config/sh/sh.md (cmpeqdi_t splitter): Fix a reverse testing. | |
10811 | ||
10812 | * config/sh/sh.c (prepare_scc_operands): Apply force_reg to | |
10813 | sh_compare_op1 when the mode is DImode and sh_compare_op1 isn't | |
10814 | const0_rtx. | |
10815 | ||
10816 | 2000-08-22 Nick Clifton <nickc@redhat.com> | |
10817 | ||
10818 | * config/arm/lib1funcs.asm (__umodsi3): Before performing any | |
10819 | restorative additions, test for bottom bits of IP being set, | |
10820 | rather than relying upon the RORs not matching. | |
10821 | (__modsi3): Ditto. | |
10822 | ||
10823 | 2000-08-22 David Edelsohn <edelsohn@gnu.org> | |
10824 | ||
10825 | * aix.h (ASM_DECLARE_FUNCTION_NAME): Call named_section() or | |
10826 | text_section() as appropriate instead of emitting text csect | |
10827 | pseudo-op directly. | |
10828 | (TEXT_SECTION_ASM_OP): Only require default 32-bit alignment. | |
10829 | (UNIQUE_SECTION): Define macro. | |
10830 | (ASM_OUTPUT_SECTION_NAME): Define macro. | |
10831 | * rs6000.c (rs6000_override_options): Disable -ffunction-sections | |
10832 | on AIX if debugging and -fdata-sections always. | |
10833 | ||
10834 | 2000-08-22 Steven King <sxking@uswest.net> | |
10835 | ||
10836 | * config/float-i386.h (LDBL_EPSILON): Remove __convert_long_double | |
10837 | machinery. | |
10838 | (LDBL_MAX): Same here. | |
10839 | ||
10840 | 2000-08-22 Richard Henderson <rth@cygnus.com> | |
10841 | ||
10842 | * flow.c (tidy_fallthru_edge): Update b->end properly. | |
10843 | ||
10844 | 2000-08-22 Stan Cox <scox@redhat.com> | |
10845 | ||
10846 | * Makefile.in (OBJS): Add dependence.o. | |
10847 | * dependence.c: New file. | |
10848 | ||
10849 | 2000-08-22 Alexandre Oliva <aoliva@redhat.com>, John David Anglin <dave.anglin@nrc.ca> | |
10850 | ||
10851 | * calls.c (check_sibcall_argument_overlap_1): Adjust for | |
10852 | ARGS_GROW_DOWNWARD. | |
10853 | (check_sibcall_argument_overlap): Likewise. | |
10854 | ||
10855 | 2000-08-22 Alexandre Oliva <aoliva@redhat.com> | |
10856 | ||
10857 | * invoke.texi (SH Options): Document -m4-nofpu, | |
10858 | -m4-single-only, -m4-single, -m4, -mbigtable, -mfmovd, | |
10859 | -mhitachi, -mnomacsave, -misize, -mpadstruct, -mspace. | |
10860 | ||
10861 | 2000-08-22 Joseph S. Myers <jsm28@cam.ac.uk> | |
10862 | ||
10863 | * c-common.c (check_format_info): Give the 'some locales' warning | |
10864 | for strftime %Ey rather than the unconditional 'only last 2 digits | |
10865 | of year' one. | |
10866 | ||
10867 | 2000-08-22 Richard Henderson <rth@cygnus.com> | |
10868 | ||
10869 | * alias.c (init_alias_analysis): Do not register | |
10870 | struct_value_incoming_rtx or static_chain_rtx as pointing | |
10871 | to stack memory. | |
10872 | ||
10873 | Tue Aug 22 01:44:43 2000 Jeffrey A Law (law@cygnus.com) | |
10874 | ||
10875 | * protoize.c (munge_compile_params): Fix typo and formatting buglets. | |
10876 | ||
10877 | 2000-08-22 Gabriel Dos Reis <gdr@codesourcery.com> | |
10878 | ||
10879 | * diagnostic.h (report_problematic_module): Declare. | |
10880 | * diagnostic.c (report_problematic_module): New function. | |
10881 | (report_error_function): Tweak. | |
10882 | ||
10883 | Tue Aug 22 02:31:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
10884 | ||
10885 | * stmt.c (expand_goto_internal, fixup_gotos): Only check | |
10886 | TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE. | |
10887 | ||
10888 | 2000-08-21 Richard Henderson <rth@cygnus.com> | |
10889 | ||
10890 | * flow.c (calculate_global_regs_live): Mark frame pointer live | |
10891 | everywhere before reload. | |
10892 | ||
10893 | 2000-08-21 Jim Wilson <wilson@cygnus.com> | |
10894 | ||
10895 | * real.c (ereal_from_int, ereal_from_uint, significand_size): Handle | |
10896 | INTEL_EXTENDED_IEEE_FORMAT. | |
10897 | (toe64): Delete INTEL_EXTENDED_IEEE_FORMAT support. Unconditionally | |
10898 | clear last two bytes of output FP value. | |
10899 | ||
10900 | 2000-08-21 Graham Stott <grahams@cygnus.co.uk> | |
10901 | ||
10902 | * config/ia64/ia64.h (REDO_SECTION_INFO_P): Change decl to DECL. | |
10903 | ||
10904 | 2000-08-21 Jakub Jelinek <jakub@redhat.com> | |
10905 | ||
10906 | * unroll.c (loop_find_equiv_value): If ret is modified between | |
10907 | insn and loop_start, ret might not be equivalent to reg. | |
10908 | ||
10909 | 2000-08-21 Joseph S. Myers <jsm28@cam.ac.uk> | |
10910 | ||
10911 | * c-common.c (init_dollar_format_checking, | |
10912 | maybe_read_dollar_number, finish_dollar_format_checking): New | |
10913 | functions. | |
10914 | (dollar_arguments_used, dollar_arguments_count, | |
10915 | dollar_first_arg_num, dollar_max_arg_used, dollar_format_warned): | |
10916 | New variables. | |
10917 | (check_format_info): Support $ formats for scanf and printf width | |
10918 | and precision. Always increment format_chars to advance past the | |
10919 | '*' of precision, not just when the format parameters are | |
10920 | available to check. | |
10921 | ||
10922 | 2000-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
10923 | ||
10924 | * mips.c (block_move_loop, expand_block_move, | |
10925 | function_arg_partial_nregs, save_restore_insns, function_prologue, | |
10926 | mips_expand_prologue, RA_MASK): Avoid using the `U' integer | |
10927 | constant suffix. | |
10928 | (function_arg_advance, function_arg): Match argument to format | |
10929 | specifier `%p'. | |
10930 | ||
10931 | 2000-08-21 Nix <nix@esperi.demon.co.uk> | |
10932 | ||
10933 | * gcc.c (do_spec_1): Implement %j spec flag. | |
10934 | Remove dead comment. | |
10935 | ||
10936 | * gcc.texi (The Configuration File): Document HOST_BIT_BUCKET. | |
10937 | * system.h (HOST_BIT_BUCKET): Default to "/dev/null". | |
10938 | * config/i386/xm-dos.h (HOST_BIT_BUCKET): Define as "NUL". | |
10939 | * config/i386/xm-os2.h, config/winnt/winnt.h: Likewise. | |
10940 | ||
10941 | * protoize.c (munge_compile_params): Use HOST_BIT_BUCKET (if | |
10942 | writable) instead of hardcoded value. | |
10943 | ||
10944 | * toplev.c (compile_file): Output to a file even if -fsyntax-only. | |
10945 | ||
10946 | * gcc.c, config/i386/xm-dos.h, config/i386/xm-os2.h: Kill | |
10947 | MKTEMP_EACH_FILE. | |
10948 | ||
10949 | * gcc.c (cc1_options): Do not process -o or run the assembler if | |
10950 | -fsyntax-only. | |
10951 | * objc/lang-spec.h: Likewise. | |
10952 | ||
10953 | 2000-08-21 Eli Zaretskii <eliz@is.elta.co.il> | |
10954 | ||
10955 | * fixinc/fixincl.c (fix_with_system): Pipe the output of | |
10956 | "external" fixes through `cat', to avoid truncating the input | |
10957 | file by redirection. | |
10958 | ||
10959 | 2000-08-21 Jakub Jelinek <jakub@redhat.com> | |
10960 | ||
10961 | * config/i386/i386.md (lea_general_1): Copy insn condition to split | |
10962 | condition. | |
10963 | (lea_general_2, lea_general_3): Likewise. | |
10964 | ||
10965 | 2000-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
10966 | ||
10967 | * c-decl.c (duplicate_decls, define_label): Restrict -Wtraditional | |
10968 | warnings to user code. | |
10969 | ||
10970 | * c-lex.c (readescape, yylex): Likewise. | |
10971 | ||
10972 | * c-typeck.c (store_init_value, process_init_element): Likewise | |
10973 | (c_expand_start_case): Format. | |
10974 | ||
10975 | 2000-08-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl> | |
10976 | ||
10977 | * mips/linux.h (LINK_SPEC): Use %(endian_spec). | |
10978 | ||
10979 | * mips/mips.h: Change LINKER_ENDIAN_SPEC to ENDIAN_SPEC | |
10980 | and linker_endian_spec to endian_spec. | |
10981 | (ENDIAN_SPEC): Add %{EB} and %{EL}. | |
10982 | (LINK_SPEC): Remove %{EB} and %{EL}. | |
10983 | (ASM_SPEC): Likewise. Use %(endian_spec). | |
10984 | ||
10985 | 2000-08-21 Joseph S. Myers <jsm28@cam.ac.uk> | |
10986 | ||
10987 | * c-tree.h (flag_hosted): Move declaration from here... | |
10988 | * c-common.h (flag_hosted): ... to here. | |
10989 | (flag_noniso_default_format_attributes): New declaration. | |
10990 | * c-decl.c (flag_noniso_default_format_attributes): New variable. | |
10991 | (c_decode_option): Set it appropriately for options choosing | |
10992 | language standard variant. | |
10993 | * c-common.c (init_function_format_info): Only provide default | |
10994 | format attributes if flag_hosted. Only provide the gettext | |
10995 | formats if flag_noniso_default_format_attributes. Update | |
10996 | comments. | |
10997 | (check_format_info): Disable treatment of %a as a scanf flag in | |
10998 | C99 mode. | |
10999 | ||
11000 | 2000-08-21 Joseph S. Myers <jsm28@cam.ac.uk> | |
11001 | ||
11002 | * c-common.c (scan_char_table): Add 'w' to flags for all formats | |
11003 | except 'n'. | |
11004 | (check_format_info): Set 'wide' for scanf format widths. Warn for | |
11005 | a zero scanf width. Make the check for writing into a constant | |
11006 | object at the first level of indirection; at later levels, warn if | |
11007 | any type qualifiers are encountered. | |
11008 | ||
11009 | Mon Aug 21 07:41:12 2000 Jeffrey A Law (law@cygnus.com) | |
11010 | ||
11011 | * reload.c (reload_inner_reg_of_subreg): New function broken out of | |
11012 | push_reload. | |
11013 | (push_reload): Use reload_inner_reg_of_subreg. | |
11014 | (combine_reloads): Do not combine reloads if the input reload | |
11015 | is a SUBREG in which the inner part will need reloading. | |
11016 | ||
11017 | * global.c (global_alloc): Avoid passing dumpfile argument to | |
11018 | reload routines. | |
11019 | * toplev.c (rest_of_compilation): Likewise. | |
11020 | * reload.h (reload): Remove dumpfile argument. Callers changed. | |
11021 | (debug_reload, debug_reload_to_stream): Move prototypes here. | |
11022 | * rtl.h (reload): Remove dumpfile argument. | |
11023 | * reload.c (debug_reload): Remove prototype. | |
11024 | (debug_reload_to_stream): Likewise. | |
11025 | * reload1.c: Avoid passing dumpfile around, rely on rtl_dump_file | |
11026 | instead. | |
11027 | ||
11028 | 2000-08-21 Gabriel Dos Reis <gdr@merlin.codesourcery.com> | |
11029 | ||
11030 | * diagnostic.c (context_as_prefix): Export. | |
11031 | (need_error_newline): Remove. | |
11032 | (lang_diagnostic_starter, lang_diagnostic_finalizer): New objects. | |
11033 | (error_module_changed, record_last_error_module, | |
11034 | error_function_changed, record_last_error_function): New functions. | |
11035 | (initialize_diagnostics): Default initialize | |
11036 | lang_diagnostic_starter, lang_diagnostic_finalizer. | |
11037 | (init_output_buffer): Tweak. | |
11038 | (file_name_as_prefix): New function. | |
11039 | (announce_function, default_print_error_function, | |
11040 | report_error_function, set_diagnostic_context): Tweak. | |
11041 | ||
11042 | 2000-08-21 Richard Earnshaw <rearnsha@arm.com> | |
11043 | ||
11044 | * flow.c (init_propagate_block_info): Handle SUBREG in a jump | |
11045 | condition expression. | |
11046 | ||
11047 | 2000-08-20 Richard Henderson <rth@cygnus.com> | |
11048 | ||
11049 | * flow.c (merge_blocks_nomove): Don't seek back past the bb note. | |
11050 | ||
11051 | 2000-08-20 Zack Weinberg <zack@wolery.cumb.org> | |
11052 | ||
11053 | * cppinit.c (cpp_init): Set global flag when called. | |
11054 | (cpp_reader_init): Bomb out if cpp_init hasn't been called. | |
11055 | ||
11056 | Sun Aug 20 01:41:35 2000 Dennis Chernoivanov <cdi@sparc.spb.su> | |
11057 | ||
11058 | * cpplex.c (cpp_scan_buffer): Move `output_line_command' just | |
11059 | before `process_directive' so that newlines won't be missed | |
11060 | for directives. | |
11061 | (cpp_printf): Increment `print->lineno' when newline is emitted. | |
11062 | ||
11063 | * cppmain.c (cb_ident): Likewise. | |
11064 | (cb_define): Likewise. | |
11065 | (cb_undef): Likewise. | |
11066 | (cb_include): Likewise. | |
11067 | (cb_def_pragma): Likewise. | |
11068 | (dump_macros_helper): Likewise. | |
11069 | ||
11070 | 2000-08-20 Richard Henderson <rth@cygnus.com> | |
11071 | ||
11072 | * config/ia64/ia64.c (emit_insn_group_barriers): Stop if ar.lc | |
11073 | assigned before a loop. | |
11074 | ||
11075 | * config/ia64/ia64.md (ashlsi3): Zero extend the shift count. | |
11076 | (ashrsi3, lshrsi3): Likewise. | |
11077 | ||
11078 | 2000-08-20 Gabriel Dos Reis <gdr@codesourcery.com> | |
11079 | ||
11080 | * c-lang.c: #include diagnostic.h | |
11081 | (c_tree_printer): New function. | |
11082 | (lang_init): Initialize lang_printer. | |
11083 | ||
11084 | * Makefile.in (c-lang.o): Depends on diagnostic.h | |
11085 | ||
11086 | 2000-08-20 Gabriel Dos Reis <gdr@codesourcery.com> | |
11087 | ||
11088 | * c-errors.c (pedwarn_c99): Adjust call to report_diagnostic. | |
11089 | ||
11090 | * diagnostic.c (default_diagnostic_starter, | |
11091 | default_diagnostic_finalizer): New functions. | |
11092 | (diagnostic_for_asm, diagnostic_for_decl): Tweak. | |
11093 | (pedwarn, pedwarn_with_file_and_line, error, | |
11094 | error_with_file_and_line, fatal, warning, | |
11095 | warning_with_file_and_line): Adjust call to report_diagnostic. | |
11096 | (report_diagnostic): Rework. | |
11097 | (set_diagnostic_context): New function. | |
11098 | ||
11099 | * diagnostic.h (struct diagnostic_context): New data structure. | |
11100 | (diagnostic_message, diagnostic_argument_list, | |
11101 | diagnostic_file_location, diagnostic_line_location, | |
11102 | diagnostic_is_warning, diagnostic_starter, diagnostic_finalizer, | |
11103 | diagnostic_finalizer, diagnostic_auxiliary_data): New macros. | |
11104 | (set_diagnostic_context): Declare. | |
11105 | (report_diagnostic): Change prototype. | |
11106 | ||
11107 | Sun 20-Aug-2000 09:25:45 BST Neil Booth <NeilB@earthling.net> | |
11108 | ||
11109 | * fix-header.c (main): Initialize cpplib. | |
11110 | ||
11111 | 2000-08-19 Michael Meissner <meissner@redhat.com> | |
11112 | ||
11113 | * ifcvt.c (find_if_block): Do not assume that a THEN block has any | |
11114 | instructions in it before checking for indirect jumps. | |
11115 | ||
11116 | * ifcvt.c (find_if_block): Do not consider a THEN block that ends | |
11117 | in an indirect jump as a potential for conditional execution. | |
11118 | ||
11119 | * d30v.h (d30v_init_expanders): Don't declare here. | |
11120 | * d30v-protos.h (d30v_init_expanders): Declare here with a valid | |
11121 | prototype. | |
11122 | ||
11123 | Sat 19-Aug-2000 21:11:45 BST Neil Booth <NeilB@earthling.net> | |
11124 | ||
11125 | * cpp.texi: Add @section for assertions. | |
11126 | ||
11127 | Sat Aug 19 12:37:08 EDT 2000 John Wehle (john@feith.com) | |
11128 | ||
11129 | * loop.c (scan_loop): Use CONST_CALL_P instead of | |
11130 | checking for REG_LIBCALL / REG_RETVAL. | |
11131 | ||
11132 | Sat Aug 19 09:18:47 2000 Jeffrey A Law (law@cygnus.com) | |
11133 | ||
11134 | * reload1.c (reload_as_needed): Accept dumpfile argument, | |
11135 | pass it to emit_reload_insns. | |
11136 | (emit_reload_insns): Add new dumpfile argument. If non-null | |
11137 | then dump the reloads for each insn into the dumpfile. | |
11138 | (reload): Pass dumpfile to reload_as_needed. | |
11139 | ||
11140 | * invoke.texi: Clean up linux-gnu vs linux comments. | |
11141 | ||
11142 | 2000-08-19 Richard Henderson <rth@cygnus.com> | |
11143 | ||
11144 | * config/ia64/ia64.c (reg_or_5bit_operand): New. | |
11145 | (ia64_depz_field_mask): New. | |
11146 | * config/ia64/ia64.h (CONSTRAINT_OK_FOR_R): New. | |
11147 | (PREDICATE_CODES): Update. | |
11148 | * config/ia64/ia64.md: Update commentary. | |
11149 | (depz_internal): New. | |
11150 | (ashlsi3): Implement directly. | |
11151 | (ashrsi3, lshrsi3): Simplify; rely on extv and extzv for constants. | |
11152 | (ashldi3): Use shladd. | |
11153 | * config/ia64/ia64-protos.h: Update. | |
11154 | ||
11155 | 2000-08-18 Zack Weinberg <zack@wolery.cumb.org> | |
11156 | ||
11157 | * toplev.c (independent_decode_option): Always process -g. | |
11158 | Remove third argument, now unused. Adjust caller to match. | |
11159 | ||
11160 | 2000-08-18 Richard Henderson <rth@cygnus.com> | |
11161 | ||
11162 | * combine.c (make_compound_operation): Break after creating | |
11163 | the extraction. | |
11164 | ||
11165 | 2000-08-18 Zack Weinberg <zack@wolery.cumb.org> | |
11166 | ||
11167 | * cpplib.c (cpp_register_pragma_space): Just return if the | |
11168 | namespace is already registered. | |
11169 | ||
11170 | 2000-08-18 Ray Essick <essick@ddna.labs.mot.com> & Nick Clifton <nickc@redhat.com> | |
11171 | ||
11172 | * config/mcore/mcore.md (rotlsi3): Allow allow rotations by a | |
11173 | constant amount. Do not generate ROTL instruction. | |
11174 | ||
11175 | Fri Aug 18 16:22:20 2000 Alexandre Oliva <aoliva@redhat.com> | |
11176 | ||
11177 | * config/sh/elf.h: Do not include sh/sh.h. | |
11178 | * config/sh/rtems.h: Likewise. | |
11179 | * config/sh/rtemself.h: Do not include sh/elf.h. | |
11180 | * configure.in: Get them included with `tm_file's. | |
11181 | * configure: Rebuilt. | |
11182 | ||
11183 | * config/sh/sh.md (fpu_switch0, fpu_switch1): Simplify. | |
11184 | * config/sh/sh.c (fpscr_set_from_mem): Use them. | |
11185 | ||
11186 | Fri Aug 18 14:23:18 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
11187 | ||
11188 | * stor-layout.c (compute_record_type): Don't use mode of single | |
11189 | field as mode of record if not integer mode of same type. | |
11190 | ||
11191 | * regmove.c (perhaps_ends_bb_p): New function. | |
11192 | (optimize_reg_copy_1, optimize_reg_copy_2): Call it. | |
11193 | (optimize_reg_copy_3, fixup_match_2, regmove_optimize): Likewise. | |
11194 | (fixup_match_1): Likewise. | |
11195 | (fixup_match_1, combine_stack_adjustments_for_block): Add casts to | |
11196 | avoid signed/unsigned warnings. | |
11197 | ||
11198 | * function.c (fixup_var_refs_1, case MEM): Update CODE after | |
11199 | updating X. | |
11200 | ||
11201 | Fri 18-Aug-2000 18:33:45 BST Neil Booth <NeilB@earthling.net> | |
11202 | ||
11203 | * cpphash.h: Use HAVE_DESIGNATED_INITIALIZERS. | |
11204 | (_cpp_trigraph_map): Declaration moved from cpplex.c | |
11205 | ||
11206 | * cppinit.c: Define _cpp_trigraph_map. Use UCHAR_MAX + 1 | |
11207 | instead of 256. Use consistent test for designated initializers. | |
11208 | (cpp_init): Initialize trigraph_map. | |
11209 | (initialize_standard_includes, parse_option): Use memcmp | |
11210 | instead of strncmp. | |
11211 | ||
11212 | * cpplex.c (init_trigraph_map): Remove. | |
11213 | (trigraph_ok, trigraph_replace, lex_line): Refer to | |
11214 | _cpp_trigraph_map. | |
11215 | ||
11216 | * cpplib.c (str_match, WARNING, ERROR, ICE): Delete. | |
11217 | (do_unassert): Remove unused "next" local. | |
11218 | ||
11219 | * system.h (HAVE_DESIGNATED_INITIALIZERS): New prototype. | |
11220 | ||
11221 | 2000-08-18 Emmanuel Marty <emarty@suntech.fr> | |
11222 | ||
11223 | * arm/lib1funcs.asm (_umodsi3 THUMB VARIANT): Restore deleted return | |
11224 | insn. | |
11225 | ||
11226 | 2000-08-17 Richard Henderson <rth@cygnus.com> | |
11227 | ||
11228 | * config/ia64/ia64.c (spill_restore_mem): Handle emitting | |
11229 | the first insn in a sequence. | |
11230 | ||
11231 | Thu Aug 17 22:40:05 EDT 2000 John Wehle (john@feith.com) | |
11232 | ||
11233 | * alias.c (true_dependence, write_dependence_p): A read | |
11234 | involving a label_ref or the constant pool doesn't create | |
11235 | a dependency. | |
11236 | ||
11237 | * rtl.h (unchanging): Improve documentation. | |
11238 | ||
11239 | 2000-08-17 Rodney Brown <RodneyBrown@mynd.com> | |
11240 | ||
11241 | * cse.c (insert_regs): Remove unused `regno'. | |
11242 | ||
11243 | 2000-08-17 Neil Booth <NeilB@earthling.net> | |
11244 | ||
11245 | * (cppinit.c) merge_include_chains: Use remove_dup_dir, | |
11246 | remove_dup_dirs. If qtail == brack, remove brack not | |
11247 | qtail. | |
11248 | (remove_dup_dir, remove_dup_dirs): New functions. | |
11249 | ||
11250 | 2000-08-17 Neil Booth <NeilB@earthling.net> | |
11251 | ||
11252 | * cppinit.c (cpp_cleanup): Free include dir chains. | |
11253 | * cpplib.c (do_undef): Let _cpp_free_definition make the node void. | |
11254 | (do_unassert): Free the assert with _cpp_free_definition. | |
11255 | * cppmacro.c (_cpp_free_definition): Free memory allocated for | |
11256 | assertions. Make the node a T_VOID node. | |
11257 | ||
11258 | 2000-08-17 Neil Booth <NeilB@earthling.net> | |
11259 | ||
11260 | * cppinit.c (path_include, append_include_chain): | |
11261 | Remove 2nd parameter (struct cpp_pending *). | |
11262 | (path_include, initialize_standard_includes, cpp_handle_option): | |
11263 | Update callers appropriately. | |
11264 | (cpp_handle_option): Use pend. | |
11265 | ||
11266 | 2000-08-17 Neil Booth <NeilB@earthling.net> | |
11267 | ||
11268 | * cppinit.c (sort_options): Remove, put functionality in | |
11269 | cpp_init. | |
11270 | (cpp_init): New. | |
11271 | (initialize_builtins): Free memory. | |
11272 | (cpp_start_read): Move init_IStable to cpp_init. | |
11273 | ||
11274 | * cpplib.h (cpp_init): New prototype. | |
11275 | * cppmain.c (main): Call cpp_init. | |
11276 | ||
11277 | Thu Aug 17 13:20:32 EDT 2000 John Wehle (john@feith.com) | |
11278 | ||
11279 | * rtlanal.c (rtx_unstable_p): Use CONSTANT_P. | |
11280 | (rtx_unstable_p, rtx_varies_p): Process vectors. | |
11281 | ||
11282 | 2000-08-16 Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp> | |
11283 | ||
11284 | * config/sh/lib1funcs.asm (GLOBAL): Define. Use for all | |
11285 | references to GLOBAL symbols. Use LOCAL where appropriate. | |
11286 | ||
11287 | 2000-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
11288 | ||
11289 | * configure.in (*-ibm-aix4.[12]*): Delete test for gnu ld. Always | |
11290 | use t-aix41 when host == target. | |
11291 | ||
11292 | 2000-08-16 Richard Henderson <rth@cygnus.com> | |
11293 | ||
11294 | * reload.c (push_secondary_reload): Revert last change. | |
11295 | If we use a reload_in/out pattern, make the when the same | |
11296 | as the primary reload. | |
11297 | (find_reloads): Likewise. | |
11298 | ||
11299 | 2000-08-16 Manfred Hollstein <manfredh@redhat.com> | |
11300 | ||
11301 | * configure.in (libstdcxx-v3): Fix test. | |
11302 | * configure: Regenerate. | |
11303 | ||
11304 | Wed Aug 16 08:10:32 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
11305 | ||
11306 | * calls.c (calls_function_1, expand_call): Only test | |
11307 | TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE. | |
11308 | * function.c (thread_prologue_and_epilogue_insns): Likewise. | |
11309 | ||
11310 | 2000-08-16 Richard Henderson <rth@cygnus.com> | |
11311 | ||
11312 | * combine.c (simplify_shift_const): Revert previous two | |
11313 | changes. If SHIFT_COUNT_TRUNCATED, crop the shift count | |
11314 | before the main loop. | |
11315 | ||
11316 | 2000-08-15 Richard Henderson <rth@cygnus.com> | |
11317 | ||
11318 | * combine.c (simplify_shift_const): Bound shift count when | |
11319 | combining shifts. | |
11320 | ||
11321 | Tue Aug 15 17:33:05 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
11322 | ||
11323 | * calls.c (ECF_SP_DEPRESSED): New macro. | |
11324 | (calls_function_1): Treat calling sp-depressed function as alloca. | |
11325 | (emit_call_1): Don't adjust SP if calling sp-depressed function. | |
11326 | (expand_call): Set ECF_SP_DEPRESSED if TYPE_RETURNS_STACK_DEPRESSED. | |
11327 | If sp-depressed, ensure block saves and restores SP. | |
11328 | * fold-const.c (extract_muldiv): Only check TYPE_IS_SIZETYPE | |
11329 | for INTEGER_TYPE. | |
11330 | * function.c (keep_stack_depressed): New function. | |
11331 | (thread_prologue_and_epilogue_insns): Call it. | |
11332 | * print-tree.c (print_node): Use HOST_WIDE_INT_PRINT_UNSIGNED | |
11333 | to print DECL_OFFSET_ALIGN. | |
11334 | Print no-force-blk and transparent-union flags properly. | |
11335 | * stmt.c (expand_goto_internal): Don't restore stack if last block | |
11336 | and function returns with sp depressed. | |
11337 | (fixup_gotos): Likewise. | |
11338 | (save_stack_pointer): New function, from code in expand_decl. | |
11339 | (expand_decl): Call new function. | |
11340 | * tree.h (TYPE_IS_SIZETYPE): Call INTEGER_TYPE_CHECK. | |
11341 | (TYPE_RETURNS_STACK_DEPRESSED): New macro. | |
11342 | (save_stack_pointer): New declaration. | |
11343 | ||
11344 | * diagnostic.c (fatal_function): New variable. | |
11345 | (set_fatal_function): New function. | |
11346 | (fatal): Call it. | |
11347 | * diagnostic.h (set_fatal_function): New declaration. | |
11348 | ||
11349 | 2000-08-15 William Cohen <wcohen@redhat.com> | |
11350 | ||
11351 | * config/sh/elf.h (DWARF2_DEBUGGING_INFO): Defined. | |
11352 | (PREFERRED_DEBUGGING_TYPE): Set to dwarf2 info. | |
11353 | (DWARF2_ASM_LINE_DEBUG_INFO): Defined. | |
11354 | ||
11355 | 2000-08-15 Richard Henderson <rth@cygnus.com> | |
11356 | ||
11357 | * flow.c (mark_used_reg): Set reg_cond_reg appropriately. | |
11358 | ||
11359 | 2000-08-15 Richard Earnshaw <rearnsha@arm.com> | |
11360 | ||
11361 | * arm.c (arm_function_ok_for_sibcall): New function. | |
11362 | * arm.h (FUNCTION_OK_FOR_SIBCALL): Define. | |
11363 | * arm.md (call expanders): Don't check here for calls that can't | |
11364 | be sibling calls. | |
11365 | ||
11366 | 2000-08-15 Richard Earnshaw <rearnsha@arm.com> | |
11367 | ||
11368 | * arm.md (splits generating cond_exec): Disable. | |
11369 | ||
11370 | 2000-08-15 Richard Earnshaw <rearnsha@arm.com> | |
11371 | ||
11372 | * arm/linux-elf.h (text_section): Delete declaration. | |
11373 | ||
11374 | 2000-08-15 Richard Earnshaw <rearnsha@arm.com> | |
11375 | ||
11376 | ARM support for unordered FP operations. | |
11377 | * arm-protos.h (arm_comparison_operator): Declare. | |
11378 | * arm.c (arm_comparison_operator): New function. | |
11379 | (arm_select_cc_mode): Add unordered comparison codes. | |
11380 | (get_arm_condition_code): Likewise. | |
11381 | (arm_final_prescan_insn): Can't handle unordered jumps that can't | |
11382 | be done in one insn. | |
11383 | * arm.h (PREDICATE_CODES): Add arm_comparison_operator. | |
11384 | * arm.md (all uses of comparison_operator): Replace with | |
11385 | arm_comparison_operator. | |
11386 | (bunordered, bordered, bugt, bunlt, bunge, bunle, buneq, bltgt): New | |
11387 | expands. | |
11388 | (arm_buneq, arm_bltgt, arm_buneq_reversed, arm_bltgt_reveresed): New | |
11389 | patterns. | |
11390 | ||
11391 | Tue Aug 15 00:36:36 2000 Ovidiu Predescu <ovidiu@cup.hp.com> | |
11392 | ||
11393 | * gthr-posix.h: Conditionally include <sched.h>; include | |
11394 | <config.h> from libobjc/. | |
11395 | ||
11396 | 2000-08-14 Richard Henderson <rth@cygnus.com> | |
11397 | ||
11398 | * config/i386/i386.c (legitimize_pic_address): Use Pmode | |
11399 | for all CONSTs. | |
11400 | ||
11401 | 2000-08-14 Richard Henderson <rth@cygnus.com> | |
11402 | ||
11403 | * configure.in (ia64-*): Set float_format for i386 long double. | |
11404 | ||
11405 | * real.c (GET_REAL): Treat 128-bit INTEL_EXTENDED_IEEE_FORMAT | |
11406 | as we would for i386 XFmode. | |
11407 | (PUT_REAL): Likewise. | |
11408 | (endian, ereal_atof, real_value_truncate): Likewise. | |
11409 | (ereal_isneg, toe64, etens, make_nan): Likewise. | |
11410 | * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Likewise. | |
11411 | ||
11412 | * config/ia64/ia64-protos.h: Update. | |
11413 | * config/ia64/ia64.c (general_tfmode_operand): New. | |
11414 | (destination_tfmode_operand): New. | |
11415 | (tfreg_or_fp01_operand): New. | |
11416 | (ia64_split_timode): New. | |
11417 | (spill_tfmode_operand): New. | |
11418 | (ia64_expand_prologue): Use TFmode not XFmode. | |
11419 | (ia64_expand_epilogue): Likewise. | |
11420 | (ia64_function_arg): Likewise. | |
11421 | (ia64_function_arg_advance): Likewise. | |
11422 | (ia64_return_in_memory): Likewise. | |
11423 | (ia64_function_value): Likewise. | |
11424 | (ia64_print_operand): Likewise. | |
11425 | (ia64_register_move_cost): Set GR<->FR to 5. | |
11426 | (ia64_secondary_reload_class): Get GR for TImode memory op. | |
11427 | * config/ia64/ia64.h (ROUND_TYPE_SIZE): Remove. | |
11428 | (ROUND_TYPE_ALIGN): Remove. | |
11429 | (LONG_DOUBLE_TYPE_SIZE): Set to 128. | |
11430 | (INTEL_EXTENDED_IEEE_FORMAT): Define. | |
11431 | (HARD_REGNO_NREGS): Use TFmode, not XFmode. | |
11432 | (HARD_REGNO_MODE_OK): Likewise. Disallow TImode in FRs. | |
11433 | (MODES_TIEABLE_P): Use TFmode, not XFmode. | |
11434 | (CLASS_MAX_NREGS): Likewise. | |
11435 | (ASM_OUTPUT_LONG_DOUBLE): Output by 4 byte hunks. | |
11436 | (PREDICATE_CODES): Update. | |
11437 | * config/ia64/ia64.md (movti): New. | |
11438 | (movti_internal): Use a clobber for memory alternatives. | |
11439 | (reload_inti, reload_outti): New. | |
11440 | (movsfcc_astep): Predicate properly. | |
11441 | (movdfcc_astep): Likewise. | |
11442 | (movxf): Remove. | |
11443 | (movtf): New. | |
11444 | (extendsftf2, extenddftf2): New. | |
11445 | (trunctfsf2, trunctfdf2): New. | |
11446 | (floatditf2, fix_trunctfdi2): New. | |
11447 | (floatunsditf2, fixuns_trunctfdi2): New. | |
11448 | (addtf3, subtf3, multf3, abstf2): New. | |
11449 | (negtf2, nabstf2, mintf3, maxtf3): New. | |
11450 | (maddtf3, msubtf3, nmultf3, nmaddtf3): New. | |
11451 | (cmptf): New. | |
11452 | (fr_spill): Use TFmode, not XFmode. | |
11453 | (fr_restore): Likewise. | |
11454 | * config/ia64/lib1funcs.asm (__divtf3): New. | |
11455 | * config/ia64/t-ia64 (LIB1ASMFUNCS): Add it. | |
11456 | ||
11457 | 2000-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
11458 | ||
11459 | * cse.c (fold_rtx): Avoid empty body in an if-statement. | |
11460 | ||
11461 | * doloop.c (doloop_iterations_max, doloop_modify): Avoid using the | |
11462 | `U' integer constant suffix. | |
11463 | ||
11464 | * dwarf2out.c (add_subscript_info): Avoid empty body in an | |
11465 | else-statement. | |
11466 | ||
11467 | * sparc/sol2.h (__enable_execute_stack): Prototype. | |
11468 | ||
11469 | 2000-08-14 David Edelsohn <edelsohn@gnu.org> | |
11470 | ||
11471 | * collect2.c: Remove use of AIX import file. | |
11472 | ||
11473 | * longlong.h: Test ARCH_PWR not ARCH_POWER. | |
11474 | ||
11475 | * rs6000.c (print_operand, case 'E'): Add else. | |
11476 | ||
11477 | 2000-08-14 Richard Henderson <rth@cygnus.com> | |
11478 | ||
11479 | * config/ia64/ia64.md (movdi): Delay calling ia64_expand_load_address. | |
11480 | (movdi_symbolic): New. | |
11481 | ||
11482 | 2000-08-14 Jim Wilson <wilson@cygnus.com> | |
11483 | ||
11484 | * config/ia64/ia64.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic | |
11485 | to GNU as. For Intel as, pass -M const_gp and -M no_plabel. | |
11486 | * config/ia64/linux.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic | |
11487 | to GNU as. | |
11488 | ||
11489 | 2000-08-14 Richard Henderson <rth@cygnus.com> | |
11490 | ||
11491 | * expr.c (emit_group_load): Don't force constants into registers. | |
11492 | Special case source already in the correct mode. | |
11493 | ||
11494 | 2000-08-14 Zack Weinberg <zack@wolery.cumb.org> | |
11495 | ||
11496 | * configure.in: Accept *-*-linux* not just *-*-linux-gnu*. | |
11497 | * fixinc/inclhack.def: Likewise. | |
11498 | * fixinc/mkfixinc.sh: Likewise. | |
11499 | * configure: Regenerate. | |
11500 | * fixinc/fixincl.x: Regenerate. | |
11501 | * install.texi: Document equivalence of linux and linux-gnu. | |
11502 | ||
11503 | Mon Aug 14 18:51:44 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
11504 | ||
11505 | * cse.c (insert_regs): Also in REG case: When finding an invalid | |
11506 | value, and we make a new quantity, make sure that it won't be | |
11507 | mistaken by for a valid one by mention_regs. | |
11508 | ||
719bb4e3 | 11509 | 2000-08-13 Ralf GĂĽtlein <ralf.guetlein@aranea.de> |
3eb54e5f ILT |
11510 | |
11511 | * h8300.md: Remove obsolete peepholes. | |
11512 | ||
11513 | 2000-08-13 Kazu Hirata <kazu@hxi.com> | |
11514 | ||
11515 | * invoke.texi (H8/300 Options): Fix typos. | |
11516 | * config/h8300.c: Fix formatting. | |
11517 | * config/h8300.h: Fix comment typos. | |
11518 | (OVERRIDE_OPTIONS): Fix formatting. | |
11519 | ||
11520 | * function.c: Fix formatting. | |
11521 | ||
11522 | * cse.c: Fix formatting. | |
11523 | ||
11524 | 2000-08-13 Geoff Keating <geoffk@cygnus.com> | |
11525 | ||
11526 | * flow.c (attempt_auto_inc): Remove unused variable `bb'. | |
11527 | (attempt_auto_inc): Suppress parentheses warning. | |
11528 | * function.c (put_reg_into_stack): Remove unused variable `unsigned_p'. | |
11529 | * loop.c (load_mems): Remove `u' suffix in two places. | |
11530 | * config/rs6000/rs6000.c: Remove unnecessary `u' suffixes from | |
11531 | hex constants. | |
11532 | * config/rs6000/rs6000.h: Likewise. | |
11533 | * config/rs6000/sol-c0.c: Prototype some functions. Remove the | |
11534 | __eabi dummy routine. | |
11535 | * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Remove unused | |
11536 | variable `buf_ptr'. | |
11537 | ||
11538 | * config/rs6000/rs6000.c (rs6000_select_section): Rewrite to | |
11539 | not put stuff in .sdata unnecessarily. | |
11540 | (rs6000_unique_section): New function. | |
11541 | * config/rs6000/rs6000-protos.h: Add rs6000_unique_section. | |
11542 | * config/rs6000/sysv4.h (UNIQUE_SECTION): Define. | |
11543 | ||
11544 | * c-typeck.c (build_array_ref): Don't complain about non-lvalue | |
11545 | arrays in C99. Don't try to look at DECL_REGISTER of a | |
11546 | COMPONENT_REF. Don't complain twice about the same error. | |
11547 | ||
11548 | * fixinc/inclhack.def (aix_pthread): New fix. | |
11549 | (aix_sysmachine): New fix. | |
11550 | * fixinc/fixincl.x: Regenerate. | |
11551 | ||
11552 | * expr.c (expand_expr): Call convert_modes when turning a large | |
11553 | multiply into a small one. | |
11554 | ||
11555 | 2000-08-12 Geoff Keating <geoffk@cygnus.com> | |
11556 | ||
11557 | * tree.h (DECL_OFFSET_ALIGN): Make the off_align field of | |
11558 | the tree structure an exponent rather than an explicit alignment | |
11559 | so it doesn't overflow. | |
11560 | (SET_DECL_OFFSET_ALIGN): New macro. | |
11561 | * stor-layout.c (place_union_field): Use SET_DECL_OFFSET_ALIGN | |
11562 | rather than DECL_OFFSET_ALIGN. | |
11563 | (place_field): Likewise. | |
11564 | * expmed.c (store_bit_field): Abort on align==0 to avoid | |
11565 | antisocial machine behavior. | |
11566 | ||
11567 | 2000-08-12 Richard Henderson <rth@cygnus.com> | |
11568 | ||
11569 | * sibcall.c (uses_addressof): Accept both addressof and | |
11570 | current_function_internal_arg_pointer inside a mem. | |
11571 | (optimize_sibling_and_tail_recursive_call): Fail tail recursion | |
11572 | if current_function_uses_addressof. | |
11573 | * stmt.c (expand_return): Kill tail recursion and HAVE_return | |
11574 | optimizations. | |
11575 | ||
11576 | 2000-08-11 Richard Henderson <rth@cygnus.com> | |
11577 | ||
11578 | * config/ia64/ia64.md (addsi3): Remove expander. | |
11579 | (subsi3, mulsi3, negsi2, one_cmplsi2): Likewise. | |
11580 | (*addsi3_shladd): New. | |
11581 | ||
11582 | 2000-08-11 Richard Henderson <rth@cygnus.com> | |
11583 | ||
11584 | * config/ia64/ia64.c (do_spill): Pass cfa offset to move expander. | |
11585 | (do_restore): Likewise. | |
11586 | (gen_movdi_x, gen_fr_spill_x, gen_fr_restore_x): New. | |
11587 | (ia64_expand_prologue, ia64_expand_epilogue): Use them. | |
11588 | (rtx_needs_barrier): Track actual bit manipulation for | |
11589 | ar.unat moves, gr_spill, and gr_restore. | |
11590 | (emit_insn_group_barriers): Special case gr_spill/gr_restore. | |
11591 | (process_set): Don't handle varargs spills. | |
11592 | * config/ia64/ia64.md (gr_spill): Accept cfa offset. Emit | |
11593 | .mem.offset here instead of in process_set. | |
11594 | (gr_restore): Likewise. | |
11595 | ||
11596 | 2000-08-11 Richard Henderson <rth@cygnus.com> | |
11597 | ||
11598 | * config/ia64/ia64.h (PROMOTE_MODE): Only extend to SImode. | |
11599 | ||
11600 | 2000-08-11 Mark Elbrecht <snowball3@bigfoot.com> | |
11601 | ||
11602 | * gcc.texi (The Configuration File): Document | |
11603 | COLLECT2_HOST_INITIALIZATION, GCC_DRIVER_HOST_INITIALIZATION, and | |
11604 | UPDATE_PATH_HOST_CANONICALIZATION. | |
11605 | ||
11606 | 2000-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
11607 | ||
11608 | * c-parse.in (cast_expr): Avoid -Wstrict-prototype warnings for | |
11609 | unprototyped function pointer casts on integer constants. | |
11610 | ||
11611 | 2000-08-11 Laurynas Biveinis <lauras@softhome.net> | |
11612 | ||
11613 | * fixproto: Recognize DOS paths with drive letters as absolute paths. | |
11614 | ||
11615 | 2000-08-11 Nathan Sidwell <nathan@codesourcery.com> | |
11616 | ||
11617 | * extend.texi (Volatiles): Fix typos. | |
11618 | ||
11619 | 2000-08-11 Kazu Hirata <kazu@hxi.com> | |
11620 | ||
11621 | * flow.c: Fix formatting. | |
11622 | ||
11623 | 2000-08-11 Richard Henderson <rth@cygnus.com> | |
11624 | ||
11625 | * reload.c (push_secondary_reload): When invoking a reload_{in,out} | |
11626 | pattern, always allocate a tertiary scratch register. | |
11627 | ||
11628 | * config/alpha/alpha.md (reload_inqi): Use a DImode scratch. | |
11629 | (reload_inhi): Likewise. | |
11630 | ||
11631 | 2000-08-11 Richard Henderson <rth@cygnus.com> | |
11632 | ||
11633 | * function.c (put_reg_into_stack): Allow type to be NULL. | |
11634 | (schedule_fixup_var_refs): Likewise. | |
11635 | (gen_mem_addressof): Allow decl to be NULL. | |
11636 | (put_addressof_into_stack): Likewise. | |
11637 | ||
11638 | * flow.c (merge_blocks_nomove): Be more careful about | |
11639 | locating the beginning of block A. | |
11640 | ||
11641 | * combine.c (simplify_shift_const): Obey SHIFT_COUNT_TRUNCATED. | |
11642 | ||
11643 | Thu Aug 10 22:47:09 2000 Ovidiu Predescu <ovidiu@cup.hp.com> | |
11644 | ||
11645 | * configure.in: | |
11646 | * configure: | |
11647 | * gthr-posix.h: | |
11648 | * config.in: Reverted the check for <sched.h>. | |
11649 | ||
11650 | 2000-08-10 Chris Demetriou <cgd@sibyte.com> | |
11651 | ||
11652 | * mips/elf.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME): New | |
11653 | macros define the name of CTOR and DTOR sections. | |
11654 | (CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN, | |
11655 | DTOR_LIST_END): Change to use attributes to specify | |
11656 | sections. | |
11657 | * mips/elf64.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME, | |
11658 | (CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN, | |
11659 | DTOR_LIST_END): Same as in mips/elf.h. | |
11660 | ||
11661 | 2000-08-10 Drew Moseley <dmoseley@redhat.com> | |
11662 | ||
11663 | * config/mn10300/mn10300.h: Added no-crt0 option for explicitly | |
11664 | disabling just crt0.o. | |
11665 | ||
11666 | 2000-08-10 Richard Earnshaw <rearnshaw@arm.com> & Nick Clifton <nickc@cygnus.com> | |
11667 | ||
11668 | * arm.h (CPP_SPEC): Use sub-spec cpp_interwork. | |
11669 | (CPP_INTERWORK_SPEC, CPP_INTERWORK_DEFAULT_SPEC): New sub-specs. | |
11670 | (EXTRA_SPECS): Add them. | |
11671 | * arm/lib1funcs.asm: Support builds for interworking. | |
11672 | Use macros to eliminate duplicated pieces of code. | |
11673 | ||
11674 | 2000-08-10 Kazu Hirata <kazu@hxi.com> | |
11675 | ||
11676 | * h8300.c (expand_a_rotate): New. | |
11677 | (emit_a_rotate): Likewise. | |
11678 | (h8300_adjust_insn_length): Add support for the rotate insns. | |
11679 | * h8300.md (rotlqi3): New. | |
11680 | (*rotlqi3_1): Likewise. | |
11681 | (rotlhi3): Likewise. | |
11682 | (*rotlhi3_1): Likewise. | |
11683 | (rotlhi3): Likewise. | |
11684 | (*rotlhi3_1): Likewise. | |
11685 | * h8300-proto.h: Add prototypes for expand_a_rotate and | |
11686 | emit_a_rotate. | |
11687 | ||
11688 | * h8300.c: Fix comment typos. | |
11689 | (dosize): Declare the variable amount as unsigned. | |
11690 | (get_shift_alg): Fix a comparison between signed and unsigned. | |
11691 | (emit_a_shift): Likewise. | |
11692 | (h8300_adjust_insn_length): Simplify the code. | |
11693 | ||
11694 | * c-decl.c: Fix formatting. | |
11695 | ||
11696 | 2000-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
11697 | ||
11698 | * c-lex.c (parse_float, yylex): For -Wtraditional, issue a | |
11699 | warning about non-traditional numeric constant suffixes. | |
11700 | ||
11701 | * cppexp.c (parse_number): Likewise. | |
11702 | ||
11703 | * invoke.texi: (-Wtraditional): Document new behavior. | |
11704 | ||
11705 | Thu Aug 10 00:11:04 2000 Ovidiu Predescu <ovidiu@cup.hp.com> | |
11706 | ||
11707 | * gthr-posix.h: Include auto-host.h. Conditionally include | |
11708 | <sched.h>. | |
11709 | * configure.in: Check for the <sched.h> header file. | |
11710 | * config.in: Added define for HAVE_SCHED_H. | |
11711 | ||
11712 | 2000-08-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
11713 | ||
11714 | * c-typeck.c (process_init_element): For -Wtraditional, warn about | |
11715 | initialization of unions. | |
11716 | ||
11717 | * invoke.texi (-Wtraditional): Document new behavior. | |
11718 | ||
11719 | 2000-08-09 Zack Weinberg <zack@wolery.cumb.org> | |
11720 | ||
11721 | * configure.in (--enable-c-cpplib): Uncomment. Use AC_DEFINE | |
11722 | instead of extra_c_flags. | |
11723 | (--enable-c-mbchar): Use AC_DEFINE instead of extra_c_flags. | |
11724 | * configure: Regenerate. | |
11725 | * config.in: Regenerate. | |
11726 | ||
11727 | * cpperror.c (cpp_type2name): New function. | |
11728 | * cpplex.c (lex_line): If we issued an error for an invalid | |
11729 | preprocessing directive, discard that logical line. | |
11730 | * cpplib.c (do_line): Call a hook function if the current file | |
11731 | is renamed by #line. | |
11732 | (do_ident): Pass the contents of the string, not the entire | |
11733 | token, to the callback function. | |
11734 | * cpplib.h (CPP_LAST_PUNCTUATOR): New #define. | |
11735 | (cb.rename_file): New hook function. | |
11736 | (cb.ident): Adjust prototype. | |
11737 | (cpp_type2name): Prototype. | |
11738 | * cppmacro.c (dump_macro_args): Correct precedence lossage. | |
11739 | ||
11740 | * cppmain.c (cb_ident): Update for changed interface. | |
11741 | (cb_rename_file): New function. | |
11742 | (main): Set rename callback. | |
11743 | ||
11744 | 2000-08-09 Alexandre Oliva <aoliva@redhat.com> | |
11745 | ||
11746 | * caller-save.c (mark_referenced_regs): Mark partially-overwritten | |
11747 | multi-word registers. | |
11748 | ||
11749 | 2000-08-08 Joseph S. Myers <jsm28@cam.ac.uk> | |
11750 | ||
11751 | * c-common.c (combine_strings, check_format_info): Refer to ISO C | |
11752 | or ISO C89 instead of ANSI C. | |
11753 | * c-decl.c (grokdeclarator, xref_tag, finish_struct, | |
11754 | build_enumerator, do_case): Likewise. | |
11755 | * c-lex.c (parse_float, yylex): Likewise. | |
11756 | * c-parse.in: Likewise. | |
11757 | * c-typeck.c (common_type, build_array_ref, build_binary_op, | |
11758 | build_unary_op, pedantic_lvalue_warning, build_conditional_expr, | |
11759 | build_c_cast, convert_for_assignment, set_init_index, | |
11760 | set_init_label, c_expand_start_case): Likewise. | |
11761 | * toplev.c (documented_lang_options, display_help): Likewise. | |
11762 | ||
11763 | 2000-08-08 Kazu Hirata <kazu@hxi.com> | |
11764 | ||
11765 | * h8300.c: Fix formatting. | |
11766 | * h8300.h: Likewise. | |
11767 | * h8300.md: Likewise. | |
11768 | (movsi_h8300hs): Fix formatting of the resulting assembly code. | |
11769 | ||
11770 | * reload1.c: Fix formatting. | |
11771 | ||
11772 | 2000-08-08 Rodney Brown <RodneyBrown@mynd.com> | |
11773 | ||
11774 | * alpha/alpha.c (alpha_emit_xfloating_libcall): | |
11775 | Use GEN_CALL_VALUE define. | |
11776 | * alpha/alpha.md (untyped_call): Use GEN_CALL define. | |
11777 | * clipper/clipper.md (untyped_call): Likewise. | |
11778 | * dsp16xx/dsp16xx.md (untyped_call): Likewise. | |
11779 | * fx80/fx80.md (untyped_call): Likewise. | |
11780 | * mips/mips.md (untyped_call): Likewise. | |
11781 | * ns32k/ns32k.md (untyped_call): Likewise. | |
11782 | * pa/pa.md (untyped_call): Likewise. | |
11783 | * romp/romp.md (untyped_call): Likewise. | |
11784 | * sparc/sparc.md (untyped_call): Likewise. | |
11785 | ||
11786 | 2000-08-08 Jason Eckhardt <jle@cygnus.com> | |
11787 | ||
11788 | * config/i860/i860.c (singlemove_string): Do not generate assembler | |
11789 | pseudo instructions that must be expanded (that is, with signed | |
11790 | constants larger than 16 bits). | |
11791 | ||
11792 | 2000-08-08 Richard Henderson <rth@cygnus.com> | |
11793 | ||
11794 | * flow.c (life_analysis): Only turn off PROP_LOG_LINKS and | |
11795 | PROP_AUTOINC at -O0. Don't collect alias info at -O0. | |
11796 | (init_propagate_block_info): Don't kill memory stores at -O0. | |
11797 | (mark_set_1, mark_used_regs): Likewise. | |
11798 | ||
11799 | 2000-08-08 David Edelsohn <edelsohn@gnu.org> | |
11800 | ||
11801 | * rs6000.c (optimization_options): Decorate 'level' as | |
11802 | ATTRIBUTE_UNUSED. | |
11803 | (mask64_operand): Remove sign-extend thinko. | |
11804 | (rldic_operand): New function. | |
11805 | (load_multiple_operation): regno's are unsigned ints. | |
11806 | (store_multiple_operation): Likewise. | |
11807 | (lmw_operation): Likewise. | |
11808 | (stmw_operation): Likewise. | |
11809 | (includes_lshift_p): shift_mask is unsigned int. | |
11810 | (includes_lshift64_p): New function. | |
11811 | (addrs_ok_for_quad_peep): unsigned int reg1. | |
11812 | (print_operand): Consistently add "else" after | |
11813 | output_operand_lossage(). | |
11814 | (print_operand, case 'b'): Fold in case 'W'. | |
11815 | (print_operand, case 'W'): Print rldic MB value. | |
11816 | (output_epilogue): Update Objective-C language string. | |
11817 | (output_toc): unsigned HOST_WIDE_INT low, compare unsigned. | |
11818 | * rs6000.h (PREDICATE_CODES): Add rldic_operand. | |
11819 | * rs6000.md (ashldi3): Add rldic instruction. | |
11820 | (iordi3, xordi3): Remove redundant "else if CONST_DOUBLE". | |
11821 | (cmpsi_internal2, cmpdi_interal2): Use 'b' output template | |
11822 | modifier. | |
11823 | ||
11824 | 2000-08-08 Richard Henderson <rth@cygnus.com> | |
11825 | ||
11826 | * config/ia64/ia64-protos.h: Remove duplicates. Update | |
11827 | for massive code rearrangements. | |
11828 | * config/ia64/ia64.c (ia64_arpfs_regno): Remove. | |
11829 | (ia64_rp_regno, ia64_fp_regno, ia64_input_regs): Remove. | |
11830 | (ia64_local_regs, ia64_need_regstk): Remove. | |
11831 | (ar_ccv_reg_operand): New. | |
11832 | (ia64_gp_save_reg): New. | |
11833 | (struct ia64_frame_info): Combine most of the size elements; | |
11834 | add new gr save elements. | |
11835 | (find_gr_spill): New. | |
11836 | (next_scratch_gr_reg): New. | |
11837 | (mark_reg_gr_used_mask): New. | |
11838 | (ia64_compute_frame_size): Rewrite. Allocate special AR regs | |
11839 | to GR backing store regs when possible. | |
11840 | (ia64_initial_elimination_offset): New. | |
11841 | (ia64_rap_fp_offset): Remove. | |
11842 | (save_restore_insns): Remove. | |
11843 | (setup_spill_pointers): New. | |
11844 | (finish_spill_pointers): New. | |
11845 | (spill_restore_mem): New. | |
11846 | (do_spill, do_restore): New. | |
11847 | (ia64_expand_prologue): Rewrite to use them. | |
11848 | (ia64_expand_epilogue): Likewise. | |
11849 | (ia64_direct_return): Update for current_frame_info changes. | |
11850 | (ia64_function_prologue): Simplify .prologue emission. Emit | |
11851 | .spill when needed. | |
11852 | (ia64_setup_incoming_varargs): Don't ever emit rtl. | |
11853 | (ia64_dbx_register_number): New. | |
11854 | (ia64_initialize_trampoline): New. | |
11855 | (ia64_secondary_reload_class): Request GR_REGS for integer | |
11856 | arithmetic destined for FR_REGS. | |
11857 | (ia64_init_machine_status): Don't reset return_address_pointer_rtx. | |
11858 | (ia64_mark_machine_status): Mark ia64_gp_save. | |
11859 | (rws_access_regno): Rename from rws_access_reg; don't treat | |
11860 | predicates specially. | |
11861 | (rws_access_reg): New. Update all callers. | |
11862 | (rtx_needs_barrier): Remove dead unspecs. | |
11863 | (ia64_epilogue_uses): Mark ar.pfs and ar.unat live on exit. | |
11864 | (ia64_encode_section_info): Silence signed/unsigned warnings. | |
11865 | (spill_offset, sp_offset, spill_offset_emitted): Remove. | |
11866 | (tmp_reg, tmp_saved): Remove. | |
11867 | (process_set): Rewrite to expect complicated bits via | |
11868 | REG_FRAME_RELATED_EXPR. | |
11869 | (ia64_expand_fetch_and_op): Use emit_move_insn; be explicit | |
11870 | in the use of ar.ccv; never set RTX_UNCHANGING_P. | |
11871 | (ia64_expand_op_and_fetch): Likewise. | |
11872 | (ia64_expand_compare_and_swap): Likewise. | |
11873 | (ia64_expand_builtin): Likewise. | |
11874 | * config/ia64/ia64.h (AR_UNAT_REGNUM): New. | |
11875 | (FIRST_PSEUDO_REGISTER): Update. | |
11876 | (AR_M_REGNO_P): Update. | |
11877 | (FIXED_REGS): Don't mark three local registers as used. | |
11878 | (EXTRA_CC_MODES): New. | |
11879 | (SELECT_CC_MODE): New. | |
11880 | (HARD_REGNO_NREGS): Allow DImode in p0; handle CCImode. | |
11881 | (HARD_REGNO_MODE_OK): Disallow CCImode from non-predicates. | |
11882 | (FRAME_GROWS_DOWNWARD): Unset. | |
11883 | (STARTING_FRAME_OFFSET): Zero. | |
11884 | (ELIMINABLE_REGS): Eliminate from the soft to hard frame pointer. | |
11885 | (INITIAL_ELIMINATION_OFFSET): Defer to out of line function. | |
11886 | (HARD_FRAME_POINTER_REGNUM): New. | |
11887 | (CAN_DEBUG_WITHOUT_FP): Define. | |
11888 | (TRAMPOLINE_TEMPLATE): Remove. | |
11889 | (TRAMPOLINE_SIZE): Lower to 32. | |
11890 | (TRAMPOLINE_ALIGNMENT): Lower to 64. | |
11891 | (INITIALIZE_TRAMPOLINE): Defer to out of line function. | |
11892 | (PREDICATE_CODES): Update. | |
11893 | (struct machine_function): Add ia64_gp_save. | |
11894 | * config/ia64/ia64.md: Purge unused unspecs. | |
11895 | (movsi patterns): Allow moves to/from AR_M_REGS. | |
11896 | (movdi patterns): Allow moves to/from p0. | |
11897 | (call patterns): Move most setjmp hackery to ia64_gp_save_reg. | |
11898 | (gr_spill, gr_restore): Indicate ar.unat read/written. | |
11899 | (nonlocal_goto): Don't pass old frame_pointer. | |
11900 | (nonlocal_goto_receiver): Remove. | |
11901 | (exception_receiver): New. | |
11902 | (builtin_setjmp_setup): New. | |
11903 | (builtin_setjmp_receiver): New. | |
11904 | * config/ia64/lib1funcs.asm (__ia64_save_stack_nonlocal): Bundle. | |
11905 | (__ia64_nonlocal_goto): Bundle. Don't kill r7. | |
11906 | (__ia64_restore_stack_nonlocal): Likewise. | |
11907 | (__ia64_trampoline): New. | |
11908 | * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Defer to out of line | |
11909 | function. | |
11910 | * config/ia64/t-ia64 (LIB1ASMFUNCS): Add __trampoline. | |
11911 | ||
11912 | 2000-08-08 Richard Henderson <rth@cygnus.com> | |
11913 | ||
11914 | * frame.h (ia64_frame_state): Add my_psp. | |
11915 | * libgcc2.c (ia64_throw_helper): Add throw_sp argument. | |
11916 | (__throw): Pass it in. Don't clobber r7. | |
11917 | * config/ia64/frame-ia64.c (init_ia64_reg_loc): Mark inline. | |
11918 | (execute_one_ia64_descriptor) [mem_stack_v]: Sets psp.when | |
11919 | and nothing to do with sp. | |
11920 | (normalize_reg_loc): Use frame->my_psp. | |
11921 | (frame_translate): Handle frame-pointer-less functions. Set | |
11922 | spill_base correctly, in absence of being told. | |
11923 | (__build_ia64_frame_state): New sp argument. Fill in frame->my_sp. | |
11924 | (__ia64_backtrace_helper): New sp argument. Use | |
11925 | builtin_return_address instead of label addresses. | |
11926 | (print_record) [mem_stack_v]: No size member. | |
11927 | ||
11928 | 2000-08-08 Richard Henderson <rth@cygnus.com> | |
11929 | ||
11930 | * regclass.c (choose_hard_reg_mode): Iterate over all CC modes. | |
11931 | ||
11932 | 2000-08-08 Richard Henderson <rth@cygnus.com> | |
11933 | ||
11934 | * tm.texi (LOCAL_REGNO): Document. | |
11935 | * flow.c (LOCAL_REGNO, EPILOGUE_USES): Provide default. | |
11936 | (mark_regs_live_at_end): Don't mark LOCAL_REGNO registers. | |
11937 | * reload1.c (reload): Likewise when considering nonlocal labels. | |
11938 | ||
11939 | * config/ia64/ia64.h (LOCAL_REGNO): New. | |
11940 | * config/sparc/sparc.h (LOCAL_REGNO): New. | |
11941 | ||
11942 | 2000-08-08 Joseph S. Myers <jsm28@cam.ac.uk> | |
11943 | ||
11944 | * c-lex.c (yylex): Don't allow integer suffixes 'LUL', 'Ll', 'lL'. | |
11945 | ||
11946 | 2000-08-07 Nick Clifton <nickc@redhat.com> | |
11947 | ||
11948 | * config/mips/mips.c: Fix compile time warning messages. | |
11949 | * config/mips/mips-protos.h: Add prototype for equality_op. | |
11950 | ||
11951 | * mn10300.h (TARGET_SWITCHES): Document `-mam33'. | |
11952 | ||
11953 | 2000-08-07 Graham Stott <grahams@cygnus.co.uk> | |
11954 | ||
11955 | * mn10300.md: Use nonimmediate_operand instead of general_operand | |
11956 | on output operands. | |
11957 | ||
11958 | * mn10300.h (PREFERRED_RELOAD_CLASS): Limit memory reloads. | |
11959 | ||
11960 | 2000-08-07 Alexandre Oliva <aoliva@redhat.com> | |
11961 | ||
11962 | * sh.h (EXTRA_CONSTRAINT_Q): Adjust to GNU Coding Standards. | |
11963 | * sh.c (expand_block_move): Break long lines. | |
11964 | (expand_ashiftrt, fpscr_set_from_mem): Likewise. | |
11965 | * sh.md (mulsi3): Likewise. | |
11966 | (movdi): Adjust spacing. | |
11967 | ||
11968 | 2000-08-07 Richard Henderson <rth@cygnus.com> | |
11969 | ||
11970 | * expmed.c (store_bit_field): Don't require MEM_IN_STRUCT_P. | |
11971 | * expr.c (emit_group_store): Don't set it. | |
11972 | ||
11973 | 2000-08-07 Kazu Hirata <kazu@hxi.com> | |
11974 | ||
11975 | * invoke.texi (Options for Debugging Your Program or GCC): Remove | |
11976 | duplicate entries for 'w' and 'z'. | |
11977 | ||
11978 | * flow.c: Fix a comment typo. | |
11979 | ||
11980 | Sun Aug 6 23:47:35 2000 Ovidiu Predescu <ovidiu@cup.hp.com> | |
11981 | ||
11982 | * c-parse.in: Changed the language string for Objective-C to "GNU | |
11983 | Objective-C". | |
11984 | ||
11985 | Sun Aug 6 11:54:03 2000 Ovidiu Predescu <ovidiu@cup.hp.com> | |
11986 | ||
11987 | * gthr-posix.h: Integrated Chris Ball's <cball@fmco.com> changes | |
11988 | to improve the Posix thread support for Objective-C. | |
11989 | ||
11990 | 2000-08-06 Joseph S. Myers <jsm28@cam.ac.uk> | |
11991 | ||
11992 | * c-common.h (enum c_tree_index): Add CTI_SIGNED_SIZE_TYPE and | |
11993 | CTI_UNSIGNED_PTRDIFF_TYPE. | |
11994 | (signed_size_type_node): Define. | |
11995 | (unsigned_ptrdiff_type_node): Define. | |
11996 | * c-decl.c (init_decl_processing): Create the | |
11997 | signed_size_type_node and unsigned_ptrdiff_type_node types. | |
11998 | * c-common.c (T_SC): Define. | |
11999 | (T_SST): Define. | |
12000 | (T_UPD): Define. | |
12001 | (print_char_table): Use T_SST for %zd, %zi, %zn. Use T_UPD for | |
12002 | %to, %tu, %tx, %tX. Allow %hhn (T_SC). Add "c" to the flags for | |
12003 | %s and %p. | |
12004 | (scan_char_table): Use T_SC for %hhd, %hhi, %hhn. Use T_SST for | |
12005 | %zd, %zi, %zn. Use T_UPD for %to, %tu, %tx, %tX. Add "c" to the | |
12006 | flags for %c, %s and %[. | |
12007 | (check_format_info): Only allow leniency for signedness of targets | |
12008 | of character pointers (when pedantic) for formats flagged with | |
12009 | "c", so for strings but not for %hh formats. When pedantic, don't | |
12010 | allow character pointers to substitute for void pointers if a | |
12011 | second level of indirection is present. | |
12012 | ||
12013 | 2000-08-06 Kazu Hirata <kazu@hxi.com> | |
12014 | ||
12015 | * invoke.texi (Options for Debugging Your Program or GCC): Update | |
12016 | the names of dump files. | |
12017 | ||
12018 | * h8300.c (dosize): Rearrange code for conciseness. | |
12019 | (split_adds_subs): Likewise. | |
12020 | ||
12021 | * loop.c: Fix formatting. | |
12022 | ||
12023 | * dwarf2out.c: Fix formatting. | |
12024 | ||
12025 | * tm.texi (FUNCTION_ARG_PARTIAL_NREGS): Fix a typo. | |
12026 | ||
12027 | * expr.c: Fix formatting. | |
12028 | ||
12029 | 2000-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
12030 | ||
12031 | * rs6000.c (rs6000_maybe_dead): Prototype. | |
12032 | ||
12033 | 2000-08-06 Richard Henderson <rth@cygnus.com> | |
12034 | ||
12035 | * stmt.c (expand_goto): Do virtual_stack_vars_rtx replacement for | |
12036 | HAVE_nonlocal_goto as well. | |
12037 | * config/i960/i960.md (nonlocal_goto): Don't do it here. | |
12038 | * config/pj/pj.md (nonlocal_goto): Likewise. | |
12039 | ||
12040 | 2000-08-07 Michael Hayes <mhayes@cygnus.com> | |
12041 | ||
12042 | * loop.c (try_swap_copy_prop): New function. | |
12043 | (load_mems): Rename copies to load_copies and add new regset | |
12044 | store_copies. Check for sets of shadow registers and mark | |
12045 | in store_copies. Call try_swap_copy_prop for registers | |
12046 | marked in store_copies. | |
12047 | ||
12048 | Sun Aug 6 00:54:42 2000 Ovidiu Predescu <ovidiu@cup.hp.com> | |
12049 | ||
12050 | * objc/objc-act.c: New command line option -fconstant-string-class | |
12051 | to allow specifying a user defined constant string class, | |
12052 | different from NXConstantString. | |
12053 | ||
12054 | * toplev.c: Moved the Objective-C specific options to | |
12055 | objc/lang-options.h. | |
12056 | ||
12057 | * objc/lang-options.h: Moved the Objective-C specific options from | |
12058 | toplev.c. Added -fconstant-string-class. | |
12059 | ||
12060 | 2000-08-05 Chris Demetriou <cgd@sibyte.com> | |
12061 | ||
12062 | * mips/elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END, | |
12063 | DTOR_LIST_BEGIN, DTOR_LIST_END): change type of | |
12064 | __CTOR_LIST__ from func_ptr array to just func_ptr, to | |
12065 | avoid extra alignment imposed on arrays. | |
12066 | * mips/elf64.h (CTOR_LIST_BEGIN, CTOR_LIST_END, | |
12067 | DTOR_LIST_BEGIN, DTOR_LIST_END): Likewise. | |
12068 | ||
12069 | * mips.h: Clean up comments and spacing near MASKs. | |
12070 | (TARGET_UNIX_ASM): Delete. | |
12071 | (MASK_MIPS16, MASK_NO_CHECK_ZERO_DIV, MASK_CHECK_RANGE_DIV, | |
12072 | MASK_UNINIT_CONST_IN_RODATA): Change values to make mask | |
12073 | values contiguous. | |
12074 | ||
12075 | 2000-08-05 Joseph S. Myers <jsm28@cam.ac.uk> | |
12076 | ||
12077 | * c-common.c (print_char_table): Add entries for the X/Open ' | |
12078 | format flag (print decimals with locale's thousands grouping | |
12079 | character). Make %C expect wint_t. | |
12080 | (check_format_info): If pedantic, warn when the %n$ operand | |
12081 | number form is used. Allow for the ' flag; warn about it if | |
12082 | pedantic. | |
12083 | ||
12084 | 2000-08-05 Zack Weinberg <zack@wolery.cumb.org> | |
12085 | ||
12086 | * i386.h (FUNCTION_OK_FOR_SIBCALL): Not OK if DECL's return | |
12087 | type is a float mode, cfun->decl's return type is not, and | |
12088 | TARGET_FLOAT_RETURNS_IN_80387. | |
12089 | ||
12090 | 2000-08-04 Andreas Schwab <schwab@suse.de> | |
12091 | ||
12092 | * cppmain.c (cb_def_pragma): Skip the first two tokens from the | |
12093 | token list, which are always `#' and `pragma'. | |
12094 | ||
12095 | 2000-08-04 Zack Weinberg <zack@wolery.cumb.org> | |
12096 | ||
12097 | * tree.c (tree_expr_nonnegative_p): Move to... | |
12098 | * fold-const.c: ... here. Also handle BIND_EXPR and RTL_EXPR. | |
12099 | (rtl_expr_nonnegative_p): New. | |
12100 | * tree.h: Add prototype for rtl_expr_nonnegative_p. | |
12101 | ||
12102 | * real.h (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH, CONST_DOUBLE_MEM, | |
12103 | CONST_DOUBLE_CHAIN: Move to... | |
12104 | * rtl.h: ...here. Use XCINT/XCEXP. | |
12105 | ||
12106 | * Makefile.in: Remove toplev.o from OBJS. Add rule to make | |
12107 | libbackend.a; add libbackend.a to STAGESTUFF. Add BACKEND | |
12108 | variable. Use BACKEND when linking cc1, not OBJS. Add BACKEND | |
12109 | to VOL_FILES. | |
12110 | ||
12111 | * objc/Make-lang.in (cc1obj): Link with $(BACKEND). | |
12112 | ||
12113 | 2000-08-05 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | |
12114 | ||
12115 | * config/c4x/c4x.md (return_indirect_internal): New. | |
12116 | * config/c4x/c4x.c (c4x_expand_epilogue): Use it. | |
12117 | ||
12118 | 2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk> | |
12119 | ||
12120 | * c-common.c (time_char_table): Mark up formats added in C99 and | |
12121 | make other corrections. %D and %g were added in C99. %Og is an | |
12122 | extension. %EX is permitted. %R, %T, %n, %r, %t were added in | |
12123 | C99. %e was added in C99. %Oj is an extension. %G and %z are in | |
12124 | C99 rather than GNU extensions, but %OG and %Oz are extensions. | |
12125 | %h was added in C99. %C was added in C99. %OY and %OC are | |
12126 | extensions. Add the C99 format %F. | |
12127 | (check_format_info): If pedantic and not in C99 mode, warn for C99 | |
12128 | formats, %E and %O. | |
12129 | ||
12130 | Fri Aug 4 23:01:58 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
12131 | ||
12132 | * function.c (schedule_fixup_var_refs): New function, broken out | |
12133 | of put_reg_into_stack. | |
12134 | (put_reg_into_stack): Use it. | |
12135 | (put_var_into_stack): In CONCAT case, fixup up references for | |
12136 | components only after fixing up references to the whole concat. | |
12137 | ||
12138 | 2000-08-04 Rodney Brown <RodneyBrown@pmsc.com> | |
12139 | ||
12140 | * alias.c (mark_constant_function): Use INSN_P. | |
12141 | (init_alias_analysis): Likewise. | |
12142 | * combine.c (combine_instructions): Use INSN_P. | |
12143 | (can_combine_p): Likewise. | |
12144 | (try_combine): Likewise. | |
12145 | (distribute_notes): Likewise. | |
12146 | (distribute_links): Likewise. | |
12147 | * cse.c (cse_around_loop): Use INSN_P. | |
12148 | (invalidate_skipped_block): Likewise. | |
12149 | (cse_set_around_loop): Likewise. | |
12150 | (cse_end_of_basic_block): Likewise. | |
12151 | (delete_trivially_dead_insns): Likewise. | |
12152 | * emit-rtl.c (unshare_all_rtl_again): Use INSN_P. | |
12153 | (unshare_all_rtl_1): Likewise. | |
12154 | (next_cc0_user): Likewise. | |
12155 | (try_split make_insn_raw): Likewise. | |
12156 | (remove_unnecessary_notes): Likewise. | |
12157 | * final.c (shorten_branches): Use INSN_P. | |
12158 | (leaf_renumber_regs): Likewise. | |
12159 | (leaf_renumber_regs_insn): Likewise. | |
12160 | * flow.c (find_label_refs): Use INSN_P. | |
12161 | (verify_wide_reg): Likewise. | |
12162 | (notice_stack_pointer_modification): Likewise. | |
12163 | (count_or_remove_death_notes): Likewise. | |
12164 | (verify_flow_info): Likewise. | |
12165 | (clear_log_links): Likewise. | |
12166 | * function.c (fixup_var_refs_insns): Use INSN_P. | |
12167 | (compute_insns_for_mem): Likewise. | |
12168 | * gcse.c (alloc_gcse_mem): Use INSN_P. | |
12169 | (compute_sets): Likewise. | |
12170 | (compute_hash_table): Likewise. | |
12171 | (classic_gcse): Likewise. | |
12172 | (cprop): Likewise. | |
12173 | (insert_insn_end_bb): Likewise. | |
12174 | (delete_null_pointer_checks_1): Likewise. | |
12175 | * global.c (expand_preferences): Use INSN_P. | |
12176 | (build_insn_chain): Likewise. | |
12177 | * graph.c (node_data): Use INSN_P. | |
12178 | * haifa-sched.c (priority): Use INSN_P. | |
12179 | (rm_line_notes): Likewise. | |
12180 | (rm_other_notes): Likewise. | |
12181 | (find_insn_reg_weight): Likewise. | |
12182 | (init_target_units): Likewise. | |
12183 | (schedule_block): Likewise. | |
12184 | (compute_block_forward_dependences): Likewise. | |
12185 | (debug_dependencies): Likewise. | |
12186 | (set_priorities): Likewise. | |
12187 | * integrate.c (function_cannot_inline_p): Use INSN_P. | |
12188 | (save_parm_insns): Likewise. | |
12189 | (copy_insn_list): Likewise. | |
12190 | * jump.c (mark_all_labels): Use INSN_P. | |
12191 | (never_reached_warning): Likewise. | |
12192 | * lcm.c (optimize_mode_switching): Use INSN_P. | |
12193 | * local-alloc.c (validate_equiv_mem): Use INSN_P. | |
12194 | (memref_used_between_p): Likewise. | |
12195 | (update_equiv_regs): Likewise. | |
12196 | (block_alloc): Likewise. | |
12197 | (no_conflict_p): Likewise. | |
12198 | * loop.c (scan_loop): Use INSN_P. | |
12199 | (find_and_verify_loops): Likewise. | |
12200 | (count_loop_regs_set): Likewise. | |
12201 | (loop_reg_used_before_p): Likewise. | |
12202 | (strength_reduce): Likewise. | |
12203 | (recombine_givs): Likewise. | |
12204 | (check_dbra_loop): Likewise. | |
12205 | (load_mems): Likewise. | |
12206 | (try_copy_prop): Likewise. | |
12207 | * print-rtl.c (print_rtx): Use INSN_P. | |
12208 | * recog.c (find_single_use): Use INSN_P. | |
12209 | * reg-stack.c (stack_regs_mentioned): Use INSN_P. | |
12210 | (next_flags_user): Likewise. | |
12211 | (swap_rtx_condition): Likewise. | |
12212 | * regmove.c (mark_flags_life_zones): Use INSN_P. | |
12213 | (optimize_reg_copy_1): Likewise. | |
12214 | (optimize_reg_copy_2): Likewise. | |
12215 | (optimize_reg_copy_3): Likewise. | |
12216 | (reg_is_remote_constant_p): Likewise. | |
12217 | (fixup_match_2): Likewise. | |
12218 | (regmove_optimize): Likewise. | |
12219 | (fixup_match_1): Likewise. | |
12220 | * regrename.c (build_def_use): Use INSN_P. | |
12221 | (replace_reg_in_block): Likewise. | |
12222 | (consider_use): Likewise. | |
12223 | * reload.c (find_equiv_reg): Use INSN_P. | |
12224 | * reload1.c (reload): Use INSN_P. | |
12225 | (maybe_fix_stack_asms): Likewise. | |
12226 | (calculate_needs_all_insns): Likewise. | |
12227 | (reload_as_needed): Likewise. | |
12228 | (emit_output_reload_insns): Likewise. | |
12229 | (delete_address_reloads_1): Likewise. | |
12230 | (reload_cse_regs_1): Likewise. | |
12231 | (reload_combine): Likewise. | |
12232 | (reload_cse_move2add): Likewise. | |
12233 | * reorg.c (redundant_insn): Use INSN_P. | |
12234 | (dbr_schedule): Likewise. | |
12235 | * resource.c (find_dead_or_set_registers): Use INSN_P. | |
12236 | (mark_target_live_regs): Likewise. | |
12237 | * rtlanal.c (reg_used_between_p): Use INSN_P. | |
12238 | (reg_referenced_between_p): Likewise. | |
12239 | (reg_set_between_p): Likewise. | |
12240 | (reg_set_p): Likewise. | |
12241 | (single_set): Likewise. | |
12242 | (multiple_sets): Likewise. | |
12243 | (find_last_value): Likewise. | |
12244 | (reg_set_last): Likewise. | |
12245 | (find_reg_note): Likewise. | |
12246 | (find_regno_note): Likewise. | |
12247 | * sibcall.c (sequence_uses_addressof): Use INSN_P. | |
12248 | * simplify-rtx.c (cselib_process_insn): Use INSN_P. | |
12249 | * ssa.c (find_evaluations): Use INSN_P. | |
12250 | (rename_block): Likewise. | |
12251 | (rename_equivalent_regs): Likewise. | |
12252 | * unroll.c (loop_find_equiv_value): Use INSN_P. | |
12253 | (set_dominates_use): Likewise. | |
12254 | * varasm.c (mark_constant_pool): Use INSN_P. | |
12255 | (mark_constants): Likewise. | |
12256 | * config/alpha/alpha.c (alpha_does_function_need_gp): Use INSN_P. | |
12257 | (alphaev4_next_group): Likewise. | |
12258 | (alphaev5_next_group): Likewise. | |
12259 | * config/c4x/c4x.c (c4x_process_after_reload): Use INSN_P. | |
12260 | (c4x_rptb_rpts_p): Likewise. | |
12261 | * config/mips/mips.c (mips16_optimize_gp): Use INSN_P. | |
12262 | * config/rs6000/rs6000.c (uses_TOC): Use INSN_P. | |
12263 | (rs6000_adjust_priority): Likewise. | |
12264 | * config/sh/sh.c (sh_loop_align): Use INSN_P. | |
12265 | (machine_dependent_reorg): Likewise. | |
12266 | (split_branches): Likewise. | |
12267 | * config/tahoe/tahoe.c (tahoe_cmp_check): Use INSN_P. | |
12268 | ||
12269 | Fri Aug 4 11:43:49 2000 John Wehle (john@feith.com) | |
12270 | ||
12271 | * combine.c (recog_for_combine): Remove the old notes | |
12272 | prior to attempting to recognize the new pattern. | |
12273 | (distribute_notes): Ignore REG_NONNEG notes. | |
12274 | ||
12275 | 2000-08-04 Chandrakala Chavva <cchavva@redhat.com> | |
12276 | ||
12277 | * varasm.c (output_constructor): Add .align 0 for packed vars. | |
12278 | ||
12279 | 2000-08-04 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
12280 | ||
12281 | * configure.in: Use default thread_file even when enable_threads is | |
12282 | yes or dce because hpux10.20 pa port uses MULTILIB implementation. | |
12283 | * configure: Rebuilt. | |
12284 | ||
12285 | * gthr-dce.h (__gthread_objc_condition_allocate): Fix typo. | |
12286 | ||
12287 | 2000-08-04 Donn Terry (donnte@microsoft.com) | |
12288 | ||
12289 | * prefix.c (translate_name): Don't strip trailing DIR_SEPARATOR. | |
12290 | ||
12291 | 2000-08-04 Mark Elbrecht <snowball3@bigfoot.com> | |
12292 | ||
12293 | * i386/x-djgpp: Delete code that conditionally modifies target_alias. | |
12294 | Delete code that conditionally modifies 'version'. | |
12295 | Delete X_CPPFLAGS. Add comment for SYSTEM_HEADER_DIR. | |
12296 | * i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): New macro. | |
12297 | * gcc.c (main): Use it. | |
12298 | * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): New macro. | |
12299 | * prefix.c (update_path): Use it. | |
12300 | * i386/djgpp.h (STANDARD_INCLUDE_DIR): Define. | |
12301 | (MD_EXEC_PREFIX): Set to '/dev/env/DJDIR/bin/'. | |
12302 | (ASM_OUTPUT_SECTION_NAME): Add code attribute to sections containing | |
12303 | code. | |
12304 | (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Default to true. | |
12305 | (SUBTARGET_SWITCHES): Adjust. | |
12306 | (WCHAR_UNSIGNED, WCHAR_TYPE_SIZE, WCHAR_TYPE): Undefine before | |
12307 | defining. | |
12308 | (WINT_TYPE, SIZE_TYPE, PTRDIFF_TYPE): Define. | |
12309 | ||
12310 | 2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk> | |
12311 | ||
12312 | * c-common.h (flag_isoc94): Declare. | |
12313 | * c-decl.c (flag_isoc94): Define. | |
12314 | (c_decode_option): Set flag_isoc94 as appropriate. | |
12315 | * c-common.c (T_PD, T_IM, T_UIM): Define. | |
12316 | (format_char_info): Add tlen and jlen. | |
12317 | (print_char_table): Add entries for %t and %j. Allow %zn. Allow | |
12318 | %F. Allow %lf. | |
12319 | (scan_char_table): Add entries for %t and %j. Allow %F. Allow | |
12320 | %l[. | |
12321 | (time_char_table): Add NULL entries for %t and %j. | |
12322 | (check_format_info): Allow for %t and %j. Warn for %F if pedantic | |
12323 | and not C99. Warn for %lc, %ls and %l[ if pedantic and not C94. | |
12324 | Warn for printf %lf if pedantic and not C99. Don't warn for empty | |
12325 | precision. Allow precision argument to be unsigned int. If | |
12326 | pedantic, warn for %p passed an argument not a pointer to possibly | |
12327 | qualified void or a possibly qualified character type, and for | |
12328 | pointer targets of the wrong sign, except for character pointers. | |
12329 | ||
12330 | 2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk> | |
12331 | ||
12332 | * ginclude/stddef.h: Don't declare wint_t unless __need_wint_t. | |
12333 | * c-common.h (enum c_tree_index): Add CTI_WINT_TYPE. | |
12334 | (wint_type_node): Define. | |
12335 | * c-decl.c (WINT_TYPE): Define. | |
12336 | (init_decl_processing): Create the wint_type_node type. | |
12337 | * c-common.c (T_WI): Define. | |
12338 | (print_char_table): Use T_WI for %lc format. | |
12339 | ||
12340 | 2000-08-04 Bruce Korb <bkorb@gnu.org> | |
12341 | ||
12342 | * fixinc/: Verified that the MSDOS patch does not break | |
12343 | the UNIX functionality and applied the next three patches | |
12344 | from July: | |
12345 | ||
12346 | 2000-07-28 Eli Zaretskii <eliz@is.elta.co.il> | |
12347 | ||
12348 | * fixinc/fixfixes.c (main) [__MSDOS__]: Avoid overwriting the | |
12349 | output file with the temporary one by appending ".X" to generate | |
12350 | the temporary fuile's name. If the output file already has an | |
12351 | extension, replace it with ".X". | |
12352 | ||
12353 | * fixinc/fixincl.c (fix_with_system) [__MSDOS__]: Use $ORIGDIR, | |
12354 | not $DESTDIR, to find applyfix. Use sprintf instead of snprintf; | |
12355 | reallocate the command buffer while copying the command-line | |
12356 | argument. Redirect the output directly to the temporary file, | |
12357 | instead of going through another temporary file. | |
12358 | (process): Close the temporary file before unlinking it. | |
12359 | (machine_matches) [__MSDOS__]: If the machine doesn't match, set | |
12360 | the FD_SKIP_TEST flag. Pay attention to the FD_MACH_IFNOT flag. | |
12361 | (run_compiles): Pass p_fixd argument to machine_matches, as it | |
12362 | expects. | |
12363 | ||
12364 | * fixinc/fixincl.sh: Export ORIGDIR. If $DJDIR is set in the | |
12365 | environment, assume there are no symlinks in the include | |
12366 | directory. When cleaning up the DONE files, look for them | |
12367 | case-insensitively. Don't try to remove symlinks if they aren't | |
12368 | there. | |
12369 | ||
12370 | * fixinc/fixlib.c (make_raw_shell_str): Accept new argument smax; | |
12371 | all callers changed. Declare pz "const char *", to avoid compiler | |
12372 | warnings. | |
12373 | ||
12374 | * fixinc/fixlib.h (ENV_TABLE): Get ORIGDIR from the environment. | |
12375 | Change prototype of make_raw_shell_str. | |
12376 | ||
12377 | 2000-07-27 Eli Zaretskii <eliz@is.elta.co.il> | |
12378 | ||
12379 | * fixinc/fixincl.c [__MSDOS__]: Don't include "server.h". | |
12380 | (initialize) [__MSDOS__]: Use tempnam. | |
12381 | (initialize): Don't use SIGPIPE if it is not defined. | |
12382 | ||
12383 | * fixinc/fixfixes.c (main) [__MSDOS__]: freopen for stdout should | |
12384 | return stdout. | |
12385 | ||
12386 | 2000-07-25 Bruce Korb <bkorb@gnu.org> | |
12387 | ||
12388 | * fixinc/fix*.[ch]: substantially reworked to make it possible | |
12389 | to run this program without using fork(2) or pipe(2) (i.e. in | |
12390 | a DOS environment). | |
12391 | ||
12392 | 2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk> | |
12393 | ||
12394 | * cppdefault.h (WINT_TYPE): Define. | |
12395 | * cppinit.c (builtin_array): Define __WINT_TYPE__. | |
12396 | * tradcpp.c (initialize_builtins): Define __WINT_TYPE__. | |
12397 | * tm.texi (NO_BUILTIN_WINT_TYPE, WINT_TYPE): Document. | |
12398 | ||
12399 | Fri Aug 4 06:53:46 2000 Clinton Popetz <cpopetz@cygnus.com> | |
12400 | ||
12401 | * (mips_legitimate_address_p): Don't allow register+offset | |
12402 | if the offset is large and negative, and we are compiling | |
12403 | for 64 bit registers. | |
12404 | ||
12405 | 2000-08-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | |
12406 | ||
12407 | * gencodes.c (main): Define CODE_FOR_nothing as the last possible | |
12408 | insn_code_number + 1. | |
12409 | ||
12410 | 2000-08-04 Kazu Hirata <kazu@hxi.com> | |
12411 | ||
12412 | * h8300.c (function_prologue): Rearrange code for conciseness. | |
12413 | (function_epilogue): Likewise. | |
12414 | * h8300.h (OK_FOR_U): Fix formatting. | |
12415 | ||
12416 | * cse.c: Fix a comment typo. Fix formatting. | |
12417 | ||
12418 | 2000-08-03 Richard Henderson <rth@cygnus.com> | |
12419 | ||
12420 | * config/i386/i386.md (return_indirect_internal): New. | |
12421 | * config/i386/i386.c (ix86_expand_epilogue): Use it. | |
12422 | ||
12423 | 2000-08-03 Zack Weinberg <zack@wolery.cumb.org> | |
12424 | ||
12425 | * cpplex.c (parse_name): Might have to glue a CPP_OTHER token | |
12426 | before the name. | |
12427 | (lex_line): Glue @ onto the beginning of identifiers and | |
12428 | string constants, in Objective-C mode. | |
12429 | (output_token, spell_token): Handle CPP_OSTRING. | |
12430 | (can_paste, maybe_paste_with_next): Handle pasting @ onto the | |
12431 | beginning of a NAME or a STRING, in objc mode. | |
12432 | ||
12433 | * cpplib.c (get_define_node): Do not permit identifiers that | |
12434 | begin with @ to be #defined. | |
12435 | * cppmacro.c (CAN_PASTE_AFTER): Add CPP_OTHER. | |
12436 | * cpplib.h (TTYPE_TABLE): Add CPP_OSTRING. | |
12437 | ||
12438 | * c-lang.c, objc/objc-act.c (build_objc_string): Delete. | |
12439 | * c-tree.h (build_objc_string): Delete prototype. | |
12440 | * objc/objc-tree.def: Delete OBJC_STRING_CST. | |
12441 | * c-lex.c (yylex): Use build_string for all three kinds of strings. | |
12442 | ||
12443 | * c-parse.in, objc/objc-act.c: Update commentary. | |
12444 | ||
12445 | 2000-08-03 Mark Mitchell <mark@codesourcery.com> | |
12446 | ||
12447 | * extend.texi: Fix typo in last change. | |
12448 | ||
12449 | * extend.texi: Add commentary on statement-expressions and their | |
12450 | interactions with C++. | |
12451 | ||
12452 | 2000-08-03 Nick Clifton <nickc@cygnus.com> | |
12453 | ||
12454 | * dwarf2.h (DW_LANG_Java): Change value to 0x000b. | |
12455 | * dwarf.h (LANG_JAVA): Change value to 0x000b. | |
12456 | ||
12457 | 2000-08-03 Anthony Green <green@cygnus.com> | |
12458 | ||
12459 | * dwarf2out.c (gen_compile_unit_die): Add java language support. | |
12460 | (add_bound_info): Check for java language. | |
12461 | (is_java): New function. | |
12462 | * dwarfout.c (output_compile_unit_die): Ditto. | |
12463 | * dwarf.h (dwarf_source_language): Add java source language type. | |
12464 | * dwarf2.h (dwarf_source_language): Ditto. | |
12465 | ||
12466 | Thu Aug 3 20:32:25 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
12467 | ||
12468 | * reg-stack.c (subst_stack_regs_pat): Use replace_reg to swap | |
12469 | operands. | |
12470 | ||
12471 | * i386.c (ix86_expand_branch): Mode of comparison in | |
12472 | IF_THEN_ELSE is VOIDmode. | |
12473 | ||
12474 | Thu Aug 3 10:05:53 2000 Akiko Matsushita <matusita@sra.co.jp> | |
12475 | ||
12476 | * gengenrtl.c, rtl.c: Avoid #elif. | |
12477 | ||
12478 | 2000-08-03 Michael Poole <poole@troilus.org> | |
12479 | ||
12480 | * tm.texi (Register Classes): Clarify order of sub-initializers | |
12481 | in REG_CLASS_CONTENTS. | |
12482 | ||
12483 | Thu Aug 3 15:53:03 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
12484 | ||
12485 | From SAITOH Masanobu: | |
12486 | * sh.h (ASM_OUTPUT_REG_PUSH): Fix syntax. | |
12487 | ||
12488 | 2000-08-03 David Billinghurst <David.Billinghurst@riotinto.com.au> | |
12489 | ||
12490 | * config/i386/cygwin.h: Remove -remap from CPP_SPEC since this option | |
12491 | is not supported by tradcpp and isn't actually needed for cygwin. | |
12492 | ||
12493 | 2000-08-03 Kazu Hirata <kazu@hxi.com> | |
12494 | ||
12495 | * h8300.c: Fix a comment typo. | |
12496 | * h8300.h (OK_FOR_U): Accept a 32-bit constant address on H8S. | |
12497 | ||
12498 | * jump.c: Fix formatting. | |
12499 | ||
12500 | * toplev.c: Fix formatting. | |
12501 | ||
12502 | Thu Aug 3 01:05:32 2000 Jeffrey A Law (law@cygnus.com) | |
12503 | ||
12504 | * flow.c (find_auto_inc): Verify that we've got a REG before | |
12505 | peeking at its regno. Fail, don't abort if we can't find | |
12506 | the increment of the desired register. | |
12507 | ||
12508 | * pa.md (shadd height reduction patterns/splitters): Remove. | |
12509 | ||
12510 | 2000-08-02 Jim Wilson <wilson@cygnus.com> | |
12511 | ||
12512 | * config/ia64/ia64-protos.h (flag_ssa): Declare. | |
12513 | * config/ia64/ia64.md (movti_internal, movti_internal+1): New. | |
12514 | ||
12515 | 2000-08-02 Mark Mitchell <mark@codesourcery.com> | |
12516 | ||
12517 | * dce.c: Remove all uses of assert. | |
12518 | * dwarf2out.c: Likewise. | |
12519 | * dwarfout.c: Likewise. | |
12520 | * ssa.c: Likewise. | |
12521 | ||
12522 | 2000-08-02 Zack Weinberg <zack@wolery.cumb.org> | |
12523 | ||
12524 | * gcc.h (lang_specific_driver): Constify second argument. | |
12525 | * gcc.c (translate_options, process_command, main): Likewise. | |
12526 | Constify variables to match. Cast second argument to | |
12527 | pexecute. | |
12528 | ||
12529 | * cppspec.c, gccspec.c: Adjust type of second argument to | |
12530 | lang_specific_driver, and update code as necessary. | |
12531 | ||
12532 | 2000-08-02 Jakub Jelinek <jakub@redhat.com> | |
12533 | ||
12534 | * loop.c (scan_loop): Ensure update_end label does not | |
12535 | go away until reg_scan_update is run. | |
12536 | ||
12537 | 2000-08-02 Zack Weinberg <zack@wolery.cumb.org> | |
12538 | ||
12539 | * c-common.h: Prototype min_precision and c_build_qualified_type here... | |
12540 | * c-tree.h: ... not here. | |
12541 | * errors.h: Prototype fancy_abort. | |
12542 | ||
12543 | * emit-rtl.c (gen_lowpart_common): Move variable 'c' into | |
12544 | HOST_BITS_PER_WIDE_INT == 64 ifdef block. | |
12545 | * regrename.c (regrename_optimize): Make control flow explicit. | |
12546 | (replace_reg_in_block): Initialize reg_use to 0. | |
12547 | ||
12548 | * i386.c (legitimate_address_p): Rename error label to | |
12549 | report_error to avoid namespace clash. | |
12550 | ||
12551 | 2000-08-02 Kazu Hirata <kazu@hxi.com> | |
12552 | ||
12553 | * fold-const.c: Fix formatting. | |
12554 | ||
12555 | Wed Aug 2 16:26:15 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
12556 | ||
12557 | * i386.c (legitimate_address_p): Accept other bases than | |
12558 | pic_offset_table_rtx for GOTOFF constructs. | |
12559 | ||
12560 | Wed Aug 2 15:59:34 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
12561 | ||
12562 | * i386.md (shift to lea splitter): Use const_int_operand. | |
12563 | ||
12564 | 2000-08-02 Zack Weinberg <zack@wolery.cumb.org> | |
12565 | ||
12566 | * cppexp.c, cppinit.c, cpplex.c, cpplib.c, cppmacro.c, | |
12567 | cppspec.c: Do not use 'legal' or 'illegal' in error messages | |
12568 | and comments. | |
12569 | ||
12570 | * cppmain.c (cb_define, cb_undef): Don't generate any output | |
12571 | if not done_initializing. | |
12572 | * cpplex.c (maybe_paste_with_next): When the token after a ## | |
12573 | is an omitted rest argument, only delete the token before it | |
12574 | if that token is a comma. Do not warn about bogus token | |
12575 | pastes for , ## rest_arg. | |
12576 | ||
12577 | * cpp.texi: Update. | |
12578 | * cpp.1: Regenerate. | |
12579 | ||
12580 | 2000-08-02 Fred Fish <fnf@be.com> | |
12581 | ||
12582 | * config/i386/beos-elf.h (STARTFILE_SPEC): Add i386-mcount.o | |
12583 | when user gives -p option. Add init_term_dyn.o for BeOS 5.0 | |
12584 | and later. | |
12585 | ||
12586 | * config/i386/beos-elf.h (INCLUDE_DEFAULTS): Add additional | |
12587 | Be directories to search path. | |
12588 | ||
12589 | Remove support for __declspec(dllimport) and __declspec(dllexport). | |
12590 | This is leftover cruft from the earlier BeOS gcc port when BeOS | |
12591 | used Microsoft's PE object file format. | |
12592 | * configure.in (i*86-*-beoself): Remove extra_objs=winnt.o. | |
12593 | * config/i386/t-beos (winnt.o): Remove Makefile frag. | |
12594 | * config/i386/beos-elf.h (TARGET_NOP_FUN_DLLIMPORT): Remove. | |
12595 | (VALID_MACHINE_DECL_ATTRIBUTE): Remove. | |
12596 | (VALID_MACHINE_TYPE_ATTRIBUTE): Remove. | |
12597 | (MERGE_MACHINE_DECL_ATTRIBUTES): Remove. | |
12598 | (REDO_SECTION_INFO_P): Remove. | |
12599 | (ASM_EXPORT_DECL): Remove. | |
12600 | (ASM_DECLARE_FUNCTION_NAME): Remove. | |
12601 | (ASM_DECLARE_OBJECT_NAME): Remove. | |
12602 | (ASM_OUTPUT_ALIGNED_COMMON): Remove. | |
12603 | (ASM_OUTPUT_ALIGNED_DECL_COMMON): Remove. | |
12604 | (ASM_OUTPUT_ALIGNED_LOCAL): Remove. | |
12605 | (STRIP_NAME_ENCODING): Remove. | |
12606 | ||
12607 | Remove support for obsolete version of BeOS that is no longer | |
12608 | supported by Be. | |
12609 | * configure.in (i*86-*-beospe*): Remove. | |
12610 | * config/i386/beos-pe.h: Remove. | |
12611 | ||
12612 | 2000-08-01 Jeffrey Oldham <oldham@codesourcery.com> | |
12613 | Mark Mitchell <mark@codesourcery.com> | |
12614 | ||
12615 | * Makefile.in (OBJS): Added dce.o. | |
12616 | (ssa.o): Updated target to include ssa.h. | |
12617 | (flow.o): Likewise. | |
12618 | (toplev.o): Likewise. | |
12619 | (dce.o): Created target. | |
12620 | * basic-block.h: Added comments. | |
12621 | (INVALID_BLOCK): Added definition. | |
12622 | (connect_infinite_loops_to_exit): Added declaration. | |
12623 | Moved SSA declarations to ssa.h. | |
12624 | * flow.c: Added inclusion of ssa.h. | |
12625 | (struct depth_first_search_dsS, depth_first_search_ds): | |
12626 | Added definitions. | |
12627 | (compute_immediate_postdominators): Added definition. | |
12628 | (connect_infinite_loops_to_exit): Likewise. | |
12629 | (flow_dfs_compute_reverse_init): Likewise. | |
12630 | (flow_dfs_compute_reverse_add_bb): Likewise. | |
12631 | (flow_dfs_compute_reverse_execute): Likewise. | |
12632 | (flow_dfs_compute_reverse_finish): Likewise. | |
12633 | * rtl.h (rtx/in_struct): Added use to determine insn necessity. | |
12634 | (LABEL_P): Added definition. | |
12635 | (JUMP_P): Likewise. | |
12636 | (NOTE_P): Likewise. | |
12637 | (BARRIER_P): Likewise. | |
12638 | (JUMP_TABLE_DATA_P): Likewise. | |
12639 | (INSN_DEAD_CODE_P): Likewise. | |
12640 | * ssa.c: Replaced inclusions with ssa.h inclusion. | |
12641 | (CONVERT_HARD_REGISTER_TO_SSA_P): Moved to ssa.h. | |
12642 | (rename_registers): Removed unnecessary variables. | |
12643 | * ssa.h: Created by moving declarations from ssa.c and | |
12644 | basic-block.h. | |
12645 | * timevar.def: Defined TV_DEAD_CODE_ELIM. | |
12646 | * toplev.c: Added ssa.h inclusion. | |
12647 | (dump_file_index): Added DFI_dce. | |
12648 | (dump_file): Added "dce" entry. | |
12649 | Defined flag_ssa. | |
12650 | (f_options): Added dce entry. | |
12651 | * invoke.texi: Document -fdce. Emphasize experimental status of | |
12652 | -fssa. | |
12653 | * dce.c: New file. | |
12654 | ||
12655 | 2000-08-01 Zack Weinberg <zack@wolery.cumb.org> | |
12656 | ||
12657 | * cpperror.c (v_message): Split into _cpp_begin_message and | |
12658 | v_message macro. All callers updated. | |
12659 | (_cpp_begin_message): Do inhibit_errors/inhibit_warnings | |
12660 | checks here. | |
12661 | ||
12662 | * cppfiles.c (cpp_syshdr_flags): New function. | |
12663 | (read_include_file): Don't call cpp_output_tokens. Call | |
12664 | enter_file hook. | |
12665 | * cppinit.c (dump_macros_helper): Moved to cppmain.c. | |
12666 | (cpp_reader_init): Don't initialize token_buffer. Call | |
12667 | _cpp_init_internal_pragmas. | |
12668 | (cpp_cleanup): Don't clear token_buffer. | |
12669 | (cpp_start_read): Don't worry about output from -D processing. | |
12670 | Don't call cpp_output_tokens. | |
12671 | (cpp_finish): Don't dump macros here. Don't call | |
12672 | cpp_output_tokens. | |
12673 | * cppmacro.c (_cpp_dump_definition): Rename | |
12674 | cpp_dump_definition. Write directly to a FILE *. | |
12675 | (dump_funlike_macro): Delete. | |
12676 | (dump_macro_args): New. | |
12677 | ||
12678 | * cpplex.c (TOKEN_LEN): Convert to inline function. | |
12679 | (_cpp_grow_token_buffer, safe_fwrite, cpp_output_tokens, | |
12680 | cpp_scan_line, _cpp_dump_list): Delete. | |
12681 | (cpp_printf, cpp_output_list): New. | |
12682 | (output_line_command): Don't worry about entering or leaving files. | |
12683 | (cpp_scan_buffer): Just output each token as we hit it. | |
12684 | (process_directive): Don't call cpp_output_tokens. | |
12685 | (_cpp_glue_header_name): Don't use token_buffer. | |
12686 | (output_token, dump_param_spelling): Write directly to a FILE *. | |
12687 | ||
12688 | * cpplib.c (pass_thru_directive, dump_macro_name, | |
12689 | pragma_dispatch, do_pragma_gcc): Delete. | |
12690 | (do_define, do_undef, parse_include, do_line, do_ident, do_pragma, | |
12691 | do_pragma_poison, cpp_pop_buffer): Call the appropriate hook | |
12692 | functions. | |
12693 | (do_error, do_warning, pragma_dependency): Call | |
12694 | _cpp_begin_message, then cpp_output_list. | |
12695 | (cpp_register_pragma, cpp_register_pragma_space, | |
12696 | _cpp_init_internal_pragmas): New. | |
12697 | (do_pragma): Walk the pragmas table here. | |
12698 | (do_pragma_once, do_pragma_poison, do_pragma_system_header, | |
12699 | do_pragma_dependency): Return void. | |
12700 | (do_pragma_implementation): Moved to cppmain.c. | |
12701 | ||
12702 | * cpplib.h: Update prototypes. | |
12703 | (struct cpp_reader): Remove printer, token_buffer, | |
12704 | token_buffer_size, and limit. Add struct cb, and pragmas. | |
12705 | (struct cpp_printer): Remove last_id and written. | |
12706 | (CPP_WRITTEN, CPP_PWRITTEN, CPP_SET_WRITTEN, | |
12707 | CPP_ADJUST_WRITTEN): Delete. | |
12708 | * cpphash.h: Update prototypes. | |
12709 | (ufputs): New wrapper. | |
12710 | ||
12711 | * cppmain.c (cb_define, cb_undef, cb_include, cb_ident, | |
12712 | cb_enter_file, cb_leave_file, cb_def_pragma): New functions. | |
12713 | (main): Set up callbacks. Register #pragma implementation. | |
12714 | Dump macros from here. | |
12715 | ||
12716 | 2000-08-01 Geoff Keating <geoffk@cygnus.com> | |
12717 | ||
12718 | * rtl.h (enum reg_note): Add REG_MAYBE_DEAD. | |
12719 | * rtl.c (reg_note_name): Add REG_MAYBE_DEAD. | |
12720 | * flow.c (propagate_one_insn): Allow deletion of prologue/epilogue | |
12721 | insns if they have a REG_MAYBE_DEAD note attached. | |
12722 | * config/rs6000/rs6000.c (rs6000_maybe_dead): New function. | |
12723 | (rs6000_emit_load_toc_table): TOC loads may go dead. | |
12724 | ||
12725 | 2000-08-01 Jim Wilson <wilson@cygnus.com> | |
12726 | ||
12727 | * config/ia64/ia64.c (ia64_function_arg): Fix last change. Verify | |
12728 | type exists before using it. Use number of words as alignment | |
12729 | otherwise. | |
12730 | (ia64_function_arg_partial_nregs, ia64_function_arg_advance, | |
12731 | ia64_va_arg): Propagate ia64_function_args changes here. | |
12732 | ||
12733 | 2000-08-01 Richard Henderson <rth@cygnus.com> | |
12734 | ||
12735 | * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Care for null DECL. | |
12736 | * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise. | |
12737 | ||
12738 | 2000-08-01 Bernd Schmidt <bernds@cygnus.co.uk> | |
12739 | ||
12740 | From Joern Rennecke: | |
12741 | * sh.h (CPP_SPEC, TARGET_SWITCHES): Add m4-nofpu. | |
12742 | * sh.md (udivsi3, divsi3): Don't use libcalls that use the FPU | |
12743 | unless TARGET_SH3E is set. | |
12744 | * t-sh (MULTILIB_MATCHES): Add m2=m4-nofpu. | |
12745 | ||
12746 | * sh.md (ashlsi3_d, ashlsi3_k): Remove, replace with | |
12747 | (ashlsi3_std): New pattern. | |
12748 | (ashlsi3 expander): Use it for TARGET_SH3. | |
12749 | * sh.c (gen_ashift): Use it instead of ashlsi3_k. | |
12750 | ||
12751 | Tue Aug 1 12:34:21 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
12752 | ||
12753 | * loop.c (canonicalize_condition): Use destination, not source to | |
12754 | determine SET's mode. | |
12755 | ||
12756 | 2000-07-31 Mark Mitchell <mark@codesourcery.com> | |
12757 | ||
12758 | * flow.c (clear_log_links): Fix typo. | |
12759 | ||
12760 | Mon Jul 31 22:19:24 2000 Jeffrey A Law (law@cygnus.com) | |
12761 | ||
12762 | * loop.c (check_dbra_loop): Make change from July 17, 2000 work | |
12763 | on targets which need more than one insn for a compare/cbranch | |
12764 | operation. | |
12765 | ||
12766 | 2000-07-31 Jim Wilson <wilson@cygnus.com> | |
12767 | ||
12768 | * config/ia64/ia64.c (ia64_function_arg): Use alignment not size | |
12769 | when computing offset. | |
12770 | ||
12771 | Mon Jul 31 20:35:50 2000 Denis Chertykov <denisc@overta.ru> | |
12772 | ||
12773 | * genpeep.c (main): Handle DEFINE_PEEPHOLE2. | |
12774 | ||
12775 | 2000-07-31 Geoff Keating <geoffk@cygnus.com> | |
12776 | ||
12777 | * flow.c (clear_log_links): Nuke global_live_at_start and | |
12778 | global_live_at_end data, since if the log_links stuff is invalid | |
12779 | so is global_live_at_*. | |
12780 | ||
12781 | 2000-07-31 Richard Henderson <rth@cygnus.com> | |
12782 | ||
12783 | * tm.texi (Addressing Modes): Clarify PRE/POST_MODIFY descriptions. | |
12784 | ||
12785 | 2000-07-31 Jakub Jelinek <jakub@redhat.com> | |
12786 | ||
12787 | * cpplex.c (_cpp_get_line): If index is 0, return line 0 col 0. | |
12788 | (_cpp_get_token): Don't macro expand a just pasted token if it | |
12789 | was pasted at no_expand_level. | |
12790 | ||
12791 | 2000-07-31 Zack Weinberg <zack@wolery.cumb.org> | |
12792 | ||
12793 | * cppmacro.c (find_param, count_params, save_expansion): | |
12794 | Permit 'defined' as a macro parameter name. | |
12795 | ||
12796 | 2000-07-31 Zack Weinberg <zack@wolery.cumb.org> | |
12797 | ||
12798 | * Makefile.in: Rename cpp to cpp0, tradcpp to tradcpp0, and | |
12799 | xcpp to cpp throughout. | |
12800 | (native): Remove unnecessary dependency on cpp. | |
12801 | ||
12802 | * gcc.c (trad_capable_cpp, C specs): Rename cpp to cpp, | |
12803 | tradcpp to tradcpp0. | |
12804 | (.i spec): Add missing output-file spec to cc1 command line. | |
12805 | * objc/lang-specs.h: Rename cpp to cpp0 and/or tradcpp to tradcpp0. | |
12806 | ||
12807 | 2000-07-31 Zack Weinberg <zack@wolery.cumb.org> | |
12808 | ||
12809 | * c-decl.c (mesg_implicit_function_declaration): Init to -1. | |
12810 | (implicit_decl_warning): New function. | |
12811 | (implicitly_declare): Use it. | |
12812 | * c-typeck.c (build_external_ref): Use implicit_decl_warning | |
12813 | to complain about implicit decls of builtins. | |
12814 | ||
12815 | * c-lang.c (lang_init): Set mesg_implicit_function_declaration | |
12816 | based on pedantic && flag_isoc99, if not already set. | |
12817 | * c-tree.h: Declare mesg_implicit_function_declaration. | |
12818 | Prototype implicit_decl_warning. | |
12819 | ||
12820 | 2000-07-30 Jeffrey D. Oldham <oldham@codesourcery.com> | |
12821 | ||
12822 | * Makefile.in (ssa.o): Updated header files in dependences. | |
12823 | * basic-block.h: Added compute_immediate_postdominators declaration. | |
12824 | * config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Added | |
12825 | definition. | |
12826 | * flow.c (compute_immediate_dominators): Updated comment. | |
12827 | (compute_immediate_postdominators): Added definition. | |
12828 | * rtl.h (HARD_REGISTER_P): Added definition. | |
12829 | * ssa.c: Include additional header files. | |
12830 | (assert): Added definition. | |
12831 | (ssa_rename_to_lookup): Added to reimplement ssa_rename_to to | |
12832 | include select hard registers. | |
12833 | (ssa_rename_to_insert): Likewise. | |
12834 | (ssa_rename_from_initialize): Likewise. | |
12835 | (ssa_rename_from_lookup): Likewise. | |
12836 | (original_register): Likewise. | |
12837 | (ssa_rename_from_insert): Added to reimplement ssa_rename_from to | |
12838 | include select hard reigsters. | |
12839 | (ssa_rename_from_traverse): Likewise. | |
12840 | (ssa_rename_from_free): Likewise. | |
12841 | (ssa_rename_from_print): Likewise. | |
12842 | (ssa_rename_from_print_1): Likewise. | |
12843 | (ssa_rename_from_hash_function): Likewise. | |
12844 | (ssa_rename_from_equal): Likewise. | |
12845 | (ssa_rename_from_delete): Likewise. | |
12846 | (simplify_to_immediate_dominators): Removed in favor of | |
12847 | flow.c:compute_immediate_dominators. | |
12848 | (find_evaluations_1): Modified to work with hard registers. | |
12849 | (insert_phi_node): Likewise. | |
12850 | (insert_phi_nodes): Likewise. | |
12851 | (struct rename_set_data): Updated prev_reg comment. | |
12852 | (create_delayed_rename): Modified to work with hard registers. | |
12853 | (RENAME_NO_RTX): Updated comment. | |
12854 | (apply_delayed_renames): Modified to work with hard registers. | |
12855 | (rename_insn_1): Likewise and added handling of CLOBBER rtls. | |
12856 | (rename_block): Updated to use revised ssa_rename_to interface. | |
12857 | (rename_registers): Updated to use revised ssa_rename_to and | |
12858 | ssa_rename_from interface. | |
12859 | (convert_to_ssa): Revised to use compute_immediate_dominators and | |
12860 | deal with hard registers. | |
12861 | (make_regs_equivalent_over_bad_edges): Modified to work with hard | |
12862 | registers. Added check for illegal unification of hard register. | |
12863 | (make_equivalent_phi_alternatives_equivalent): Modified to work | |
12864 | with hard registers. | |
12865 | (compute_conservative_reg_partition): Likewise. | |
12866 | (coalesce_if_unconflicting): Modified to work with hard registers | |
12867 | and check for conflicting hard registers. | |
12868 | (mark_phi_and_copy_regs): Revised loop to work only on pseudo | |
12869 | registers. | |
12870 | (rename_equivalent_regs_in_insn): Modified to work with hard | |
12871 | registers. | |
12872 | (record_canonical_element_1): Added definition. | |
12873 | (check_hard_regs_in_partition): Added definition. | |
12874 | (convert_from_ssa): Added data structure deallocation and check | |
12875 | for illegal hard register unification. | |
12876 | (conflict_hard_regs_p): Added definition. | |
12877 | * toplev.c (rest_of_compilation): Added comment. | |
12878 | ||
12879 | 2000-07-31 Anthony Green <green@redhat.com> | |
12880 | ||
12881 | * config/ia64/crtbegin.asm (__EH_FRAME_BEGIN__): Align correctly. | |
12882 | ||
12883 | 2000-07-31 Jason McMullan <jmcmullan@linuxcare.com> | |
12884 | ||
12885 | * builtins.c (expand_builtin_apply): Don't defer pop during | |
12886 | argument setup. | |
12887 | ||
12888 | 2000-07-31 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | |
12889 | ||
12890 | * calls.c (combine_pending_stack_adjustment_and_call): Only use | |
12891 | preferred_unit_stack_boundary when it is > 1. | |
12892 | ||
12893 | 2000-07-31 Joseph S. Myers <jsm28@cam.ac.uk> | |
12894 | ||
12895 | * c-common.c (init_function_format_info): Add C99 format functions | |
12896 | in C99 mode. | |
12897 | ||
12898 | * c-decl.c (get_parm_info): Don't treat 'const void', 'volatile | |
12899 | void' or 'register void' as being the special case of 'void' alone | |
12900 | in a parameter list. | |
12901 | ||
12902 | * c-typeck.c (build_c_cast): Change -Wcast-qual pedwarn for | |
12903 | discarding qualifiers into a plain warning. | |
12904 | ||
12905 | 2000-07-31 Kazu Hirata <kazu@hxi.com> | |
12906 | ||
12907 | * combine.c: Fix formatting. | |
12908 | ||
12909 | * h8300.md: Fix formatting. | |
12910 | ||
12911 | * local-alloc.c: Fix formatting. | |
12912 | ||
12913 | * h8300.c (get_shift_alg): Remove the variable alg. | |
12914 | (emit_a_shift): Rearrange code to improve readability. | |
12915 | ||
12916 | * h8300.md (movsi_h8300hs): Rearrange code to improve readability. | |
12917 | ||
12918 | * h8300.h (MODES_TIEABLE_P): Accept a combination of QImode and | |
12919 | HImode on all architectures and a combination of HImode and SImode | |
12920 | on H8/300H and H8S. | |
12921 | ||
12922 | * h8300.c (split_adds_subs): Rearrange code for conciseness. | |
12923 | ||
12924 | Mon Jul 31 12:27:55 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
12925 | ||
12926 | * i386.md (addsi to lea splitter, ashlqi3_1_lea): Fix bugs | |
12927 | in my last checkin. | |
12928 | ||
12929 | Mon Jul 31 10:41:01 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
12930 | ||
12931 | * recog.c (extract_insn): Set operand_mode according to | |
12932 | operand if match_operand is VOIDmode. | |
12933 | ||
12934 | Mon Jul 31 10:36:38 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
12935 | ||
12936 | * recog.c (validate_replace_rtx_1): Do not abort for (nil) expression. | |
12937 | ||
12938 | 2000-07-31 Geoff Keating <geoffk@cygnus.com> | |
12939 | ||
12940 | * c-parse.in (extdefs): Call ggc_collect between external | |
12941 | definitions. | |
12942 | ||
12943 | 2000-07-30 Michael Hayes <mhayes@cygnus.com> | |
12944 | Richard Henderson <rth@cygnus.com> | |
12945 | ||
12946 | * Makefile.in (OBJS): Add doloop.o. | |
12947 | * doloop.c: New file. | |
12948 | ||
12949 | * final.c (insn_current_reference_address): Return 0 before final. | |
12950 | * flags.h (flag_branch_on_count_reg): Fix typos in commentary. | |
12951 | * jump.c (any_uncondjump_p): Likewise. | |
12952 | * loop.c (indirect_jump_in_function): Make static. | |
12953 | (strength_reduce): Call doloop_optimize. | |
12954 | (insert_bct, instrument_loop_bct): Remove. | |
12955 | * loop.h (doloop_optimize): Prototype. | |
12956 | * recog.c (split_all_insns): Split all INSN_P. | |
12957 | * toplev.c (flag_branch_on_count_reg): Default on. | |
12958 | ||
12959 | * config/c4x/c4x.c (c4x_optimization_options): Don't set | |
12960 | flag_branch_on_count_reg. | |
12961 | * config/i386/i386.c (override_options): Likewise. | |
12962 | * config/rs6000/rs6000.c (optimization_options): Likewise. | |
12963 | ||
12964 | * config/i386/i386.md (decrement_and_branch_on_count): Remove. | |
12965 | (doloop_end): New. | |
12966 | (dbra_ge): Remove, as well as all it's splitters. | |
12967 | ||
12968 | * config/rs6000/rs6000.md (decrement_and_branch_on_count): Remove. | |
12969 | (doloop_end): New. | |
12970 | ||
12971 | * config/ia64/ia64-protos.h (ar_lc_reg_operand): Declare. | |
12972 | (ia64_register_move_cost): Declare. | |
12973 | * config/ia64/ia64.c (ar_lc_reg_operand): New. | |
12974 | (struct ia64_frame_info): Add ar_size. | |
12975 | (ia64_compute_frame_size): Set it. | |
12976 | (save_restore_insns): Save and restore ar.lc. | |
12977 | (ia64_register_move_cost): New, moved from header file. Handle | |
12978 | application registers. | |
12979 | (REG_AR_PFS, REG_AR_EC): Remove. Replace with AR_*_REGNUM numbers. | |
12980 | (emit_insn_group_barriers): Special case doloop_end_internal. | |
12981 | (ia64_epilogue_uses): Mark ar.lc live at end. | |
12982 | * config/ia64/ia64.h (AR_CCV_REGNUM, AR_LC_REGNUM): New registers. | |
12983 | (AR_EC_REGNUM, AR_PFS_REGNUM): New registers. | |
12984 | (FIRST_PSEUDO_REGISTER): Make room. | |
12985 | (AR_M_REGNO_P, AR_I_REGNO_P, AR_REGNO_P): New. | |
12986 | (FIXED_REGISTERS, CALL_USED_REGISTERS): Update. | |
12987 | (REG_ALLOC_ORDER): Update. | |
12988 | (HARD_REGNO_MODE_OK): Update. | |
12989 | (REGISTER_NAMES): Update. | |
12990 | (enum reg_class): Add AR_M_REGS and AR_I_REGS. | |
12991 | (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update. | |
12992 | (REGNO_REG_CLASS): Update. | |
12993 | (LEGITIMATE_ADDRESS_DISP): Displacement range is 9 bits, not 10. | |
12994 | (REGISTER_MOVE_COST): Move out of line. | |
12995 | (PREDICATE_CODES): Update. | |
12996 | * config/ia64/ia64.md (movdi patterns): Handle ar register classes. | |
12997 | (addsi3_plus1_alt, adddi3_plus1_alt): New. | |
12998 | (shladd_elim splitter): Allow constants in the predicate. | |
12999 | (doloop_end, doloop_end_internal): New. | |
13000 | ||
13001 | 2000-07-30 Richard Henderson <rth@cygnus.com> | |
13002 | ||
13003 | * genattrtab.c (struct insn_def): Add lineno member. | |
13004 | (struct insn_ent): Likewise. | |
13005 | (struct attr_desc): Likewise. | |
13006 | (struct delay_desc): Likewise. | |
13007 | (struct function_unit_op): Likewise. | |
13008 | (struct function_unit): Likewise. | |
13009 | (check_attr_value): Use message_with_line. | |
13010 | (check_defs): Likewise. | |
13011 | (expand_units): Likewise. | |
13012 | (check_attr_test): Take a lineno argument. | |
13013 | (gen_attr): Likewise. | |
13014 | (gen_insn): Likewise. | |
13015 | (gen_delay): Likewise. | |
13016 | (gen_unit): Likewise. | |
13017 | (main): Give it to them. | |
13018 | (convert_set_attr_alternative): Take an insn_def argument | |
13019 | instead of num_alt and insn_index. | |
13020 | (convert_set_attr): Likewise. | |
13021 | (write_test_expr): Protect INSN_ADDRESSES load | |
13022 | with INSN_ADDRESSES_SET_P. | |
13023 | ||
13024 | 2000-07-30 Richard Henderson <rth@cygnus.com> | |
13025 | ||
13026 | * flow.c (init_propagate_block_info): Use pc_set. | |
13027 | ||
13028 | Sun Jul 30 20:58:34 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
13029 | ||
13030 | * i386.md (*lea_general_[123]) New insns and splits. | |
13031 | (addsi3 to lea splitter): Handle other modes too. | |
13032 | (shlsi3 to lea splitter): Likewise. | |
13033 | (addhi_1_lea, shlhi_1_lea): New patterns. | |
13034 | (addhi_1, shlhi_1): Conditionize by PARTIAL_REG_STALL. | |
13035 | ||
13036 | Sun Jul 30 20:51:25 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
13037 | ||
13038 | * recog.c (general_operand, nonimmediate_operand): Accept | |
13039 | any mode for VOIDmode CONSTANT_P operands. | |
13040 | ||
13041 | Sun Jul 30 20:42:21 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
13042 | ||
13043 | * gcse.c (try_replace_reg): Use validate_replace_rtx_subexp | |
13044 | instead of replace_rtx. | |
13045 | * recog.c (validate_replace_rtx_subexp): New function. | |
13046 | * recog.h (validate_replace_rtx_subexp): Declare. | |
13047 | ||
13048 | Sun Jul 30 20:38:26 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
13049 | ||
13050 | * combine.c (simplify_set, make_extraction, make_compound_operation | |
13051 | make_field_assignment): Use full mask instead of GET_MODE_MASK (mode) | |
13052 | as force_to_mode argument. | |
13053 | ||
13054 | Sun Jul 30 20:30:41 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
13055 | ||
13056 | * combine.c (if_then_else_cond): Be sure that mode fits in | |
13057 | HOST_WIDE_INT. | |
13058 | ||
13059 | Sun Jul 30 20:27:36 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
13060 | ||
13061 | * combine.c (record_promoted_value): Allow bitsize of mode | |
13062 | to be equivalent to HOST_BITS_PER_WISE_INT. | |
13063 | ||
13064 | Sun Jul 30 20:25:21 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
13065 | ||
13066 | * function.c (assign_stack_local_1, assign_stack_temp_for_type): | |
13067 | Do not call gen_mode_alignment when mode is BLKmode. | |
13068 | ||
13069 | Sun Jul 30 20:21:54 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
13070 | ||
13071 | * loop.c (express_from_1): Fix call of simplify_gen_binary. | |
13072 | ||
13073 | Sun Jul 30 20:08:37 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
13074 | ||
13075 | * simplify-rtx.c (simplify_relational_operation): Verify that mode == | |
13076 | VOIDmode implies both operands to be VOIDmode. | |
13077 | (simplify_ternary_operation): Compute properly the mode of comparison. | |
13078 | * combine.c (combine_simplify_rtx): Likewise. | |
13079 | ||
13080 | 2000-07-25 Michael Hayes <mph@paradise.net.nz> | |
13081 | ||
13082 | * basic-block.h (struct loops): New field rc_order. | |
13083 | * flow.c (flow_loops_cfg_dump): Dump rc_order if computed. | |
13084 | (flow_loops_free): Free rc_order. | |
13085 | (flow_depth_first_order_compute): New parameter rc_order. | |
13086 | (flow_loops_find): Allocate rc_order and swap usage with | |
13087 | dfs_order. | |
13088 | ||
13089 | 2000-07-30 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | |
13090 | Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
13091 | ||
13092 | * config/c4x/c4x.md (set_ldp_prologue): Add for RTL prologue/epilogue. | |
13093 | (push_st, push_dp, pop_st, pop_dp, popqi_unspec): Likewise. | |
13094 | (nodb_call, return_from_epilogue): Likewise. | |
13095 | (return_from_interrupt_epilogue, prologue, epilogue): Likewise. | |
13096 | * config/c4x/c4x.c (c4x_expand_prologue, c4x_expand_eplilogue): Add. | |
13097 | * config/c4x/c4x-protos.h (c4x_interrupt_function_p): Add. | |
13098 | (c4x_expand_prologue, c4x_expand_epilogue): Likewise. | |
13099 | (c4x_valid_type_attribute_p): Likewise. | |
13100 | * config/c4x/c4x.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete. | |
13101 | (FUNCTION_BLOCK_PROFILER_EXIT): Convert to emit RTL. | |
13102 | ||
13103 | 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
13104 | ||
13105 | * config/c4x/c4x.c (c4x_emit_move_sequence): Use loadqi_big_constant | |
13106 | and loadhi_big_constant if applicable. | |
13107 | * config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant): Tweak | |
13108 | and add new splitter.s | |
13109 | ||
13110 | 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
13111 | ||
13112 | * config/c4x/c4x.c (c4x_rptb_insert): Make more robust. | |
13113 | ||
13114 | 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
13115 | ||
13116 | * config/c4x/c4x.h (ASM_FORMAT_PRIVATE_NAME): Output $ in label. | |
13117 | ||
13118 | 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
13119 | ||
13120 | * config/c4x/c4x.h (IS_XXX_REGNO): Rewrite to avoid unsigned warnings. | |
13121 | ||
13122 | 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
13123 | ||
13124 | * config/c4x/libgcc.S (divqf3): Improve accuracy. | |
13125 | ||
13126 | 2000-07-27 Mark Mitchell <mark@codesourcery.com> | |
13127 | ||
13128 | Put phi nodes after NOTE_INSN_BASIC_BLOCK. | |
13129 | * rtl.h (NOTE_INSN_BASIC_BLOCK_P): New macro. | |
13130 | * bb-reorder.c (get_next_bb_note): Use NOTE_INSN_BASIC_BLOCK_P. | |
13131 | (get_prev_bb_note): Likewise. | |
13132 | (remove_scope_notes): Likewise. | |
13133 | * flow.c (commit_one_edge_insertion): Likewise. | |
13134 | (merge_blocks_nomove): Likewise. | |
13135 | (verify_flow_info): Likewise. | |
13136 | * gcse.c (insert_insn_end_bb): Likewise. | |
13137 | * reg-stack.c (emit_swap_insn): Likewise. | |
13138 | * ssa.c (first_insn_after_basic_block_note): New function. | |
13139 | (insert_phi_node): Use it. | |
13140 | (rename_block): Likewise. | |
13141 | (eliminate_phi): Likewise. | |
13142 | (make_regs_equivalent_over_bad_edges): Likewise. | |
13143 | (make_equivalent_phi_alternatives_equivalent): Likewise. | |
13144 | (for_each_successor_phi): Likewise. | |
13145 | (convert_from_ssa): Modify phi-node deletion algorithm. | |
13146 | ||
13147 | 2000-07-29 Andreas Jaeger <aj@suse.de> | |
13148 | ||
13149 | * configure.in (mips*-*-linux*): Use mips*el to check for little | |
13150 | endian MIPS, add tmake_file. | |
13151 | ||
13152 | * config/mips/linux.h (TARGET_VERSION): Use GNU/Linux. | |
13153 | (SUBTARGET_CPP_SPEC): Default MIPS_ISA is 1. | |
13154 | Patches by Maciej W. Rozycki <macro@ds2.pg.gda.pl>. | |
13155 | ||
13156 | 2000-07-28 Richard Henderson <rth@cygnus.com> | |
13157 | ||
13158 | * config/ia64/ia64.c (ia64_print_operand): Fix typos. | |
13159 | Sign extend mode size before negating. | |
13160 | ||
13161 | 2000-07-28 Richard Henderson <rth@cygnus.com> | |
13162 | ||
13163 | * emit-rtl.c (gen_lowpart_common): Add missing 'c' variable. | |
13164 | ||
13165 | 2000-07-28 Bernd Schmidt <bernds@cygnus.co.uk> | |
13166 | ||
13167 | * cse.c (canon_hash): Handle PRE_MODIFY/POST_MODIFY. | |
13168 | (cse_insn): Likewise. | |
13169 | (addr_affects_sp_p): Likewise. | |
13170 | * expr.c (move_by_pieces): Likewise. | |
13171 | (clear_by_pieces): Likewise. | |
13172 | * gcse.c (oprs_unchanged_p): Likewise. | |
13173 | * haifa-sched.c (sched_analyze_2): Likewise. | |
13174 | * recog.c (offsettable_address_p): Likewise. | |
13175 | * regclass.c (record_address_regs): Likewise. | |
13176 | * reload.c (find_reusable_reload): Likewise. | |
13177 | (push_reload): Likewise. | |
13178 | (operands_match_p): Likewise. | |
13179 | (decompose): Likewise. | |
13180 | (find_reloads_address_1): Likewise. | |
13181 | (find_inc_amount): Likewise. | |
13182 | * reload1.c (elimination_effects): Likewise. | |
13183 | * resource.c (mark_set_resources): Likewise. | |
13184 | * flow.c (attempt_auto_inc): New function; mostly broken out | |
13185 | of find_auto_inc. | |
13186 | (find_auto_inc): Split into two functions and enhanced to | |
13187 | generate POST_MODIFY. | |
13188 | * rtl.def (PRE_MODIFY, POST_MODIFY): Adjust comment. | |
13189 | * rtl.h (count_all_occurrences): Declare. | |
13190 | (HAVE_{PRE,POST}_MODIFY_{DISP,REG}): Provide default of 0 if not | |
13191 | defined. | |
13192 | * rtlanal.c (count_all_occurrences): New function. | |
13193 | * tm.texi (HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_DISP, | |
13194 | HAVE_POST_MODIFY_REG, HAVE_PRE_MODIFY_REG): Document. | |
13195 | ||
13196 | * config/ia64/ia64-protos.h (destination_operand): Declare. | |
13197 | * config/ia64/ia64.c (destination_operand): New function. | |
13198 | (ia64_print_operand): Handle POST_MODIFY. | |
13199 | (rtx_needs_barrier): Likewise. | |
13200 | * config/ia64/ia64.h (HAVE_POST_MODIFY_DISP): Define to 1. | |
13201 | (HAVE_POST_MODIFY_REG): Define to 1. | |
13202 | (MAX_REGS_PER_ADDRESS): Change to 2. | |
13203 | (GO_IF_LEGITIMATE_ADDRESS): Accept POST_MODIFY too. | |
13204 | (LEGITIMATE_ADDRESS_REG): New helper macro. | |
13205 | (LEGITIMATE_ADDRESS_DISP): Likewise. | |
13206 | (PREDICATE_CODES): Add entry for destination_operand. | |
13207 | * config/ia64/ia64.md (all mov patterns): Use destination_operand | |
13208 | predicate for operand 0. | |
13209 | ||
13210 | 2000-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
13211 | ||
13212 | * dwarf2out.c: Indent #error directive. | |
13213 | ||
13214 | * gbl-ctors.h: Fix typo in comment. | |
13215 | (__do_global_ctors): Prototype. | |
13216 | ||
13217 | * gcse.c (record_one_set, pre_delete): Remove unused variables. | |
13218 | ||
13219 | * rs6000.c (rs6000_maybe_dead): Delete unused prototype. | |
13220 | (print_operand): Initialize variable `t'. | |
13221 | ||
13222 | 2000-07-27 Aldy Hernandez <aldyh@redhat.com> | |
13223 | ||
13224 | * config/arm/arm.md ("call_value"): removed constraints. | |
13225 | Constraints are ignored in expanders. | |
13226 | (*call_value_reg): split =rf into various constraints. | |
13227 | (*call_value_mem): same | |
13228 | (*call_value_symbol): same | |
13229 | (*sibcall_value_insn): same | |
13230 | ||
13231 | 2000-07-28 Philipp Thomas <pthomas@suse.de> | |
13232 | ||
13233 | * install.texi (--enable-nls): Change the description of the NLS | |
13234 | related configure options to match the current state. | |
13235 | (--with-included-gettext): Likewise. | |
13236 | (--enable-maintainer-mode): New description added. | |
13237 | * extend.texi (-fstrict-prototype): Add missing '.'. | |
13238 | ||
13239 | 2000-07-27 Jim Wilson <wilson@cygnus.com> | |
13240 | ||
13241 | * dwarf2out.c (gen_decl_die): Don't call gen_abstract_function if | |
13242 | DECL_INITIAL (decl) == NULL_TREE. | |
13243 | ||
13244 | 2000-07-27 Alexandre Oliva <aoliva@redhat.com> | |
13245 | ||
13246 | * Makefile.in (INSN_ATTR_H): New macro. Replace all dependencies | |
13247 | on insn-attr.h with it. | |
13248 | * genattr.c: Generate `#include "insn-addr.h"' if HAVE_ATTR_length. | |
13249 | * insn-addr.h: New header. | |
13250 | (insn_addresses_): Renamed from insn_addresses. | |
13251 | (INSN_ADDRESSES_DEFN, INSN_ADDRESSES, INSN_ADDRESSES_ALLOC, | |
13252 | INSN_ADDRESSES_FREE, INSN_ADDRESSES_SET_P, INSN_ADDRESSES_SIZE, | |
13253 | INSN_ADDRESSES_NEW): New macros. | |
13254 | * genattrtab.c (write_test_expr): Use new macros. | |
13255 | * final.c (insn_addresses, init_insn_lengths): Likewise. | |
13256 | (align_fuzz, shorten_branches): Likewise. | |
13257 | (final): Likewise. Do not reject new insns if their addresses | |
13258 | have been added to INSN_ADDRESSES. | |
13259 | * config/arm/arm.c, config/avr/avr.c: Use new macros. | |
13260 | * config/h8300/h8300.c, config/i370/i370.c: Likewise. | |
13261 | * config/m88k/m88k.c, config/pa/pa.c, config/pa/pa.md: Likewise. | |
13262 | * config/sparc/sparc.c, config/sparc/sparc.md: Likewise. | |
13263 | * config/sh/sh.c: Likewise. | |
13264 | (output_branchy_insn): Use INSN_ADDRESSES_NEW. | |
13265 | ||
13266 | * Makefile.in (bootstrap): Move -BstageN/ back to the beginning. | |
13267 | ||
13268 | 2000-07-27 Andrew Cagney <cagney@b1.cygnus.com> | |
13269 | ||
13270 | * gcc.c (struct prefix_list): Add member priority. | |
13271 | (enum path_prefix_priority): Declare. | |
13272 | (add_prefix): Replace ``first'' with ``priority''. Append new | |
13273 | entry but keep list in priority order. | |
13274 | (process_command): Update. Pass PREFIX_PRIORITY_B_OPT or | |
13275 | PREFIX_PRIORITY_LAST to add_prefix. | |
13276 | (process_command): Move include kludge - foo/stageN - to before | |
13277 | foo/include. | |
13278 | ||
13279 | 2000-07-27 Jason Merrill <jason@redhat.com> | |
13280 | ||
13281 | * dwarf2out.c (gen_typedef_die): Abort if we get identical | |
13282 | TREE_TYPE and DECL_ORIGINAL_TYPE on a typedef. | |
13283 | ||
13284 | 2000-07-27 RodneyBrown <RodneyBrown@pmsc.com> | |
13285 | ||
13286 | * expr.h (get_alias_set, lang_get_alias_set): Delete prototypes. | |
13287 | * tree.h (get_alias_set, lang_get_alias_set): Prototype. | |
13288 | ||
13289 | 2000-07-27 Joseph S. Myers <jsm28@cam.ac.uk> | |
13290 | ||
13291 | * c-decl.c (finish_function): Don't treat 'main' specially unless | |
13292 | flag_hosted. In C99 mode, return 0 from 'main' unless | |
13293 | DEFAULT_MAIN_RETURN is otherwise defined. | |
13294 | ||
13295 | * c-decl.c (store_parm_decls): In C99 mode, pedwarn for function | |
13296 | parameters defaulting to int in an old-style function definition. | |
13297 | ||
13298 | 2000-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
13299 | ||
13300 | * c-parse.in (string): For -Wtraditional, warn about string | |
13301 | concatenation only once per line. | |
13302 | ||
13303 | Thu Jul 27 09:25:17 2000 Akiko Matsushita <matusita@sra.co.jp> | |
13304 | ||
13305 | * pa/x-pa-hpux: Add -D_HIUX_SOURCE to FIXPROTO_DEFINES | |
13306 | for HI-UX/WE2 systems. | |
13307 | ||
13308 | 2000-07-24 Bruce Korb <bkorb@gnu.org> | |
13309 | ||
13310 | * fixincl/fixfixes.c(emit_gnu_type): rewrote to *rely* on GCC | |
13311 | defining the __xxx_TYPE__ macros. | |
13312 | * fixincl/fixincl.tpl(gnu_type_map): now obsolete | |
13313 | * fixincl/fixlib.h: don't need to include "tm.h" anymore | |
13314 | * fixincl/inclhack.def(type_map): now obsolete | |
13315 | ||
13316 | Thu Jul 27 11:54:17 2000 Andrew Cagney <cagney@b1.cygnus.com> | |
13317 | ||
13318 | * cpp.texi: Append a trailing full-stop to xrefs where needed. | |
13319 | ||
13320 | 2000-07-26 Dave Pitts <dpitts@cozx.com> | |
13321 | ||
13322 | * i370.c: Remove LONGEXTERNAL ifdef from alias_number. Added hash | |
13323 | routine constants. | |
13324 | (mvs_hash_alias): New function. | |
13325 | (mvs_add_alias): Change argument spacing. | |
13326 | (mvs_need_alias): Change aliasing criteria. Added documentation. | |
13327 | (mvs_get_alias): Change to use hashed name. The hashed name prevents | |
13328 | CSECT name collisions. | |
13329 | (mvs_check_alias): Likewise. | |
13330 | (handle_pragma): Change documentation. | |
13331 | * i370.md (mulsi3, divsi3, udivsi3, modsi3, umodsi3): Changed gen_rtx | |
13332 | mode from SImode to DImode. | |
13333 | (iorhi3): Changed LTORG size for insn. | |
13334 | ||
13335 | Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com> | |
13336 | ||
13337 | * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a | |
13338 | mem if the address is a mode_dependent_address_p. | |
13339 | ||
13340 | 2000-07-26 Kazu Hirata <kazu@hxi.com> | |
13341 | ||
13342 | * h8300.c (print_operand): Print ":8" when the 'R' operand is | |
13343 | suitable for 8-bit absolute. | |
13344 | * h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): New. | |
13345 | (OK_FOR_U): Add a case for the 8-bit constant address on the | |
13346 | H8/300H. | |
13347 | ||
13348 | Wed Jul 26 19:26:21 2000 Hans-Peter Nilsson <hp@axis.com> | |
13349 | ||
13350 | * varasm.c (assemble_variable) [! defined(ASM_OUTPUT_ALIGNED_COMMON) | |
13351 | && ! defined (ASM_OUTPUT_ALIGNED_BSS]): Also test | |
13352 | ! defined(ASM_OUTPUT_ALIGNED_DECL_COMMON) before complaining about | |
13353 | lack of implemented alignment. | |
13354 | ||
13355 | 2000-07-26 Geoffrey Keating <geoffk@cygnus.com> | |
13356 | ||
13357 | * emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETIC]: Handle | |
13358 | cross-compiling between 64-bit and 32-bit machines. | |
13359 | ||
13360 | 2000-07-27 Richard Henderson <rth@cygnus.com> | |
13361 | ||
13362 | * config/ia64/ia64.md (movqicc_astep, movqi_internal_astep): New. | |
13363 | (movhicc_astep, movhi_internal_astep): New. | |
13364 | (movsicc_astep, movsi_internal_astep): New. | |
13365 | (movdicc_astep, movdi_internal_astep): New. | |
13366 | (movsfcc_astep, movsf_internal_astep): New. | |
13367 | (movdfcc_astep, movdf_internal_astep): New. | |
13368 | (movxfcc_astep, movxf_internal_astep): New. | |
13369 | (cmovdi_internal_astep, cmovsi_internal_astep): New. | |
13370 | Unify the cmov[ds]i splitters. | |
13371 | ||
13372 | 2000-07-27 Rodney Brown <RodneyBrown@pmsc.com> | |
13373 | ||
13374 | * real.c (asctoeg): Rename `error' label to unexpected_char_error | |
13375 | ||
13376 | 2000-07-26 Nick Clifton <nickc@cygnus.com> | |
13377 | ||
13378 | * config/arm/vxarm.h (CPP_PREDEFINES): Remove definition of | |
13379 | __arm__. Allow it to be defined by CPP_ISA_SPEC in arm.h | |
13380 | ||
13381 | * dwarf2out.c (dwarf2out_frame_debug_expr): Accept SEQUENCE as | |
13382 | well as PARALLEL blocks in FRAME_RELATED_EXPR notes. | |
13383 | ||
13384 | 2000-07-26 Alexandre Oliva <aoliva@redhat.com> | |
13385 | ||
13386 | * c-decl.c (finish_enum): Convert enumerations that fit in an | |
13387 | `int' to `int'. | |
13388 | (build_enumerator): In pedantic mode, cast to `int' those that | |
13389 | don't. | |
13390 | ||
13391 | 2000-07-25 Rodney Brown <RodneyBrown@pmsc.com> | |
13392 | ||
13393 | * config/alpha/osf.h (SIZE_TYPE, PTRDIFF_TYPE): New. | |
13394 | ||
13395 | Tue Jul 25 23:08:33 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
13396 | ||
13397 | * sh.md (cmpgtdi_t): Must be split. | |
13398 | (cmpgtdi_t+1): New splitter. | |
13399 | ||
13400 | 2000-07-25 Zack Weinberg <zack@wolery.cumb.org> | |
13401 | ||
13402 | * cpplib.c (_cpp_check_directive): Issue -Wtraditional | |
13403 | warnings for indented directives even if we are skipping. | |
13404 | ||
13405 | 2000-07-25 Nathan Sidwell <nathan@codesourcery.com> | |
13406 | ||
13407 | * invoke.texi (strict-prototypes): Remove. | |
13408 | * extend.texi (Deprecated Features): Add strict-prototypes. | |
13409 | (Backwards Compatibility): New node. | |
13410 | ||
13411 | 2000-07-25 Jakub Jelinek <jakub@redhat.com> | |
13412 | ||
13413 | * config/i386/i386.md (andsi_1+1): Allow HImode. | |
13414 | (andsi_1+2): Require q_regs_operand. | |
13415 | ||
13416 | 2000-07-25 Jakub Jelinek <jakub@redhat.com> | |
13417 | ||
13418 | * config/i386/i386.md (call_pop): Check operands[0], | |
13419 | not operands[1]. Only check SYMBOL_REF_FLAG for a SYMBOL_REF. | |
13420 | (call): Likewise. | |
13421 | (call_value_pop): Only check SYMBOL_REF_FLAG for a SYMBOL_REF. | |
13422 | (call_value): Likewise. | |
13423 | ||
13424 | 2000-07-25 Zack Weinberg <zack@wolery.cumb.org> | |
13425 | ||
13426 | * toplev.c (pipe_closed): Delete. | |
13427 | (crash_signal): New. Generate ICE for a fatal signal. | |
13428 | (float_signal): Call crash_signal outside a float-handler | |
13429 | block, not abort. | |
13430 | (main): Install crash_signal as handler for core-dumping signals. | |
13431 | ||
13432 | 2000-07-25 David Edelsohn <edelsohn@gnu.org> | |
13433 | ||
13434 | * rs6000.c (print_operand, case 'T'): New case. | |
13435 | ||
13436 | * rs6000.md (call_indirect_aix32): Convert to expander of | |
13437 | scheduled instructions. | |
13438 | (call_indirect_aix64): Likewise. | |
13439 | (call_value_indirect_aix{32,64}): Likewise. | |
13440 | (call, call_value): Invoke expanders for AIX. Fall through to | |
13441 | matchers for SysV. | |
13442 | (call_indirect_nonlocal_aix{32,64}): New patterns (ctr and lr). | |
13443 | (call_value_indirect_nonlocal_aix{32,64}): New patterns. | |
13444 | (call_nonlocal_aix32): Remove CALL_LONG alternative. Operand 1 | |
13445 | only "g" constraint. | |
13446 | (call_nonlocal_aix64): Likewise. | |
13447 | (call_value_nonlocal_aix{32,64}): Likewise. | |
13448 | (call_nonlocal_sysv): New pattern for ctr, lr, and symbolic | |
13449 | operands. | |
13450 | (call_value_nonlocal_sysv): New pattern. | |
13451 | (indirect_jump{si,di}): Use new 'T' modifier. | |
13452 | (tablejump{si,di} matchers): Likewise. | |
13453 | (return_internal_{si,di}): Likewise. | |
13454 | (return_eh_{si,di}): Likewise. | |
13455 | ||
13456 | 2000-07-24 Richard Henderson <rth@cygnus.com> | |
13457 | ||
13458 | * config/ia64/ia64.c (ia64_print_operand): Handle "%,". | |
13459 | * config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): Likewise. | |
13460 | * config/ia64/ia64.md (movdi_internal): Use it. | |
13461 | ||
13462 | 2000-07-24 Zack Weinberg <zack@wolery.cumb.org> | |
13463 | ||
13464 | * cppexp.c: Warn about unary + if -Wtraditional. | |
13465 | * cpplex.c (lex_line): Always set BOL on the first token of a line. | |
13466 | ||
13467 | 2000-07-24 Michael Meissner <meissner@redhat.com> | |
13468 | ||
13469 | * d30v.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Delete references to | |
13470 | unsupported macro. | |
13471 | ||
13472 | 2000-07-24 Nick Clifton <nickc@cygnus.com> | |
13473 | ||
13474 | * config/arm/arm.c (emit_multi_reg_push): Generate a | |
13475 | REG_FRAME_RELEATED_NOTE that is compatible with the code in | |
13476 | dwarf2out_debug_frame_expr. | |
13477 | ||
13478 | 2000-07-24 Jason Merrill <jason@redhat.com> | |
13479 | ||
13480 | * dwarf2out.c: Complain if DWARF2_DEBUGGING_INFO is defined without | |
13481 | UNALIGNED_INT_ASM_OP. | |
13482 | (def_cfa_1): Don't emit def_cfa_register or def_cfa_offset to adjust | |
13483 | a location expression. | |
13484 | (dwarf2out_frame_debug_expr): Lose cfa_old_reg stuff. Don't | |
13485 | assume indirect access if we're saving the CFA address exactly. | |
13486 | ||
13487 | * Makefile.in (bootstrap): Move -BstageN/ to the end. | |
13488 | ||
13489 | 2000-07-24 Jakub Jelinek <jakub@redhat.com> | |
13490 | ||
13491 | * tradcpp.c (main): Update max_include_len for cpp_include_defaults | |
13492 | as well. | |
13493 | ||
13494 | 2000-07-24 Michael Meissner <meissner@redhat.com> | |
13495 | ||
13496 | * invoke.texi (D30V Options): Add d30v options. | |
13497 | ||
13498 | Mon Jul 24 02:04:52 2000 Jeffrey A Law (law@cygnus.com) | |
13499 | ||
13500 | * gcse.c (alloc_pre_mem): Do not alloc TRANSPOUT, it is not | |
13501 | needed by our gcse pass anymore. | |
13502 | (free_pre_mem): Corresponding changes. | |
13503 | (compute_pre_data): Do not call compute_transpout anymore. | |
13504 | ||
13505 | * gcse.c (alloc_avail_expr_mem): Kill unused 'u_bitmap'. | |
13506 | (free_avail_expr_mem, alloc_pre_mem, free_pre_mem): Corresponding | |
13507 | changes. | |
13508 | ||
13509 | * gcse.c (free_pre_mem): Do not free ANTLOC and AE_KILL here. | |
13510 | (compute_pre_data): Do it here instead. | |
13511 | ||
13512 | * gcse.c (alloc_pre_mem, free_pre_mem): Delete unused bitmap | |
13513 | 'temp_bitmap'. | |
13514 | (pre_delete): Corresponding changes. | |
13515 | ||
13516 | 2000-07-23 Mark Mitchell <mark@codesourcery.com> | |
13517 | ||
13518 | * c-semantics.c (make_rtl_for_local_static): Use TREE_ASM_WRITTEN | |
13519 | to figure out whether or not a variable has already been emitted. | |
13520 | ||
13521 | Sun Jul 23 14:49:12 2000 Jason Eckhardt <jle@cygnus.com> | |
13522 | ||
13523 | * config/i860/i860.md (untyped_call expander): Use GEN_CALL | |
13524 | instead of gen_call. | |
13525 | ||
13526 | Sun Jul 23 11:52:03 2000 George Helffrich (george@gly.bris.ac.uk) | |
13527 | ||
13528 | * dbxout.c (dbxout_type, case COMPLEX_TYPE): Fix length field in stab. | |
13529 | ||
13530 | 2000-07-23 Kazu Hirata <kazu@hxi.com> | |
13531 | ||
13532 | * h8300.c: Fix formatting. | |
13533 | ||
13534 | 2000-07-23 Joseph S. Myers <jsm28@cam.ac.uk> | |
13535 | ||
13536 | * c-typeck.c (c_expand_start_case): Change -Wtraditional pedwarn | |
13537 | for `long' switch expression into a plain warning. | |
13538 | ||
13539 | * c-lex.c (init_lex): Keep the "inline" keyword in C99 mode. | |
13540 | (yylex): Don't pedwarn for "inline" in C99 mode. | |
13541 | ||
13542 | * bitmap.c (debug_bitmap_file): Cast pointers to PTR for printing | |
13543 | with %p. | |
13544 | * ggc-page.c (debug_print_page_list, alloc_page, free_page, | |
13545 | ggc_alloc): Likewise. | |
13546 | * bb-reorder.c (dump_scope_forest_1): Likewise. | |
13547 | ||
13548 | 2000-07-22 Aldy Hernandez <aldyh@redhat.com> | |
13549 | ||
13550 | * reload.c (find_reloads_toplev): Add new parameter | |
13551 | "address_reloaded". | |
13552 | (find_reloads): Add new parameter to find_reloads_toplev calls. | |
13553 | ||
13554 | 2000-07-22 Jeffrey Oldham <oldham@codesourcery.com> | |
13555 | ||
13556 | * collect2.c (main): Typo fixed. | |
13557 | * diagnostic.c: Typo fixed. | |
13558 | * dwarf2out.c (dwarf2out_frame_debug_expr): Typo fixed. | |
13559 | * eh-common.h: Typo fixed. | |
13560 | * emit-rtl.c (start_sequence): Typo fixed. | |
13561 | * flow.c (find_label_refs): Typo fixed. | |
13562 | (calculate_global_regs_live): Typo fixed. | |
13563 | (mark_regno_cond_dead): Typo fixed. | |
13564 | (create_edge_list): Typos fixed. | |
13565 | (verify_edge_list): Typo fixed. | |
13566 | * ggc-common.c (ggc_mark_rtx_children): Typo fixed. | |
13567 | * loop.c (strength_reduce): Typo in function name fixed. | |
13568 | * rtl.h: Added comments. Typo in function name fixed. | |
13569 | * rtlanal.c: Typo in function name fixed. | |
13570 | (insn_dependant_p): Rename to ... | |
13571 | (insn_dependent_p): ... this. | |
13572 | (computed_jumo_p): Typo fixed. | |
13573 | ||
13574 | 2000-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
13575 | ||
13576 | * system.h (__FUNCTION__): Wrap definition in #ifndef. | |
13577 | ||
13578 | 2000-07-21 David Edelsohn <edelsohn@gnu.org> | |
13579 | ||
13580 | * rs6000.h (SIZE_TYPE): Define. | |
13581 | ||
13582 | 2000-07-21 Mark Mitchell <mark@codesourcery.com> | |
13583 | ||
13584 | * ssa.c (rename_insn_1): Don't rename registers that are | |
13585 | CLOBBERed. | |
13586 | ||
13587 | 2000-07-21 Zack Weinberg <zack@wolery.cumb.org> | |
13588 | ||
13589 | * diagnostic.c (trim_filename, fancy_abort): Moved here from | |
13590 | rtl.c. | |
13591 | (fatal_function, set_fatal_function): Removed. | |
13592 | (fatal): Don't prepare for or call the fatal_function. | |
13593 | (diagnostic_lock, error_recursion): New. | |
13594 | (diagnostic_for_decl, report_diagnostic): Guard against | |
13595 | re-entering the error reporting routines. | |
13596 | (fancy_abort): Assume function is not NULL. | |
13597 | ||
13598 | * errors.c (fancy_abort): New. Assume function is not NULL. | |
13599 | * tradcpp.c (fancy_abort): Assume function is not NULL. | |
13600 | ||
13601 | * system.h: Provide default definition of __FUNCTION__. | |
13602 | * rtl.h: Use __FUNCTION__ not __PRETTY_FUNCTION__ throughout. | |
13603 | Always use __FUNCTION__ in definition of abort. | |
13604 | * tree.h: Likewise. | |
13605 | * varray.h: Likewise. | |
13606 | * toplev.h: Likewise. Don't prototype set_fatal_function. | |
13607 | ||
13608 | 2000-07-20 Geoff Keating <geoffk@cygnus.com> | |
13609 | ||
13610 | * config/rs6000/aix43.h (CPP_SPEC): Define __LONG_MAX__ correctly | |
13611 | in 64-bit mode. | |
13612 | * glimits.h: Don't do #if defined for ARCH_PPC. | |
13613 | ||
13614 | * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): All | |
13615 | constants of size no larger than a pointer should go in the TOC. | |
13616 | Add 'MODE' parameter. | |
13617 | (LEGITIMIZE_RELOAD_ADDRESS): Add MODE parameter to | |
13618 | ASM_OUTPUT_SPECIAL_POOL_ENTRY_P. | |
13619 | (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise. | |
13620 | * config/rs6000/aix.h (SELECT_RTX_SECTION): Likewise. | |
13621 | * config/rs6000/netware.h (SELECT_RTX_SECTION): Likewise. | |
13622 | * config/rs6000/rs6000.c (constant_pool_expr_1): Likewise. | |
13623 | (rs6000_legitimize_address): Likewise. | |
13624 | (rs6000_emit_move): Likewise. | |
13625 | (rs6000_select_rtx_section): Likewise. | |
13626 | (output_toc): Deal properly with outputting small constants like | |
13627 | HImode, and SFmode in 32-bit mode, and DFmode in 64-bit mode. | |
13628 | * config/rs6000/sysv4.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Add | |
13629 | MODE parameter. Put small constants in the TOC. | |
13630 | ||
13631 | * config/rs6000/rs6000.c (easy_fp_constant_p): All constants are | |
13632 | easy in SImode. | |
13633 | (rs6000_emit_move): When reload calls us with an illegitimate | |
13634 | address, exit early. Move the change_address calls to one place | |
13635 | at the end of the routine. Merge the SImode and DImode expanders. | |
13636 | When called by reload to put an integer into a FP register, force | |
13637 | it to memory. | |
13638 | ||
13639 | * config/rs6000/rs6000.c (struct toc_hash_struct): Add 'key_mode' | |
13640 | field. | |
13641 | (rs6000_hash_constant): Hash mode too. | |
13642 | (toc_hash_function): Allow for key_mode. | |
13643 | (toc_hash_eq): Structures are different if key_mode differs. | |
13644 | (output_toc): Add 'mode' parameter. Save key_mode. | |
13645 | * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): | |
13646 | Pass 'mode' parameter. | |
13647 | * config/rs6000/rs6000-protos.h (output_toc): Add 'mode' param. | |
13648 | ||
13649 | * config/rs6000/rs6000.c (output_toc): Use RS6000_OUTPUT_BASENAME | |
13650 | for vtable references. | |
13651 | ||
13652 | * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): If we have a | |
13653 | choice, don't put integer values in FP regs. | |
13654 | ||
13655 | Thu Jul 20 18:13:52 2000 Jeffrey A Law (law@cygnus.com) | |
13656 | ||
13657 | * flow.c (verify_flow_info): Revamp code to verify that the | |
13658 | head and end of each basic block are in the insn chain. | |
13659 | ||
13660 | Thu Jul 20 18:02:35 2000 Michael Matz <matzmich@cs.tu-berlin.de> | |
13661 | ||
13662 | * gcse.c (record_one_set): Prepend instead of append onto | |
13663 | reg_set_table, making it O(n) instead O(n^2). | |
13664 | * lcm.c (compute_antinout_edge,compute_laterin,compute_available): | |
13665 | Use a queue instead of a stack as worklist. | |
13666 | ||
13667 | 2000-07-20 Kazu Hirata <kazu@hxi.com> | |
13668 | ||
13669 | * h8300.c (two_insn_adds_subs_operand): Fix a typo. | |
13670 | * h8300.h (OK_FOR_T): New. | |
13671 | (EXTRA_CONSTRAINT): Support OK_FOR_T. | |
13672 | * h8300.md: Use inc/dec.[wl] for increment/decrement | |
13673 | by 1 and 2 in HI and SI modes. | |
13674 | ||
13675 | 2000-07-20 Jim Wilson <wilson@cygnus.com> | |
13676 | ||
13677 | * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Handle DELTA values | |
13678 | larger than 14 bits. | |
13679 | ||
13680 | 2000-07-20 Zack Weinberg <zack@wolery.cumb.org> | |
13681 | ||
13682 | * cppmacro.c (CAN_PASTE_AFTER): New macro. | |
13683 | (count_params): Don't set GNU_REST_ARGS on anything. | |
13684 | (save_expansion): Set PASTE_LEFT only on tokens for which | |
13685 | CAN_PASTE_AFTER is true, or which are named operators. | |
13686 | ||
13687 | * cpplex.c (parse_args): Distinguish between a rest argument | |
13688 | given one empty argument, and a rest argument given zero arguments. | |
13689 | (maybe_paste_with_next): Look for VOID_REST tag, and trigger | |
13690 | deletion of previous token based on that. | |
13691 | (get_raw_token): Flatten some control structure. | |
13692 | ||
13693 | * cpplib.h (CPP_LAST_EQ): Correct. | |
13694 | (VOID_REST): New token flag. | |
13695 | (GNU_REST_ARGS): Delete. | |
13696 | ||
13697 | * tradcpp.c (main): Don't munge -D options. | |
13698 | (make_definition): Bring -D handling in line with cpplib. | |
13699 | (do_define): Strip all leading whitespace from macro definitions. | |
13700 | ||
13701 | 2000-07-20 David Billinghurst <David.Billinghurst@riotinto.com.au> | |
13702 | ||
13703 | * Makefile.in (tradcpp): Depend on intl.o and version.o. | |
13704 | ||
13705 | 2000-07-20 Bruce Korb <bkorb@gnu.org> | |
13706 | ||
13707 | * fixincl/check.tpl: strip the platform specific types before testing | |
13708 | * fixincl/fixfixes.c(gnu_type_fix): use platform specific types | |
13709 | * fixincl/fixincl.tpl: use platform specific types | |
13710 | * fixincl/fixlib.h: include the platform specific types | |
13711 | * fixincl/inclhack.def(gnu_types): don't supply the types | |
13712 | * fixincl/fixincl.x: regen | |
13713 | ||
13714 | 2000-07-19 Jim Wilson <wilson@cygnus.com> | |
13715 | ||
13716 | * config/ia64/ia64.h (HARD_REGNO_MODE_OK): Don't allow XFmode in | |
13717 | GR_REGS. | |
13718 | ||
13719 | 2000-07-19 Zack Weinberg <zack@wolery.cumb.org> | |
13720 | ||
13721 | * tradcpp.c (rescan): Do not recognize directives when the # | |
13722 | is indented. | |
13723 | ||
13724 | 2000-07-19 Zack Weinberg <zack@wolery.cumb.org> | |
13725 | ||
13726 | Implement C++ named operators. | |
13727 | ||
13728 | * cpplib.h (TTYPE_TABLE): Move CPP_MIN and CPP_MAX into block | |
13729 | of operators allowed in #if and having an _EQ variant. Add | |
13730 | CPP_MIN_EQ, CPP_MAX_EQ, and CPP_DEFINED. | |
13731 | (cpp_token flags): Add NAMED_OP. | |
13732 | (enum node_type): Add T_OPERATOR. | |
13733 | (struct cpp_hashnode): Add code slot to value union. | |
13734 | * cpphash.h (spec_nodes): Remove n_defined. | |
13735 | ||
13736 | * cpplex.c (lex_line): Convert T_OPERATOR nodes to their proper types. | |
13737 | (spell_token, can_paste, maybe_paste_with_next): Handle named operators. | |
13738 | (is_macro_disabled): Tweak error messages. | |
13739 | ||
13740 | * cpplib.c (get_define_node): Disallow all named operators as | |
13741 | macro names. Tweak error messages. | |
13742 | (_cpp_init_stacks): Don't set up spec_nodes->n_defined. | |
13743 | ||
13744 | * cppinit.c (builtin_array): Add entries for the named operators. | |
13745 | * cppexp.c (lex): Check for CPP_DEFINED token. | |
13746 | (priority table): Add entries for CPP_MIN and CPP_MAX. | |
13747 | (_cpp_parse_expr): Handle CPP_MIN and CPP_MAX. | |
13748 | ||
13749 | 2000-07-19 Bernd Schmidt <bernds@cygnus.co.uk> | |
13750 | ||
13751 | * gcse.c (INSN_CUID): If ENABLE_CHECKING, abort if the uid is | |
13752 | larger than the array of cuids. | |
13753 | (alloc_gcse_mem): Use uid_cuid rather than INSN_CUID when computing | |
13754 | cuids. | |
13755 | ||
13756 | 2000-07-19 Bruce Korb <bkorb@gnu.org> | |
13757 | ||
13758 | * fixinc/fixincl.c: Convert to using a table of environment variables | |
13759 | and activate the auto-edit marker on the fixed output files. | |
13760 | * fixinc/fixlib.h: Define the environment table | |
13761 | * fixinc/fixincl.sh: export the ${INPUT} dir | |
13762 | * fixinc/check.tpl: likewise | |
13763 | ||
13764 | 2000-07-18 Zack Weinberg <zack@wolery.cumb.org> | |
13765 | ||
13766 | * gcc.c (.h spec): Fix typo. | |
13767 | ||
13768 | Wed Jul 19 01:22:15 CEST 2000 Marc Espie <espie@cvs.openbsd.org> | |
13769 | ||
13770 | * Makefile.in: Fix tradcif.c path. | |
13771 | ||
13772 | 2000-07-18 Zack Weinberg <zack@wolery.cumb.org> | |
13773 | ||
13774 | * cpplib.h (TTYPE_TABLE): Rearrange to use only two per-entry | |
13775 | macros, not five. | |
13776 | ||
13777 | * cpphash.h (TOKEN_NAME): New macro. | |
13778 | (_cpp_spell_operator): Deleted. | |
13779 | (token_spellings): Now _cpp_token_spellings. | |
13780 | ||
13781 | * cppexp.c: Use TOKEN_NAME or TYPE_NAME, not _cpp_spell_operator. | |
13782 | * cpplex.c: Use OP and TK macros when expanding the | |
13783 | TTYPE_TABLE. Eliminate token_names. For non-OPERATOR tokens, | |
13784 | store the stringification of the enumeration name (CPP_CHAR, | |
13785 | etc.) in the name slot of token_spellings. | |
13786 | Use TOKEN_NAME and/or TOKEN_SPELL, do not reference | |
13787 | token_spellings directly. | |
13788 | * cpplib.c: Use TOKEN_SPELL. | |
13789 | ||
13790 | * cpplex.c (_cpp_push_token): If the token being pushed back | |
13791 | is the previous token in this context, just subtract one from | |
13792 | context->posn. | |
13793 | * cppmacro.c (save_expansion): Clear aux field when storing a | |
13794 | placemarker. | |
13795 | ||
13796 | 2000-07-18 Jakub Jelinek <jakub@redhat.com> | |
13797 | ||
13798 | * cpplex.c (cpp_scan_buffer): Output line command even at the stop | |
13799 | buffer, provided it is not NULL. | |
13800 | ||
13801 | 2000-07-18 Alexandre Oliva <aoliva@redhat.com> | |
13802 | ||
13803 | * c-decl.c (duplicate_decls): Do not call make_var_volatile() in | |
13804 | case of invalid volatile re-declaration. | |
13805 | ||
13806 | 2000-07-18 Jakub Jelinek <jakub@redhat.com> | |
13807 | ||
13808 | * calls.c (store_arg): Return nonzero if sibcall_failure is desired. | |
13809 | (expand_call): Adjust caller. | |
13810 | ||
13811 | 2000-07-17 Gabriel Dos Reis <gdr@codesourcery.com> | |
13812 | ||
13813 | * diagnostic.h (report_diagnostic): Change prototype. | |
13814 | ||
13815 | * diagnostic.c (output_do_verbatim, diagnostic_for_asm, | |
13816 | diagnostic_for_decl): Change prototype. | |
13817 | (error_with_decl, warning_with_decl, pedwarn_with_decl, warning, | |
13818 | error, warning, error_with_file_and_line, | |
13819 | warning_with_file_and_line, pedwarn_with_file_and_line, fatal): | |
13820 | Adjust call to report_diagnostic, diagnostic_for_decl. | |
13821 | (error_for_asm, warning_for_asm): Adjust call to diagnostic_for_asm. | |
13822 | (output_verbatim, verbatim): Adjust call to output_do_verbatim. | |
13823 | ||
13824 | * c-errors.c (pedwarn_c99): Adjust call to report_diagnostic. End | |
13825 | varaible argument list. | |
13826 | ||
13827 | 2000-07-17 Zack Weinberg <zack@wolery.cumb.org> | |
13828 | ||
13829 | * cpphash.c: Don't include hashtab.h. Most macro-handling code | |
13830 | moved to cppmacro.c. | |
13831 | (hash_HASHNODE, eq_HASHNODE, _cpp_dump_macro_hash, | |
13832 | dump_hash_helper): Delete. | |
13833 | (expand_hash, higher_prime_number, _cpp_lookup_with_hash, | |
13834 | cpp_forall_identifiers): New. Implement specialized version of | |
13835 | Vlad's expandable hash table. | |
13836 | (cpp_lookup): Use new functions. | |
13837 | (_cpp_init_macros, _cpp_cleanup_macros): Adjust for new | |
13838 | implementation. | |
13839 | * cppmacro.c: New file. | |
13840 | * cppinit.c (dump_macros_helper): New. | |
13841 | (cpp_finish): Iterate over the identifier table directly. | |
13842 | * cpplex.c (parse_name): Calculate the hash of the identifier | |
13843 | while we scan it. Use _cpp_lookup_with_hash when we can. | |
13844 | ||
13845 | * cpphash.h: Update prototypes. | |
13846 | (xcnewvec, HASHSTEP): New helper macros. | |
13847 | * cpplib.h: Update prototypes. | |
13848 | * Makefile.in (LIBCPP_OBJS): Add cppmacro.o. | |
13849 | (cppmacro.o): New rule. | |
13850 | (cpphash.o): Update deps. | |
13851 | ||
13852 | * cppmain.c: Do not set pfile->printer if no_output is on. | |
13853 | ||
13854 | 2000-07-15 Neil Booth <neilb@earthling.net> | |
13855 | ||
13856 | * cpplib.c: Change all directive-handler functions to return | |
13857 | void, not int. | |
13858 | * cpphash.h: Update typedefs. | |
13859 | ||
13860 | 2000-07-17 Geoffrey Keating <geoffk@cygnus.com> | |
13861 | ||
13862 | * configure: Regenerate. | |
13863 | ||
13864 | * extend.texi (Extended Asm): Mention that a memory clobber | |
13865 | does not count as a side-effect. | |
13866 | ||
13867 | * unroll.c (copy_loop_body): Fix one instance of using host | |
13868 | arithmetic on the target; fixes loop-4 on a 32-bit -> 64-bit | |
13869 | cross-compile. | |
13870 | ||
13871 | * tlink.c (scan_linker_output): Tweak for output of AIX ld. | |
13872 | ||
13873 | 2000-07-17 Richard Henderson <rth@cygnus.com> | |
13874 | ||
13875 | * config/ia64/ia64.md (movdi): Split out load address code. | |
13876 | New post-reload splitter for symbolic operands. | |
13877 | (movdi_internal): Abort if we didn't split symbolic operands | |
13878 | when we should have. | |
13879 | * config/ia64/ia64.c (ia64_expand_load_address): New, from movdi bits. | |
13880 | (ia64_reorg): Split insns when not optimizing. | |
13881 | * config/ia64/ia64-protos.h (ia64_expand_load_address): Declare. | |
13882 | ||
13883 | Mon Jul 17 23:43:26 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
13884 | ||
13885 | * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Use LONG_DOUBLE_TYPE_SIZE | |
13886 | instead of MAX_LONG_DOUBLE_TYPE_SIZE to decide output format. | |
13887 | ||
13888 | 2000-07-17 Chandrakala Chavva <cchavva@cygnus.com> | |
13889 | ||
13890 | * loop.c (check_dbra_loop) : Changed loop_continue to loop->cont. | |
13891 | ||
13892 | 2000-07-17 Jason Merrill <jason@redhat.com> | |
13893 | ||
13894 | * Makefile.in (clean): Remove libgcc directory. | |
13895 | ||
13896 | * configure.in (-Wno-long-long check): Use higher-level macros. | |
13897 | ||
13898 | 2000-07-17 Zack Weinberg <zack@wolery.cumb.org> | |
13899 | ||
13900 | * simplify-rtx.c (simplify_binary_operation): Recognize | |
13901 | (compare (gt[u] (cc) 0) (lt[u] (cc) 0)). | |
13902 | (simplify_ternary_operation): Do not examine MODE_BITSIZE of | |
13903 | a CONST_INT, it will always be zero. | |
13904 | ||
13905 | 2000-07-17 Chandrakala Chavva <cchavva@cygnus.com> | |
13906 | ||
13907 | * loop.c (check_dbra_loop) : Return if more than one condition is | |
13908 | present to control the loop. | |
13909 | ||
13910 | Mon Jul 17 08:26:35 2000 Clinton Popetz <cpopetz@cygnus.com> | |
13911 | ||
13912 | * mips.c (mips_expand_prologue): Don't calculate the last argument | |
13913 | register unless we need it. When we are calculating this, make | |
13914 | sure FUNCTION_ARG is giving us a REG. | |
13915 | ||
13916 | 2000-07-17 Stephane Carrez <Stephane.Carrez@worldnet.fr> | |
13917 | ||
13918 | * flow.c (libcall_dead_p): Use single_set to verify the insn | |
13919 | has only one set and get for analysis. | |
13920 | (propagate_one_insn): Don't pass the PATTERN of the insn. | |
13921 | ||
13922 | 2000-07-17 Mark Klein <mklein@dis.com> | |
13923 | ||
13924 | * pa.c (emit_hpdiv_const): Update to match new pattern for udivsi3. | |
13925 | ||
13926 | 2000-07-17 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
13927 | ||
13928 | * Makefile.in (TARGET_GETGROUPS_T): New configuration variable. | |
13929 | * configure.in (TARGET_GETGROUPS_T): Evaluate. | |
13930 | * sys-protos.h (getgroups): Use TARGET_GETGROUPS_T for array type | |
13931 | of second argument of getgroups. | |
13932 | * configure, config.in: Rebuilt. | |
13933 | ||
13934 | 2000-07-17 Geoffrey Keating <geoffk@cygnus.com> | |
13935 | ||
13936 | * simplify-rtx.c (simplify_relational_operation): Two signed | |
13937 | values with equal high words are less/greater than each other if | |
13938 | their low words are less/greater when considered as unsigned. | |
13939 | ||
13940 | Mon Jul 17 02:37:06 2000 Marc Espie <espie@openbsd.org> | |
13941 | ||
13942 | * configure.in (vax-*-openbsd): Change to new style configuration, | |
13943 | add collect2/float_format information. | |
13944 | * configure: Rebuilt. | |
13945 | * config/vax/openbsd1.h: New. | |
13946 | * config/vax/openbsd.h: New. | |
13947 | * config/vax/t-openbsd: New. | |
13948 | ||
13949 | 2000-07-17 Chip Salzenberg <chip@valinux.com> | |
13950 | ||
13951 | * c-common.c (shorten_compare): Quiet warnings about unsigned | |
13952 | comparisons with zero when they occur in a system header. | |
13953 | ||
13954 | 2000-07-17 Joseph S. Myers <jsm28@cam.ac.uk> | |
13955 | ||
13956 | * invoke.texi (-pedantic): Refer to ISO C instead of ANSI C, and | |
13957 | update to describe current practice. | |
13958 | ||
13959 | * glimits.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define for C99. | |
13960 | ||
13961 | * contrib.texi, cpp.texi, extend.texi, invoke.texi: Update | |
13962 | references to C9X. Change references to -fstd and -flang-isoc9x | |
13963 | to refer to -std. | |
13964 | ||
13965 | * c-common.c (scan_char_table): Allow "z" length modifiers on | |
13966 | diouxXn formats. | |
13967 | (check_format_info): Use TYPE_DOMAIN on the type matched against | |
13968 | for "z" formats, to retrieve the language size_t rather than the | |
13969 | internal one. | |
13970 | ||
13971 | * c-common.c (check_format_info): Do not make a pedantic objection | |
13972 | to the 'L' length modifier if used with a floating point type | |
13973 | character. | |
13974 | ||
13975 | * c-lex.c (yylex): Don't pedwarn for hexadecimal floating point | |
13976 | constants in C99 mode. | |
13977 | ||
13978 | 2000-07-17 Kazu Hirata <kazu@hxi.com> | |
13979 | ||
13980 | * h8300.md: Fix the format of mac. | |
13981 | (movsi_h8300hs): Output a tab after stmac instead of a space. | |
13982 | ||
13983 | * h8300.c (two_insn_adds_subs_operand): Improve code for detecting | |
13984 | profitable adds/subs sequences. | |
13985 | ||
13986 | * fold-const.c: Fix comment typos. | |
13987 | ||
13988 | 2000-07-16 Laurynas Biveinis <lauras@softhome.net> | |
13989 | ||
13990 | * cppfiles.c (read_name_map): Set map_list_ptr->map_list_map to NULL. | |
13991 | ||
13992 | 2000-07-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
13993 | ||
13994 | * fixinc/fixfixes.c (emit_gnu_type): Avoid string concatenation. | |
13995 | ||
13996 | 2000-07-16 Neil Booth <NeilB@earthling.net> | |
13997 | ||
13998 | * cpplex.c: Update comments. | |
13999 | * README.Portability: Small update. | |
14000 | ||
14001 | 2000-07-16 Neil Booth <NeilB@earthling.net> | |
14002 | ||
14003 | * README.Portability: Small update. | |
14004 | ||
14005 | 2000-07-15 Richard Henderson <rth@cygnus.com> | |
14006 | ||
14007 | * config/ia64/ia64-protos.h (ia64_move_ok): Prototype. | |
14008 | * config/ia64/ia64.c (ia64_move_ok): New function. | |
14009 | * config/ia64/ia64.md (movqi, movqi_internal): Use it. | |
14010 | (movhi, movsi, movdi, movsf, movdf, movxf): Likewise. | |
14011 | ||
14012 | 2000-07-15 Zack Weinberg <zack@wolery.cumb.org> | |
14013 | ||
14014 | * cpphash.c (save_expansion): Clear PREV_WHITE on tokens | |
14015 | immediately following a paste operator. | |
14016 | * cppinit.c (sort_options): New function (only for HOST_EBCDIC). | |
14017 | (cpp_reader_init): Call it, if HOST_EBCDIC. | |
14018 | (cpp_handle_options): Do not sort option list here. | |
14019 | (handle_option): Rename to cpp_handle_option and export. | |
14020 | * cpplex.c (cpp_scan_buffer_nooutput, cpp_scan_buffer): Use | |
14021 | _cpp_get_token directly. | |
14022 | (cpp_scan_line): Return 0 at EOF, 1 otherwise. | |
14023 | * cpplib.c (cpp_push_buffer): Don't set new->lineno to 1. | |
14024 | * cpplib.h: Prototype cpp_handle_option. Update prototype of | |
14025 | cpp_scan_line. | |
14026 | ||
14027 | 2000-07-15 Richard Henderson <rth@cygnus.com> | |
14028 | ||
14029 | * fold-const.c (extract_muldiv): Don't optimize past an unsigned | |
14030 | cast around an expression. Tidy other unsigned tests. | |
14031 | ||
14032 | 2000-07-15 Gabriel Dos Reis <gdr@codesourcery.com> | |
14033 | ||
14034 | * diagnostic.c (doing_line_wrapping, line_wrapper_printf, notice, | |
14035 | v_error_with_decl, v_warning_with_decl, v_pedwarn_with_decl): Remove. | |
14036 | (v_message_with_decl): Rename to ... | |
14037 | (format_with_decl): ... this. Tweak | |
14038 | (diagnostic_for_decl): New function. | |
14039 | (fatal_io_error): Use verbatim in lieu of notice. | |
14040 | (announce_function): Use verbatim. | |
14041 | (default_print_error_function): Likewise. | |
14042 | (error_with_decl, warning_with_decl, pedwarn_with_decl): Use new | |
14043 | infratructure. | |
14044 | ||
14045 | 2000-07-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
14046 | ||
14047 | * mips.c (function_arg_pass_by_reference): Don't do automatic | |
14048 | aggregate initialization. | |
14049 | (machine_dependent_reorg): Initialize variable `mode'. | |
14050 | ||
14051 | * mips.md (absdi2): Change variable `regno1' to unsigned int. | |
14052 | (reload_indi): Rename loword/hiword to lo_word/hi_word to avoid | |
14053 | conflicts with sys/param.h macro of the same name. | |
14054 | (reload_outdi): Likewise. | |
14055 | ||
14056 | 2000-07-15 Michael Meissner <meissner@redhat.com> | |
14057 | ||
14058 | * fold-const.c (fold): When optimizing FOO++ == CONST into ++FOO | |
14059 | == CONST + INCREMENT, don't overwrite the tree node for FOO++, | |
14060 | create a new node instead. | |
14061 | ||
14062 | 2000-07-15 Neil Booth <NeilB@earthling.net> | |
14063 | ||
14064 | * README.Portability: Correct example about calling a function | |
14065 | through a pointer to function. Format wide paragraphs. | |
14066 | ||
14067 | 2000-07-15 Michael Meissner <meissner@redhat.com> | |
14068 | ||
14069 | * README.Portability: Update integer suffixes and function | |
14070 | prototype sections. | |
14071 | ||
14072 | 2000-07-15 Neil Booth <NeilB@earthling.net> | |
14073 | ||
14074 | * README.Portability: Small update. | |
14075 | ||
14076 | 2000-07-15 Neil Booth <NeilB@earthling.net> | |
14077 | ||
14078 | * README.Portability: New file. | |
14079 | ||
14080 | Fri Jul 14 18:13:53 2000 Mark P Mitchell <mark@codesourcery.com> | |
14081 | ||
14082 | * INSTALL: Give special instructions for building GCC on Irix 6. | |
14083 | * config/mips/x-iris6 (CC): Don't set it. | |
14084 | (OLDCC): Likewise. | |
14085 | ||
14086 | 2000-07-14 Jason Merrill <jason@redhat.com> | |
14087 | ||
14088 | * dwarf2out.c (dwarf2out_frame_debug_expr): If we store the CFA | |
14089 | register in the stack and later in another register, use the new | |
14090 | register. | |
14091 | ||
14092 | Fri Jul 14 10:25:53 2000 Clinton Popetz <cpopetz@cygnus.com> | |
14093 | ||
14094 | * config/mips/mips.md: (absdi2): Handle sign_extend for | |
14095 | second operand. | |
14096 | ||
14097 | 2000-07-14 Nathan Sidwell <nathan@codesourcery.com> | |
14098 | ||
14099 | * cpplib.c (do_pragma_dependency): Tidy warning messages. | |
14100 | ||
14101 | 2000-07-14 Zack Weinberg <zack@wolery.cumb.org> | |
14102 | ||
14103 | * .cvsignore: Correct typo. | |
14104 | ||
14105 | 2000-07-13 Mark Mitchell <mark@codesourcery.com> | |
14106 | ||
14107 | * .cvsignore: Add generated YACC files. | |
14108 | * objc/.cvsignore: New file. | |
14109 | ||
14110 | 2000-07-14 Neil Booth <NeilB@earthling.net> | |
14111 | ||
14112 | * cpplex.c (adjust_column): New function. | |
14113 | (skip_whitespace): Use it. | |
14114 | (skip_block_comment): Use it, and warn about /*/* with | |
14115 | -Wcomments. | |
14116 | ||
14117 | 2000-07-14 Neil Booth <NeilB@earthling.net> | |
14118 | ||
14119 | * cpphash.c (struct macro_info): Add new members. | |
14120 | (_cpp_free_definition): Delete the macro directly. | |
14121 | (count_params): Return void, with first token of | |
14122 | expansion in struct macro_info on success. | |
14123 | (parse_define): Return int. Hoist syntax checking from | |
14124 | save_macro_expansion. Leave call to save_expansion to | |
14125 | _cpp_create_definition. | |
14126 | (alloc_macro): Needs just 2 arguments. | |
14127 | (free_macro): Delete. | |
14128 | (save_expansion): Don't perform syntax check. | |
14129 | (_cpp_create_definition): Call save_expansion. | |
14130 | ||
14131 | 2000-07-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
14132 | ||
14133 | * genrecog.c (write_header): Split long string. | |
14134 | ||
14135 | * cpphash.c (macro_info): Don't use the `signed' keyword. | |
14136 | ||
14137 | * system.h (alloca): Prototype if __GNUC__ && __SIZE_TYPE__. | |
14138 | ||
14139 | 2000-07-13 Jakub Jelinek <jakub@redhat.com> | |
14140 | ||
14141 | * calls.c (stored_args_map): New variable. | |
14142 | (check_sibcall_argument_overlap_1): New. | |
14143 | (check_sibcall_argument_overlap): New. | |
14144 | (expand_call): Initialize stored_args_map. | |
14145 | Call check_sibcall_argument_overlap. | |
14146 | ||
14147 | 2000-07-13 Bruce Korb <bkorb@gnu.org> | |
14148 | ||
14149 | * fixinc/fixfixes.c: move EXIT_BROKEN to header, add sub-expr max count | |
14150 | (emit_gnu_type): utility procedure for gnu_type_fix | |
14151 | (gnu_type_fix): implement various pre-processor guards around | |
14152 | standard types so these types can be defined over and over | |
14153 | * fixinc/fixincl.tpl: add a "gnu_type_map" that forces the standard | |
14154 | types alluded to above will have GNU-compliant base types | |
14155 | * fixinc/fixlib.h: add EXIT_BROKEN define and the gnu_type_map struct | |
14156 | * fixinc/inclhack.def: add test_text entries and utilize the new | |
14157 | "gnu_types" fix for the ptrdiff_t, size_t and wchar_t types. | |
14158 | * fixinc/fixincl.x: regenerate | |
14159 | ||
14160 | 2000-07-12 Gabriel Dos Reis <gdr@merlin.codesourcery.com> | |
14161 | ||
14162 | * diagnostic.c (vline_wrapper_message_with_location, | |
14163 | v_message_with_file_and_line, v_error_with_file_and_file, | |
14164 | v_error_for_asm, v_warning_for_asm, vfatal, | |
14165 | v_warning_with_file_and_line, v_pedwarn_with_file_and_line, | |
14166 | vsorry, verror, vwarning, vpedwarn): Remove. | |
14167 | (diagnostic_for_asm): New function. | |
14168 | (pedwarn, error, warning, pedwarn_with_file_and_line, | |
14169 | error_with_file_and_line, warning_with_file_and_line, sorry, | |
14170 | error_for_asm, warning_for_asm, fatal): Reimplement. | |
14171 | (finish_diagnostic): Clear diagnostic info as well. | |
14172 | ||
14173 | 2000-07-13 Neil Booth <NeilB@earthling.net> | |
14174 | ||
14175 | * c-common.h (flag_digraphs): New. | |
14176 | * c-decl.c (c_decode_option): Set flag_digraphs as appropriate. | |
14177 | * c-lex.c (yylex): Use flag_digraphs to decide whether to | |
14178 | honor digraphs. | |
14179 | ||
14180 | 2000-07-13 Zack Weinberg <zack@wolery.cumb.org> | |
14181 | ||
14182 | * gcc.c (do_spec_1): Add new %B operator. | |
14183 | (set_input): Prepare for %B. | |
14184 | ||
14185 | (link_command_spec): Move up with the other tm.h- | |
14186 | overrideable specs. Factor out the portion conditional on | |
14187 | LINK_LIBGCC_SPECIAL into a new spec, %(link_libgcc). | |
14188 | (struct compiler): Just have a single spec string. All users | |
14189 | updated. | |
14190 | (default_compilers): Remove unnecessary braces. | |
14191 | (static_specs): Update. | |
14192 | ||
14193 | (trad_capable_cpp, cpp_options, cc1_options, asm_options): New | |
14194 | named specs. | |
14195 | (C and assembly specs): Use the new named specs, as appropriate. | |
14196 | ||
14197 | * objc/lang-specs.h: Use the new named specs. | |
14198 | Remove unnecessary braces. | |
14199 | ||
14200 | 2000-07-12 Zack Weinberg <zack@wolery.cumb.org> | |
14201 | ||
14202 | * gcc.c (execute): If a subprocess gets a fatal signal, report | |
14203 | strsignal() of the signal number, and ask for a bug report. | |
14204 | Do not do this for SIGPIPE if there's already been an error. | |
14205 | ||
14206 | * tradcpp.c: Don't include signal.h. Don't catch SIGPIPE. | |
14207 | Delete pipe_closed. | |
14208 | ||
14209 | * tradcif.c: Remove. | |
14210 | ||
14211 | 2000-07-12 Zack Weinberg <zack@wolery.cumb.org> | |
14212 | ||
14213 | * final.c (profile_function): Do not emit profile counters in | |
14214 | the data section, if NO_PROFILE_COUNTERS is defined. | |
14215 | * tm.texi: Document NO_PROFILE_COUNTERS. Update doc for | |
14216 | FUNCTION_PROFILER. | |
14217 | ||
14218 | * config/i386/linux.h (NO_PROFILE_COUNTERS): Define. | |
14219 | (FUNCTION_PROFILER): Just emit a call to mcount. | |
14220 | ||
14221 | 2000-07-12 Zack Weinberg <zack@wolery.cumb.org> | |
14222 | ||
14223 | * tradcpp.c (main): Rename 'perror' label to 'sys_error'. | |
14224 | ||
14225 | * cppexp.c, cpphash.c, cpphash.h, cppinit.c, cpplex.c, | |
14226 | cpplib.c, cpplib.h: Eradicate all traces of code dependent on | |
14227 | traditional, lang_chill, or lang_fortran. | |
14228 | ||
14229 | * cppfiles.c: #undef strcmp to suppress warning about macros | |
14230 | used without arguments. | |
14231 | (_cpp_execute_include): Use f, not fname, in "No include path" | |
14232 | error. | |
14233 | (_cpp_pop_file_buffer): New function. | |
14234 | * cpplib.c: Don't include <sys/mman.h>. | |
14235 | (cpp_push_buffer): Set line_base and lineno in new buffer. | |
14236 | (cpp_pop_buffer): Use _cpp_pop_file_buffer. | |
14237 | ||
14238 | * cpplex.c: Move all prototypes and structure declarations to the | |
14239 | top of the file. Properly parenthesize some macro arguments. | |
14240 | (cpp_scan_line): New function. | |
14241 | (special_symbol [case T_INCLUDE_DEPTH]): Use pfile->include_depth, | |
14242 | don't need to walk up the stack counting. | |
14243 | ||
14244 | 2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
14245 | ||
14246 | * c-common.c (combine_strings): Emit a pedantic warning when a | |
14247 | string length is greater than the minimum ANSI C is required | |
14248 | to support. | |
14249 | ||
14250 | Wed Jul 12 13:24:30 2000 Jeffrey A Law (law@cygnus.com) | |
14251 | ||
14252 | * pa/xm-pa64.h (NO_SYS_SIGLIST): Kill. | |
14253 | * d30v/xm-d30v.h (NO_SYS_SIGLIST): Kill. | |
14254 | ||
14255 | 2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
14256 | ||
14257 | * c-decl.c (define_label): Warn about identifier conflicts with | |
14258 | labels in traditional C. | |
14259 | ||
14260 | * c-parse.in (unop +): Warn about the unary plus operator for | |
14261 | traditional C. | |
14262 | ||
14263 | * c-typeck.c (store_init_value): Warn about automatic aggregate | |
14264 | initialization for traditional C. | |
14265 | ||
14266 | * invoke.texi (-Wtraditional): Document new warnings. | |
14267 | ||
14268 | 2000-07-12 Gabriel Dos Reis <gdr@codesourcery.com> | |
14269 | ||
14270 | * Makefile.in (c-errors.o): Fix thinko in dependency. | |
14271 | ||
14272 | 2000-07-12 Zack Weinberg <zack@wolery.cumb.org> | |
14273 | ||
14274 | * gcc.c (C specs [!USE_CPPLIB]): Invoke tradcpp if any of | |
14275 | -traditional, -ftraditional, or -traditional-cpp was given. | |
14276 | Do not pass -traditional to the preprocessor. | |
14277 | (.S spec): Likewise. Don't bother defining __ASSEMBLER__, the | |
14278 | preprocessor does it automatically. | |
14279 | * objc/lang-specs.h: Likewise. Don't bother defining __OBJC__. | |
14280 | ||
14281 | * ch/lang-specs.h: Always use tradcpp. Do not pass | |
14282 | -traditional, -trigraphs, or -pedantic to the preprocessor. | |
14283 | * f/lang-specs.h (.F spec): Likewise. Don't bother defining | |
14284 | _LANGUAGE_FORTRAN. | |
14285 | ||
14286 | 2000-07-12 Zack Weinberg <zack@wolery.cumb.org> | |
14287 | ||
14288 | * cppexp.c (LOGICAL): Delete macro. | |
14289 | (_cpp_parse_expr): Do not use UNARY for unary +. Implement || | |
14290 | and && directly. | |
14291 | ||
14292 | * cpphash.c (HASHSIZE): Increase to 4096. | |
14293 | (struct hashdummy): Add hash field. | |
14294 | (eq_HASHNODE): Compare unreduced hashes, then lengths, then | |
14295 | the string values using memcmp. | |
14296 | (cpp_lookup): Set dummy.hash. | |
14297 | ||
14298 | Wed Jul 12 13:15:16 2000 Marc Espie <espie@openbsd.org> | |
14299 | ||
14300 | * configure.in (m88k-openbsd): Express configuration using new fragment | |
14301 | style. | |
14302 | * configure: Rebuilt. | |
14303 | * m88k/aout-dbx.h: New. | |
14304 | * m88k/openbsd.h: New. | |
14305 | * m88k/xm-openbsd.h: New. | |
14306 | ||
14307 | 2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
14308 | ||
14309 | * expr.c (expand_expr): Return const0_rtx, not error_mark_node. | |
14310 | ||
14311 | 2000-07-12 Richard Henderson <rth@cygnus.com> | |
14312 | ||
14313 | * reload.c (push_secondary_reload): Make sure to add the new | |
14314 | reload at the end, after acquiring secondary memory. | |
14315 | ||
14316 | 2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
14317 | ||
14318 | * cpplex.c (is_macro_disabled): Use CPP_WTRADITIONAL. | |
14319 | ||
14320 | * c-decl.c (set_current_function_name_declared, anon_aggr_type_p, | |
14321 | lang_expand_stmt): Mark parameters with ATTRIBUTE_UNUSED. | |
14322 | ||
14323 | * c-parse.in (stmt): Delete unused variables. | |
14324 | ||
14325 | * convert.c (convert_to_vector): Likewise. | |
14326 | ||
14327 | * gensupport.c (process_rtx): Declare attr as `rtvec' not `rtx'. | |
14328 | ||
14329 | * tree.c (finish_vector_type): Prototype. | |
14330 | ||
14331 | 2000-07-12 Bruce Korb <bkorb@gnu.org> | |
14332 | ||
14333 | * fixinc/fixfixes.c: use xmalloc | |
14334 | * fixinc/fixincl.c(initialize): set program name for xmalloc | |
14335 | * fixinc/fixlib.c(must_malloc): obsolete | |
14336 | (is_cxx_header): no longer used - disabled | |
14337 | (skip_quote): inserted and disabled for future use | |
14338 | * fixinc/fixlib.h: reflects above | |
14339 | * fixinc/fixtests.c: removed dinkleberries | |
14340 | ||
14341 | 2000-07-12 Neil Booth <NeilB@earthling.net> | |
14342 | ||
14343 | * cpphash.h: (TOKEN_SPELL) Pulled from cpplex.c. | |
14344 | * cpplex.c (TOKEN_SPELL) Move to cpphash.h. | |
14345 | ||
14346 | * cpphash.c: (struct macro_info, alloc_macro, free_macro, | |
14347 | struct toklist_dummy): New. | |
14348 | (cpp_free_definition): Free macros with free_macro. | |
14349 | (count_params): Don't save parameter spellings. Save macro | |
14350 | information in a struct macro_info. | |
14351 | (parse_define): Don't allocate a token list. | |
14352 | (save_expansion): Allocate the macro's token list, and | |
14353 | save parameter spellings if necessary. Use TOKEN_SPELL. | |
14354 | (cpp_create_definition): Make list const. | |
14355 | ||
14356 | 2000-07-12 Gabriel Dos Reis <gdr@codesourcery.com> | |
14357 | ||
14358 | * c-typeck.c (pedwarn_c99): Move to | |
14359 | * c-errors.c: ... Here. | |
14360 | * toplev.h (verror, vwarning, vpedwarn): Remove prototypes. | |
14361 | * diagnostic.c (verror, vwarning, vpedwarn): Make static. | |
14362 | * Makefile.in (C_AND_OBJC_OBJS): Include c-errors.o | |
14363 | (c-errors.o): List dependency. | |
14364 | ||
14365 | 2000-07-12 Mark Mitchell <mark@codesourcery.com> | |
14366 | ||
14367 | * c-parse.c: Remove. | |
14368 | * c-parse.h: Likewise. | |
14369 | * c-parse.y: Likewise. | |
14370 | * objc/objc-parse.c: Likewise. | |
14371 | * objc/objc-pasre.y: Likewise. | |
14372 | ||
14373 | 2000-07-11 Rodney Brown <RodneyBrown@pmsc.com> | |
14374 | ||
14375 | * gcc.texi: Fix minor typos | |
14376 | * extend.texi: Fix minor typos | |
14377 | ||
14378 | 2000-07-11 Marc Espie <espie@openbsd.org> | |
14379 | ||
14380 | * collect2.c (main): Recognize .lo as object files. | |
14381 | ||
14382 | 2000-07-11 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
14383 | ||
14384 | * pa.c (hppa_encode_label): Store labels in gc memory when ggc_p is | |
14385 | true. | |
14386 | ||
14387 | * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Extend test to detect systems | |
14388 | with MAP_ANONYMOUS and MAP_ANON. | |
14389 | * configure, config.in: Rebuilt. | |
14390 | ||
14391 | 2000-07-12 Gabriel Dos Reis <gdr@codesourcery.com> | |
14392 | ||
14393 | * diagnostic.c (save_output_state): Remove. | |
14394 | (restore_output_state): Likewise. | |
14395 | (clear_text_info): New function. | |
14396 | (clear_diagnostic_info): Likewise. | |
14397 | (output_text_length, is_starting_newline, output_prefix, | |
14398 | line_wrap_cutoff, ideal_line_wrap_cutoff, prefix_was_emitted_for, | |
14399 | prefixing_policy, output_buffer_ptr_to_format_args): New macros | |
14400 | (set_real_maximum_length, output_set_maximum_length, | |
14401 | output_set_prefix, output_get_prefix, output_set_maximum_length, | |
14402 | output_destroy_prefix, init_output_buffer, | |
14403 | reshape_diagnostic_buffer, output_space_left, output_emit_prefix, | |
14404 | output_add_newline, output_add_character, output_add_space, | |
14405 | output_append_r, output_append, wrap_text, output_format, | |
14406 | output_do_printf, output_printf, output_do_verbatim, | |
14407 | output_verbatim, verbatim): Use them. | |
14408 | (output_clear): Split into cleat_text_info and | |
14409 | clear_diagnostic_info. | |
14410 | (struct output_state): Move to... | |
14411 | ||
14412 | * diagnostic.h: ...Here | |
14413 | (struct output_buffer): Adjust. | |
14414 | ||
14415 | 2000-07-11 Zack Weinberg <zack@wolery.cumb.org> | |
14416 | ||
14417 | * cpplex.c (parse_name): No longer inline (premature optimization). | |
14418 | (do_pop_context): Fold into pop_context. | |
14419 | (pop_context): Returns int. | |
14420 | (lex_next): Hoist test for end of directive into pop_context. | |
14421 | (push_macro_context): Returns int; takes just reader and token. | |
14422 | Hoist test for excessive nesting to caller. | |
14423 | (push_arg_context): Returns void; takes just reader and token. | |
14424 | Do not call stringify_arg or get_raw_token. | |
14425 | (get_raw_token): Convert tail recursion through push_arg_context | |
14426 | to a loop at this level. Call stringify_arg here if appropriate. | |
14427 | (maybe_paste_with_next): Convert tail recursion to a while loop. | |
14428 | Hoist test of paste_level to caller. | |
14429 | ||
14430 | (stringify_arg): Push arg context at beginning. | |
14431 | (cpp_get_token): Split out core into _cpp_get_token. Call | |
14432 | process_directive here. Throw away CPP_PLACEMARKER tokens. | |
14433 | (_cpp_get_token): Convert tail recursion through | |
14434 | push_macro_context to a loop at this level. | |
14435 | (_cpp_glue_header_name, is_macro_disabled, stringify_arg, | |
14436 | _cpp_get_raw_token): Use _cpp_get_token. | |
14437 | (_cpp_skip_rest_of_line): Drop the context stack directly; do | |
14438 | not call pop_context. | |
14439 | (_cpp_run_directive): Call lex_next directly. | |
14440 | ||
14441 | * cpphash.h: Prototype _cpp_get_token. | |
14442 | * cppexp.c (lex): Use it. | |
14443 | * cpphash.c (parse_define): Use it. | |
14444 | * cpplib.c (get_define_node, do_undef, parse_include, | |
14445 | read_line_number, do_line, do_ident, do_pragma, do_pragma_gcc, | |
14446 | do_pragma_implementation, do_pragma_poison, do_pragma_dependency, | |
14447 | parse_ifdef, validate_else): Use it. | |
14448 | (cpp_push_buffer): Tweak error message; abort if anyone tries | |
14449 | to push a buffer while macro expansions are stacked. | |
14450 | ||
14451 | 2000-07-11 Donn Terry <donnte@microsoft.com> | |
14452 | ||
14453 | * cpplex.c (free_macro_args, save_token): Cast arg of free | |
14454 | and/or xrealloc to PTR. | |
14455 | (_cpp_init_input_buffer): Clear all fields of the base context. | |
14456 | ||
14457 | Tue Jul 11 15:28:21 CDT 2000 Clinton Popetz <cpopetz@cygnus.com> | |
14458 | ||
14459 | * gensupport.c (process_rtx): Make rtl checking stop | |
14460 | complaining about the define_insn while it is being | |
14461 | converted from a define_insn_and_split. | |
14462 | ||
14463 | Tue Jul 11 16:26:17 2000 Clinton Popetz <cpopetz@cygnus.com> | |
14464 | ||
14465 | * config/mips/mips.c (simple_memory_operand): Access the | |
14466 | INTVAL of the address, not it's containing MEM. | |
14467 | ||
14468 | 2000-07-11 Bruce Korb <bkorb@gnu.org> | |
14469 | ||
14470 | * fixinc/fixtests.c(double_slash): obsolete | |
14471 | (else_endif_label): likewise | |
14472 | * fixinc/inclhack.def(irix_multiline_cmnt): obsolete | |
14473 | (libc1_ifdefd_memx): correct initial comment | |
14474 | and omit the #if/#endif pair from the memxxx declarations | |
14475 | * fixinc/fixincl.x: regen | |
14476 | ||
14477 | 2000-07-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
14478 | ||
14479 | * cpplex.c (T, I, S, C, N): Avoid non-constant initializers. | |
14480 | ||
14481 | 2000-07-11 Neil Booth <NeilB@earthling.net> | |
14482 | ||
14483 | * cpp.texi: Update. | |
14484 | ||
14485 | 2000-07-11 Neil Booth <NeilB@earthling.net> | |
14486 | ||
14487 | * cppinit.c: (cpp_reader_init): Allow digraphs by default. | |
14488 | (handle_option): Set digraphs according to standard. | |
14489 | Merge OPT_lang_c89 handler with OPT_std_c89. | |
14490 | ||
14491 | * cpplex.c: (lex_line, can_paste): Honor digraphs in | |
14492 | accordance with the digraphs flag. | |
14493 | ||
14494 | * cpplib.h: (struct cpp_options): New option digraphs. | |
14495 | ||
14496 | 2000-07-10 Hans-Peter Nilsson <hp@axis.com> | |
14497 | Bruce Korb <bkorb@gnu.org> | |
14498 | ||
14499 | * fixinc/inclhack.def (libc1_ifdefd_memx): New fix. | |
14500 | * fixinc/fixincl.x: Regenerate. | |
14501 | * fixinc/tests/base/testing.h: Add testcase. | |
14502 | ||
14503 | 2000-07-10 Richard Henderson <rth@cygnus.com> | |
14504 | ||
14505 | * config/ia64/ia64.c (got_symbolic_operand): New. | |
14506 | (symbolic_operand, move_operand): Revert 0701 change. | |
14507 | * config/ia64/ia64.h (PREDICATE_CODES): Update. | |
14508 | * config/ia64/ia64-protos.h (got_symbolic_operand): Declare. | |
14509 | * config/ia64/ia64.md (movdi): Revert 0701 wrt symbolic_operand; | |
14510 | split the offset into a 14-bit low part instead of a 13-bit low part. | |
14511 | (load_fptr): Mark the mem as unchanging. | |
14512 | (load_symptr): Use got_symbolic_operand. | |
14513 | ||
14514 | 2000-07-10 Nick Clifton <nickc@cygnus.com> | |
14515 | ||
14516 | * libgcc2.c (next_stack_level): Cast result of computation to | |
14517 | (void **) so that the assignment does not generate a warning. | |
14518 | ||
14519 | 2000-07-10 Chandrakala Chavva <cchavva@redhat.com> | |
14520 | ||
14521 | * flags.h : Add new variable flag_single_precision_constant. | |
14522 | * toplev.c (display_help) : Add -fsingle-precision-constant option. | |
14523 | (flag_single_precision_constant): New. | |
14524 | * c-lex.c (yylex): Convert floating point constant to single | |
14525 | precision constant. | |
14526 | * invoke.texi : Add documentation for this new option. | |
14527 | ||
14528 | 2000-07-10 Gabriel Dos Reis <gdr@codesourcery.com> | |
14529 | ||
14530 | * diagnostic.c (output_octal): Second parameter is unsigned. | |
14531 | (output_long_octal): Likewise. | |
14532 | (output_hexadecimal): Likewise. | |
14533 | (output_long_hexadecimal): Likewise. | |
14534 | (output_format): Adjust arguments extraction. Tweak. | |
14535 | (output_verbatim, verbatim): End variable argument list. | |
14536 | (report_diagnostic): Improve documentation. | |
14537 | ||
14538 | 2000-07-10 Benjamin Chelf <chelf@codesourcery.com> | |
14539 | ||
14540 | * c-common.h (build_stmt): Declare. | |
14541 | (build_continue_stmt): Likewise. | |
14542 | (build_break_stmt): Likewise. | |
14543 | (build_return_stmt): Likewise. | |
14544 | ||
14545 | * c-decl.c (do_case): Rewrite to do what previously done in | |
14546 | c-parse.in. | |
14547 | ||
14548 | * c-semantics.c (build_stmt): Define. | |
14549 | (build_return_stmt): Likewise. | |
14550 | (build_break_stmt): Likewise. | |
14551 | (build_continue_stmt): Likewise. | |
14552 | (build_case_label): Likewise. | |
14553 | ||
14554 | * c-parse.in (BREAK): Change to build tree, then generate RTL. | |
14555 | (CONTINUE): Likewise. | |
14556 | (RETURN): Likewise. | |
14557 | (CASE): Likewise. | |
14558 | (DEFAULT): Likewise. | |
14559 | ||
14560 | * c-parse.y: Regenerate. | |
14561 | * c-pasre.c: Likewise. | |
14562 | ||
14563 | 2000-07-09 Jason Merrill <jason@redhat.com> | |
14564 | ||
14565 | * expr.c (expand_expr): Bail earlier if we get an error_mark_node. | |
14566 | ||
14567 | * tree.h (STRIP_NOPS): Check for error_mark_node. | |
14568 | (STRIP_SIGN_NOPS, STRIP_TYPE_NOPS): Likewise. | |
14569 | (dwarf2out_*): Remove duplicate declarations. | |
14570 | ||
14571 | * c-decl.c (duplicate_decls): Copy DECL_ABSTRACT_ORIGIN from | |
14572 | DECL_ABSTRACT_ORIGIN, not DECL_ORIGIN. | |
14573 | ||
14574 | 2000-07-10 Gabriel Dos Reis <gdr@codesourcery.com> | |
14575 | ||
14576 | * diagnostic.c (wrap_text): New function. | |
14577 | (maybe_wrap_text): Likewise. | |
14578 | (output_add_string): Use it. | |
14579 | (output_format): Likewise. | |
14580 | (count_error): Use verbatim instead of notice. | |
14581 | (report_error_function): Likewise. Don't use plain fprintf. | |
14582 | (finish_diagnostic): New function. | |
14583 | (output_do_verbatim): Tweak. Commonalize functionalities in | |
14584 | output_verbatim and verbatim. | |
14585 | (output_verbatim): Adjust. | |
14586 | (verbatim): Likewise. | |
14587 | (report_diagnostic): Define. | |
14588 | ||
14589 | * diagnostic.h (report_diagnostic): Prototype. | |
14590 | ||
14591 | 2000-07-09 Zack Weinberg <zack@wolery.cumb.org> | |
14592 | ||
14593 | * cppexp.c (_cpp_parse_expr): Don't use unary plus. | |
14594 | ||
14595 | 2000-07-09 Neil Booth <NeilB@earthling.net> | |
14596 | ||
14597 | * cpphash.h: ISvspace, is_vspace, is_nvspace: New. | |
14598 | IShspace, ISspace: Update. | |
14599 | ||
14600 | * cppinit.c: ISTABLE: Update. | |
14601 | V: New. | |
14602 | ||
14603 | * cpplex.c (IS_HSPACE, S_NEWLINE): Remove. | |
14604 | (IS_DIRECTIVE): Rename KNOWN_DIRECTIVE. | |
14605 | (skip_block_comment, skip_line_comment, parse_string, | |
14606 | lex_line): Use is_vspace rather than IS_NEWLINE. | |
14607 | (skip_whitespace, lex_line): Clean up to use is_nvspace. | |
14608 | (lex_line): Use KNOWN_DIRECTIVE. Any kind of directive | |
14609 | gets a BOL flag. | |
14610 | (lex_next): Unconditionally stop if within a directive. | |
14611 | Treat directives within macro invocations as directives | |
14612 | (after parse_args emits error), not as the argument. | |
14613 | ||
14614 | 2000-07-09 Gabriel Dos Reis <gdr@codesourcery.com> | |
14615 | ||
14616 | * diagnostic.c (diagnostic_args): New macro. | |
14617 | (diagnostic_msg): Likewise. | |
14618 | (output_formatted_integer): Likewise. | |
14619 | (output_state): New data type. | |
14620 | (digit_buffer): Make global. | |
14621 | (output_add_integer): Rename to output_decimal. Squeeze | |
14622 | digit_buffer. | |
14623 | (output_long_decimal, output_unsigned_decimal, | |
14624 | output_long_unsigned_decimal, output_octal, output_long_octal, | |
14625 | output_hexadecimal, output_long_hexadecimal): New functions. | |
14626 | (output_append_r): New function. | |
14627 | (output_append): Tweak. | |
14628 | (output_flush_on): Rename to output_to_stream. | |
14629 | (output_format): Change prototype. Improve documentation. Handle | |
14630 | more format specifiers. | |
14631 | (build_location_prefix): Rename to context_as_prefix. | |
14632 | (output_notice): Rename to output_do_printf. | |
14633 | (output_printf): Tweak. | |
14634 | (line_wrapper_printf): Likewise. | |
14635 | (vline_wrapper_message_with_location): Adjust call to renamed | |
14636 | functions. | |
14637 | (v_message_with_decl): Likewise. | |
14638 | (default_print_error_function): Likewise. | |
14639 | (save_output_state): New function. | |
14640 | (restore_output_state): Likewise. | |
14641 | (output_do_verbatim): Likewise. | |
14642 | (output_verbatim): Define. | |
14643 | (verbatim): Likewise. | |
14644 | ||
14645 | * diagnostic.h (printer_fn): Change return type from void to int. | |
14646 | Improve documentation. | |
14647 | (output_add_integer): Rename to output_decimal. | |
14648 | (output_flush_on, output_format): Don't export. | |
14649 | (output_verbatim, verbatim): Declare. | |
14650 | ||
14651 | 2000-07-08 Toon Moene <toon@moene.indiv.nluug.nl> | |
14652 | ||
14653 | * fold-const.c (extract_muldiv) case PLUS_EXPR, MINUS_EXPR: | |
14654 | Check whether c divides op1 exactly if operation is not | |
14655 | multiplication. | |
14656 | ||
14657 | 2000-07-08 Richard Henderson <rth@cygnus.com> | |
14658 | ||
14659 | * final.c (final): Do not abort when reg-stack introduces | |
14660 | a new insn. | |
14661 | ||
14662 | 2000-07-08 Zack Weinberg <zack@wolery.cumb.org> | |
14663 | ||
14664 | * cpplib.h (struct cpp_name): Now struct cpp_string. | |
14665 | (CPP_INT, CPP_FLOAT, CPP_NUMBER, CPP_COMMENT, | |
14666 | CPP_HEADER_NAME): Change to type S. | |
14667 | (struct cpp_token): Rename 'name' field to 'str'. Add 'node' | |
14668 | field, a cpp_hashnode *. All references to val.name updated | |
14669 | to use val.str or val.node as appropriate. | |
14670 | (struct cpp_reader): Add spec_nodes field. | |
14671 | (cpp_idcmp): Now cpp_ideq; takes a token * and a char *. | |
14672 | ||
14673 | * cpphash.h (struct spec_nodes): New. | |
14674 | (enum spell_type): Reorder. Only SPELL_STRING tokens use | |
14675 | val.str. All references to 'spelling > SPELL_NONE' updated to | |
14676 | match. | |
14677 | ||
14678 | (CPP_IN_SYSTEM_HEADER): Check pfile->buffer and | |
14679 | pfile->buffer->inc are not NULL before dereferencing them. | |
14680 | ||
14681 | * cpplex.c (parse_name): Take a pointer to the current token, | |
14682 | plus current position and limit as args; return the new | |
14683 | position; don't copy the text of a name into the string | |
14684 | buffer, instead call cpp_lookup and store the node pointer. | |
14685 | If extending a token, copy out the text of the old into a | |
14686 | scratch buffer, append the new, look that up and store the new | |
14687 | node pointer. Inline. | |
14688 | (maybe_paste_with_next): If the result of paste is a NAME, | |
14689 | then look up the pasted text and store its node pointer. | |
14690 | (lex_line): Adjust for new parse_name interface. | |
14691 | Check for L"str", L'str' using spec_nodes->n_L. | |
14692 | (spell_token): SPELL_IDENT tokens have their spelling in | |
14693 | val.node->name. Handle SPELL_STRING tokens that don't have | |
14694 | string delimiters. | |
14695 | (_cpp_expand_name_space, | |
14696 | (can_paste): Check for L ## "str" using spec_nodes->n_L. | |
14697 | (cpp_get_token, special_symbol): No need to call cpp_lookup. | |
14698 | (cpp_idcmp): Now cpp_ideq; take a token * and a const char *; | |
14699 | return 1=equal 0=not, not a tristate. | |
14700 | ||
14701 | * cpphash.c (var_args_str): Delete. | |
14702 | (find_param): Compare node fields directly. | |
14703 | (is__va_args__): Use CPP_PEDANTIC. Just compare | |
14704 | token->val.node with spec_nodes->n__VA_ARGS__. | |
14705 | (dump_funlike_macro): Don't use var_args_str. | |
14706 | ||
14707 | * cpplib.c (_cpp_check_directive): Just walk through | |
14708 | spec_nodes->dirs comparing pointers. | |
14709 | (get_define_node, do_pragma_poison, detect_if_not_defined, | |
14710 | parse_ifdef): The identifier has already been looked up. | |
14711 | (do_ifdef, do_ifndef): parse_ifdef won't return a poisoned | |
14712 | node. | |
14713 | (do_if): Only call detect_if_not_defined at beginning of file. | |
14714 | (_cpp_parse_assertion): Only copy string pointers for | |
14715 | SPELL_STRING tokens. | |
14716 | (pragma_dispatch): Take a node pointer and examine its name | |
14717 | field. | |
14718 | (_cpp_init_stacks): Also initialize the spec_nodes structure. | |
14719 | ||
14720 | * cppinit.c (cpp_reader_init): Call _cpp_init_stacks after | |
14721 | _cpp_init_macros. | |
14722 | (cpp_cleanup): Free pfile->spec_nodes. Call _cpp_cleanup_* in | |
14723 | reverse order from the corresponding _cpp_init_* routines. | |
14724 | ||
14725 | * cppexp.c (parse_number, parse_charconst, parse_defined, | |
14726 | lex): Check val.node->type instead of calling cpp_defined. | |
14727 | Use spec_nodes entries where appropriate. | |
14728 | ||
14729 | * fix-header.c, scan-decls.c: Update for interface changes. | |
14730 | ||
14731 | 2000-07-08 Geoffrey Keating <geoffk@cygnus.com> | |
14732 | ||
14733 | * config/rs6000/rs6000.c (rs6000_emit_move): Fix conditions for | |
14734 | emitting aux_truncdfsf2. | |
14735 | ||
14736 | 2000-07-03 Donn Terry (donnte@microsoft.com) | |
14737 | ||
14738 | * cppinit.c (print_help): split overlong line into ISO C89 | |
14739 | maximum chunks. | |
14740 | ||
14741 | 2000-07-07 Zack Weinberg <zack@wolery.cumb.org> | |
14742 | ||
14743 | * cppexp.c: Update all code for new lexer interface. | |
14744 | (op_t, operator codes, struct token, tokentab2, op_to_str): Remove. | |
14745 | (struct suffix, vsuf_1, vsuf_2, vsuf_3, op_to_prio): New. | |
14746 | * cpplex.c (token_names): Trim leading CPP_ from names; make | |
14747 | the strings unsigned. | |
14748 | (_cpp_spell_operator): New. | |
14749 | (is_macro_disabled): Disable all macros if rescanning | |
14750 | preprocessed text. | |
14751 | (_cpp_get_directive_token): Remove. | |
14752 | ||
14753 | * cppinit.c: Don't set no_macro_expand. | |
14754 | * cpplib.c (read_line_number, do_line): Check only for EOF, | |
14755 | not VSPACE. | |
14756 | * cpphash.h: Update prototypes. | |
14757 | * cpplib.h (CPP_VSPACE): Remove. | |
14758 | (struct cpp_reader): Remove no_macro_expand. | |
14759 | ||
14760 | 2000-07-08 Neil Booth <NeilB@earthling.net> | |
14761 | ||
14762 | * cpphash.c (is__va_args__): New function. | |
14763 | (count_params): Fix line reported in error messages. Use | |
14764 | is__va_args__. Don't return ')' on error. Flag GNU style | |
14765 | rest args macro definitions. | |
14766 | (parse_define): Check macro name is not __VA_ARGS__. | |
14767 | (save_expansion): Check identifier in non-varargs-macro is | |
14768 | not __VA_ARGS__. Don't flag GNU_VARARGS. | |
14769 | * cpplex.c (parse_args): Accept no argument iff GNU_REST_ARGS. | |
14770 | (maybe_paste_with_next): Use per-macro GNU_REST_ARGS rather | |
14771 | than per-token GNU_VARARGS. | |
14772 | * cpplib.h (GNU_VARARGS): Remove. | |
14773 | (GNU_REST_ARGS): New. | |
14774 | ||
14775 | Sat Jul 8 01:38:25 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
14776 | ||
14777 | * i386.md (call_pop, call, call_value_pop): Do not set | |
14778 | current_function_uses_pic_offset_table for calls to static | |
14779 | functions or indirect calls. | |
14780 | ||
14781 | 2000-07-07 Jim Wilson <wilson@cygnus.com> | |
14782 | ||
14783 | * config/ia64/ia64.c (rws_access_reg): New local write_count. If | |
14784 | is_predicate_reg, then take max write_count of register pair. | |
14785 | ||
14786 | 2000-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
14787 | ||
14788 | * tradcpp.c (main): Rename label `include' to `add_include' to | |
14789 | avoid conflicts with variable `include' in traditional C. | |
14790 | ||
14791 | 2000-07-07 Jakub Jelinek <jakub@redhat.com> | |
14792 | ||
14793 | * integrate.c (copy_insn_list): Remove REG_LABEL notes. | |
14794 | ||
14795 | 2000-07-07 Jakub Jelinek <jakub@redhat.com> | |
14796 | ||
14797 | * sibcall.c (uses_addressof): Add INMEM argument, check for | |
14798 | current_function_internal_arg_pointer outside of MEM rtxs in addition | |
14799 | to ADDRESSOFs. | |
14800 | (sequence_uses_addressof): Update caller. | |
14801 | ||
14802 | 2000-07-07 Zack Weinberg <zack@wolery.cumb.org> | |
14803 | ||
14804 | * tradcpp.c (initialize_builtins): Honor NO_BUILTIN_SIZE_TYPE | |
14805 | and friends. | |
14806 | ||
14807 | 2000-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
14808 | ||
14809 | * system.h (UNION_INIT_ZERO): New macro for initializing union | |
14810 | members in structs. | |
14811 | ||
14812 | * cpplex.c (placemarker_token, eof_token): Use UNION_INIT_ZERO. | |
14813 | ||
14814 | 2000-07-07 Neil Booth <NeilB@earthling.net> | |
14815 | ||
14816 | * cpp.texi: Update. | |
14817 | ||
14818 | Fri Jul 7 07:47:35 2000 Jeffrey A Law (law@cygnus.com) | |
14819 | ||
14820 | * final.c (final): Detect out of bounds array access to | |
14821 | the insn_lengths array. | |
14822 | ||
14823 | 2000-07-07 Kazu Hirata <kazu@hxi.com> | |
14824 | ||
14825 | * fold-const.c (fold): Fix a comment typo. | |
14826 | ||
14827 | 2000-07-07 Neil Booth <NeilB@earthling.net> | |
14828 | ||
14829 | * cpp.texi: Update to new lexer. | |
14830 | ||
14831 | 2000-07-06 Zack Weinberg <zack@wolery.cumb.org> | |
14832 | ||
14833 | * tradcpp.c: New file. | |
14834 | * tradcif.y: New file. | |
14835 | * tradcif.c: New generated file. | |
14836 | ||
14837 | * Makefile.in: Add rules to build tradcpp.o, tradcif.o, | |
14838 | $(srcdir)/tradcif.c. Add tradcpp to STAGESTUFF and | |
14839 | dependencies of C. Install tradcpp from install-common, in | |
14840 | $(libsubdir). | |
14841 | ||
14842 | 2000-07-06 Zack Weinberg <zack@wolery.cumb.org> | |
14843 | ||
14844 | * cppinit.c: Include cppdefault.h. Refer to | |
14845 | cpp_GCC_INCLUDE_DIR and cpp_GCC_INCLUDE_DIR_len, not directly | |
14846 | to GCC_INCLUDE_DIR and its length. | |
14847 | (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, | |
14848 | USER_LABEL_PREFIX, REGISTER_PREFIX, struct default_include, | |
14849 | STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT): Move to | |
14850 | cppdefault.h. | |
14851 | (include_defaults_array): Move to cppdefault.c. | |
14852 | ||
14853 | * cppdefault.h: New file. | |
14854 | * cppdefault.c: New file. | |
14855 | ||
14856 | * Makefile.in (LIBCPP_OBJS): Add cppdefault.o. | |
14857 | (cppinit.o): Don't apply $(PREPROCESSOR_DEFINES) to this file. | |
14858 | (cppdefault.o): New rule; apply $(PREPROCESSOR_DEFINES) to | |
14859 | this file. | |
14860 | ||
14861 | Thu Jul 6 18:30:36 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
14862 | ||
14863 | * reload.c (push_reload): When seeing if can reuse a register, | |
14864 | check extra registers against widest of INMODE and OUTMODE. | |
14865 | ||
14866 | 2000-07-06 Neil Booth <NeilB@earthling.net> | |
14867 | ||
14868 | * cpplib.c: (_cpp_parse_assertion): Perform hash lookups | |
14869 | based on full length of predicate. | |
14870 | ||
14871 | 2000-07-06 Hans-Peter Nilsson <hp@axis.com> | |
14872 | ||
14873 | * timevar.c: [HAVE_SYS_RESOURCE_H]: Include <sys/resource.h>. | |
14874 | [NEED_DECLARATION_GETRUSAGE]: Declare getrusage. | |
14875 | ||
14876 | 2000-07-05 Kazu Hirata <kazu@hxi.com> | |
14877 | ||
14878 | * h8300-proto.h: Fix formatting. | |
14879 | * h8300.c: Likewise. | |
14880 | * h8300.h: Likewise. | |
14881 | ||
14882 | 2000-07-05 Jim Wilson <wilson@cygnus.com> | |
14883 | ||
14884 | * config/ia64/ia64.h (HARD_REGNO_MODE_OK): If FR_REGNO_P, disallow | |
14885 | CCmode. | |
14886 | ||
14887 | 2000-07-05 Rodney Brown <RodneyBrown@pmsc.com> | |
14888 | ||
14889 | * invoke.texi: Fix minor typos | |
14890 | * md.texi: Fix minor typos | |
14891 | ||
14892 | 2000-07-05 Zack Weinberg <zack@wolery.cumb.org> | |
14893 | ||
14894 | * cpplib.c (_cpp_parse_assertion): Fix buffer overrun. | |
14895 | ||
14896 | 2000-07-04 Zack Weinberg <zack@wolery.cumb.org> | |
14897 | ||
14898 | * cpplex.c: Don't include sys/mman.h. | |
14899 | (cpp_push_buffer, cpp_pop_buffer): Moved to cpplib.c. | |
14900 | ||
14901 | * cpplib.c: Include sys/mman.h and obstack.h. | |
14902 | (cpp_push_buffer): Moved from cpplex.c; allocate buffers on an | |
14903 | obstack. | |
14904 | (cpp_pop_buffer): Moved from cpplex.c; free buffers from an obstack. | |
14905 | (_cpp_unwind_if_stack): Now static, unwind_if_stack. Don't | |
14906 | bother freeing if stack entries (they will be freed with their buffer). | |
14907 | (do_endif): Free if stack entries from the buffer obstack. | |
14908 | (push_conditional): Allocate if stack entries from the buffer obstack. | |
14909 | ||
14910 | (find_answer): Rename to _cpp_find_answer. | |
14911 | (do_assert, do_unassert): Update. | |
14912 | ||
14913 | * cpphash.h: Update prototypes. | |
14914 | (xobnew): New convenience macro. | |
14915 | * cpplib.h (struct cpp_reader): Add hash_ob and buffer_ob fields. | |
14916 | Update comments. | |
14917 | (struct cpp_hashnode): Remove disabled field. | |
14918 | ||
14919 | * cppinit.c: Don't include hashtab.h or splay-tree.h. | |
14920 | (report_missing_guard): Moved to cppfiles.c. | |
14921 | (cpp_reader_init): Call cpp_init_stacks, cpp_init_macros, | |
14922 | cpp_init_includes. | |
14923 | (cpp_cleanup): Call cpp_cleanup_stacks, cpp_cleanup_macros, | |
14924 | cpp_cleanup_includes. Don't destroy hashtab or | |
14925 | all_include_files here. | |
14926 | (cpp_finish): Use _cpp_report_missing_guards. | |
14927 | ||
14928 | * cppfiles.c (report_missing_guard): Moved from cppinit.c. | |
14929 | (_cpp_init_include_table): Rename _cpp_init_includes. | |
14930 | (_cpp_cleanup_includes, _cpp_report_missing_guards): New. | |
14931 | ||
14932 | * cppexp.c (parse_assertion): Update for new name of | |
14933 | find_answer. | |
14934 | ||
14935 | * Makefile.in (cpplib.o, cpphash.o, cppinit.o): Update deps. | |
14936 | ||
14937 | 2000-07-04 Zack Weinberg <zack@wolery.cumb.org> | |
14938 | ||
14939 | * cpplib.c (do_ident): s/VSPACE/EOF/ | |
14940 | ||
14941 | 2000-07-05 Neil Booth <NeilB@earthling.net> | |
14942 | ||
14943 | * cpplex.c: Fix trigraph replacement within strings. | |
14944 | ||
14945 | 2000-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
14946 | ||
14947 | * rs6000/aix.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier. | |
14948 | ||
14949 | * xcoffout.c (assign_type_number): Constify. | |
14950 | (xcoffout_source_file): Add static prototype. Don't needlessly | |
14951 | cast away const-ness. | |
14952 | ||
14953 | 2000-07-04 Jason Merrill <jason@redhat.com> | |
14954 | ||
14955 | * frame.h (frame_state): Move base_offset to end. | |
14956 | ||
14957 | Mon Jul 3 21:31:43 2000 Clinton Popetz <cpopetz@cygnus.com> | |
14958 | ||
14959 | * calls.c (emit_library_call_value_1): Revert previous change. | |
14960 | ||
14961 | 2000-07-03 Zack Weinberg <zack@wolery.cumb.org> | |
14962 | ||
14963 | * fix-header.c (struct partial_proto): Remove unnecessary fields. | |
14964 | (recognized_extern, recognized_function, read_scan_file): | |
14965 | Update for new scheme. | |
14966 | (check_protection): It's still a multiple include guard even | |
14967 | if it doesn't always trigger. | |
14968 | * scan-decls.c (skip_to_closing_brace, scan_decls): Update for | |
14969 | new scheme. | |
14970 | * scan.h: Declare struct cpp_token. Update prototypes. | |
14971 | ||
14972 | 2000-07-03 Neil Booth <neilb@earthling.net> | |
14973 | Zack Weinberg <zack@wolery.cumb.org> | |
14974 | ||
14975 | Complete overhaul of the lexer and macro expander. | |
14976 | ||
14977 | * cpphash.c (object_defn, funct_defn, push_macro_expansion, | |
14978 | arg, arglist, argdata, reflist, collect_objlike_expansion, | |
14979 | collect_funlike_expansion, collect_params, | |
14980 | warn_trad_stringify, trad_stringify, duplicate_arg_p, add_pat, | |
14981 | unsafe_chars, macarg, compare_defs, special_symbol, | |
14982 | scan_arguments, stringify, funlike_macroexpand, | |
14983 | _cpp_quote_string, monthnames): Delete. | |
14984 | (cpp_lookup, _cpp_free_definition, dump_funlike_macro, | |
14985 | _cpp_create_definition, _cpp_dump_definition, | |
14986 | dump_hash_helper): Adjust. | |
14987 | (find_param, count_params, parse_define, var_args_str, | |
14988 | check_macro_redefinition, save_expansion): New. | |
14989 | ||
14990 | * cpplex.c (skip_block_comment, skip_line_comment, parse_name, | |
14991 | parse_string, output_line_command, trigraph_replace, | |
14992 | lex_line, cpp_push_buffer, cpp_pop_buffer, cpp_output_tokens, | |
14993 | cpp_scan_buffer_nooutput, cpp_scan_buffer, cpp_free_toklist, | |
14994 | cpp_idcmp, _cpp_get_directive_token, _cpp_init_input_buffer, | |
14995 | _cpp_skip_rest_of_line): Modify. | |
14996 | ||
14997 | (maybe_macroexpand, skip_comment, copy_comment, skip_string, | |
14998 | find_position, null_warning, bump_column, expand_name_space, | |
14999 | pedantic_whitespace, _cpp_output_list, _cpp_slice_toklist, | |
15000 | _cpp_squeeze_toklist, _cpp_scan_until, _cpp_skip_hspace, | |
15001 | _cpp_parse_name, _cpp_lex_token, cpp_get_non_space_token, | |
15002 | _cpp_prescan): Delete. | |
15003 | ||
15004 | (dump_param_spelling, process_directive, lex_next, | |
15005 | is_macro_disabled, stringify_arg, expand_context_stack, | |
15006 | output_token, make_string_token, alloc_number_token, | |
15007 | special_symbol, duplicate_token, maybe_paste_with_next, | |
15008 | can_paste, prevent_macro_expansion, restore_macro_expansion, | |
15009 | get_temp_token, release_temp_tokens, quote_string, | |
15010 | token_names, token_spellings, _cpp_expand_name_space, | |
15011 | _cpp_glue_header_name, _cpp_reserve_name_space, | |
15012 | digraph_spellings, trigraph_ok, skip_whitespace, save_comment, | |
15013 | placemarker_token, eof_token, cpp_context, macro_args, | |
15014 | get_raw_token, parse_arg, parse_args, save_token, | |
15015 | push_arg_context, push_macro_context, pop_context, | |
15016 | do_pop_context, free_macro_args, _cpp_get_line, | |
15017 | _cpp_run_directive): New. | |
15018 | ||
15019 | * cpplib.c (validate_else, parse_include, push_conditional, | |
15020 | pass_thru_directive, read_line_number, parse_ifdef, | |
15021 | detect_if_not_defined, _cpp_check_directive, do_define, | |
15022 | do_undef, do_include, do_import, do_include_next, do_error, | |
15023 | do_warning, do_ident, do_pragma, pragma_dispatch, gcc_pragmas, | |
15024 | top_pragmas, do_pragma_gcc, do_pragma_implementation, | |
15025 | do_pragma_poison, do_pragma_system_header, | |
15026 | do_pragma_dependency, do_sccs, do_ifdef, do_ifndef, do_else, | |
15027 | dl_elif, do_endif, _cpp_unwind_if_stack, do_assert, | |
15028 | do_unassert, cpp_define, cpp_undef, cpp_assert, cpp_unassert, | |
15029 | cpp_defined): Update for new scheme. | |
15030 | (strtoul_for_line, get_define_node, dump_macro_name, | |
15031 | _cpp_check_linemarker, _cpp_parse_assertion): New. | |
15032 | (_cpp_handle_directive, do_pragma_default): Delete. | |
15033 | ||
15034 | * cpphash.h (struct predicate): Now struct answer. | |
15035 | (enum spell_type, struct token_spelling, struct directive, | |
15036 | directive_handler): New. | |
15037 | Update prototypes. Remove unused macros. | |
15038 | * cpplib.h: Update prototypes. Remove unused macros, | |
15039 | structure definitions, and fields. | |
15040 | ||
15041 | * cpperror.c (print_containing_files, v_message): Adjust. | |
15042 | * cppexp.c (parse_assertion, lex, parse_escape, | |
15043 | _cpp_parse_expr): Adjust. | |
15044 | * cppfiles.c (open_include_file, _cpp_execute_include, | |
15045 | _cpp_compare_file_date, cpp_read_file, read_include_file): | |
15046 | Adjust. | |
15047 | * cppinit.c (dump_special_to_buffer): Delete. | |
15048 | (append_include_chain, merge_include_chains, cpp_reader_init, | |
15049 | cpp_cleanup, initialize_builtins, builtin_array, cpp_start_read, | |
15050 | cpp_finish, handle_option, print_help): Adjust. | |
15051 | * cppmain.c (main): Adjust. | |
15052 | ||
15053 | 2000-07-03 Zack Weinberg <zack@wolery.cumb.org> | |
15054 | ||
15055 | * cppspec.c (lang_specific_driver): Use double quotes in error | |
15056 | message. | |
15057 | ||
15058 | Mon Jul 3 16:53:43 2000 Clinton Popetz <cpopetz@cygnus.com> | |
15059 | ||
15060 | * calls.c (emit_library_call_value_1): Use valreg instead | |
15061 | of hard_libcall_value. | |
15062 | ||
15063 | 2000-07-03 Geoff Keating <geoffk@cygnus.com> | |
15064 | ||
15065 | * config/rs6000/rs6000.c (rs6000_emit_move): New function. | |
15066 | * config/rs6000/rs6000-proto.h: Prototype rs6000_emit_move. | |
15067 | * config/rs6000/rs6000.md (movsi): Use rs6000_emit_move. | |
15068 | (movhi): Likewise. | |
15069 | (movqi): Likewise. | |
15070 | (movdf): Likewise. | |
15071 | (movsf): Likewise. | |
15072 | (movdi): Likewise. | |
15073 | (movti): Likewise. | |
15074 | ||
15075 | * expmed.c (expand_mult_highpart): Use op1 instead of wide_op1 when | |
15076 | mode instead of wider_mode is being used. | |
15077 | ||
15078 | 2000-07-03 Jakub Jelinek <jakub@redhat.com> | |
15079 | ||
15080 | * config/i386/i386.md (movstrictqi_xor): Use 'q' constraint instead | |
15081 | of 'r'. Use q_regs_operand. | |
15082 | (andsi_1+2): Use q_regs_operand. | |
15083 | ||
15084 | 2000-07-03 Jakub Jelinek <jakub@redhat.com> | |
15085 | ||
15086 | * builtins.c (get_memory_rtx): Always put into alias set 0. | |
15087 | ||
15088 | 2000-07-03 Nick Clifton <nickc@cygnus.com> | |
15089 | ||
15090 | * config/arm/arm.md: Fix post increment and pre increment | |
15091 | peepholes so that they do not generate UNPREDICATBLE opcodes. | |
15092 | (ie ones where the increment clobbers the source/destination). | |
15093 | ||
15094 | 2000-07-01 Marek Michalkiewicz <marekm@linux.org.pl> | |
15095 | ||
15096 | * config/avr/avr.c (out_adj_frame_ptr): Make "frame pointer | |
15097 | change too big for -mtiny-stack" a warning, if larger than 63. | |
15098 | (out_set_stack_ptr): Change the logic so -mno-interrupts is | |
15099 | always safe to use on possible future devices. | |
15100 | (function_prologue): Write SPH before SPL, for consistency. | |
15101 | If interrupt_func_p true, we know we have enabled interrupts. | |
15102 | (avr_num_arg_regs): New function. Round up to even number of | |
15103 | bytes if no -mpack-args or if calling a libgcc function. | |
15104 | (function_arg, function_arg_advance): Use it. | |
15105 | (output_movsisf, ashlsi3_out, ashrsi3_out, lshrsi3_out): | |
15106 | Output "movw" if available. | |
15107 | (out_tsthi, out_tstsi, ashlqi3_out, lshrqi3_out): Change uses | |
15108 | of TEST_HARD_REG_CLASS macro to test_hard_reg_class function. | |
15109 | (asm_output_section_name): Add blanks for consistent output. | |
15110 | (encode_section_info): Set TREE_READONLY for progmem data to | |
15111 | avoid gas warnings about changed section attributes. | |
15112 | (avr_hard_regno_mode_ok): Force non-QImode data to start in | |
15113 | even numbered registers on devices with "movw". | |
15114 | * config/avr/avr.h (MASK_*): Define bits for target_flags. | |
15115 | (TARGET_SWITCHES): Mark help strings for translation. | |
15116 | Add new -mpack-args and -menhanced switches. | |
15117 | (TARGET_OPTIONS): Mark help strings for translation. | |
15118 | (progmem_section): Add section attributes. | |
15119 | * config/avr/avr.md (*movhi, call_insn, call_value_insn): | |
15120 | Output "movw" if available. | |
15121 | (mulqi3, mulqihi3, umulqihi3, mulhi3, *tablejump_enh): | |
15122 | New patterns. | |
15123 | * config/avr/libgcc.S (_mulqi3, _divqi3): Update to the new | |
15124 | call convention (arguments aligned on even registers). | |
15125 | (_cleanup, _exit): Make weak symbols libc can override. | |
15126 | ||
15127 | 2000-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
15128 | ||
15129 | * fp-bit.h: New file. | |
15130 | ||
15131 | * fp-bit.c: Move common code, prototypes, etc into fp-bit.h. | |
15132 | Comment #endif statements. | |
15133 | (__thenan_sf, __thenan_df): Add missing braces around initializer. | |
15134 | ||
15135 | Mon Jul 3 00:32:47 2000 Jeffrey A Law (law@cygnus.com) | |
15136 | ||
15137 | * gcse.c (compute_pre_data): Compute ae_kill using other local | |
15138 | properties instead of calling compute_ae_kill. | |
15139 | ||
15140 | * alias.c (init_alias_analysis): Do not call | |
15141 | prologue_epilogue_contains until after reload has completed. | |
15142 | ||
15143 | 2000-07-02 Benjamin Chelf <chelf@codesourcery.com> | |
15144 | ||
15145 | * c-common.h (genrtl_begin_compound_stmt): Remove declaration. | |
15146 | (genrtl_finish_compound_stmt): Likewise. | |
15147 | (genrtl_compound_stmt): Change to return void. | |
15148 | ||
15149 | * c-semantics.c (genrtl_begin_compound_stmt): Remove function and | |
15150 | move code from here to ... | |
15151 | (genrtl_compound_stmt): ... here. | |
15152 | (genrtl_finish_compound_stmt): Remove. | |
15153 | (expand_stmt): Add comment. | |
15154 | ||
15155 | 2000-07-02 Zack Weinberg <zack@wolery.cumb.org> | |
15156 | ||
15157 | * c-typeck.c (build_indirect_ref): Use COMPLETE_OR_VOID_TYPE_P | |
15158 | and VOID_TYPE_P. | |
15159 | ||
15160 | 2000-07-02 Jakub Jelinek <jakub@redhat.com> | |
15161 | ||
15162 | * cpplib.h (struct cpp_reader): New field include_depth. | |
15163 | (struct cpp_printer): Rename last_bsd to last_id. | |
15164 | * cppfiles.c (read_include_file): Bump include_depth. | |
15165 | * cpplex.c (cpp_pop_buffer): Decrement include_depth. | |
15166 | (output_line_command): Output correct #line if a header | |
15167 | is including itself and is not protected against multiple inclusion. | |
15168 | Use include_depth instead of buffer_stack_depth, last_id instead of | |
15169 | last_bsd. | |
15170 | * cppinit.c (cpp_start_read): Initialize last_id instead of | |
15171 | last_bsd. | |
15172 | ||
15173 | 2000-07-01 Benjamin Chelf <chelf@codesourcery.com> | |
15174 | ||
15175 | * Makefile.in (C_AND_OBJC_OBJS): Added c-semantics.o. | |
15176 | (c-semantics.o): New target. | |
15177 | ||
15178 | * c-common.h (TREE_LANG_FLAG_?): Added documentation. | |
15179 | (genrtl_do_pushlevel): Moved from cp/cp-tree.h. | |
15180 | (genrtl_clear_out_block): Likewise. | |
15181 | (genrtl_goto_stmt): Likewise. | |
15182 | (genrtl_expr_stmt): Likewise. | |
15183 | (genrtl_decl_stmt): Likewise. | |
15184 | (genrtl_if_stmt): Likewise. | |
15185 | (genrtl_while_stmt): Likewise. | |
15186 | (genrtl_do_stmt): Likewise. | |
15187 | (genrtl_return_stmt): Likewise. | |
15188 | (genrtl_for_stmt): Likewise. | |
15189 | (genrtl_break_stmt): Likewise. | |
15190 | (genrtl_continue_stmt): Likewise. | |
15191 | (genrtl_scope_stmt): Likewise. | |
15192 | (genrtl_switch_stmt): Likewise. | |
15193 | (genrtl_case_label): Likewise. | |
15194 | (genrtl_begin_compound_stmt): Likewise. | |
15195 | (gerntl_finish_compound_stmt): Likewise. | |
15196 | (genrtl_compound_stmt): Likewise. | |
15197 | (genrtl_asm_stmt): Likewise. | |
15198 | (genrtl_decl_cleanup): Likewise. | |
15199 | (DECL_ANON_UNION_ELEMS): Likewise. | |
15200 | (emit_local_var): Likewise. | |
15201 | (make_rtl_for_local_static): Likewise. | |
15202 | (expand_cond): Likewise. | |
15203 | (expand_stmt): Likewise. | |
15204 | (c_expand_return): Likewise. | |
15205 | (c_expand_start_case): Likewise. | |
15206 | (do_case): Likewise. | |
15207 | (COMPOUND_STMT_NO_SCOPE): Likewise. | |
15208 | (c_expand_asm_operands): Likewise. | |
15209 | (NEW_FOR_SCOPE_P): New macro. | |
15210 | (expand_expr_stmt_fn): New type. | |
15211 | ||
15212 | (set_current_function_name_declared): Likewise. | |
15213 | (current_function_name_declared): Likewise. | |
15214 | (lang_expand_stmt): Likewise. | |
15215 | (stmts_are_full_exprs_p): Likewise. | |
15216 | (anon_aggr_type_p): Likewise. | |
15217 | (lang_expand_expr_stmt): Likewise. | |
15218 | (build_case_label): Likewise. | |
15219 | ||
15220 | * c-decl.c (lang_expand_expr_stmt): Initialize. | |
15221 | (stmts_are_full_exprs_p): Define. | |
15222 | (current_function_name_declared): Likewise. | |
15223 | (do_case): Likewise. | |
15224 | (lang_expand_stmt): Likewise. | |
15225 | (set_current_function_name_declared): Likewise. | |
15226 | (anon_aggr_type_p): Likewise. | |
15227 | ||
15228 | * c-semantics.c: New file. | |
15229 | (expand_cond): Moved from cp/semantics.c. | |
15230 | (genrtl_do_pushlevel): Likewise. | |
15231 | (genrtl_clear_out_block): Likewise. | |
15232 | (genrtl_goto_stmt): Likewise. | |
15233 | (genrtl_expr_stmt): Likewise. | |
15234 | (genrtl_decl_stmt): Likewise. | |
15235 | (genrtl_if_stmt): Likewise. | |
15236 | (genrtl_while_stmt): Likewise. | |
15237 | (genrtl_do_stmt): Likewise. | |
15238 | (genrtl_return_stmt): Likewise. | |
15239 | (genrtl_for_stmt): Likewise. | |
15240 | (genrtl_break_stmt): Likewise. | |
15241 | (genrtl_continue_stmt): Likewise. | |
15242 | (genrtl_scope_stmt): Likewise. | |
15243 | (genrtl_switch_stmt): Likewise. | |
15244 | (genrtl_case_label): Likewise. | |
15245 | (genrtl_begin_compound_stmt): Likewise. | |
15246 | (genrtl_finish_compound_stmt): Likewise. | |
15247 | (genrtl_compound_stmt): Likewise. | |
15248 | (genrtl_asm_stmt): Likewise. | |
15249 | (genrtl_decl_cleanup): Likewise. | |
15250 | (make_rtl_for_local_static): Moved from cp/decl.c. | |
15251 | (emit_local_var): Likewise. | |
15252 | (expand_stmt): Define. | |
15253 | ||
15254 | * c-tree.h: (c_expand_asm_operands): Moved to c-common.h. | |
15255 | (c_expand_return): Likewise. | |
15256 | (c_expand_start_case): Likewise. | |
15257 | ||
15258 | 2000-07-01 Richard Henderson <rth@cygnus.com> | |
15259 | ||
15260 | * config/ia64/ia64.c (symbolic_operand): Reject CONST expressions | |
15261 | with the low 13 bits set. | |
15262 | (move_operand): Check for CONST|SYMBOL_REF|LABEL_REF directly. | |
15263 | * config/ia64/ia64.md (movdi): Likewise. Expand a CONST with one | |
15264 | of the low 13 bits into a CONST plus an adddi3. | |
15265 | (load_symptr): Set RTX_UNCHANGING_P. | |
15266 | ||
c30d43bf JL |
15267 | 2000-06-30 Mark Mitchell <mark@codesourcery.com> |
15268 | ||
15269 | * Makefile.in (c-common.o): Don't depend on c-tree.h or c-lex.h. | |
15270 | * c-common.c (ridpointers): Declare. | |
15271 | * c-common.h (enum rid): Declare. | |
15272 | (NORID): Likewise. | |
15273 | (ridpointers): Likewise. | |
15274 | * c-lex.c (ridpointers): Don't declare. | |
15275 | (init_lex): Initialize ridpointers. | |
15276 | * c-lex.h (enum rid): Don't declare. | |
15277 | (NORID): Likewise. | |
15278 | (RID_FIRST_MODIFIER): Likewise. | |
15279 | (ridpointers): Likewise. | |
15280 | ||
15281 | 2000-06-30 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
15282 | ||
15283 | * pa/som.h (ASM_WEAKEN_LABEL): Export weak data symbols so that they | |
15284 | have global scope. | |
15285 | ||
719bb4e3 | 15286 | 2000-06-30 Martin von Löwis <loewis@informatik.hu-berlin.de> |
c30d43bf JL |
15287 | |
15288 | * invoke.texi (-Wreturn-type): In C++, a missing return type is | |
15289 | always an error. | |
15290 | ||
15291 | 2000-06-30 Catherine Moore <clm@cygnus.com> | |
15292 | ||
15293 | * c-common.c (decl_attributes): Differentiate between | |
15294 | types and type decls for alignment. | |
15295 | ||
15296 | 2000-06-30 Nathan Sidwell <nathan@codesourcery.com> | |
15297 | ||
15298 | * cpp.texi: Document #pragma GCC dependency | |
15299 | * cppfiles.c (open_include_file): Set date to unknown. | |
15300 | (_cpp_compare_file_date): New function. | |
15301 | (read_include_file): Set file date. | |
15302 | * cpphash.h (struct include_file): Add date member. | |
15303 | (_cpp_compare_file_date): Prototype. | |
15304 | * cpplib.c (parse_include): Add trail parameter. Adjust. | |
15305 | (do_include): Adjust parse_include call. | |
15306 | (do_import): Likewise. | |
15307 | (do_include_next): Likewise. | |
15308 | (gcc_pragmas): Add dependency pragma. | |
ff7cc307 | 15309 | (do_pragma_dependency): New pragma. |
c30d43bf JL |
15310 | |
15311 | 2000-06-29 Jason Merrill <jason@redhat.com> | |
15312 | ||
15313 | * dwarf2out.c (output_loc_operands): Don't abort on codes that have | |
15314 | no operands. | |
15315 | ||
15316 | 2000-06-29 Jim Wilson <wilson@cygnus.com> | |
15317 | ||
15318 | * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Return NO_REGS for | |
15319 | a volatile mem and FR_REGS. | |
15320 | ||
15321 | 2000-06-29 Mark Mitchell <mark@codesourcery.com> | |
15322 | ||
15323 | * c-common.c: Include c-common.h, not c-lex.h or c-tree.h. | |
15324 | * c-common.h (flag_const_strings): Declare. | |
15325 | (warn_format): Likewise. | |
15326 | (flag_traditional): Likewise. | |
15327 | (flag_isoc99): Likewise. | |
15328 | (warn_parentheses): Likewise. | |
15329 | (warn_conversion): Likewise. | |
15330 | (C_TYPE_OBJECT_P): Likewise. | |
15331 | (C_TYPE_INCOMPLETE_P): Likewise. | |
15332 | (C_TYPE_FUNCTION_P): Likewise. | |
15333 | (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise. | |
15334 | (C_EXP_ORIGINAL_CODE): Likewise. | |
15335 | (build_unary_op): Likewise. | |
15336 | (build_binary_op): Likewise. | |
15337 | (lvalue_p): Likewise. | |
15338 | (default_conversion): Likewise. | |
15339 | (common_type): Likewise. | |
15340 | * c-tree.h (C_TYPE_OBJECT_P): Remove. | |
15341 | (C_TYPE_INCOMPLETE_P): Likewise. | |
15342 | (C_TYPE_FUNCTION_P): Likewise. | |
15343 | (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise. | |
15344 | (C_EXP_ORIGINAL_CODE): Likewise. | |
15345 | (common_type): Likewise. | |
15346 | (default_conversion): Likewise. | |
15347 | (build_binary_op): Likewise. | |
15348 | (build_unary_op): Likewise. | |
15349 | (lvalue_p): Likewise. | |
15350 | (flag_const_strings): Likewise. | |
15351 | (warn_format): Likewise. | |
15352 | (warn_conversion): Likewise. | |
15353 | (flag_traditional): Likewise. | |
15354 | (flag_isoc99): Likewise. | |
15355 | (warn_parentheses): Likewise. | |
15356 | ||
15357 | 2000-06-29 James E. Wilson <wilson@cygnus.com> | |
15358 | ||
15359 | * config/ia64/linux.h (LINK_SPEC): Change so.1 to so.2. | |
15360 | ||
15361 | * config/ia64/ia64.h (MODES_TIEABLE_P): Only tie if mode class is the | |
15362 | same. Only tie XFmode with XFmode. | |
15363 | ||
15364 | 2000-06-29 Zack Weinberg <zack@wolery.cumb.org> | |
15365 | ||
15366 | * c-decl.c, timevar.c, tlink.c: Include intl.h. | |
15367 | * Makefile.in: Update deps. | |
15368 | ||
15369 | 2000-06-29 Andrew Haley <aph@cygnus.com> | |
15370 | ||
15371 | * toplev.c (main): On an IA-64, make flag_unwind_tables defauit | |
15372 | to true. | |
15373 | ||
15374 | 2000-06-29 Andrew Haley <aph@cygnus.com> | |
15375 | ||
15376 | * config/ia64/linux.h (JMP_BUF_SIZE): Size is in Pmode units, not | |
15377 | bytes: remove the multiply by 8. | |
15378 | ||
15379 | 2000-06-29 Philipp Thomas <pthomas@suse.de> | |
15380 | ||
15381 | * rtl.c : Revert NLS changes. | |
15382 | * gcc.c : Fix bug in display_help introced by my last changes. | |
15383 | ||
15384 | Wed Jun 28 21:09:33 2000 Raja R Harinath <harinath@cs.umn.edu> | |
15385 | ||
15386 | * dbxout.c (dbxout_symbol, case RESULT_DECL, VAR_DECL): Use | |
15387 | DECL_CONTEXT, not DECL_FIELD_CONTEXT. | |
15388 | ||
15389 | 2000-06-29 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
15390 | ||
15391 | * flow.c (flow_depth_first_order_compute): Fix algorithm. | |
15392 | ||
15393 | 2000-06-28 Philipp Thomas <pthomas@suse.de> | |
15394 | ||
15395 | * c-decl.c : Mark strings for translation. | |
15396 | (parmlist_tags_warning): Use distinct messages instead | |
15397 | of conditional expressions. | |
15398 | * diagnostic.c (v_message_with_decl): Mark string for translation. | |
15399 | * gcc.c: Mark messages for translation. | |
15400 | (display_help): Combine messages into one string where necessary. | |
15401 | * mips-tfile: Add intl.h. Mark messages for translation. | |
15402 | * rtl.c (fatal_with_file_and_line): Modify function for NLS. Mark | |
15403 | messages for translation. | |
15404 | * timevar.c: Mark messages for translation. | |
15405 | * tlink.c: Likewise. | |
15406 | * toplev.c: Likewise. | |
15407 | ||
15408 | Wed Jun 28 15:39:26 2000 Donn Terry (donnte@microsoft.com) | |
15409 | ||
15410 | * i386-interix.h (STRIP_NAME_ENCODING): Declare _new_name properly. | |
15411 | ||
15412 | * alpha/alpha-interix.h: Delete redundant -Asystem(interix), | |
15413 | use -isystem instead of -idirafter. | |
15414 | * i386/i386-interix.h: Likewise. | |
15415 | ||
15416 | 2000-06-28 Jason Merrill <jason@redhat.com> | |
15417 | ||
15418 | * dwarf2out.c (output_loc_operands): Don't support >1 byte output | |
15419 | unless DWARF2_DEBUGGING_INFO is defined. | |
15420 | (ASM_OUTPUT_DWARF_*): Wrap normal output defs with #ifndefs. | |
15421 | ||
15422 | 2000-06-28 Richard Henderson <rth@cygnus.com> | |
15423 | ||
15424 | * config/alpha/alpha.c (summarize_insn): Ignore SCRATCH. | |
15425 | ||
15426 | 2000-06-28 Jakub Jelinek <jakub@redhat.com> | |
15427 | ||
15428 | * cpplex.c (output_line_command): Output correct #line if a header | |
15429 | is including itself and is not protected against multiple inclusion. | |
15430 | ||
15431 | 2000-06-28 Zack Weinberg <zack@wolery.cumb.org> | |
15432 | ||
15433 | * cppfiles.c (open_include_file): If open(2) returns EMFILE or | |
15434 | ENFILE, close all cached file descriptors and try again. | |
15435 | (_cpp_execute_include): Keep a count of the number of times | |
15436 | each header is included. | |
15437 | (close_cached_fd): New function. | |
15438 | * cpphash.h (struct include_file): Rename before to | |
15439 | include_count; all users updated. Make include_count and sysp | |
15440 | unsigned short. | |
15441 | * cppinit.c (cpp_finish): If -H, report headers that could use | |
15442 | reinclude guards. | |
15443 | (report_missing_guard): New function. | |
15444 | ||
15445 | Wed Jun 28 14:46:58 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
15446 | ||
15447 | * i386.md (prologue_set_got): Set length_immediate field. | |
15448 | (testqi_ccno_1): Add missing '@' character. | |
15449 | ||
15450 | 2000-06-27 Jason Merrill <jason@redhat.com> | |
15451 | ||
15452 | * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Use | |
15453 | DWARF_FRAME_REGNUM. | |
15454 | ||
15455 | 2000-06-27 Andrew Macleod <amacleod@cygnus.com> | |
15456 | ||
15457 | * dwarf2out.c (ASM_OUTPUT_DWARF_DATA2): Provide default when no | |
15458 | unsigned macros available. | |
15459 | ||
15460 | 2000-06-27 Richard Henderson <rth@cygnus.com> | |
15461 | ||
15462 | * config/ia64/ia64.c (emit_insn_group_barriers): Special case | |
15463 | epilogue_deallocate_stack. | |
15464 | ||
15465 | * config/ia64/ia64.c (ia64_print_operand) [case D]: Emit | |
15466 | completers for UNORDERED and ORDERED as well. | |
15467 | * config/ia64/ia64.md (bunordered, bordered): New. | |
15468 | (sunordered, sordered): New. | |
15469 | ||
15470 | Tue Jun 27 12:14:12 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
15471 | ||
15472 | * genattrtab.c (write_attr_value): Do not abort for CONST_INT operands. | |
15473 | * i386.c (ix86_attr_length_default): Kill. | |
15474 | (ix86_attr_length_immediate_default, ix86_attr_length_address_default): | |
15475 | New. | |
15476 | * i386-protos.h (ix86_attr_length_default): Kill | |
15477 | (ix86_attr_length_immediate_default, ix86_attr_length_address_default): | |
15478 | Add prototype | |
15479 | * i386.md (attribute type): Add "test". | |
15480 | (attribute length_prefix): Kill. | |
15481 | (attribute length_opcode): Kill. | |
15482 | (attribute i387, mode, length_immediate, length_address, prefix_data16, | |
15483 | prefix_rep, prefix_0f, modrm): New. | |
15484 | (attribute length): Compute using the new attributes. | |
15485 | (attribute pent_prefix): New. | |
15486 | (attribute pent_pair): Compute using pent_prefix. | |
15487 | (all insn patterns): Set mode,modrm and immediate_length attributes where | |
15488 | needed. | |
a1f300c0 JM |
15489 | (cmpsi patterns): Compute sizes properly for test instruction. |
15490 | (movsi, movhi patterns): Compute sizes properly for eax shortcuts. | |
c30d43bf JL |
15491 | (movstricthi_xor, movstrictqi_xor): New patterns. |
15492 | (andsi/andhi): Use splitters to generate xor instructions. | |
15493 | (xorqi_ext_1): New pattern. | |
15494 | (movstricthi->movstricthi_xor peep2): New. | |
15495 | ||
15496 | Tue Jun 27 12:03:03 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
15497 | ||
15498 | * i386.md (addqi_low_1): Remove. | |
15499 | ||
15500 | 2000-06-27 Philipp Thomas <pthomas@suse.de> | |
15501 | ||
15502 | * 1750a.h: Mark help strings for options/switches for translation. | |
15503 | * a29k.h: Likewise. | |
15504 | * alpha.h: Likewise. | |
15505 | * arm.h: Likewise. | |
15506 | * pe.h: Likewise. | |
15507 | * riscix.h: Likewise. | |
15508 | * c4x.h: Likewise. | |
15509 | * clipper.h: Likewise. | |
15510 | * convex.h: Likewise. | |
15511 | * elxsi.h: Likewise. | |
15512 | * fr30.h: Likewise. | |
15513 | * fx80.h: Likewise. | |
15514 | * h8300.h: Likewise. | |
15515 | * i370.h: Likewise. | |
15516 | * cygwin.h: Likewise. | |
15517 | * dgux.h: Likewise. | |
15518 | * djgpp.h: Likewise. | |
15519 | * i386.h: Likewise. | |
15520 | * osf1elf.h: Likewise. | |
15521 | * osfrose.h: Likewise. | |
15522 | * sco5.h: Likewise. | |
15523 | * win32.h: Likewise. | |
15524 | * i860.h: Likewise. | |
15525 | * paragon.h: Likewise. | |
15526 | * i960.h: Likewise. | |
15527 | * ia64.h: Likewise. | |
15528 | * m32r.h: Likewise. | |
15529 | * mcore.h: Likewise. | |
15530 | * mips.h: Likewise. | |
15531 | * mn10300.h: Likewise. | |
15532 | * ns32k.h: Likewise. | |
15533 | * pdp11.h: Likewise. | |
15534 | * pj.h: Likewise. | |
15535 | * aix.h: Likewise. | |
15536 | * aix41.h: Likewise. | |
15537 | * aix43.h: Likewise. | |
15538 | * beos.h: Likewise. | |
15539 | * rs6000.h: Likewise. | |
15540 | * sysv4.h: Likewise. | |
15541 | * linux.h: Likewise. | |
15542 | * linux64.h: Likewise. | |
15543 | * sp64-elf.h: Likewise. | |
15544 | * sparc.h: Likewise. | |
15545 | * splet.h: Likewise. | |
15546 | * v850.h: Likewise. | |
15547 | * convex.h (TARGET_SWITCHES): Provide descriptions and mark them | |
15548 | for translation. | |
15549 | * sp86x-aout.h: Remove bogus first definition of SUBTARGET_SWITCHES. | |
15550 | Properly document option and mark for translation. | |
15551 | * sp86x-elf.h: Likewise. | |
15552 | ||
15553 | 2000-06-27 Bernd Schmidt <bernds@cygnus.co.uk> | |
15554 | ||
15555 | Add MMX and SSE registers to i386 machine description. | |
15556 | * i386-protos.h (ix86_constant_alignment, ix86_data_alignment, | |
15557 | ix86_local_alignment): Declare. | |
15558 | ||
15559 | * i386.h (TARGET_MMX, TARGET_SSE): New. | |
15560 | (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS, | |
15561 | REG_ALLOC_ORDER, HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, | |
15562 | REG_CLASS_NAMES, REG_CLASS_CONTENTS,REG_CLASS_FROM_LETTER, | |
15563 | enum reg_class, HI_REGISTER_NAMES): Added MMX/SSE registers. | |
15564 | (FIRST_SSE_REG, LAST_SSE_REG, SSE_REGNO_P): New. | |
15565 | (FIRST_MMX_REG, LAST_MMX_REG, MMX_REGNO_P, MMX_REG_P): New macros. | |
15566 | (RETURN_IN_MEMORY): Handle MMX/SSE. | |
15567 | (REG_PARM_STACK_SPACE): Added so the first three TImode parameters | |
15568 | also get stack space. | |
15569 | (MUST_PASS_IN_STACK): Added TImode to the default definition. | |
15570 | (CUMULATIVE_ARGS): Added sse_nregs, sse_regno and sse_words. | |
15571 | (MMX_REGISTER_NAMES): New. | |
15572 | (ALIGN_MODE_128): New macro. | |
15573 | (CONSTANT_ALIGNMENT): Code moved out-of-line; just call the function. | |
15574 | (DATA_ALIGNMENT): Likewise. | |
15575 | (LOCAL_ALIGNMENT): Likewise. | |
15576 | (CONDITIONAL_REGISTER_USAGE): Make MMX/SSE regs fixed if not | |
15577 | TARGET_MMX/TARGET_SSE. | |
15578 | (VALID_SSE_REG_MODE, VALID_MMX_REG_MODE): New macros. | |
15579 | (REG_CLASS_FROM_LETTER): 'y' for MMX regs. | |
15580 | (SECONDARY_MEMORY_NEEDED): Be conservative about copying between | |
15581 | SSE/MMX regs and something else. | |
15582 | (CLASS_MAX_NREGS): 1 for SSE and MMX regs. | |
15583 | (REGISTER_MOVE_COST): 10 if trying to move between MMX and SSE regs, | |
15584 | 3 if moving between MMX regs and something else. | |
15585 | ||
15586 | * i386.c (reg_class): Add SSE_REGS, MMX_REGS. | |
15587 | (regclass_map): Add MMX/SSE registers. | |
15588 | (print_operand): Add code to print XMMWORD as appropriate. | |
15589 | (ix86_split_movdi): Abort for MMX regs. | |
15590 | (init_cumulative_args): Also allow SSE_REGS | |
15591 | (function_arg_advance, function_arg): Likewise | |
15592 | (print_reg): Support 'm'. Add case for TImode. | |
15593 | (override_options): TARGET_SSE implies TARGET_MMX. | |
15594 | (ix86_constant_alignment, ix86_data_alignment, ix86_local_alignment): | |
15595 | New functions. | |
15596 | ||
15597 | * config/i386/unix.h (VALUE_REGNO): VECTOR_MODE values go to | |
15598 | FIRST_SSE_REG. | |
15599 | * config/i386/ptx4-i.h (RETURN_IN_MEMORY): Return MMX values in | |
15600 | memory. | |
15601 | * config/i386/sysv4.h (RETURN_IN_MEMORY): Likewise. | |
15602 | * config/i386/i386elf.h (RETURN_IN_MEMORY): Likewise. | |
15603 | ||
15604 | 2000-06-26 Geoff Keating <geoffk@cygnus.com> | |
15605 | ||
15606 | * ssa.c (struct rename_set_data): Change the name of field | |
15607 | 'set_dest' to 'old_reg'. Add comments. | |
15608 | (struct rename_context): Change the name of 'set_data' to | |
15609 | 'new_renames'. Add new field 'done_renames'. | |
15610 | (create_delayed_rename): New function. | |
15611 | (apply_delayed_renames): New function. | |
15612 | (rename_insn_1): Use the new functions. Handle CLOBBERS. Handle | |
15613 | SUBREGs and similar by emitting a move. | |
15614 | (new_registers_for_updates): Delete, functionality moved to | |
15615 | apply_delayed_renames. | |
15616 | (rename_block): Handle moves emitted by rename_insn_1 by putting | |
15617 | them into a SEQUENCE with the original insn. Add sanity checks | |
15618 | and comments. | |
15619 | (rename_equivalent_regs_in_insn): Don't handle SUBREGs specially. | |
15620 | (rename_equivalent_regs): Expand SEQUENCEs out to individual insns. | |
15621 | ||
15622 | 2000-06-26 Andrew Macleod <amacleod@cygnus.com> | |
15623 | Jason Merrill <jason@redhat.com> | |
15624 | ||
15625 | * dwarf2.h (enum dwarf_call_frame_info): Add | |
15626 | DW_CFA_def_cfa_expression. | |
15627 | * dwarf2out.c (union dw_cfi_oprnd_struct): Add a pointer to a | |
15628 | dw_loc_descr_struct entry. | |
15629 | (struct cfa_loc): New structure to track a CFA location. | |
15630 | (lookup_cfa): Take a cfa_loc parameter instead of a reg and an offset. | |
15631 | (lookup_cfa_1): Take a cfa_loc parameter instead of a reg and an | |
15632 | offset, plus handle DW_CFA_def_cfa_expression. | |
15633 | (def_cfa_1): Use to be dwarf2out_def_cfa, only now it uses a | |
15634 | cfa_loc record. | |
f63d1bf7 | 15635 | (dwarf2out_def_cfa): Entry point maintained for compatibility. |
c30d43bf JL |
15636 | (dwarf_cfi_name): Add DW_CFA_def_cfa_expression. |
15637 | (cfa_reg, cfa_offset): Replace with cfa_loc record 'cfa'. | |
15638 | (cfa_store_reg, cfa_store_offset): Replace with cfa_loc 'cfa_store'. | |
15639 | (initial_return_save, dwarf2out_stack_adjust): Use cfa.reg, not | |
15640 | cfa_reg. | |
15641 | (dwarf2out_frame_debug_expr): Use new cfa_loc records. Recognize rtl | |
15642 | sequences for the new DW_CFA_def_cfa_expression record. | |
15643 | (dwarf2out_frame_debug): Use new variables/fields.A | |
15644 | (output_cfi): Handle DW_CFA_def_cfa_expression. | |
15645 | (output_cfa_loc): New function to generate a CFI record for | |
15646 | DW_CFA_def_cfa_expression. | |
15647 | (get_cfa_from_loc_descr): New function to get a cfa_loc record from | |
15648 | a dw_loc_descr sequeunce. | |
15649 | (build_loc_descr): Build a dw_loc_descr from a cfa_loc record. | |
15650 | (dwarf_stack_op_name, new_loc_descr, add_loc_descr, size_of_loc_descr, | |
15651 | size_of_locs, output_loc_operands, output_loc_sequence): Move into | |
15652 | unwind info section. | |
15653 | * frame.h (frame_state): Add base_offset and indirect fields. | |
15654 | * frame-dwarf2.c (decode_stack_op): New function to interpret a | |
15655 | dw_loc_descr operation. | |
15656 | (execute_cfa_insn): Add support for DW_CFA_def_cfa_expression. | |
15657 | (struct frame_state): Add base offset and indirect fields. | |
15658 | * libgcc2.c (next_stack_level): Support indirect loading for CFA. | |
15659 | ||
15660 | 2000-06-26 Joseph S. Myers <jsm28@cam.ac.uk> | |
15661 | ||
15662 | * c-decl.c (grokdeclarator): Don't warn about `long long' in C99. | |
15663 | Make warnings about implicit int be pedwarns in C99. Don't warn | |
15664 | about duplicate type qualifiers in C99. | |
15665 | (start_function): Make warning about implict int return type be a | |
15666 | pedwarn in C99. | |
15667 | * c-lex.c (yylex): Don't warn about `long long' in C99. | |
15668 | * c-typeck.c (c_expand_return): In C99, always pedwarn about | |
15669 | `return' with no value in function returning non-void. | |
15670 | ||
15671 | 2000-06-26 Richard Henderson <rth@cygnus.com> | |
15672 | ||
15673 | * c-typeck.c (pedwarn_c99): New. | |
15674 | * diagnostic.c (verror, vwarning, vpedwarn): Export. | |
15675 | * toplev.h: Prototype them. | |
15676 | ||
15677 | 2000-06-26 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
15678 | ||
15679 | * c-typeck.c (digest_init): Return error_mark_node node when | |
15680 | TREE_TYPE (init) == error_mark_node. | |
15681 | ||
15682 | 2000-06-26 Philipp Thomas <pthomas@suse.de> | |
15683 | ||
15684 | * aclocal.m4 (AM_WITH_NLS): Don't set MSGFMT or GMSGFMT to no, | |
15685 | test for msgfmt without path instead. | |
15686 | * configure: Rebuilt. | |
15687 | ||
15688 | 2000-06-25 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr> | |
15689 | ||
15690 | * gengenrtl.c (special_rtx): Fix typo in comment. | |
15691 | ||
15692 | 2000-06-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
15693 | ||
15694 | * mklibgcc.in (LIB2FUNCS): Add missing space. | |
15695 | ||
15696 | 2000-06-24 Bernd Schmidt <bernds@cygnus.co.uk> | |
15697 | ||
15698 | * tree.h (enum tree_index): Add vector type nodes. | |
15699 | Add accessor macros for them. | |
15700 | (TYPE_REPRESENATION_TYPE): New macro. | |
15701 | * tree.c (build_common_tree_nodes_2): Build these nodes. | |
15702 | (finish_vector_type): New function. | |
15703 | * c-common.c (type_for_mode): Handle vector modes. | |
15704 | * tm.texi (VECTOR_MODE_SUPPORTED_P): Document. | |
15705 | ||
15706 | * dbxout.c (dbxout_type): Handle VECTOR_TYPEs. | |
15707 | * dwarf.h (enum dwarf_fundamental_type): Add 128 bit integers. | |
15708 | * dwarf2out.c (lookup_type_die): Handle VECTOR_TYPEs. | |
15709 | (gen_type_die): Likewise. | |
15710 | * dwarfout.c (dwarf_fund_type_name): Handle 128 bit integers. | |
15711 | (fundamental_type_code): Likewise. | |
15712 | (type_is_fundamental): VECTOR_TYPEs aren't. | |
15713 | (output_type): Handle VECTOR_TYPEs. | |
15714 | ||
15715 | 2000-06-25 Kazu Hirata <kazu@hxi.com> | |
15716 | ||
15717 | * config/arm.c: Fix a comment typo. | |
15718 | * config/arm.h: Likewise. | |
15719 | ||
15720 | 2000-06-25 Philipp Thomas <pthomas@suse.de> | |
15721 | ||
15722 | * aclocal.m4 (AM_WITH_NLS): Set create_catalogs=no if no catalog | |
15723 | compiler found. | |
15724 | AM_GNU_GETTEXT: Don't set CATALOGS if create_catalogs=no. | |
15725 | * configure: Rebuilt. | |
15726 | ||
15727 | 2000-06-25 John David Anglin <dave.anglin@nrc.ca> | |
15728 | ||
15729 | * config/vax/vax.h (TARGET_SWITCHES): Provide descriptions. | |
15730 | ||
15731 | 2000-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | |
15732 | ||
15733 | * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2FUNCS when generating | |
15734 | libgcc.a. | |
15735 | ||
15736 | 2000-06-24 Marc Espie <espie@cvs.openbsd.org> | |
15737 | ||
15738 | * collect2.c (resolve_lib_name): Move '/' check out of loop. | |
15739 | ||
15740 | 2000-06-24 Dirk Duellmann <Dirk.Duellmann@cern.ch> | |
15741 | ||
15742 | * ginclude/stddef.h (NULL): define for non-gnu C++ parsers as 0. | |
15743 | ||
15744 | 2000-06-24 Jakub Jelinek <jakub@redhat.com> | |
15745 | ||
15746 | * stmt.c (expand_decl_cleanup): Emit a dummy insn after | |
15747 | last_unconditional_cleanup. | |
15748 | ||
15749 | 2000-06-24 Bernd Schmidt <bernds@cygnus.co.uk> | |
15750 | ||
15751 | * tree.def (VECTOR_TYPE): New node type. | |
15752 | * tree.h: Adjust some comments to reflect addition of vector types. | |
15753 | (TYPE_VECTOR_SUBPARTS): New macro. | |
15754 | * stor-layout.c (layout_type): Handle VECTOR_TYPE. | |
15755 | * c-convert.c (convert): Likewise. | |
15756 | * convert.c (convert_to_integer): Handle vector modes. | |
15757 | (convert_to_vector): New function. | |
15758 | * convert.h (convert_to_vector): Declare. | |
15759 | * expr.c (convert_move): Handle vector modes. | |
15760 | * expmed.c (extract_bit_field): Don't abort for vector modes. | |
15761 | ||
15762 | 2000-06-24 Marek Michalkiewicz <marekm@linux.org.pl> | |
15763 | ||
15764 | * config/avr/avr-protos.h (avr_hard_regno_mode_ok): New prototype. | |
15765 | * config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr): | |
15766 | New functions, common code moved from function_{prologue,epilogue} | |
15767 | and extended to support the -mtiny-stack option. | |
15768 | (function_prologue, function_epilogue): Use them. | |
15769 | Use lo8/hi8 consistently for asm output readability. | |
15770 | (avr_hard_regno_mode_ok): New function. | |
15771 | * config/avr/avr.h (TARGET_SWITCHES): Fix typo. Add -mtiny-stack. | |
15772 | (UNITS_PER_WORD): Define as 4 (not 1) when compiling libgcc2.c. | |
15773 | (HARD_REGNO_MODE_OK): Call the avr_hard_regno_mode_ok function. | |
15774 | * config/avr/avr.md (*mov_sp_r): Add support for -mtiny-stack. | |
15775 | Write SPH before SPL. | |
15776 | (*movqi): No need to disable interrupts for just one "out" | |
15777 | in alternative 5. Change length attribute from 4 to 1. | |
15778 | * config/avr/libgcc.S (__prologue_saves__, __epilogue_restores__): | |
15779 | Write SPH before SPL. | |
15780 | ||
15781 | 2000-06-24 Bernd Schmidt <bernds@cygnus.co.uk> | |
15782 | ||
15783 | * rtl.texi (Vector Operations): New node. | |
15784 | (Arithmetic): Add ss_plus, us_plus, ss_minus, us_minus. | |
15785 | (Conversions): Add ss_truncate, us_truncate. | |
15786 | * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_REORDER, | |
15787 | VEC_CONST, VEC_DUPLICATE, SS_PLUS, SS_MINUS, SS_TRUNCATE, | |
15788 | US_TRUNCATE): New rtx codes. | |
15789 | * machmode.def: Add vector modes. | |
15790 | * machmode.h (enum mode_class): Add MODE_VECTOR_INT and | |
15791 | MODE_VECTOR_FLOAT. | |
15792 | (INTEGER_MODE_P): Check for MODE_VECTOR_INT. | |
15793 | (FLOAT_MODE_P): Check for MODE_VECTOR_FLOAT. | |
15794 | (VECTOR_MODE_P): New. | |
15795 | ||
15796 | 2000-06-24 Nathan Sidwell <nathan@codesourcery.com> | |
15797 | ||
15798 | * cpp.texi: Clarify #pragma GCC namespace. | |
15799 | ||
15800 | 2000-06-24 Philipp Thomas <pthomas@suse.de> | |
15801 | ||
15802 | * aclocal.m4(AM_GNU_GETTEXT): If LINGUAS isn't set, build | |
15803 | all catalogs specified in ALL_LINGUAS. | |
15804 | * configure: Rebuilt. | |
15805 | ||
15806 | 2000-06-23 Jakub Jelinek <jakub@redhat.com> | |
15807 | ||
15808 | * config/sparc/sparc.md (reload_outdi+1): Handle | |
15809 | HOST_BITS_PER_WIDE_INT == 64 case correctly. | |
15810 | (adddi3_insn_sp32+1, adddi3_insn_sp32+2, andsi3+2): Likewise. | |
15811 | ||
15812 | 2000-06-23 Geoffrey Keating <geoffk@cygnus.com> | |
15813 | ||
15814 | * alias.c (fixed_scalar_and_varying_struct_p): Don't examine | |
15815 | struct vs. scalar-ness when -fno-strict-aliasing. | |
15816 | ||
15817 | 2000-06-23 Nathan Sidwell <nathan@codesourcery.com> | |
15818 | ||
15819 | * cpplib.c (struct pragma_entry): New structure. | |
15820 | (pragma_dispatch): Pragma dispatcher. | |
15821 | (top_pragmas, gcc_pragmas): New static variables. | |
15822 | (do_pragma): Use pragma_dispatch. | |
15823 | (do_pragma_gcc): New pragma handler. | |
15824 | * cpp.texi: Update. | |
15825 | ||
15826 | 2000-06-23 Jakub Jelinek <jakub@redhat.com> | |
15827 | ||
15828 | * calls.c (compute_argument_addresses): Force stack slots into | |
15829 | alias set 0. | |
15830 | * expr.c (emit_push_insn): Force pushes into alias set 0. | |
15831 | ||
15832 | 2000-06-23 Richard Henderson <rth@cygnus.com> | |
15833 | ||
15834 | * config/ia64/ia64.md (pred_rel_mutex): Only take one register. | |
15835 | * config/ia64/ia64.c (emit_predicate_relation_info): Adjust to match. | |
15836 | ||
15837 | 2000-06-22 Jason Merrill <jason@redhat.com> | |
15838 | ||
15839 | * toplev.c (compile_file): Always call timevar_print. | |
15840 | * Makefile.in (calls.o): Depend on TIMEVAR_H. | |
15841 | ||
15842 | 2000-06-22 Nathan Sidwell <nathan@codesourcery.com> | |
15843 | ||
15844 | * varasm.c (constant_descriptor): Make contents unsigned char. | |
15845 | (mark_const_hash_entry): Adjust. | |
15846 | (const_hash): Just hash the code of unknown nodes. | |
15847 | (compare_constant_1): Adjust for unsigned char. | |
15848 | Use language specific expander on unknown nodes. | |
15849 | (record_constant_1): Likewise. | |
15850 | ||
15851 | 2000-06-21 Zack Weinberg <zack@wolery.cumb.org> | |
15852 | ||
15853 | * cppfiles.c (cpp_make_system_header): New function. | |
15854 | * cpplib.h: Prototype it. | |
15855 | * cpplib.c (do_line, do_pragma_system_header): Use it. | |
15856 | * fix-header.c (read_scan_file): Use it. | |
15857 | ||
15858 | * fix-header.c (check_macro_names): Cast second arg of | |
15859 | cpp_defined to const unsigned char *. | |
15860 | (read_scan_file): Make getchar_call const unsigned char. | |
15861 | ||
15862 | 2000-06-21 Zack Weinberg <zack@wolery.cumb.org> | |
15863 | ||
15864 | * cppfiles.c: Include splay-tree.h, not hashtab.h. | |
15865 | (redundant_include_p, make_IHASH, hash_IHASH, eq_IHASH): Delete. | |
15866 | (destroy_include_file_node): New. | |
15867 | (_cpp_init_include_hash): Rename _cpp_init_include_table. | |
15868 | Create a splay tree, not a hash table. | |
15869 | (open_include_file): Look up the path in the include table, | |
15870 | do the multiple include optimization here, etc. | |
15871 | (cpp_included): Walk the path. | |
15872 | (find_include_file): Just walk the path calling | |
15873 | open_include_file, or call it directly for an absolute path. | |
15874 | (_cpp_fake_ihash): Rename _cpp_fake_include and update for new | |
15875 | scheme. | |
15876 | (read_include_file): Update for new scheme. Don't close the | |
15877 | file unless reading fails. | |
15878 | (_cpp_execute_include, cpp_read_file): Tweak for new scheme. | |
15879 | ||
15880 | * cpphash.h (struct ihash, NEVER_REINCLUDE): Delete. | |
15881 | (struct include_file): New. | |
15882 | (NEVER_REREAD, DO_NOT_REREAD, CPP_IN_SYSTEM_HEADER): New | |
15883 | macros. | |
15884 | (CPP_PEDANTIC, CPP_WTRADITIONAL): Update. | |
15885 | Update prototypes. | |
15886 | ||
15887 | * cppinit.c: Include splay-tree.h. | |
15888 | (cpp_reader_init, cpp_cleanup): Update. | |
15889 | ||
15890 | * cpplib.h (struct cpp_buffer): Change ihash field to | |
15891 | 'struct include_file *inc'. Remove system_header_p. | |
15892 | (struct cpp_reader): Change all_include_files to a | |
15893 | struct splay_tree_s *. | |
15894 | ||
15895 | * cpplex.c: Update all references to cpp_buffer->ihash and/or | |
15896 | cpp_buffer->system_header_p. | |
15897 | (cpp_pop_buffer): Close file here, only if DO_NOT_REREAD. | |
15898 | ||
15899 | * Makefile.in (SPLAY_TREE_H): New macro. | |
15900 | (cppfiles.o, cppinit.o): Update dependencies. | |
15901 | ||
15902 | Wed Jun 21 11:05:48 2000 Martin Buchholz <martin@xemacs.org> | |
15903 | ||
15904 | * invoke.texi (g++): "g++" is not a script anymore. | |
15905 | ||
15906 | 2000-06-20 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
15907 | ||
15908 | * function.c (round_down): Delete obsolete prototype. | |
15909 | ||
15910 | * pa.h (CPP_SPEC): Add whitespace after -D__STDC_EXT__. | |
15911 | ||
15912 | 2000-06-20 Zack Weinberg <zack@wolery.cumb.org> | |
15913 | ||
15914 | * configure.in: Use 'test a = b' not 'test a == b'. | |
15915 | * configure: Regen. | |
15916 | ||
15917 | * Makefile.in (fix-header): Link with $(LIBS) not $(HOST_LIBS). | |
15918 | ||
15919 | * Makefile.in: Remove all references to HOST_INTLLIBS. | |
15920 | ||
15921 | * cpplex.c (parse_name): Don't warn about $ in identifiers if | |
15922 | skipping. | |
15923 | ||
15924 | 2000-06-20 Philipp Thomas <pthomas@suse.de> | |
15925 | ||
15926 | * config/pa/pa.h(TARGET_SWITCHES): Require binutils 2.10 or later | |
15927 | for PA 2.0. | |
15928 | ||
15929 | Mon Jun 19 23:26:40 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
15930 | ||
15931 | * Take REG_INC notes into account. | |
15932 | ||
15933 | 2000-06-19 Zack Weinberg <zack@wolery.cumb.org> | |
15934 | ||
15935 | * c-parse.in (undeclared_variable_notice): Moved to c-typeck.c. | |
15936 | (primary: IDENTIFIER): Just call build_external_ref. | |
15937 | * c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c: | |
15938 | Regenerate. | |
15939 | * c-lex.c (lastiddecl): Remove. | |
15940 | (yylex): Replace all instances of lastiddecl with local | |
15941 | variables. | |
15942 | ||
15943 | * c-typeck.c (build_external_ref): New function. Treat decls | |
15944 | with C_DECL_ANTICIPATED mostly the same as nonexistent decls. | |
15945 | Look up the decl from the id here. Call lookup_objc_ivar. | |
15946 | * c-lang.c (lookup_objc_ivar): Stub. | |
15947 | * objc/objc-act.c (lookup_objc_ivar): New function. | |
15948 | ||
15949 | * c-tree.h: Prototype lookup_objc_ivar and build_external_ref. | |
15950 | * c-lex.h: Don't declare lastiddecl. | |
15951 | ||
15952 | 2000-06-19 Benjamin Chelf <chelf@codesourcery.com> | |
15953 | ||
15954 | * c-common.h (IF_COND): Added documentation. | |
15955 | (THEN_CLAUSE): Likewise. | |
15956 | (ELSE_CLAUSE): Likewise. | |
15957 | (WHILE_COND): Likewise. | |
15958 | (WHILE_BODY): Likewise. | |
15959 | (DO_COND): Likewise. | |
15960 | (DO_BODY): Likewise. | |
15961 | (RETURN_EXPR): Likewise. | |
15962 | (EXPR_STMT_EXPR): Likewise. | |
15963 | (FOR_INIT_STMT): Likewise. | |
15964 | (FOR_COND): Likewise. | |
15965 | (FOR_EXPR): Likewise. | |
15966 | (FOR_BODY): Likewise. | |
15967 | (SWITCH_COND): Likewise. | |
15968 | (SWITCH_BODY): Likewise. | |
15969 | (CASE_LOW): Likewise. | |
15970 | (CASE_HIGH): Likewise. | |
15971 | (GOTO_DESTINATION): Likewise. | |
15972 | (COMPOUND_BODY): Likewise. | |
15973 | (ASM_CV_QUAL): Likewise. | |
15974 | (ASM_STRING): Likewise. | |
15975 | (ASM_OUTPUTS): Likewise. | |
15976 | (ASM_INPUTS): Likewise. | |
15977 | (ASM_CLOBBERS): Likewise. | |
15978 | (DECL_STMT_DECL): Likewise. | |
15979 | (STMT_EXPR_STMT): Likewise. | |
15980 | (LABEL_STMT_LABEL): Likewise. | |
15981 | ||
15982 | * c-common.def: Added documenetion for SRCLOC, EXPR_STMT, | |
15983 | COMPOUND_STMT, DECL_STMT, IF_STMT, FOR_STMT, WHILE_STMT, DO_STMT, | |
15984 | RETURN_STMT, BREAK_STMT, CONTINUE_STMT, SWITCH_STMT, GOTO_STMT, | |
15985 | LABEL_STMT, ASM_STMT, SCOPE_STMT, CASE_LABEL, STMT_EXPR. | |
15986 | ||
15987 | 2000-06-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
15988 | ||
15989 | * configure.in (--enable-checking): Update --help doc to reflect | |
15990 | new defaults. Ensure $ac_save_IFS is set before $IFS is changed. | |
15991 | ||
15992 | Sun Jun 18 21:42:15 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
15993 | ||
15994 | * gcse.c (insert_insn_end_bb): Always put after NOTE_INSN_BASIC_BLOCK. | |
15995 | ||
15996 | * function.c (put_var_into_stack): Don't reference DECL_ fields | |
15997 | if input is a SAVE_EXPR. | |
15998 | Use set_mem_attributes in COMPLEX case. | |
15999 | ||
16000 | 2000-06-18 Richard Henderson <rth@cygnus.com> | |
16001 | ||
16002 | * config/ia64/ia64-protos.h (process_for_unwind_directive): Declare. | |
16003 | (ia64_file_start): Declare. | |
16004 | * config/ia64/ia64.h (ADDL_REGNO_P): Don't compare unsigned against 0. | |
16005 | (GR_REGNO_P): Likewise. | |
16006 | * config/ia64/ia64.c: Many prototypes. | |
16007 | (ia64_reg_numbers): Constify. | |
16008 | (ia64_input_reg_names, ia64_local_reg_names): Likewise. | |
16009 | (ia64_section_threshold): Make unsigned. | |
16010 | (ia64_print_operand): Constify. | |
16011 | (fix_range): Constify. | |
16012 | (ia64_init_builtins): Don't compare signed vs unsigned. | |
16013 | (ia64_expand_builtin): Likewise. | |
16014 | ||
16015 | * config/ia64/ia64.h (EXTRA_CONSTRAINT): New. | |
16016 | (CONSTRAINT_OK_FOR_Q): New. | |
16017 | * config/ia64/ia64.md (movdi_internal): Use Q for fp<->mem. | |
16018 | (movsf_internal, movdf_internal): Likewise. | |
16019 | (cmovdi_internal): Rewrite so that constraints and predicates match; | |
16020 | simplify splitters. | |
16021 | (cmovsi_internal): Likewise. | |
16022 | ||
16023 | * config/ia64/ia64.h (ASM_SPEC): Add -x for gas. | |
16024 | (ASM_FILE_START): New. | |
16025 | * config/ia64/ia64.c (ia64_file_start): New. | |
16026 | (rtx_needs_barrier): Handle pred.rel.mutex. | |
16027 | (emit_predicate_relation_info): New. | |
16028 | * config/ia64/ia64.md (pred_rel_mutex): New. | |
16029 | * config/ia64/linux.h (ASM_SPEC): Define. | |
16030 | * config/ia64/sysv4.h (ASM_FILE_START): Define. | |
16031 | ||
16032 | * config/ia64/ia64.c (ia64_encode_section_info): Fix thinko | |
16033 | filtering global register variables. | |
16034 | ||
16035 | 2000-06-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
16036 | ||
16037 | * c-common.c (add_c_tree_codes): Fix definition for traditional C. | |
16038 | ||
16039 | 2000-06-17 Michael Meissner <meissner@redhat.com> | |
16040 | ||
16041 | * gcc.c (do_spec_1, '%v3' case): Do not abort if patch level is | |
16042 | not present and there is a field after a '-'. | |
16043 | ||
16044 | 2000-06-17 Bruce Korb <bkorb@gnu.org> | |
16045 | ||
16046 | * fixinc/check.tpl: finish the implementation of multiple tests | |
16047 | for a single fix | |
16048 | * fixinc/inclhack.def(ctrl_quotes_def): add a second test | |
16049 | (io_quotes_def): add a second test | |
16050 | (various): reorder `files' so that "limits.h" is never first | |
16051 | * fixinc/tests/base/*: update the testing output | |
16052 | ||
16053 | Sat Jun 17 10:33:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
16054 | ||
16055 | * gcc.texi: Remove reference to stupid.c. | |
16056 | ||
16057 | 2000-06-16 Benjamin Chelf <chelf@codesourcery.com> | |
16058 | ||
16059 | * c-common.c (c_tree_code_type): New array. | |
16060 | (c_tree_code_length): Likewise. | |
16061 | (c_tree_code_name): Likewise. | |
16062 | (add_c_tree_codes): New function. | |
16063 | ||
16064 | * c-common.h (add_c_tree_codes): Declare. | |
16065 | (enum c_tree_code): New enum. | |
16066 | ||
16067 | * c-lex.c (init_parse): Added call to add_c_tree_codes. | |
16068 | ||
16069 | 2000-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
16070 | ||
16071 | * fixinc/inclhack.def (ctrl_quotes_def, io_quotes_def): Modify | |
16072 | select pattern to also match macro defs with only one argument. | |
16073 | ||
16074 | Thu Jun 15 18:56:12 2000 Jeffrey A Law (law@cygnus.com) | |
16075 | ||
16076 | * i386.md: Create new [right,left] rotate and right shift | |
16077 | patterns to optimize shift by 1 bit for certain ia32 processors. | |
16078 | Update patterns which perform left shifts to optimize shift by | |
16079 | 1 bit for certain ia32 processors. | |
16080 | * i386.c (const_int_1_operand): New predicate. | |
16081 | * i386.h (PREDICATE_CODES): Handle const_int_1_operand. | |
16082 | * i386-protos.h (const_int_1_operand): Prototype. | |
16083 | ||
16084 | Wed Jun 14 23:46:26 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
16085 | ||
16086 | * mips.c (machine_dependent_reorg): Fix braces for nested if. | |
16087 | ||
16088 | 2000-06-14 Geoff Keating <geoffk@cygnus.com> | |
16089 | ||
16090 | * rs6000.c (toc_hash_eq): Use CODE_LABEL_NUMBER to compare | |
16091 | LABEL_REFs. | |
16092 | ||
16093 | 2000-06-14 Richard Henderson <rth@cygnus.com> | |
16094 | ||
16095 | * conflict.c (conflict_graph_compute): Don't look for REG_INC. | |
16096 | ||
16097 | * config/ia64/ia64.c (ia64_setup_incoming_varargs): Don't emit | |
16098 | auto-inc code. | |
16099 | ||
16100 | * print-rtl.c (print_rtx): Emit space before mem alias set. | |
16101 | ||
16102 | 2000-06-14 David Edelsohn <edelsohn@gnu.org> | |
16103 | ||
16104 | * rs6000.c (expand_block_move): Fix typo in earlier change. | |
16105 | (print_operand): Remove unused variables neg and op. | |
16106 | (toc_hash_mark_entry): Fix prototype. | |
16107 | ||
16108 | 2000-06-14 Benjamin Chelf <chelf@codesourcery.com> | |
16109 | ||
16110 | * c-common.h (IF_COND): Moved here from cp/cp-tree.h. | |
16111 | (THEN_CLAUSE): Likewise. | |
16112 | (ELSE_CLAUSE): Likewise. | |
16113 | (WHILE_COND): Likewise. | |
16114 | (WHILE_BODY): Likewise. | |
16115 | (DO_COND): Likewise. | |
16116 | (DO_BODY): Likewise. | |
16117 | (RETURN_EXPR): Likewise. | |
16118 | (EXPR_STMT_EXPR): Likewise. | |
16119 | (FOR_INIT_STMT): Likewise. | |
16120 | (FOR_COND): Likewise. | |
16121 | (FOR_EXPR): Likewise. | |
16122 | (FOR_BODY): Likewise. | |
16123 | (SWITCH_COND): Likewise. | |
16124 | (SWITCH_BODY): Likewise. | |
16125 | (CASE_LOW): Likewise. | |
16126 | (CASE_HIGH): Likewise. | |
16127 | (GOTO_DESTINATION): Likewise. | |
16128 | (COMPOUND_BODY): Likewise. | |
16129 | (ASM_CV_QUAL): Likewise. | |
16130 | (ASM_STRING): Likewise. | |
16131 | (ASM_OUTPUTS): Likewise. | |
16132 | (ASM_INPUTS): Likewise. | |
16133 | (ASM_CLOBBERS): Likewise. | |
16134 | (DECL_STMT_DECL): Likewise. | |
16135 | (STMT_EXPR_STMT): Likewise. | |
16136 | (LABEL_STMT_LABEL): Likewise. | |
16137 | (SCOPE_BEGIN_P): Likewise. | |
16138 | (SCOPE_END_P): Likewise. | |
16139 | (SCOPE_STMT_BLOCK): Likewise. | |
16140 | (SCOPE_NULLIFIED_P): Likewise. | |
16141 | (SCOPE_NO_CLEANUPS_P): Likewise. | |
16142 | (SCOPE_PARTIAL_P): Likewise. | |
16143 | (ASM_VOLATILE_P): Likewise. | |
16144 | (STMT_LINENO): Likewise. | |
16145 | (STMT_LINENO_FOR_FN_P): Likewise. | |
16146 | ||
16147 | * c-common.def: New file. Added SRCLOC, SIZEOF_EXPR, ARROW_EXPR, | |
16148 | ALIGNOF_EXPR, EXPR_STMT, COMPOUND_STMT, DECL_STMT, IF_STMT, | |
16149 | FOR_STMT, WHILE_STMT, DO_STMT, RETURN_STMT, BREAK_STMT, | |
16150 | CONTINUE_STMT, SWITCH_STMT, GOTO_STMT, LABEL_STMT, ASM_STMT, | |
16151 | SCOPE_STMT, CASE_LABEL, STMT_EXPR. | |
16152 | ||
16153 | * gencheck.c (tree_codes[]): Added '#include "c-common.def"'. | |
16154 | ||
16155 | 2000-06-14 David O'Brien <obrien@FreeBSD.org> | |
16156 | ||
16157 | * gcc.c (main): Quiet compiler warnings. argv is assumed to be | |
16158 | writable in parts of the GCC code. | |
16159 | ||
16160 | * config/elfos.h (ASM_GENERATE_INTERNAL_LABEL): Make printf | |
16161 | specification match cast. | |
16162 | ||
16163 | Wed Jun 14 09:25:57 2000 Jeffrey A Law (law@cygnus.com) | |
16164 | ||
16165 | * configure.in: Revert AC_TYPE_GETGROUPS patch from June 13. | |
16166 | * configure, config.in: Rebuilt. | |
16167 | * sys-protos.h: Similarly. | |
16168 | ||
16169 | Wed Jun 14 03:39:58 EDT 2000 John Wehle (john@feith.com) | |
16170 | ||
16171 | * ifcvt.c (EDGE_COMPLEX): Move definition ... | |
16172 | * basic-block.h (EDGE_COMPLEX): ... here. | |
16173 | ||
16174 | * loop.c (check_dbra_loop): Specify the register when | |
16175 | generating REG_NONNEG notes and don't generate duplicates. | |
16176 | ||
16177 | 2000-06-13 Jakub Jelinek <jakub@redhat.com> | |
16178 | ||
16179 | * tree.h (TYPE_USER_ALIGN, DECL_USER_ALIGN): Define. | |
16180 | (struct tree_type, struct tree_decl): Add user_align member. | |
16181 | * stor-layout.c (layout_decl): Set DECL_USER_ALIGN. | |
16182 | (place_union_field): If BIGGEST_FIELD_ALIGNMENT is defined | |
16183 | and DECL_USER_ALIGN 0, cap alignment to this value. | |
16184 | (place_field): Likewise. | |
16185 | (finalize_type_size): Set TYPE_USER_ALIGN. | |
16186 | (layout_type): Likewise. | |
16187 | (initialize_sizetypes): Likewise. | |
16188 | * c-common.c (decl_attributes): Set TYPE_USER_ALIGN resp. | |
16189 | DECL_USER_ALIGN to 1. | |
16190 | * c-decl.c (duplicate_decls): Set DECL_USER_ALIGN. | |
16191 | (xfer_tag): Set TYPE_USER_ALIGN. | |
16192 | (finish_struct): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN. | |
16193 | (finish_enum): Likewise. | |
16194 | * stmt.c (expand_decl): Set DECL_USER_ALIGN. | |
16195 | (expand_anon_union_decl): Likewise. | |
16196 | * tree.c (make_node): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN. | |
16197 | (build_index_type): Set TYPE_USER_ALIGN. | |
16198 | (build_range_type): Likewise. | |
16199 | (build_common_tree_nodes_2): Likewise. | |
16200 | * tm.texi (BIGGEST_FIELD_ALIGNMENT): Document the changed meaning. | |
16201 | ||
16202 | 2000-06-13 Andreas Jaeger <aj@suse.de> | |
16203 | ||
16204 | * configure.in: Use --enable-checking=misc,tree,gc by default if | |
16205 | no --enable-checking option is given and for | |
16206 | --enable-checking=yes. | |
16207 | * configure: Rebuilt. | |
16208 | ||
16209 | 2000-06-13 Richard Henderson <rth@cygnus.com> | |
16210 | ||
16211 | * libgcc2.c (ia64_throw_helper): Use __builtin_return_address. | |
16212 | (__throw): Don't pass the address of a label. | |
16213 | ||
16214 | * config/ia64/ia64.c (ia64_compute_frame_size): Use | |
16215 | current_function_is_leaf. | |
16216 | (ia64_expand_prologue): Likewise. Modify return_address_pointer_rtx | |
16217 | instead of reg_names[RETURN_ADDRESS_REGNUM]. | |
16218 | (ia64_init_machine_status): Reset return_address_pointer_rtx. | |
16219 | * config/ia64/ia64.h (RETURN_ADDRESS_POINTER_REGNUM): Rename | |
16220 | from RETURN_ADDRESS_REGNUM. Update all uses. | |
16221 | (RETURN_ADDR_RTX): Use return_address_pointer_rtx; return | |
16222 | zero instead of null on failure. | |
16223 | (ELIMINABLE_REGS): Add ra->b0 elimination. | |
16224 | (CAN_ELIMINATE): Update accordingly. | |
16225 | (INITIAL_ELIMINATION_OFFSET): Likewise. | |
16226 | (REGISTER_NAMES): Use an illegal assembler name for | |
16227 | RETURN_ADDRESS_POINTER_REGNUM. | |
16228 | ||
16229 | 2000-06-13 Richard Henderson <rth@cygnus.com> | |
16230 | ||
16231 | * config/ia64/ia64.h (enum reg_class): Remove FR_INT_REGS, FR_FP_REGS, | |
16232 | GR_AND_FR_INT_REGS, GR_AND_FR_FP_REGS. | |
16233 | (REG_CLASS_NAMES): Likewise. | |
16234 | (REG_CLASS_CONTENTS): Likewise. | |
16235 | (FR_FP_REGNO_P, FR_INT_REGNO_P): Remove. | |
16236 | (HARD_REGNO_MODE_OK): Remove references to them. | |
16237 | (REGNO_REG_CLASS): Likewise. | |
16238 | (REG_CLASS_FROM_LETTER): Likewise. | |
16239 | (CLASS_MAX_NREGS): Likewise. | |
16240 | (REGISTER_MOVE_COST): Likewise. | |
16241 | * config/ia64/ia64.c (ia64_secondary_reload_class): Likewise. | |
16242 | * config/ia64/ia64.md (*): Replace "e" constraints with "f". | |
16243 | (movqi_internal): Special case moves from zero. | |
16244 | (movhi_internal, movsi_internal): Likewise. | |
16245 | (movdi_internal): Likewise. Fill out "f" constraints. | |
16246 | (movsf_internal): Fill out "r" constraints. | |
16247 | (movdf_internal): Likewise. | |
16248 | ||
16249 | 2000-06-13 Richard Henderson <rth@cygnus.com> | |
16250 | ||
16251 | * flow.c (insn_dead_p): Keep sets to PIC_OFFSET_TABLE_REGNUM | |
16252 | alive before reload. | |
16253 | ||
16254 | * haifa-sched.c (struct deps): Add in_post_call_group_p. | |
16255 | (add_dependence): Handle notes between SCHED_GROUP_P insns. | |
16256 | (remove_dependence): Always define. | |
16257 | (set_sched_group_p): New. | |
16258 | (sched_analyze_2): Use it. | |
16259 | (sched_analyze_insn): Don't special-case naked uses. Look for | |
16260 | and extend in_post_call_group_p. | |
16261 | (sched_analyze): Clear stale SCHED_GROUP_P. Set in_post_call_group_p. | |
16262 | (init_deps): Clear in_post_call_group_p. | |
16263 | ||
16264 | 2000-06-13 Richard Henderson <rth@cygnus.com> | |
16265 | ||
16266 | * combine.c (subst): Use CLASS_CANNOT_CHANGE_MODE and | |
16267 | CLASS_CANNOT_CHANGE_MODE_P instead of CLASS_CANNOT_CHANGE_SIZE | |
16268 | and hard-coded tests. | |
16269 | (simplify_set): Likewise. | |
16270 | (gen_lowpart_for_combine): Likewise. | |
16271 | * emit-rtl.c (gen_lowpart_common): Likewise. | |
16272 | * global.c (find_reg): Likewise. | |
16273 | * local-alloc.c (find_free_reg): Likewise. | |
16274 | * recog.c (register_operand): Likewise. | |
16275 | * regclass.c (init_reg_sets_1): Likewise. | |
16276 | (record_operand_costs, regclass): Likewise. | |
16277 | * reload.c (push_reload): Likewise. | |
16278 | * reload1.c (choose_reload_regs): Likewise. | |
16279 | * flow.c (mark_used_regs): Conditionally set REG_CHANGES_MODE. | |
16280 | * local-alloc.c (struct qty): Rename changes_size to changes_mode. | |
16281 | Update all references. | |
16282 | * regs.h (struct reg_info_def): Likewise. | |
16283 | (REG_CHANGES_MODE): Rename from REG_CHANGES_SIZE. | |
16284 | * tm.texi (CLASS_CANNOT_CHANGE_MODE): Document. | |
16285 | (CLASS_CANNOT_CHANGE_MODE_P): Likewise. | |
16286 | ||
16287 | * config/alpha/alpha.h (CLASS_CANNOT_CHANGE_MODE): Rename. | |
16288 | (CLASS_CANNOT_CHANGE_MODE_P): New. | |
16289 | * config/mips/mips.h: Likewise. | |
16290 | * config/pa/pa32-regs.h: Likewise. | |
16291 | * config/pa/pa64-regs.h: Likewise. | |
16292 | * config/rs6000/rs6000.h: Likewise. | |
16293 | * config/sh/sh.h: Likewise. | |
16294 | * config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE): New. | |
16295 | (CLASS_CANNOT_CHANGE_MODE_P): New. | |
16296 | * config/avr/avr.h (CLASS_CANNOT_CHANGE_SIZE): Remove dead code. | |
16297 | * config/d30v/d30v.h: Likewise. | |
16298 | ||
16299 | 2000-06-13 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
16300 | ||
16301 | * configure.in: Add AC_TYPE_GETGROUPS test. | |
16302 | * sys-protos.h: Use GETGROUPS_T * for second arg of getgroups. | |
16303 | * configure: Rebuilt. | |
16304 | * config.in: Rebuilt. | |
16305 | ||
16306 | 2000-06-13 Richard Henderson <rth@cygnus.com> | |
16307 | ||
16308 | * explow.c (set_mem_attributes): Do nothing for NULL type. | |
16309 | ||
16310 | Tue Jun 13 14:45:10 2000 Jeffrey A Law (law@cygnus.com) | |
16311 | ||
16312 | * config/m68k/openbsd.h (ASM_SPEC): pass down options to assembler | |
16313 | correctly. | |
16314 | ||
16315 | 2000-06-13 James E. Wilson <wilson@cygnus.com> | |
16316 | ||
16317 | * config/ia64/ia64.md (movxf_internal): Add missing "e" to ldf/stf. | |
16318 | ||
16319 | Tue Jun 13 14:05:35 2000 Jeffrey A Law (law@cygnus.com) | |
16320 | ||
16321 | * Makefile.in (gensupport.o): Remove bogus $(HOST_PREFIX) reference. | |
16322 | ||
16323 | 2000-06-13 Philipp Thomas <pthomas@suse.de> | |
16324 | ||
16325 | * configure.in(ALL_LINGUAS): Changed en_UK to en_GB. | |
16326 | * configure: Rebuilt. | |
16327 | ||
16328 | 2000-06-07 David O'Brien <obrien@FreeBSD.org> | |
16329 | ||
16330 | * configure.in: Adjust FreeBSD bits to match changes to config.guess. | |
16331 | We now default to ELF for the i386, and a.out is the special case. | |
16332 | * configure: Rebuilt. | |
16333 | ||
16334 | Tue Jun 13 10:05:30 2000 Hans-Peter Nilsson <hp@axis.com> | |
16335 | ||
16336 | * final.c (final_scan_insn): Delete notes between cc0 setter and | |
16337 | user when restarting from setter. | |
16338 | ||
16339 | 2000-06-13 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
16340 | ||
16341 | * vax.h (INDEX_TERM_P): Define evaluation order of &&'s in || and | |
16342 | cast to squelch signed/unsigned warnings. | |
16343 | ||
16344 | 2000-06-13 Zack Weinberg <zack@wolery.cumb.org> | |
16345 | ||
16346 | * cpplib.c (handle_directive): Print non-NUL-terminated string | |
16347 | with %.*s. | |
16348 | ||
16349 | 2000-06-12 Michael Meissner <meissner@redhat.com> | |
16350 | ||
16351 | * ifcvt.c (dead_or_predicable): Don't do conditional execution | |
16352 | path if the machine needs extra support to do conditional | |
16353 | execution. | |
16354 | ||
16355 | Mon Jun 12 17:04:17 2000 Jeffrey A Law (law@cygnus.com) | |
16356 | ||
16357 | * print-rtl.c (print_rtx, case MEM): Use HOST_WIDE_INT_PRINT_DEC | |
16358 | to print the alias set. | |
16359 | * print-tree.c (print_node, DECL_* nodes and case 't'): Similarly. | |
16360 | ||
16361 | 2000-06-12 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
16362 | ||
16363 | * config/float-vax.h: Add GFLOAT defines. | |
16364 | ||
16365 | Mon Jun 12 9:44:00 2000 Mark Klein <mklein@dis.com> | |
16366 | ||
16367 | * configure.in: Update tm dependencies for MPE. | |
16368 | * configure: Rebuilt. | |
16369 | ||
16370 | 2000-06-12 H.J. Lu <hjl@gnu.org> | |
16371 | ||
16372 | * gengenrtl.c (obstack_alloc_rtx): Correct the allocated size. | |
16373 | ||
16374 | 2000-06-12 David Edelsohn <edelsohn@gnu.org> | |
16375 | ||
16376 | * aix41.h (SUBTARGET_SWITCHES): Delete threads. | |
16377 | (CPP_SPEC): Change mthreads to pthread. | |
16378 | (LIB_SPEC): Likewise. | |
16379 | (STARTFILE_SPEC): Likewise. | |
16380 | * aix43.h (SUBTARGET_SWITCHES): Delete threads. | |
16381 | (CPP_SPEC): Change mthreads to pthread. | |
16382 | (LIB_SPEC): Likewise. | |
16383 | (STARTFILE_SPEC): Likewise. | |
16384 | * rs6000-protos.h (reg_or_arith_cint_operand): New. | |
16385 | * rs6000.c (reg_or_arith_cint_operand): New. | |
16386 | (num_insns_constant_wide): Decorate unsigned constant. | |
16387 | * rs6000.h (PREDICATE_CODES): Add reg_or_arith_cint_operand. | |
16388 | * rs6000.md (addsi3): Use new predicate. | |
16389 | (subsi3, adddi3, subdi3): Likewise. | |
16390 | ||
16391 | 2000-06-12 Mark Mitchell <mark@codesourcery.com> | |
16392 | ||
16393 | * c-common.c (lang_get_alias_set): Fix typo. | |
16394 | ||
16395 | 2000-06-12 Richard Earnshaw <rearnsha@arm.com> | |
16396 | ||
16397 | * flow.c (mark_used_regs): Revert last change. | |
16398 | (life_analysis): Remove PROP_AUTOINC if running after reload. | |
16399 | (propagate_one_insn): PROP_AUTOINC is always off after reload. | |
16400 | ||
16401 | 2000-06-11 Richard Earnshaw <rearnsha@arm.com> | |
16402 | ||
16403 | * flow.c (mark_used_regs): Don't call find_auto_inc after reload | |
16404 | has run. | |
16405 | ||
16406 | 2000-06-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
16407 | ||
16408 | * bb-reorder.c (build_scope_forest): Initialize variable | |
16409 | `curr_scope'. | |
16410 | ||
16411 | * calls.c (expand_call): Likewise for variables | |
16412 | `save_pending_stack_adjust' and `save_stack_pointer_delta'. | |
16413 | ||
16414 | * i386.c (function_arg_advance, function_arg): Cast to avoid | |
16415 | signed/unsigned warnings. | |
16416 | ||
16417 | * i386.h (MEMORY_MOVE_COST): Likewise. | |
16418 | ||
16419 | * ifcvt.c (cond_exec_process_if_block): Initialize variables | |
16420 | `else_start' and `else_end'. | |
16421 | ||
16422 | * libgcc2.h (__eh_alloc, __eh_free): Prototype. | |
16423 | ||
16424 | * regrename.c (rr_replace_reg): Initialize variable `dest_subregno'. | |
16425 | ||
16426 | 2000-06-10 Mark Mitchell <mark@codesourcery.com> | |
16427 | ||
16428 | * Makefile.in (libintl.a): Depend on intl.all. | |
16429 | ||
16430 | 2000-06-09 H.J. Lu (hjl@gnu.org) | |
16431 | ||
16432 | * Makefile.in (c-parse.o): Also depend on output.h. | |
16433 | ||
16434 | 2000-06-09 Rodney Brown <RodneyBrown@mynd.com> | |
16435 | ||
16436 | * mcore-protos.h: discards const warning removal. | |
16437 | * mcore.c: discards const warning removal. | |
16438 | ||
16439 | 2000-06-09 Kazu Hirata <kazu@hxi.com> | |
16440 | ||
16441 | * config/h8300/lib1funcs.asm: Declare the machine architecture at | |
16442 | the beginning of the file. | |
16443 | ||
16444 | 2000-06-09 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
16445 | ||
16446 | * real.h: Add prototype for ldexp. | |
16447 | ||
16448 | 2000-06-09 Zack Weinberg <zack@wolery.cumb.org> | |
16449 | ||
16450 | * ggc-none.c, ggc-simple.c, ggc-page.c (ggc_alloc_obj): Rename | |
16451 | it ggc_alloc, drop second argument, never clear returned memory. | |
16452 | * ggc-common.c (ggc_alloc_string): Use ggc_alloc. | |
16453 | (ggc_alloc_cleared): New. | |
16454 | * ggc.h: Prototype ggc_alloc and ggc_alloc_cleared, not | |
16455 | ggc_alloc_obj. Remove ggc_alloc macro. | |
16456 | (ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Use ggc_alloc. | |
16457 | ||
16458 | * rtl.c (rtvec_alloc): Clear the vector always. | |
16459 | (rtx_alloc): Clear the first word always. Remove dirty | |
16460 | obstack tricks (this routine is no longer a bottleneck). | |
16461 | * tree.c (make_node): Clear the new node always. | |
16462 | (make_tree_vec): Likewise. | |
16463 | (tree_cons): Clear the common structure always. | |
16464 | (build1): Likewise; also, clear TREE_COMPLEXITY. | |
16465 | * gengenrtl.c: Use puts wherever possible. Remove extra | |
16466 | newlines. | |
16467 | (gendef): Clear the first word of an RTX in the generator | |
16468 | function, irrespective of ggc_p. Initialize '0' slots to | |
16469 | NULL. | |
16470 | (genlegend): Don't generate obstack_alloc_rtx routine, just a | |
16471 | thin wrapper macro around obstack_alloc. | |
16472 | ||
16473 | * stmt.c (expand_fixup): Use ggc_alloc. | |
16474 | * c-typeck.c (add_pending_init): Use ggc_alloc. | |
16475 | * emit-rtl.c (init_emit_once): Clear CONST_DOUBLE_CHAIN(tem). | |
16476 | * varasm.c (immed_double_const): Set CONST_DOUBLE_MEM(r) to | |
16477 | const0_rtx when it is created. | |
16478 | (immed_real_const_1): Set CONST_DOUBLE_CHAIN(r) to NULL_RTX if | |
16479 | we are not in a function. | |
16480 | ||
16481 | * tree.c (tree_class_check_failed): Make second arg an int. | |
16482 | * tree.h: Update prototype. | |
16483 | ||
16484 | 2000-06-09 Geoff Keating <geoffk@cygnus.com> | |
16485 | ||
16486 | * tree.h (VOID_TYPE_P): Don't look at the TYPE_MAIN_VARIANT | |
16487 | of an error_mark_node. | |
16488 | ||
16489 | Fri Jun 9 20:35:13 2000 Denis Chertykov <denisc@overta.ru> | |
16490 | ||
16491 | * config/avr/avr.c (asm_output_section_name): bugfix. | |
16492 | ||
16493 | 2000-06-09 Jason Merrill <jason@casey.soma.redhat.com> | |
16494 | ||
16495 | * timevar.def: Add TV_EXPAND. | |
16496 | * timevar.c (timevar_print): Update timing information. | |
16497 | * calls.c (try_to_integrate): Push to TV_INTEGRATION for inlining. | |
16498 | ||
16499 | * stmt.c (expand_return): Check for error_mark_node. | |
16500 | ||
16501 | 2000-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
16502 | ||
16503 | * configure.in: Also avoid wrapping auto-build.h with IN_GCC. | |
16504 | ||
16505 | * scan-types.sh (VALUE) Wrap use with double quotes to protect | |
16506 | variable against filename expansion when it contains "char *". | |
16507 | ||
16508 | * system.h (SSIZE_MAX): Delete backup definition. | |
16509 | ||
16510 | * cppfiles.c (read_include_file): Use INTTYPE_MAXIMUM(ssize_t) | |
16511 | instead of SSIZE_MAX. | |
16512 | ||
16513 | 2000-06-09 Jakub Jelinek <jakub@redhat.com> | |
16514 | ||
16515 | * configure.in: Check whether gas supports -relax. | |
16516 | * configure, config.in: Rebuilt. | |
16517 | * config/sparc/sparc.h (ASM_RELAX_SPEC): Define. | |
16518 | (EXTRA_SPECS): Add asm_relax. | |
16519 | (ASM_SPEC): Add %(asm_relax). | |
16520 | (TARGET_SWITCHES): Add -mrelax and -mno-relax. | |
16521 | * config/sparc/linux64.h (LINK_ARCH_SPEC): Rename to LINK_SPEC. | |
16522 | (LINK_SPEC): Pass -relax to linker unless -mno-relax or -r. | |
16523 | (ASM_SPEC): Add %(asm_relax). | |
16524 | * config/sparc/linux.h (LINK_SPEC, ASM_SPEC): Likewise. | |
16525 | * config/sparc/sparc.c (output_sibcall): If HAVE_AS_RELAX_OPTION, | |
16526 | never use sethi/jmpl for leaf tail calls. Use or with rs2 %g0 | |
16527 | instead of mov, so that gas can further optimize it. | |
16528 | ||
16529 | 2000-06-08 James E. Wilson <wilson@bletchleypark.cygnus.com> | |
16530 | ||
16531 | * dwarf2out.c (size_of_die, case dw_val_class_const): Use | |
16532 | size_of_sleb128. | |
16533 | (value_format, case dw_val_class_const): Use sdata format. | |
16534 | (output_die): Call output_sleb128. | |
16535 | ||
16536 | 2000-06-08 James E. Wilson <wilson@cygnus.com> | |
16537 | ||
16538 | * dwarf2out.c (ASM_OUTPUT_DWARF_DATA8): Add new macro that uses | |
16539 | UNALIGNED_DOUBLE_INT_ASM_OP. Rename old macro to | |
16540 | ASM_OUTPUT_DWARF_CONST_DOUBLE. | |
16541 | (output_die, case dw_val_class_unsigned_const): Correct call to | |
16542 | ASM_OUTPUT_DWARF_DATA8. | |
16543 | (output_die, case dw_val_class_long_long): Use | |
16544 | ASM_OUTPUT_DWARF_CONST_DOUBLE. | |
16545 | * tree.c (host_integerp): Accept unsigned HOST_WIDE_INT values when | |
16546 | pos is zero. | |
16547 | ||
16548 | * config/ia64/ia64-protos.h (ia64_output_end_prologue): Add. | |
16549 | (output_function_prologue): Fix mispelling. | |
16550 | (output_function_prologue, output_function_epilogue): Reorder to | |
16551 | match ia64.c definition order. | |
16552 | * config/ia64/ia64.c (ia64_expand_prologue): Add comment. | |
16553 | (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on stack restore insns. | |
16554 | Use r3 instead of r2 for large stack restores. | |
16555 | (ia64_output_end_prologue): New function. | |
16556 | (process_set): Emit ".restore sp" for epilogue stack restores. | |
16557 | * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Define. | |
16558 | ||
16559 | 2000-06-08 Jakub Jelinek <jakub@redhat.com> | |
16560 | ||
16561 | * dbxout.c (dbxout_type_fields): Don't segfault on fields with | |
16562 | incomplete types. | |
16563 | ||
16564 | 2000-06-08 Nathan Sidwell <nathan@codesourcery.com> | |
16565 | ||
16566 | * frame.c (end_fde_sort): Remove extraneous erratic array test. | |
16567 | ||
16568 | 2000-06-08 Denis Perchine <dyp@perchine.com> | |
16569 | ||
16570 | * frame.c (start_fde_sort): Don't malloc (0). | |
16571 | ||
16572 | 2000-06-07 Zack Weinberg <zack@wolery.cumb.org> | |
16573 | ||
16574 | * c-decl.c (pushdecl): Do not call COMPLETE_TYPE_P on | |
16575 | error_mark_node. | |
16576 | * print-tree.c (print_node): The transparent_union_flag means | |
16577 | different things for unions and arrays. Do not inspect it | |
16578 | with TYPE_TRANSPARENT_UNION. | |
16579 | ||
16580 | 2000-06-06 Jakub Jelinek <jakub@redhat.com> | |
16581 | ||
16582 | * cpplib.c (do_ifdef, do_ifndef): Don't segfault if parse_ifdef | |
16583 | returned NULL. | |
16584 | ||
16585 | Wed Jun 7 20:34:33 2000 Denis Chertykov <denisc@overta.ru> | |
16586 | ||
16587 | * config/avr/avr.c (asm_output_section_name): output section | |
16588 | attributes. | |
16589 | * config/avr/libgcc.S (.text.libgcc): declare section attributes. | |
16590 | ||
16591 | 2000-06-06 James E. Wilson <wilson@cygnus.com> | |
16592 | ||
16593 | * frame.h (struct unwind_info_ptr): Collapse version, flags, and length | |
16594 | fields into header field. | |
16595 | (IA64_UNW_HDR_LENGTH, IA64_UNW_HDR_FLAGS, IA64_UNW_HDR_VERSION): New | |
16596 | macros to access length, flags, and version info from header field. | |
16597 | * config/ia64/crtbegin.asm (__do_frame_setup_aux): Delete here. | |
16598 | * config/ia64/crtend.asm (__do_frame_setup_aux): Add here. | |
16599 | (__do_global_ctors_aux): Fix caller. | |
16600 | * config/ia64/frame-ia64.c (get_unwind_record): Change parameter | |
16601 | prologue_flag to header. Pass to read_P_record. | |
16602 | (read_P_record): New argument header. Implement P4 format. | |
16603 | Multiply P7_T_SIZE by 16. | |
16604 | (execute_one_ia64_descriptor): New static local region_header. Pass to | |
16605 | get_unwind_record. Copy r to region_header if r is a header record. | |
16606 | (print_all_records): Likewise. | |
16607 | (__build_ia64_frame_state): Use IA64_UNW_HDR_LENGTH. | |
16608 | (__get_personality, __get_except_table): Likewise. | |
16609 | * config/ia64/ia64.c (process_set): Do not divide offsets by 4. | |
16610 | ||
16611 | 2000-06-06 Philipp Thomas <pthomas@suse.de> | |
16612 | ||
16613 | * configure.in (AC_C_INLINE): Added. | |
16614 | * aclocal.m4 (AM_WITH_NLS): Enable --with-included-gettext by default. | |
16615 | * configure: Regenerate. | |
16616 | ||
16617 | 2000-06-06 Mark Mitchell <mark@codesourcery.com> | |
16618 | ||
16619 | * c-common.h (c_language_kind): New type. | |
16620 | (c_language): New variab.e | |
16621 | * c-common.c (lang_get_alias_set): Don't put structures in | |
da7d8304 | 16622 | nonzero alias sets in C++. |
c30d43bf JL |
16623 | * c-decl.c (c_language): Define it. |
16624 | * c-lex.c (doing_objc_thang): Remove. | |
16625 | * c-tree.h (doing_objc_thang): Make it a macro. | |
16626 | * objc/objc-act.c (lang_decode_option): Set c_language, not | |
16627 | doing_objc_thang. | |
16628 | ||
16629 | 2000-06-06 Gabriel Dos Reis <gdr@codesourcery.com> | |
16630 | ||
16631 | * diagnostic.c (output_maximum_width): Remove. | |
16632 | (doing_line_wrapping): Tweak. | |
16633 | (diagnostic_buffer): New object. | |
16634 | (global_output_buffer): New object. | |
16635 | (output_destroy_prefix): New function. | |
16636 | (default_initialize_buffer): Likewise. | |
16637 | (reshape_diagnostic_buffer): Likewise. | |
16638 | (initialize_diagnostics): Likewise. | |
16639 | (output_clear): Tweak. | |
16640 | (line_wrapper_printf): Adjust call to init_output_buffer. | |
16641 | (vline_wrapper_message_with_location): Likewise. Use | |
16642 | output_destroy_prefix. | |
16643 | (v_message_with_decl): Likewise. | |
16644 | ||
16645 | * diagnostic.h (struct output_buffer): Constify prefix. | |
16646 | (init_output_buffer, output_get_prefix): Constify. | |
16647 | (diagnostic_message_length_per_line): Likewise. | |
16648 | (reshape_diagnostic_buffer): Declare. | |
16649 | (default_initialize_buffer): Declare. | |
16650 | (initialize_diagnostics): Declare. | |
16651 | (diagnostic_buffer): Declare new obbject. | |
16652 | ||
16653 | * toplev.c: #include diagnostic.h | |
16654 | (display_help): Document diagnostic formatting options. | |
16655 | (decode_f_option): Handle diagnostic formatting options. | |
16656 | (main): Setup initialization for diagnostic messages outputter. | |
16657 | ||
16658 | * toplev.h (set_message_length): Remove. | |
16659 | ||
16660 | * Makefile.in (toplev.o): Depends upon diagnostic.h | |
16661 | ||
16662 | * invoke.texi : Document diagnostics formatting options. | |
16663 | ||
16664 | Tue Jun 6 19:25:32 2000 Philippe De Muyter <phdm@macqel.be> | |
16665 | ||
16666 | * configure.in (Make the links): Typo fix : the file that must be | |
16667 | included without #ifdef IN_GCC is `auto-host.h', not `auto-config.h'. | |
16668 | * configure: File rebuilt. | |
16669 | ||
16670 | 2000-06-06 Nathan Sidwell <nathan@codesourcery.com> | |
16671 | ||
20f9202d | 16672 | * eh-common.h (EH_ALLOC_SIZE, EH_ALLOC_ALIGN): New #defines. |
c30d43bf JL |
16673 | (eh_context): Add alloc_mask and alloc_buffer emergency fallback |
16674 | space. | |
16675 | * libgcc2.c (__eh_alloc): Moved from cp/exception.cc. Fallback on | |
16676 | emergency eh_context buffer, if malloc fails. | |
16677 | (__eh_free): Moved from cp/exception.cc. Release to emergency | |
16678 | eh_context buffer, if appropriate. | |
16679 | ||
16680 | 2000-06-06 Jason Merrill <jason@casey.soma.redhat.com> | |
16681 | ||
16682 | * expr.c (store_expr): Fix typo. | |
16683 | ||
16684 | 2000-06-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
16685 | ||
16686 | * m68k.c (legitimize_pic_address): Move prototype ... | |
16687 | ||
16688 | * m68k-protos.h (legitimize_pic_address): ... here. | |
16689 | ||
16690 | * m68k.md (legitimize_pic_address): Delete prototypes. | |
16691 | (untyped_call): Invoke GEN_CALL(), not gen_call(). | |
16692 | ||
16693 | * nextstep.c: Include system.h and toplev.h. | |
16694 | (get_directive_line): Don't prototype. | |
16695 | (handle_pragma): Mark parameters with ATTRIBUTE_UNUSED and constify. | |
16696 | ||
16697 | * nextstep.h (handle_pragma): Prototype. | |
16698 | (SECTION_FUNCTION): Prototype FUNCTION(). Move prototype of | |
16699 | objc_section_init ... | |
16700 | (EXTRA_SECTION_FUNCTIONS): ... here. | |
16701 | ||
16702 | Tue Jun 6 08:17:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
16703 | ||
16704 | * sdbout.c (struct sdb_file): NAME now const. | |
16705 | (sdbout_init): input_file_name now const. | |
16706 | (sdbout_start_new_source_file): FILENAME now const. | |
16707 | * sdbout.c (sdbout_init, sdbout_start_new_source_file): Reflect above. | |
16708 | ||
16709 | 2000-06-06 Gabriel Dos Reis <gdr@codesourcery.com> | |
16710 | ||
16711 | * c-typeck.c (build_conditional_expr): Handle complex data types. | |
16712 | ||
16713 | 2000-06-05 Jason Merrill <jason@casey.soma.redhat.com> | |
16714 | ||
16715 | * explow.c (maybe_set_unchanging): New function, broken out from... | |
16716 | (set_mem_attributes): Here. | |
16717 | * expr.h: Declare it. | |
16718 | * stmt.c (expand_decl): Call it. | |
16719 | ||
16720 | 2000-06-05 Richard Henderson <rth@cygnus.com> | |
16721 | ||
16722 | * reload1.c (choose_reload_regs): Mind CLASS_CANNOT_CHANGE_SIZE | |
16723 | while looking for a register to inherit from. | |
16724 | ||
16725 | 2000-06-05 Jason Merrill <jason@casey.soma.redhat.com> | |
16726 | ||
16727 | * Makefile.in (libgcc.ready): Lose. | |
16728 | (libgcc.mk): Just use mv, not move-if-change. | |
16729 | (LIBGCC_DEPS): New macro. | |
16730 | (libgcc.a): Use it. | |
16731 | (stmp-multilib): Likewise. | |
16732 | * mklibgcc.in (stmp-dirs): New target. Make everything depend on | |
16733 | it rather than the directories themselves. | |
16734 | (LIB2ADD): Depend on the list file rather than 'force'. | |
16735 | ||
16736 | * fold-const.c (fold, case COND_EXPR): Elide conversion between | |
16737 | cv-qualified versions of types. | |
16738 | ||
16739 | Mon Jun 5 14:06:18 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
16740 | ||
16741 | * config/sparc/sparc.c (short_branch): Correct error in range | |
16742 | computation. | |
16743 | ||
16744 | 2000-06-05 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
16745 | ||
16746 | * fixinc/inclhack.def: New include hacks for ultrix. | |
16747 | * (nested_ultrix): Replaced by ultrix_nested_svc. | |
16748 | * (ultrix_atof_param): test_text string added. | |
16749 | * (ultrix_ifdef): Modified select string. | |
16750 | ||
16751 | 2000-06-05 Zack Weinberg <zack@wolery.cumb.org> | |
16752 | ||
16753 | * objc/objc-act.c (generate_method_descriptors): Register | |
16754 | objc_method_prototype_template as a GC root. | |
16755 | (comp_method_with_proto): Register function_type as a GC root. | |
16756 | (comp_proto_with_proto): Replace function_type1 and | |
16757 | function_type2 with a two-element array; register it as a GC root. | |
16758 | ||
16759 | (generate_protocols, build_protocol_initializer, | |
16760 | generate_protocol_list, build_category_initializer, | |
16761 | build_shared_structure_initializer): Do not cache cast_type | |
16762 | and/or cast_type2. | |
16763 | ||
16764 | 2000-06-05 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
16765 | ||
16766 | * function.c (assign_parms): Add missing argument to set_mem_attributes | |
16767 | call. | |
16768 | ||
16769 | 2000-06-05 Nathan Sidwell <nathan@codesourcery.com> | |
16770 | ||
16771 | * tree.h (VOID_TYPE_P): New macro. | |
16772 | (COMPLETE_OR_VOID_TYPE_P): Use VOID_TYPE_P. | |
16773 | * c-decl.c (grokdeclarator): Use VOID_TYPE_P. | |
16774 | (get_parm_info): Likewise. | |
16775 | (store_parm_decls): Likewise. | |
16776 | (combine_parm_decls): Likewise. | |
16777 | (finish_function): Likewise. | |
16778 | * c-typeck.c (build_function_call): Likewise. | |
16779 | (build_binary_op): Likewise. | |
16780 | (build_conditional_expr): Likewise. | |
16781 | (internal_build_compound_expr): Likewise. | |
16782 | (convert_for_assignment): Likewise. | |
16783 | * stmt.c (expend_expr_stmt): Likewise. | |
16784 | (warn_if_unused_value): Likewise. | |
16785 | (expand_return): Likewise. | |
16786 | * c-parse.in (primary): Likewise. | |
16787 | * c-parse.y, c-parse.c, c-parse.h: Regenerate. | |
16788 | * objc/objc-parse.y, objc/objc-parse.c: Regenerate. | |
16789 | ||
16790 | Mon Jun 5 06:46:28 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
16791 | ||
16792 | * alias.c (get_alias_set): If compnent is addressable, use alias | |
16793 | set of component. | |
16794 | * c-decl.c (init_decl_processing): Don't call record_component_aliases. | |
16795 | (grokdeclarator): Likewise. | |
16796 | * c-typeck.c (common_type): Likewise. | |
16797 | ||
16798 | 2000-06-04 Alex Samuel <samuel@codesourcery.com> | |
16799 | ||
16800 | * Makefile.in (OBJS): Remove dyn_string.o | |
16801 | (dyn-string.o): Delete rule. | |
16802 | * dyn-string.c: Delete file | |
16803 | * dyn-string.h: Likewise. | |
16804 | ||
16805 | 2000-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
16806 | ||
da7d8304 | 16807 | * Makefile.in (intl.*): Honor nonzero exit codes in the intl |
c30d43bf JL |
16808 | subdir. |
16809 | ||
16810 | 2000-06-03 Geoff Keating <geoffk@cygnus.com> | |
16811 | ||
16812 | * alias.c (record_component_aliases): Don't inspect | |
16813 | DECL_NONADDRESSABLE_P of non-FIELD_DECL components of structures. | |
16814 | ||
16815 | Sat Jun 3 19:05:30 2000 Michael Meissner <meissner@redhat.com> | |
16816 | ||
16817 | * ifcvt.c (process_insns): If IFCVT_MODIFY_INSN is defined, call | |
16818 | it with the pattern to do machine dependent work. | |
16819 | (cond_exec_process_if_block): If IFCVT_MODIFY_TESTS is defined, | |
16820 | use it to modify the true/false tests used in conditional | |
16821 | execution. If IFCVT_MODIFY_FINAL and IFCVT_MODIFY_CANCEL are | |
16822 | defined, invoke them if the conversion to conditional execution | |
16823 | was successful or not. | |
16824 | ||
16825 | * tm.texi (IFCVT_MODIFY_TESTS): Document. | |
16826 | (IFCVT_MODIFY_INSN): Ditto. | |
16827 | (IFCVT_MODIFY_FINAL): Ditto. | |
16828 | (IFCVT_MODIFY_CANCEL): Ditto. | |
16829 | ||
16830 | Sat Jun 3 15:26:13 2000 Matt Kraai <kraai@alumni.carnegiemellon.edu> | |
16831 | ||
16832 | * toplev.c (main): Fix misspellings of possibility and language. | |
16833 | ||
16834 | 2000-06-03 Richard Henderson <rth@cygnus.com> | |
16835 | ||
16836 | * alias.c (record_alias_subset): Initialize has_zero_child in the | |
16837 | superset. | |
16838 | ||
16839 | 2000-06-03 Richard Earnshaw (rearnsha@arm.com) | |
16840 | ||
16841 | * arm.md (untyped_call): Use GEN_CALL macro. | |
16842 | ||
16843 | 2000-06-02 Pekka Nikander <pnr@teldanex.tcm.hut.fi> | |
16844 | ||
16845 | * Makefile.in: Use $(MAKE) not "make" | |
16846 | ||
16847 | Fri Jun 2 19:31:03 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
16848 | ||
16849 | * alias.c (struct alias_set_entry): New field has_zero_child. | |
16850 | (mem_in_disjoint_alias_sets_p): Return 0 if set in either ase. | |
16851 | (get_alias_set): If language-dependent routine set TYPE_ALIAS_SET, | |
16852 | do nothing. | |
16853 | Call record_component_aliases for aggregate types. | |
16854 | (record_alias_subset): Set has_zero_child. | |
16855 | (record_component_aliases, case ARRAY_TYPE): Do nothing if | |
16856 | TYPE_NONALIASES_COMPONENT. | |
16857 | (record_component_aliases, case RECORD_TYPE): Test | |
16858 | DECL_NONADDRESSABLE_P. | |
16859 | * c-decl.c (grokdeclarator): Set DECL_NONADDRESSABLE_P instead | |
16860 | of TREE_ADDRESSABLE. | |
16861 | * calls.c (initialize_argument_information): Only test | |
16862 | TYPE_TRANSPARENT_UNION for UNION_TYPE. | |
16863 | * function.c (assign_parms): Likewise. | |
16864 | * integrate.c (function_cannot_inline_p): Likewise. | |
16865 | * stor-layout.c (finish_record_layout): Don't call | |
16866 | record_component_aliases. | |
16867 | * tree.h (struct tree_int_cst): Use struct tree_common. | |
16868 | (struct tree_real_cst, struct tree_string): Likewise. | |
16869 | (struct tree_complex, struct tree_identifier): Likewise. | |
16870 | (struct tree_list, struct tree_vec, struct tree_exp): Likewise. | |
16871 | (struct tree_block, struct tree_type, struct tree_decl): Likewise. | |
16872 | (TYPE_TRANSPARENT_UNION): Use UNION_TYPE_CHECK. | |
16873 | (TYPE_NONALIASES_COMPONENT): New macro. | |
16874 | (TYPE_AMBIENT_BOUNDEDNESS): Use FUNCTION_TYPE_CHECK. | |
16875 | (DECL_NONADDRESSABLE_P): New macro. | |
16876 | (struct tree_decl): Reorder bits for clarity of how many left; | |
16877 | add non_adressable. | |
16878 | ||
16879 | 2000-06-02 Jason Merrill <jason@casey.soma.redhat.com> | |
16880 | ||
16881 | * Makefile.in (libgcc.a): Also depend on $(LIB2ADD). | |
16882 | * mklibgcc.in (force): New target. | |
16883 | Make LIB2ADD stuff depend on it. | |
16884 | ||
16885 | 2000-06-02 Richard Henderson <rth@cygnus.com> | |
16886 | ||
16887 | * alias.c (lang_get_alias_set): Remove. | |
16888 | (get_alias_set): Call it directly, not indirectly. | |
16889 | * c-common.c (lang_get_alias_set): Rename from c_get_alias_set. | |
16890 | * c-common.h (c_get_alias_set): Don't declare. | |
16891 | * c-decl.c (init_decl_processing): Don't set lang_get_alias_set. | |
16892 | * expr.h (lang_get_alias_set): Declare as function, not pointer. | |
16893 | ||
16894 | 2000-06-02 Bruce Korb <bkorb@gnu.org> | |
16895 | ||
16896 | * fixinc/server.c(sig_handler): resume closing server on SIGPIPE | |
16897 | (server_setup): define the server's master pid | |
16898 | (close_server): actually do the deed IFF we are the server's master | |
16899 | ||
16900 | 2000-06-02 Jakub Jelinek <jakub@redhat.com> | |
16901 | ||
16902 | * c-common.c (c_get_alias_set): Check whether signed_type did not | |
16903 | return its argument before calling get_alias_set on the result. | |
16904 | ||
16905 | 2000-06-02 Andrew MacLeod <amacleod@cygnus.com> | |
16906 | ||
16907 | * expr.c (emit_group_load): Fix typo, GET_MODE not GET_CODE. | |
16908 | ||
16909 | Fri Jun 2 00:22:52 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
16910 | ||
16911 | * sh.h (CPP_SPEC): Add -D__NOMACSAVE__ for -mnomacsave. | |
16912 | (CONDITIONAL_REGISTER_USAGE): Mac registers are call used | |
16913 | for TARGET_NOMACSAVE. | |
16914 | (NOMACSAVE_BIT): Define. | |
16915 | (TARGET_NOMACSAVE): Define. | |
16916 | (TARGET_SWITCHES): Add "nomacsave". | |
16917 | ||
16918 | 2000-06-02 Toshiyasu Morita <toshi.morita@sega.com> | |
16919 | ||
16920 | * sh.md (untyped_call): Remove excess parameters | |
16921 | ||
16922 | 2000-06-01 Loren J. Rittle <ljrittle@acm.org> | |
16923 | ||
16924 | * fixinc/inclhack.def (osf_namespace_a): Relax expression to | |
16925 | match that used before the conversion to c_fix style. | |
16926 | * fixinc/fixincl.x: regenerate | |
16927 | ||
16928 | 2000-06-01 Stan Cox <scox@cygnus.com> | |
16929 | ||
16930 | * varray.h (VARRAY_PUSH_GENERIC_PTR, VARRAY_PUSH_CHAR_PTR): Fix | |
16931 | macro argument typo. | |
16932 | ||
16933 | 2000-06-01 Zack Weinberg <zack@wolery.cumb.org> | |
16934 | ||
16935 | * cpplex.c (maybe_macroexpand): Use CPP_WTRADITIONAL. Improve | |
16936 | error message. | |
16937 | * cpplib.c (parse_include): Remove support for VAX-C | |
16938 | "#include starlet" misfeature. | |
16939 | ||
16940 | 2000-05-31 Laurynas Biveinis <lauras@softhome.net> | |
16941 | ||
16942 | * cppfiles.c: conditionally define O_BINARY. | |
16943 | (open_include_file): pass O_BINARY to open(). | |
16944 | ||
16945 | 2000-06-01 Richard Henderson <rth@cygnus.com> | |
16946 | ||
16947 | * i960.c (i960_br_predict_opcode): Remove. | |
16948 | (i960_print_operand) [+]: Emit branch prediction hints. | |
16949 | (i960_function_arg): Return early for VOIDmode. | |
16950 | (i960_round_align): Return early for incomplete types. | |
16951 | * i960.h (PRINT_OPERAND_PUNCT_VALID_P): New. | |
16952 | * i960.md (all conditional branches): Add "%+". | |
16953 | ||
16954 | Thu Jun 1 12:24:21 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
16955 | ||
16956 | * alias.c (get_alias_set): Don't call language-specific routine more | |
16957 | than is needed and clean up code a bit. | |
16958 | * c-common.c (c_get_alias_set): All references whose type | |
16959 | is char get alias set 0, but character types need not. | |
16960 | * varasm.c (make_function_rtl): Don't call set_mem_attributes. | |
16961 | (make_decl_rtl): Don't call it for FUNCTION_DECL. | |
16962 | ||
16963 | 2000-06-01 Bruce Korb <bkorb@gnu.org> | |
16964 | ||
16965 | * fixinc/tests/base/...: new base result files | |
16966 | ||
16967 | Thu Jun 1 09:37:35 2000 Clinton Popetz <cpopetz@cygnus.com> | |
16968 | ||
16969 | * config/i386/i386.c (ix86_use_fcomi_compare): Make global. | |
16970 | * config/i386/i386-protos.h (ix86_use_fcomi_compare): Declare. | |
16971 | * config/i386/i386.md (*fp_jcc_3, *fp_jcc_4): Disable if we | |
16972 | will use FCOMI. | |
16973 | ||
16974 | 2000-06-01 Richard Henderson <rth@cygnus.com> | |
16975 | ||
16976 | * Makefile.in (c-decl.o): Depend on $(EXPR_H), not expr.h. | |
16977 | ||
16978 | * c-decl.c (init_decl_processing): Set lang_get_alias_set first thing. | |
16979 | ||
16980 | 2000-05-31 Richard Henderson <rth@cygnus.com> | |
16981 | ||
16982 | * config/ia64/ia64.c (sdata_symbolic_operand): Consider small | |
16983 | CONSTANT_POOL_ADDRESS_P addresses for .sdata. | |
16984 | * config/ia64/sysv4.h (SELECT_RTX_SECTION): New. | |
16985 | ||
16986 | 2000-05-31 Richard Henderson <rth@cygnus.com> | |
16987 | ||
16988 | * config/ia64/ia64-protos.h (ia64_expand_prediction): Remove. | |
16989 | * config/ia64/ia64.c (ia64_expand_prediction): Move code ... | |
16990 | (ia64_print_operand) [+]: ... here. Use current_output_insn. | |
16991 | * config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): New. | |
16992 | * config/ia64/ia64.md (all branch/call patterns): Use %+. | |
16993 | ||
16994 | 2000-05-31 Richard Henderson <rth@cygnus.com> | |
16995 | ||
16996 | * ifcvt.c (cond_exec_process_insns): Don't ever ignore clobbers. | |
16997 | ||
16998 | 2000-05-31 Richard Henderson <rth@cygnus.com> | |
16999 | ||
17000 | * ifcvt.c (merge_if_block): Be prepared for JOIN to have no | |
17001 | remaining edges. | |
17002 | (find_if_block): Allow THEN with no outgoing edges. | |
17003 | * flow.c (merge_blocks_nomove): Remove a barrier not following | |
17004 | a jump as well. | |
17005 | ||
17006 | 2000-05-31 Richard Henderson <rth@cygnus.com> | |
17007 | ||
17008 | * flow.c (propagate_block): Move initialization of mem_set_list ... | |
17009 | (init_propagate_block_info): ... here. Also track blocks with | |
17010 | no successors; don't scan insns if ! PROP_SCAN_DEAD_CODE. | |
17011 | ||
17012 | 2000-05-31 Richard Henderson <rth@cygnus.com> | |
17013 | ||
17014 | * jump.c (jump_optimize_1): Revert 05-18 change. | |
17015 | ||
17016 | 2000-05-31 Mark Mitchell <mark@codesourcery.com> | |
17017 | ||
17018 | * invoke.texi: Remove documentation for -fguiding-decls. | |
17019 | ||
17020 | 2000-05-31 Richard Henderson <rth@cygnus.com> | |
17021 | ||
17022 | * configure.in: Fix typo last change. | |
17023 | ||
17024 | 2000-05-31 Philipp Thomas <pthomas@suse.de> | |
17025 | ||
17026 | * configure.in (enable-nls): Enable if build == host, i.e. when | |
17027 | not building a canadian cross compiler. | |
17028 | (enable-maintainer-mode): Added for use with i18n. | |
17029 | * aclocal.m4 (AM_GNU_GETTEXT): Only build catalogs that are a | |
17030 | cross section of ALL_LINGUAS and LINGUAS. | |
17031 | * configure: Rebuild. | |
17032 | ||
17033 | 2000-05-31 Bruce Korb <bkorb@gnu.org> | |
17034 | ||
17035 | * fixinc/check.tpl: rework to use test result tree | |
17036 | * fixinc/Makefile.in: change invocation of check script | |
17037 | * fixinc/check.diff: No longer needed | |
17038 | * fixinc/fixincl.x: regenerate | |
17039 | * fixinc/inclhack.def: add new tests | |
17040 | * fixinc/tests/base/arch/i960/archI960.h: New test result | |
17041 | * fixinc/tests/base/curses.h: modified test result | |
17042 | * fixinc/tests/base/stdio.h: ditto | |
17043 | * fixinc/tests/base/time.h: ditto | |
17044 | * fixinc/tests/base/sys/asm.h: ditto | |
17045 | * fixinc/tests/base/sys/stat.h: ditto | |
17046 | * fixinc/tests/base/sys/wait.h: ditto | |
17047 | ||
17048 | Wed May 31 13:17:20 2000 Philippe De Muyter <phdm@macqel.be> | |
17049 | ||
17050 | * except.c (clear_function_eh_region): Do not free NULL. | |
17051 | ||
17052 | Wed May 31 08:07:52 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
17053 | ||
17054 | * Makefile.in (c-decl.o): Depend on rtl.h and expr.h. | |
17055 | * alias.c (struct alias_entry): alias_set is HOST_WIDE_INT. | |
17056 | (REG_BASE_VALUE): Remove unneeded cast to unsigned. | |
17057 | (get_alias_set_entry): ALIAS_SET arg is HOST_WIDE_INT. | |
17058 | (find_base_decl): New function, from c_find_base_decl in c-common.c. | |
17059 | (new_alias_set): Moved from tree.c; return is HOST_WIDE_INT. | |
17060 | (get_alias_set): Likewise. | |
17061 | Major rework to do more things and allow language-specific code | |
17062 | to just handle special-cases. | |
17063 | (record_alias_subset): Args are HOST_WIDE_INT. | |
17064 | (record_component_alias): Local vars are HOST_WIDE_INT. | |
17065 | Don't handle COMPLEX_EXPR. | |
17066 | (get_varargs_alias_set): Moved from builtins.c. | |
17067 | (get_frame_alias_set): New function. | |
17068 | * builtins.c (expand_builtin_return_address): Use frame alias set. | |
17069 | (expand_builtin_setjmp, expand_builtin_longjmp): Use alias set | |
17070 | for setjmp buffer. | |
17071 | (get_memory_rtx): Rework to use set_mem_attributes. | |
17072 | (get_varargs_alias_set): Deleted from here. | |
17073 | * c-common.c (c_apply_type_quals_to_decl): Alias sets now HOST_WIDE_INT. | |
17074 | (c_find_base_decl): Deleted from here. | |
17075 | (c_get_alias_set): Remove many cases and rework to just handle | |
17076 | C-specific cases. | |
17077 | * c-common.h (c_get_alias_set): Returns HOST_WIDE_INT. | |
17078 | * c-decl.c (rtl.h, expr.h): Now included. | |
17079 | (init_decl_processing): Call record_component_aliases on array types. | |
17080 | (grokdeclarator): Likewise. | |
17081 | Set TREE_ADDRESSABLE for all fields that are not bitfields. | |
17082 | * c-typeck.c (common_type): Call record_component_aliases for array. | |
17083 | * caller-save.c (setup_save_areas): Rework register loop for unsigned. | |
17084 | Set all save areas to the frame alias set. | |
17085 | * calls.c (initialie_argument_information): Call set_mem_attributes. | |
17086 | (compute_argument_addresses, expand_call): Likewise. | |
17087 | * explow.c (set_mem_attributes): New function. | |
17088 | (stabilize): Use MEM_COPY_ATTRIBUTES and force_reg. | |
17089 | * expr.c (struct move_by_pieces): Remove {to,from}_{struct,readonly}. | |
17090 | LEN and OFFSET now HOST_WIDE_INT. | |
17091 | (clear_by_pieces): Similar changes. | |
17092 | (move_by_pieces): LEN now HOST_WIDE_INT; don't set deleted fields. | |
17093 | (move_by_pieces_ninsns): Now returns unsigned HOST_WIDE_INT. | |
17094 | (move_by_pieces_1): Don't use deleted fields, use MEM_COPY_ATTRIBUTES. | |
17095 | (clear_by_pieces_1): Likewise. | |
17096 | (emit_push_insn): Call set_mem_attributes. | |
17097 | (expand_expr, case INDIRECT_REF): Likewise. | |
17098 | (expand_expr, case VAR_DECL): Call change_address. | |
17099 | * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE): Use host_integerp and | |
17100 | tree_low_cst. | |
17101 | (get_varargs_alias_set, get_frame_alias_set): New decls. | |
17102 | (record_base_value, record_alias_subset, lang_get_alias_set): Likewise. | |
17103 | (new_alias_set, set_mem_attributes): Likewse. | |
17104 | * function.c (struct temp_slot): ALIAS_SET is HOST_WIDE_INT. | |
17105 | (assign_stack_temp_for_type): Likewise. | |
17106 | Can split slot even if alias set since can copy. | |
17107 | Set MEM_ALIAS_SET and MEM_SET_IN_STRUCT_P. | |
17108 | (assign_temp): Use host_integerp and tree_low_cst. | |
17109 | (put_var_into_stack): Properly handle SAVE_EXPR. | |
17110 | (put_addressof_into_stack): Likewise. | |
17111 | (assign_parms): Call set_mem_attributes. | |
17112 | Delete #if 0 code. | |
17113 | (fix_lexical_address): Put reference to chain into frame alias set. | |
17114 | (expand_function_start): Call set_mem_attributes. | |
17115 | * integrate.c (expand_inline_function): Likewise. | |
17116 | * recog.c (adj_offsettable_operand): Use MEM_COPY_ATTRIBUTES. | |
17117 | * regmove.c (try_apply_stack_adjustment): Likewise. | |
17118 | * reload.c (push_reload, make_memloc): Likewise. | |
17119 | * reload1.c (alter_reg): Make alias sets for spilled pseudos. | |
17120 | * rtl.def (MEM): Update comment. | |
17121 | * rtl.h (MEM_ALIAS_SET): Now uses XCWINT. | |
17122 | (move_by_pieces): Change length to HOST_WIDE_INT. | |
17123 | (record_base_value, record_alias_subset): Delete from here. | |
17124 | * stmt.c (expand_decl): Call set_mem_attributes. | |
17125 | * stor-layout.c (finish_record_layout): Call record_component_aliases.i | |
17126 | * toplev.c (compile_file): Call init_alias_once earlier. | |
17127 | * tree.c (lang_get_alias_set, get_alias_set, new_alias_set): Deleted | |
17128 | from here: now in alias.c. | |
17129 | * tree.h (struct tree_type): alias_set is HOST_WIDE_INT. | |
17130 | (struct tree_decl): Likewise. | |
17131 | (get_alias_set, new_alias_set, lang_get_alias_set): Deleted from here. | |
17132 | * varasm.c (make_function_rtl, make_decl_rtl): Call set_mem_attributes. | |
17133 | (output_constant_def, force_const_mem): Likewise. | |
17134 | ||
17135 | * flow.c (propagate_block): If block has no successors, stores to | |
17136 | frame are dead if not used. | |
17137 | ||
17138 | 2000-05-31 Nathan Sidwell <nathan@codesourcery.com> | |
17139 | ||
17140 | * stmt (expand_end_case): Reorder conversion sequence for jump | |
17141 | table to avoid extra truncations. | |
17142 | ||
17143 | Wed May 31 01:31:42 2000 Jeffrey A Law (law@cygnus.com) | |
17144 | ||
17145 | * ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn | |
17146 | in the block is more than just a simple conditional branch. | |
17147 | (noce_process_if_block): Similarly. | |
17148 | ||
17149 | Tue May 30 22:25:57 2000 Alexandre Oliva <aoliva@cygnus.com> | |
17150 | ||
17151 | * optabs.c (prepare_float_lib_cmp): Protect *px and *py from | |
17152 | queue. | |
17153 | ||
17154 | 2000-05-30 Michael Meissner <meissner@redhat.com> | |
17155 | ||
17156 | * dwarf2out.c (dwarf2out_frame_debug_expr): Ignore HIGH | |
17157 | instructions. Treat LO_SUM operations as loading the full integer | |
17158 | constant. | |
17159 | ||
17160 | 2000-05-30 Richard Henderson <rth@cygnus.com> | |
17161 | ||
17162 | * combine.c (get_pos_from_mask): Test exact_log2 result as signed. | |
17163 | ||
17164 | 2000-05-30 Richard Henderson <rth@cygnus.com> | |
17165 | ||
17166 | * bb-reorder.c (emit_jump_to_block_after): Protect use of HAVE_return. | |
17167 | ||
17168 | 2000-05-30 Bruce Korb <bkorb@gnu.org> | |
17169 | ||
17170 | * fixinc/tests/*: Added expected result files for fixinc's make check | |
17171 | * fixinc/fixfixes(char_macro_*_fix): Restore original algorithm | |
17172 | ||
17173 | 2000-05-30 Richard Henderson <rth@cygnus.com> | |
17174 | ||
17175 | * config/alpha/alpha.md (*setne_internal): Use match_operator | |
17176 | instead of working down from insn. | |
17177 | ||
17178 | 2000-05-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
17179 | ||
17180 | * invoke.texi (-Wtraditional): Update WRT function macros. | |
17181 | ||
17182 | Tue May 30 09:57:32 2000 Philippe De Muyter <phdm@macqel.be> | |
17183 | ||
17184 | * except.c (free_exception_table): Do not free NULL. | |
17185 | ||
17186 | 2000-05-29 Zack Weinberg <zack@wolery.cumb.org> | |
17187 | ||
17188 | * cpplib.c (do_if): Don't save and restore only_seen_white here. | |
17189 | * cppexp.c (_cpp_parse_expr): Save and restore only_seen_white | |
17190 | and skipping here. | |
17191 | ||
17192 | 2000-05-29 Richard Earnshaw (rearnsha@arm.com) | |
17193 | ||
17194 | * flow.c (mark_used_reg): If a register is unconditionally live, | |
17195 | remove any conditional death information. | |
17196 | ||
17197 | 2000-05-29 Richard Henderson <rth@cygnus.com> | |
17198 | ||
17199 | * final.c (current_output_insn): New. | |
17200 | (final_scan_insn): Set it. | |
17201 | * output.h: Declare it. | |
17202 | ||
17203 | 2000-05-29 Richard Henderson <rth@cygnus.com> | |
17204 | ||
17205 | * stor-layout.c (finalize_record_size): Fix typo. | |
17206 | ||
17207 | * jump.c (redirect_jump): Don't emit NOTE_INSN_FUNCTION_END | |
17208 | if nlabel is null. | |
17209 | ||
17210 | 2000-05-29 Zack Weinberg <zack@wolery.cumb.org> | |
17211 | ||
17212 | * cpplib.h (cpp_reader): Remove if_stack. Change | |
17213 | potential_control_macro to a cpp_hashnode *. Add skipping flag. | |
17214 | * cpphash.h (struct ihash): Change control_macro to a | |
17215 | cpp_hashnode * and shorten name to cmacro. | |
17216 | Add NEVER_REINCLUDE constant. | |
17217 | ||
17218 | * cppfiles.c (redundant_include_p): Drop cpp_reader argument. | |
17219 | Examine the cmacro node directly, no need to call cpp_defined. | |
17220 | (_cpp_execute_include, read_include_file): Set cmacro to | |
17221 | NEVER_REINCLUDE, not U"". | |
17222 | * cpplex.c (cpp_push_buffer): Don't set new->if_stack. | |
17223 | (cpp_get_token): If pfile->skipping is true, discard text and | |
17224 | keep scanning until we hit a directive; don't expand macros. | |
17225 | ||
17226 | * cpplib.c (struct if_stack): Remove if_succeeded, add | |
17227 | was_skipping. Change control_macro to a cpp_hashnode * and | |
17228 | shorten name to cmacro. Remove typedef IF_STACK. | |
17229 | (parse_ifdef), detect_if_not_defined): Return a cpp_hashnode *. | |
17230 | (conditional_skip, skip_if_group, | |
17231 | consider_directive_while_skipping): Delete. | |
17232 | (push_conditional): New. | |
17233 | (_cpp_handle_directive): Don't process directives other than | |
17234 | conditionals if we are skipping. | |
17235 | ||
17236 | (do_ifdef, do_ifndef, do_if, do_else, do_elif, do_endif): | |
17237 | Update to new scheme. | |
17238 | (validate_else): Skip rest of line here, unconditionally. | |
17239 | (_cpp_unwind_if_stack): The stack is per-buffer. Force | |
17240 | pfile->skipping off. | |
17241 | ||
17242 | (all): Remove `scare quotes' from error messages. | |
17243 | ||
17244 | 2000-05-29 Richard Henderson <rth@cygnus.com> | |
17245 | ||
17246 | * function.c (emit_return_into_block): New line_note arg; emit it. | |
17247 | (thread_prologue_and_epilogue_insns): Attempt to locate a line note | |
17248 | for the close brace to accompany HAVE_return. Move all line notes | |
17249 | following the epilogue to before the NOTE_INSN_EPILOGUE_BEG. | |
17250 | ||
17251 | 2000-05-29 Richard Henderson <rth@cygnus.com> | |
17252 | ||
17253 | * longlong.h [__alpha] (count_leading_zeros): New. | |
17254 | (count_trailing_zeros): New. | |
17255 | (COUNT_LEADING_ZEROS_0): New. | |
17256 | ||
17257 | * config/alpha/alpha.c (alpha_zero_comparison_operator): New. | |
17258 | (alpha_split_conditional_move): New. | |
17259 | * config/alpha/alpha-protos.h: Prototype them. | |
17260 | * config/alpha/alpha.h (PREDICATE_CODES): Update. | |
17261 | (CPP_CPU_DEFAULT_SPEC): Fix typo for EV67. | |
17262 | * config/alpha/alpha.md: Update ffs cix commentary. | |
17263 | (*ze_and_ne): New. | |
17264 | (*nabssf2, *nabsdf2): New. | |
17265 | (*mov[qhsd]icc_internal): Use add_operand. | |
17266 | (if_then_else constant splitters): New. | |
17267 | (*cmp_sadd_di, *cmp_sadd_si, *cmp_sadd_sidi): New. | |
17268 | (*cmp_ssub_di, *cmp_ssub_si, *cmp_ssub_sidi): New. | |
17269 | ||
17270 | 2000-05-29 Richard Henderson <rth@cygnus.com> | |
17271 | ||
17272 | * combine.c (force_to_mode) [MINUS]: Convert subtraction from | |
17273 | a constant to NEG or NOT when conditions allow. | |
17274 | ||
17275 | * combine.c (combine_simplify_rtx): Don't create an if_then_else | |
17276 | unless both args are general_operand. Don't canonicalize plus | |
17277 | to ior unless it helps. | |
17278 | ||
17279 | * toplev.c (rest_of_compilation): Set no_new_pseudos after flow1; | |
17280 | instead track register_life_up_to_date. Toggle no_new_pseudos | |
17281 | around if_convert. | |
17282 | ||
17283 | 2000-05-28 Geoff Keating <geoffk@cygnus.com> | |
17284 | ||
17285 | * config/rs6000/rs6000.c (output_cbranch): Escape '%' characters | |
17286 | so output_operand doesn't see them. | |
17287 | ||
17288 | Sun May 28 18:37:07 2000 Clinton Popetz <cpopetz@cygnus.com> | |
17289 | ||
17290 | * lcm.c (make_preds_opaque): Fix comment. | |
17291 | (optimize_mode_switching): Use NORMAL_MODE instead of | |
17292 | MODE_USES_IN_EXIT_BLOCK. Change leftover instance of | |
17293 | FP_MODE_NONE to no_mode. Rename MODE_AT_ENTRY to NORMAL_MODE. | |
17294 | Handle insertions before an existing NOTE_INSN_BASIC_BLOCK. | |
17295 | * tm.texi (OPTIMIZE_MODE_SWITCHING): Refer to NORMAL_MODE. | |
17296 | (MODE_USES_IN_EXIT_BLOCK): Delete. | |
17297 | (MODE_AT_ENTRY) Rename to NORMAL_MODE. | |
17298 | * sh.h (MODE_USES_IN_EXIT_BLOCK): Delete. | |
17299 | (MODE_AT_ENTRY): Rename to NORMAL_MODE. | |
17300 | (MODE_NEEDED): Don't look for USE. | |
17301 | (EPILOGUE_USES): Define. | |
17302 | ||
17303 | Sun May 28 23:26:59 2000 Philippe De Muyter <phdm@macqel.be> | |
17304 | ||
4912a07c | 17305 | * mklibgcc.in (all): Variable initialized to `libgcc'. |
c30d43bf JL |
17306 | |
17307 | 2000-05-28 Gabriel Dos Reis <gdr@codesourcery.com> | |
17308 | ||
17309 | * toplev.h (skip_leading_substring): New macro. | |
17310 | * toplev.c (decode_f_option): Use skip_leading_substring instead | |
17311 | of strncmp. | |
17312 | (decode_W_option): Likewise. | |
17313 | ||
17314 | 2000-05-28 Nick Clifton <nickc@cygnus.com> | |
17315 | ||
17316 | * tm.texi (CONDITIONAL_REGISTER_USAGE): Document that it can | |
17317 | modify reg_names. | |
17318 | ||
17319 | 2000-05-28 Richard Henderson <rth@cygnus.com> | |
17320 | ||
17321 | * regclass.c (record_operand_costs): Protect reg_changes_size | |
17322 | with CLASS_CANNOT_CHANGE_SIZE. | |
17323 | ||
17324 | * loop.c (instrument_loop_bct): Set JUMP_LABEL on the new insn. | |
17325 | ||
17326 | 2000-05-28 Richard Henderson <rth@cygnus.com> | |
17327 | ||
17328 | * function.c (diddle_return_value): A pcc-style struct return | |
17329 | returns a pointer. | |
17330 | ||
17331 | 2000-05-27 Zack Weinberg <zack@wolery.cumb.org> | |
17332 | ||
17333 | * cppfiles.c: Read files in, using mmap if possible, then | |
17334 | prescan them separately. | |
17335 | (read_file, read_with_read): New functions. | |
17336 | * cpplex.c: Don't define UCHAR_MAX. | |
17337 | (_cpp_read_and_prescan): Rename to _cpp_prescan. Don't read | |
17338 | the file here. | |
17339 | ||
17340 | * cppinit.c (handle_option): Automatically define __cplusplus, | |
17341 | __OBJC__, __ASEEMBLER__, _LANGUAGE_FORTRAN here when we see | |
17342 | the respective -lang switch. | |
17343 | ||
17344 | * cpphash.h (enum node_type, struct hashnode, _cpp_lookup | |
17345 | prototype): Move to... | |
17346 | * cpplib.h: ... here. Rename struct hashnode to struct | |
17347 | cpp_hashnode and give it a typedef. Rename _cpp_lookup to | |
17348 | cpp_lookup. Add 'fe_value' slot, a union tree_node *. | |
17349 | ||
17350 | 2000-05-27 Geoffrey Keating <geoffk@cygnus.com> | |
17351 | ||
17352 | * config/rs6000/rs6000.md (movsi): Constify 'name'. | |
17353 | ||
17354 | * regclass.c [CLASS_CANNOT_CHANGE_SIZE] | |
17355 | (class_can_change_size): New variable. | |
17356 | (reg_changes_size): New variable. | |
4912a07c | 17357 | (init_reg_sets_1): Initialize class_can_change_size. |
c30d43bf JL |
17358 | (record_operand_costs): Remove subreg_changes_size. |
17359 | Don't pass it around. Instead update reg_changes_size. | |
4912a07c | 17360 | (regclass): Initialize and free reg_changes_size. If a register |
c30d43bf JL |
17361 | changes size, don't preference it to a class that contains |
17362 | registers that can't change size. | |
17363 | (record_reg_classes): Don't look at subreg_changes_size. | |
17364 | ||
17365 | 2000-05-27 Richard Henderson <rth@cygnus.com> | |
17366 | ||
17367 | * print-rtl.c (reg_names): Remove const. | |
17368 | * regclass.c (reg_names): Likewise. | |
17369 | * regs.h (reg_names): Likewise. | |
17370 | * hard-reg-set.h (reg_names): Likewise. | |
17371 | ||
17372 | 2000-05-27 Richard Henderson <rth@cygnus.com> | |
17373 | ||
17374 | * config/rs6000/rs6000.md (untyped_call): Use GEN_CALL. | |
17375 | ||
17376 | 2000-05-27 Richard Henderson <rth@cygnus.com> | |
17377 | ||
17378 | * config/alpha/alpha.c (alpha_does_function_need_gp): Test | |
17379 | TARGET_PROFILING_NEEDS_GP in the if, instead of with an ifdef. | |
17380 | (alpha_expand_prologue): Emit prologue_mcount if needed. | |
17381 | * config/alpha/alpha.h (TARGET_PROFILING_NEEDS_GP): Default to 0. | |
17382 | * config/alpha/alpha.md (prologue_mcount): New. | |
17383 | * config/alpha/linux.h (FUNCTION_PROFILER): Remove. | |
17384 | (TARGET_PROFILING_NEEDS_GP): Undef before redefining. | |
17385 | * config/alpha/netbsd.h: Likewise. | |
17386 | ||
17387 | 2000-05-27 Richard Henderson <rth@cygnus.com> | |
17388 | ||
17389 | * config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19 | |
17390 | change to config/elfos.h. | |
17391 | ||
17392 | 2000-05-27 Richard Henderson <rth@cygnus.com> | |
17393 | ||
17394 | * Makefile.in (resource.o): Depend on except.h. | |
17395 | * except.h (output_exception_table_data): Prototype. | |
17396 | * genconfig.c (gen_peephole2): Prototype. | |
17397 | * genemit.c (main): Include ggc.h. | |
17398 | * genoutput.c: Revert parts of last change: include errors.h | |
17399 | (main): Set progname. | |
17400 | * recog.c: Include hard-reg-set.h before recog.h. | |
17401 | * resource.c: Include except.h. | |
17402 | ||
17403 | * config/alpha/alpha-protos.h (alpha_arg_info_reg_val): Protect | |
17404 | with RTX_CODE. | |
17405 | (alpha_write_linkage): Protect with BUFSIZ. | |
17406 | (alpha_need_linkage): Update prototype. | |
17407 | * config/alpha/alpha.c (function_arg): Move VMS code here. | |
17408 | (alpha_links_base): Remove. | |
17409 | (alpha_links): New. | |
17410 | (mark_alpha_links_node, mark_alpha_links): New. | |
17411 | (alpha_write_one_linkage): New. | |
17412 | (alpha_need_linkage): Use a splay tree. Build the linkage symbol. | |
17413 | (alpha_write_linkage): Use splay_tree_foreach. | |
17414 | * config/alpha/alpha.md (call_vms): Use alpha_need_linkage | |
17415 | to get the linkage symbol. | |
17416 | (call_value_vms): Likewise. | |
17417 | * config/alpha/elf.h (output_file_directive): Remove decl. | |
17418 | (ctors_section, dtors_section): Prototype. | |
17419 | (sbss_section, sdata_section): Prototype. | |
17420 | * config/alpha/vms.h (FUNCTION_ARG): Remove. | |
17421 | (readonly_section, link_section, literals_section): Prototype. | |
17422 | (ctors_section, dtors_section): Prototype. | |
17423 | (vms_valid_decl_attribute_p): Remove decl. | |
17424 | (alpha_arg_type, alpha_arg_info_reg_val): Likewise. | |
17425 | ||
17426 | 2000-05-27 Geoff Keating <geoffk@cygnus.com> | |
17427 | ||
17428 | * reload.c (get_secondary_mem): Don't widen floating-point modes. | |
17429 | ||
8d9afc4e | 17430 | * combine.c (subst): Honor CLASS_CANNOT_CHANGE_SIZE when |
c30d43bf JL |
17431 | substituting the REG in a (subreg:X (reg:Y ...)). |
17432 | ||
17433 | 2000-05-28 Neil Booth <NeilB@earthling.net> | |
17434 | ||
17435 | * cpplex.c (_cpp_lex_line): Merge vertical space. Flag | |
17436 | first token of a line BOL. Update EOF code for this. | |
17437 | Remove illegal directive check - it appears in the (not | |
17438 | yet committed) caller. | |
17439 | * cpplib.h (BOL): New flag. | |
17440 | ||
17441 | 2000-05-28 Neil Booth <NeilB@earthling.net> | |
17442 | ||
4912a07c | 17443 | * cpplex.c (_cpp_init_toklist): No comment space to initialize. |
c30d43bf JL |
17444 | (_cpp_free_toklist): No comment space to free. |
17445 | (expand_comment_space): Remove. | |
17446 | (save_comment_space): Place the comment in the current token and | |
17447 | not in a separate comment space. | |
17448 | (_cpp_lex_line): Save comments during plain code and #define | |
17449 | directives only. | |
17450 | * cpplib.h (struct _cpp_toklist): Remove comment space. | |
17451 | ||
17452 | 2000-05-28 Neil Booth <NeilB@earthling.net> | |
17453 | ||
17454 | * cppexp.c (parse_assertion): Supply extra argument to | |
17455 | _cpp_init_toklist. | |
17456 | * cpplib.c (do_assert, do_unassert): Similarly. | |
17457 | * cpphash.h (_cpp_init_toklist) Update. | |
17458 | (_cpp_expand_token_space): New. | |
17459 | (DUMMY_TOKEN, NO_DUMMY_TOKEN): New. | |
17460 | * cpplex.c (_cpp_init_toklist): New argument. | |
17461 | (parse_string2): New argument multiline_ok. | |
17462 | (spell_token): Take a const cpp_token *. | |
17463 | (INIT_NAME): Replace with INIT_TOKEN_NAME. Update tokens_used. | |
17464 | (SPELL_ macros): Replace with enum. | |
17465 | (expand_token_space): Replace with _cpp_expand_token_space. | |
17466 | Take COUNT argument. | |
17467 | (IS_DIRECTIVE): Update. | |
17468 | (_cpp_lex_line): Update token structure before parsing number. | |
17469 | Don't assume start at beginning of token list. | |
17470 | (save_comment): Use INIT_TOKEN_NAME. | |
17471 | ||
17472 | 2000-05-27 Zack Weinberg <zack@wolery.cumb.org> | |
17473 | ||
17474 | * configure.in (stage1_warn_cflags): Add -Wstrict-prototypes | |
17475 | -Wmissing-prototypes. | |
17476 | * configure: Regenerate. | |
17477 | * gcc.texi: Remove explanation of MD_CALL_PROTOTYPES. | |
17478 | ||
17479 | * builtins.c, calls.c: Change all instances of gen_call_* or | |
17480 | gen_sibcall_* to GEN_CALL_* and GEN_SIBCALL_*. | |
17481 | * calls.c (struct_value_size_rtx): Separate definition from | |
17482 | initialization to avoid unused variable warning. | |
17483 | ||
17484 | * genflags.c (gen_macro): New function. | |
17485 | (gen_proto): Call it for gen_call_* and gen_sibcall_*. | |
17486 | (gen_nonproto): Delete. | |
17487 | (gen_insn): Put all insns on the same obstack. | |
17488 | (main): Generate prototypes for everything unconditionally. | |
17489 | ||
17490 | * configure.in: Add AC_CHECK_TYPE(ssize_t). Remove commented | |
17491 | out check for wchar_t. | |
17492 | * acconfig.h: Add template for ssize_t. Remove @TOP@. | |
17493 | * system.h: Add infrastructure for defining missing | |
17494 | TYPE_MAX/TYPE_MIN macros. Use it to provide fallback | |
17495 | definitions of UCHAR_MAX and SSIZE_MAX. | |
17496 | * configure: Regenerate. | |
17497 | * config.in: Regenerate. | |
17498 | ||
17499 | * Makefile.in (libgcc2.ready): Rename to libgcc.ready. | |
17500 | Depend on $(LANGUAGES) as well as $(GCC_PATCHES) and fixed | |
17501 | headers. | |
17502 | (clean): No need to delete libgcc1.a, libgcc1-asm.a, | |
17503 | libgcc2.a, or libgcc1.null. | |
17504 | ||
17505 | 2000-05-27 Richard Henderson <rth@cygnus.com> | |
17506 | ||
17507 | * Makefile.in (recog.o): Don't depend on resource.h. | |
17508 | * recog.c: Don't include resource.h. | |
17509 | (recog_last_allowed_insn): Remove. | |
17510 | (recog_next_insn): Remove. | |
17511 | (struct peep2_insn_data): New. | |
17512 | (peep2_insn_data, peep2_current): New. | |
17513 | (peep2_next_insn): New. | |
17514 | (peep2_regno_dead_p, peep2_reg_dead_p): New. | |
17515 | (peep2_find_free_register): New. | |
17516 | (peephole2_optimize): Track life information by insn as we go. | |
17517 | * recog.h: Update declarations. | |
17518 | * resource.c (find_free_register, reg_dead_p): Remove. | |
17519 | * resource.h: Remove their declarations. | |
17520 | * toplev.c: Include hard-reg-set.h before recog.h. | |
17521 | ||
17522 | * genconfig.c (max_insns_per_peep2): New. | |
17523 | (gen_peephole2): New. | |
17524 | (main): Call it. | |
17525 | * genemit.c (output_peephole2_scratches): Generate calls to | |
17526 | peep2_find_free_register; adjust surrounding code. | |
17527 | (main): Have insn-emit.c include hard-reg-set.h before recog.h. | |
17528 | * genrecog.c (change_state): Don't track last_insn. | |
17529 | (write_action): Write into *_pmatch_len before accepting. | |
17530 | (write_tree): Adjust peephole2_insns and subroutines to match. | |
17531 | ||
17532 | * config/i386/i386.md (all peepholes): Use peep2_regno_dead_p. | |
17533 | ||
17534 | * config/alpha/alpha.c (hard_fp_register_operand): Mind the mode. | |
17535 | (hard_int_register_operand): New. | |
17536 | * config/alpha/alpha-protos.h: Declare it. | |
17537 | * config/alpha/alpha.h (PREDICATE_CODES): Update. | |
17538 | * config/alpha/alpha.md (peep2 patterns): Use hard_int_register_operand | |
17539 | as needed; use peep2_reg_dead_p instead of dead_or_set_p. | |
17540 | ||
17541 | 2000-05-27 Richard Henderson <rth@cygnus.com> | |
17542 | ||
17543 | * function.c (thread_prologue_epilogue_insns): Don't move the | |
17544 | line note at the head of the chain. Only force a lineno note | |
17545 | before the end of block 0. | |
17546 | ||
17547 | 2000-05-27 Richard Henderson <rth@cygnus.com> | |
17548 | ||
17549 | * gensupport.c (collect_insn_data): Record the maximum number | |
17550 | of alternatives, not the last seen. | |
17551 | ||
17552 | * genoutput.c: Don't include errors.h. | |
17553 | (struct data): Add lineno member. | |
17554 | (have_error): New. | |
17555 | (scan_operands): Use message_with_line instead of error. | |
17556 | (validate_insn_alternatives): Likewise. | |
17557 | (gen_insn): Accept and store the pattern's line number. | |
17558 | (gen_peephole, gen_expand, gen_split): Likewise. | |
17559 | (main): Don't set progname. Pass line_no to gen_foo. | |
17560 | ||
17561 | 2000-05-27 Richard Henderson <rth@cygnus.com> | |
17562 | ||
17563 | * config/d30v/d30v.c (d30v_print_operand): Handle ':'. | |
17564 | * config/d30v/d30v.h (PRINT_OPERAND_PUNCT_VALID_P): Accept ':'. | |
17565 | * config/d30v/d30v.md (attr predicable): New. | |
17566 | (all insn patterns): Mark non-predicable patterns; use %: on the rest. | |
17567 | (andsi3*): Unify into one pattern. | |
17568 | (iorsi3*, xorsi3*): Likewise. | |
17569 | (peephole2 patterns): Use peep2_reg_dead_p; verify not a | |
17570 | conditional return. | |
17571 | (old cond_exec patterns): Remove. | |
17572 | (define_cond_exec): New. | |
17573 | ||
17574 | Sat May 27 11:01:27 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
17575 | ||
17576 | * tree.h (TREE_CODE_LENGTH): New macro. | |
17577 | * c-common.c (c_find_base_decl): Use it. | |
17578 | * expr.c (safe_from_p): Likewise. | |
17579 | * print-tree.c (print_node): Likewise. | |
17580 | * tree.c (make_node, copy_node, get_identifier): Likewie. | |
17581 | (first_rtl_op, contains_placeholder_p, substitute_in_expr): Likewise. | |
17582 | (build, build_nt, build_parse_node, simple_cst_equal): Likewise. | |
17583 | * fold-const.c (make_range): Likewise. | |
17584 | (fold): Likewise; also use first_rtl_op. | |
17585 | * c-iterate.c (collect_iterators): Use first_rtl_op. | |
17586 | * calls.c (calls_function_1): Likewise; also rename TYPE to CLASS. | |
17587 | Use IS_EXPR_CODE_CLASS. | |
17588 | (preexpand_calls): Likewise. | |
17589 | * ggc-common.c (ggc_mark_trees): Rework to use first_rtl_op | |
17590 | and TREE_CODE_LENGTH. | |
17591 | * stmt.c (warn_if_unused_value): If no operands, no unused value. | |
17592 | ||
17593 | 2000-05-26 Geoffrey Keating <geoffk@cygnus.com> | |
17594 | ||
17595 | * config/rs6000/rs6000.md (movsi_internal1): Use '%a1' rather | |
17596 | than '%1(%*)'. | |
17597 | (movdi_internal64): Likewise. | |
17598 | ||
17599 | * config/rs6000/rs6000.md: Correct order of operands for DImode | |
17600 | boolean patterns. | |
17601 | ||
17602 | * config/rs6000/rs6000.c (boolean_or_operator): New function. | |
17603 | * config/rs6000/rs6000-protos.h (boolean_or_operator): Prototype it. | |
17604 | * config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_or_operator. | |
17605 | * config/rs6000/rs6000.md: Use boolean_or_operator instead of | |
17606 | boolean_operator for the boolean patterns without NOTs. | |
17607 | ||
17608 | * config/rs6000/rs6000.c (reg_or_logical_cint_operand): Rename | |
8d9afc4e | 17609 | from reg_or_u_cint_operand. Change comment and behavior. |
c30d43bf JL |
17610 | (logical_operand): Clean up, add assertion. |
17611 | (non_logical_cint_operand): Also check for | |
17612 | reg_or_logical_cint_operand. | |
17613 | * config/rs6000/rs6000.h (PREDICATE_CODES): Update. | |
17614 | * config/rs6000/rs6000.md (iorsi3): Use reg_or_logical_cint_operand | |
17615 | in the expander. | |
17616 | (xorsi3): Likewise. | |
17617 | (iordi3): Likewise. | |
17618 | (xordi3): Likewise. | |
17619 | ||
17620 | 2000-05-26 Mark Mitchell <mark@codesourcery.com> | |
17621 | ||
17622 | * tree.h (struct record_layout_info): Rename to (struct | |
17623 | record_layout_info_s). | |
17624 | * stor-layout.c (start_record_layout): Replace | |
17625 | `record_layout_info' with `record_layout_info_s'. | |
17626 | ||
17627 | 2000-05-26 Richard Earnshaw <rearnsha@arm.com> | |
17628 | ||
17629 | * flow.c (find_label_refs): New function. | |
17630 | (find_basic_blocks_1): Call it for each alternative of a call | |
17631 | placeholder. | |
17632 | ||
17633 | 2000-05-26 Richard Earnshaw <rearnsha@arm.com> | |
17634 | ||
17635 | * ifcvt.c (cond_exec_get_condition): Set test_if to the SET_SRC | |
17636 | of get_pc. | |
17637 | ||
17638 | 2000-05-25 Richard Henderson <rth@cygnus.com> | |
17639 | ||
17640 | * config/alpha/alpha.c (alpha_comparison_operator): Don't be | |
17641 | so strict about DImode. | |
17642 | (alpha_swapped_comparison_operator): Likewise. | |
17643 | * config/alpha/alpha.md (*setne_internal): Name it. Allow | |
17644 | any integer output mode. | |
17645 | (*setcc_internal): Likewise. | |
17646 | (*setcc_swapped_internal): Likewise. | |
17647 | (*movdicc_internal, *movdicc_lbc, *movdicc_lbs): Name them. | |
17648 | (*mov[qhs]icc_internal): New. | |
17649 | (*mov[qhs]icc_lbc, *mov[qhs]icc_lbs): New. | |
17650 | ||
17651 | 2000-05-25 J. David Anglin <dave@hiauly1.hia.nrc.ca> | |
17652 | ||
17653 | * vax.h (CPP_SPEC): Define __GFLOAT and GFLOAT when -mg is specified. | |
17654 | ||
17655 | 2000-05-25 Richard Henderson <rth@cygnus.com> | |
17656 | ||
17657 | * bb-reorder.c (reorder_block_def): Reorder elements for size. | |
17658 | Remove add_jump; add next; replace flags with visited. | |
17659 | (rbd_init): Remove. | |
17660 | (REORDER_BLOCK_HEAD, REORDER_BLOCK_VISITED): Remove. | |
17661 | (REORDER_BLOCK_FLAGS, REORDER_BLOCK_INDEX): Remove. | |
17662 | (REORDER_BLOCK_ADD_JUMP, REORDER_BLOCK_EFF_HEAD): Remove. | |
17663 | (REORDER_BLOCK_EFF_END, REORDER_BLOCK_SCOPE): Remove. | |
17664 | (RBI): New. | |
17665 | (reorder_index, reorder_last_visited): Remove. | |
17666 | (skip_insns_after_block): Rewrite to use a switch. | |
17667 | (get_common_dest): Remove. | |
17668 | (chain_reorder_blocks): Remove. | |
17669 | (record_effective_endpoints): Split out from reorder_basic_blocks. | |
17670 | (make_reorder_chain): Likewise. Loop until all blocks are placed. | |
17671 | (make_reorder_chain_1): Renamed from old make_reorder_chain. | |
17672 | Only construct the reorder chain, do not move insns. Try harder | |
17673 | to tail recurse. | |
17674 | (label_for_bb, emit_jump_to_block_after): New. | |
17675 | (fixup_reorder_chain): Use them. Do bulk block movement. Examine | |
17676 | and adjust the jump insns appropriately. Fixup basic_block_info. | |
17677 | (verify_insn_chain): Always define. | |
17678 | (relate_bbs_with_scopes): Call xmalloc, not xcalloc. Fix thinko | |
17679 | in allocation size. | |
17680 | (make_new_scope): Don't write zeros to calloc'd space. | |
17681 | (build_scope_forest): Rely on xrealloc to DTRT. | |
17682 | (reorder_basic_blocks): Don't build loop nest. Don't fail if | |
17683 | profile_arc_flag. Streamline EH test. | |
17684 | ||
17685 | * flow.c (redirect_edge_succ, redirect_edge_pred): New. | |
17686 | * basic-block.h: Declare them. | |
17687 | ||
17688 | 2000-05-25 Alexandre Oliva <aoliva@cygnus.com> | |
17689 | ||
17690 | * emit-rtl.c (reset_used_decls): New function. | |
17691 | (unshare_all_rtl_again): Call it. | |
17692 | ||
17693 | 2000-05-25 Zack Weinberg <zack@wolery.cumb.org> | |
17694 | ||
17695 | * cpplex.c (maybe_macroexpand): Warn about function-like | |
17696 | macros used in non-function context, if -Wtraditional. | |
17697 | ||
17698 | 2000-05-25 Mark Mitchell <mark@codesourcery.com> | |
17699 | ||
17700 | * recog.c (peephole2_optimize): Use INSN_P. | |
17701 | ||
17702 | 2000-05-25 Richard Henderson <rth@cygnus.com> | |
17703 | ||
17704 | * ifcvt.c (seq_contains_jump): New. | |
17705 | (noce_try_store_flag_constants): Use it to fail conversion. | |
17706 | (noce_try_store_flag_inc, noce_try_store_flag_mask): Likewise. | |
17707 | ||
17708 | 2000-05-25 Mark Mitchell <mark@codesourcery.com> | |
17709 | ||
17710 | * except.h (can_throw): Declare it. | |
17711 | * except.c (can_throw): Give it external linkage. | |
17712 | * resource.c (find_dead_or_set_registers): Use can_throw. | |
17713 | ||
17714 | 2000-05-25 Richard Henderson <rth@cygnus.com> | |
17715 | ||
17716 | * flow.c (mark_set_1): Don't record conditionally dead memory. | |
17717 | ||
17718 | 2000-05-25 Jan Hubicka <jh@suse.cz> | |
17719 | ||
17720 | * combine.c (try_combine): Use any_condjump_p, any_uncondjump_p | |
17721 | and pc_set at the place of simplejump_p and condjump_p. | |
17722 | * cse.c (record_jump_equiv): Likewise. | |
17723 | * emit-rtl.c (emit): Likewise. | |
17724 | * explow.c (find_next_ref): Likewise. | |
17725 | * flow.c (tidy_fallthru_edge): Likewise. | |
17726 | (init_propagate_block_info): Likewise. | |
17727 | * gcse.c (delete_null_pointer_checks): Likewise. | |
17728 | * ifcvt.c (cond_exec_get_condition, noce_get_condition, | |
17729 | dead_or_predicable): Likewise. | |
17730 | * integrate.c (copy_insn_list): Likewise. | |
17731 | * loop.c (scan_loop, verify_dominator, find_and_verify_loops, | |
17732 | for_each_insn_in_loop, check_dbra_loop, get_condition, | |
17733 | insert_bct, load_mems): Likewise. | |
17734 | * resource.c (find_dead_or_set_registers): Likewise. | |
17735 | * sibcalls.c (simplejump_p): Likewise. | |
17736 | * unroll.c (copy_loop_body, reg_dead_after_loop): Likewise. | |
17737 | ||
17738 | 2000-05-25 David Edelsohn <edelsohn@gnu.org> | |
17739 | ||
17740 | * rs6000.c (expand_block_move): Add 64-bit PowerPC doubleword move | |
17741 | to STRING case. Use doubleword STRING move for TARGET_POWERPC64 | |
17742 | when unaligned. | |
17743 | * rs6000.h (CONST_OK_FOR_LETTER_P, 'J'): unsigned HOST_WIDE_INT. | |
17744 | (RETURN_ADDR_RTX): Use COUNT and FRAME, not count and frame. | |
17745 | (LEGITIMIZE_RELOAD_ADDRESS): unsigned HOST_WIDE_INT high. | |
17746 | * rs6000.md: Name various internal patterns. | |
17747 | ||
17748 | 2000-05-25 Jan Hubicka <jh@suse.cz> | |
17749 | ||
17750 | * jump.c (invert_exp_1): Remove first argument, use pc_set | |
17751 | to get the expression. | |
17752 | (redirect_exp): Make static; redirect only the pc_set expression, | |
17753 | remove first argument. | |
17754 | (invert_exp): Remove first argument, make static. | |
17755 | (jump_optimize): Use any_condjump_p, any_uncondjump_p and | |
17756 | any_onlyjump at most places where we originaly did condjump_p | |
17757 | and simplejump_p. | |
17758 | (jump_back_p, follow_jumps, thread_jumps): Likewise. | |
17759 | (delete_barrier_succesors): Use pc_set. | |
17760 | (invert_jump_1, invert_jump, redirect_jump_1, redirect_jump): Update | |
17761 | calls of invert_exp and redirect_exp. | |
17762 | * rtl.h (redirect_exp, invert_exp): Remove. | |
17763 | * unroll.c (copy_loop_body): Use invert_jump and redirect_jump. | |
17764 | ||
17765 | 2000-05-25 Richard Henderson <rth@cygnus.com> | |
17766 | ||
17767 | * stmt.c (expand_end_bindings): Fix thinko last change. | |
17768 | ||
17769 | 2000-05-25 Andrew MacLeod <amacleod@cygnus.com> | |
17770 | Andrew Haley <aph@cygnus.com> | |
17771 | ||
17772 | * except.c (func_eh_entry): Add emitted field. | |
17773 | (new_eh_region_entry): Set emitted field to 0; | |
17774 | (output_exception_table_entry): Only emit previously un-emitted data, | |
17775 | and send it to the eh_data section. | |
17776 | (output_exception_table): Break out common parts. Output | |
17777 | exception table for entire compilation unit to eh_data section. | |
17778 | (output_exception_table_data): Common parts of output_exception_table. | |
17779 | Send output to eh_data section. | |
17780 | (output_function_exception_table): Output exception table data for | |
17781 | a single function to eh_data section. | |
17782 | (free_exception_table): New external to free the table. | |
17783 | * except.h (free_exception_table): Add prototype. | |
17784 | (output_function_exception_table): Add prototype. | |
17785 | * final.c (final_end_function): Output function exception table | |
17786 | for IA64_UNWIND_INFO. | |
17787 | (final_scan_insn): Emit any unwind directives for an insn. | |
17788 | ||
17789 | * frame-dwarf2.c: New file containing all DWARF 2 specific code | |
17790 | from frame.c. | |
17791 | * frame.c: Remove all DWARF 2 specific code. | |
17792 | * config/ia64/frame-ia64.c: New file. | |
17793 | (gthread_stuff): Make all gthread available with | |
17794 | IA64_UNWIND_INFO. | |
17795 | (dwarf_fde): Define an IA64 struct for dwarf_fde. | |
17796 | (__register_frame_info, __register_frame): Move to common area of file. | |
17797 | (__register_frame_info_table, __register_frame_table): Move to common i | |
17798 | area. | |
17799 | (__deregister_frame_info, __deregister_frame): Move to common area. | |
17800 | (__frame_init, find_fde): New versions for IA64_UNWIND_INFO. | |
17801 | (read_uleb128): New version for ia64. | |
17802 | (get_unwind_record): Read the next IA-64 unwind record. | |
17803 | (read_R_record): Read a region header record. | |
17804 | (process_a_b_reg_code): X record helper. | |
17805 | (read_X_record): Read an X format record. | |
17806 | (read_B_record): Read a B format record. | |
17807 | (P3_record_types): List of record types matching the P3 format. | |
17808 | (P7_record_types): List of record types matching the P7 format. | |
17809 | (P8_record_types): List of record types matching the P8 format. | |
17810 | (read_P_record): Read a P format record. | |
17811 | (init_ia64_reg_loc): Set default fields for a register. | |
17812 | (init_ia64_unwind_frame): Set defaults for all register records. | |
17813 | (execute_one_ia64_descriptor): Execute one descriptor record. | |
17814 | (rse_address_add): Calculate the position of a local reg in memory. | |
17815 | (normalize_reg_loc): Turn a location descriptor into a memory address. | |
17816 | (maybe_normalize_reg_loc): Only normalize a descriptor if it falls | |
17817 | within a specified PC offset range. | |
17818 | (get_real_reg_value): Given a register location, retrieve its value. | |
17819 | (set_real_reg_value): Change the value of a register location. | |
17820 | (copy_reg_value): Copy reg values, if needed. | |
17821 | (copy_saved_reg_state): Copy all registers that need to be copied. | |
17822 | (process_state_between): Normalize all frame register records that | |
17823 | fall within the specified PC range. | |
17824 | (frame_translate): Take a processed frame description, and turn | |
17825 | everything into addresses. | |
17826 | (build_ia64_frame_state ): Find and create frame state record for a PC. | |
17827 | (get_personality): Get the personality routine for a given frame. | |
17828 | (get_except_table): Get the exception table for a given frame. | |
17829 | (record_name): Unwind record names for debugging. | |
17830 | (print_record): Print and unwind record. | |
17831 | (print_all_records): Print an entire unwind image. | |
17832 | (__ia64_backtrace): Print a backtrace. | |
17833 | (ia64_backtrace_helper): New function. | |
17834 | (__register_frame_info_aux): New function. | |
17835 | * config/ia64/crtend.asm (__do_frame_setup_aux): New function. | |
17836 | ||
17837 | * frame.h (enum unw_record_type): New unwind record types. | |
17838 | (struct unw_p_record, unw_b_record, unw_x_record) : New unwind records. | |
17839 | (struct unw_r_record, unwind_record): New unwind record structs. | |
17840 | (struct unwind_info_ptr): Unwind information layout. | |
17841 | (IA64_UNW_LOC_TYPE_*): Macros for different types for location | |
17842 | descriptors. | |
17843 | (struct ia64_reg_loc): Register location description. | |
17844 | (struct ia64_frame_state): Location of all registers in a frame. | |
17845 | (struct object): Add pc_base and fde_end for IA64_UNWIND_INFO. | |
17846 | * libgcc2.c (__ia64_personality_v1): Personality routine. | |
17847 | (__calc_caller_bsp): Calculate the bsp register for the caller's | |
17848 | frame. | |
17849 | (ia64_throw_helper): Figure out who to return to and set up the | |
17850 | registers. | |
17851 | (__throw): Throw routine. | |
17852 | ||
17853 | * output.h (assemble_eh_align, assemble_eh_label): New functions | |
17854 | to generate EH info where we want it. | |
17855 | (assemble_eh_integer): New function. | |
17856 | * toplev.c (compile_file): Output module level exception table for | |
17857 | non-ia64 targets. | |
17858 | (main): Set exceptions_via_longjump and flag_new_exceptions based | |
17859 | on IA64_UNWIND_INFO too. | |
17860 | ||
17861 | * varasm.c (assemble_eh_label): Generate a label via | |
17862 | ASM_OUTPUT_EH_LABEL if it has been specified. | |
17863 | (assemble_eh_align): Generate an alignment directive via | |
17864 | ASM_OUTPUT_EH_ALIGN if it has been specified. | |
17865 | (assemble_eh_label): Generate an integer value via | |
17866 | ASM_OUTPUT_EH_type if they have been specified. | |
17867 | * config/ia64/ia64.c (rtx_needs_barrier): Add flushrs. | |
17868 | (ia64_init_builtins): Add __builtin_ia64_bsp | |
17869 | and __builtin_ia64_flushrs. | |
17870 | (ia64_expand_builtin): Add IA64_BUILTIN_BSP and | |
17871 | IA64_BUILTIN_FLUSHRS. | |
17872 | * config/ia64/ia64.h (ia64_builtins): Add IA64_BUILTIN_BSP and | |
17873 | IA64_BUILTIN_FLUSHRS. | |
17874 | ||
17875 | * config/ia64/ia64.md (flushrs): New insn to flush the register | |
17876 | stack. Add to unspec list. | |
17877 | ||
17878 | * config/ia64/crtbegin.asm (frame_object): Change size. | |
17879 | (__do_frame_setup_aux): New function. | |
17880 | * config/ia64/crtend.asm: call __do_frame_setup_aux. | |
17881 | * config/ia64/t-ia64 (LIB2ADDEH): Add. | |
17882 | * Makefile.in (LIB2ADDEH): Add. | |
17883 | (LIB2ADD): Use LIB2ADDEH. | |
17884 | ||
17885 | 2000-05-24 Richard Henderson <rth@cygnus.com> | |
17886 | ||
17887 | * recog.c (offsettable_address_p): If mode size is zero, assume | |
17888 | BIGGEST_ALIGNMENT. | |
17889 | ||
17890 | 2000-05-24 J. David Anglin <dave@hiauly.hia.nrc.ca> | |
17891 | ||
17892 | * configure.in: Check for -Wno-long-long option support and improve | |
17893 | handling of warning CFLAGS for stages 1 and 2. | |
17894 | * Makefile.in (WARN_CFLAGS): Move definition to configure.in. | |
17895 | * configure: Regenerate. | |
17896 | ||
17897 | Wed May 24 19:37:53 2000 Jeffrey A Law (law@cygnus.com) | |
17898 | ||
17899 | * gcc.texi: Remove contributor list. Instead include contrib.texi. | |
17900 | * contrib.texi: New file. | |
17901 | ||
17902 | Thu May 25 02:27:22 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
17903 | ||
17904 | * loop.c (basic_induction_var): Avoid double recording of an increment. | |
17905 | ||
17906 | Thu May 25 02:19:27 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
17907 | ||
17908 | * Back out this patch: | |
17909 | Tue Dec 7 19:22:06 1999 Richard Henderson <rth@cygnus.com> | |
17910 | * loop.h (struct induction): Add multi_insn_incr. | |
17911 | * loop.c (basic_induction_var): New multi_insn_incr argument. | |
17912 | Set it if we search back through previous insns for the biv. | |
17913 | (record_biv): New multi_insn_incr argument; fill in struct induction. | |
17914 | (strength_reduce): Discard an iv with multiple bivs, any of | |
17915 | which require multiple insns to increment. | |
17916 | ||
17917 | * loop.c (check_insn_for_bivs): Remove bits copied from above patch. | |
17918 | ||
17919 | Thu May 25 02:09:10 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
17920 | ||
17921 | * rtl.h (loc_mentioned_in_p): Declare. | |
17922 | * reload.c (loc_mentioned_in_p): Moved from here... | |
17923 | * rtlanal.c (loc_mentioned_in_p): to here. No longer static. | |
17924 | Fix loop increment for 'E' handling. | |
17925 | * loop.c (strength_reduce): When doing biv->giv conversion, | |
17926 | take multi-insn biv increments into account. | |
17927 | ||
17928 | 2000-05-24 Jason Merrill <jason@casey.soma.redhat.com> | |
17929 | ||
17930 | * stmt.c (expand_end_bindings): Look through NOTEs to find a | |
17931 | BARRIER. | |
17932 | ||
17933 | 2000-05-24 Mark Mitchell <mark@codesourcery.com> | |
17934 | ||
17935 | * calls.c (expand_call): Handle cleanups in tail-recursion | |
d6a7951f | 17936 | arguments analogously to cleanups in sibling calls. |
c30d43bf JL |
17937 | |
17938 | 2000-05-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
17939 | ||
17940 | * simplify-rtx.c: Rename macro SIGN_EXTEND to HWI_SIGN_EXTEND. | |
17941 | All callers changed. | |
17942 | ||
17943 | 2000-05-24 Alexandre Oliva <aoliva@cygnus.com> | |
17944 | ||
17945 | * expr.c (expand_assignment, store_expr, expand_expr, | |
17946 | expand_expr_unaligned): Set in_check_memory_usage while emitting | |
17947 | chkr_check_addr libcall. | |
17948 | ||
17949 | 2000-05-24 Nick Clifton <nickc@cygnus.com> | |
17950 | ||
17951 | * fold-const.c (extract_muldiv): When constructing a | |
17952 | multiplier/divisor, do not expect const_binop to correctly | |
ff7cc307 | 17953 | determine if overflow has occurred, so check explicitly. |
c30d43bf JL |
17954 | |
17955 | 2000-05-24 Alexandre Oliva <aoliva@cygnus.com> | |
17956 | ||
17957 | * c-decl.c (build_enumerator): Don't modify the value's type, | |
17958 | convert it. | |
17959 | ||
17960 | 2000-05-24 Andreas Jaeger <aj@suse.de> | |
17961 | ||
17962 | * mips.h (LINKER_ENDIAN_SPEC): Pass -EL to linker by default. | |
17963 | ||
17964 | 2000-05-24 Eric Christopher <echristo@cygnus.com> | |
17965 | ||
17966 | * configure.in: Redefine inhibit_libc conditions. | |
17967 | * libgcc2.c: Remove inhibit_libc conditional define. | |
17968 | * configure: Regenerate. | |
17969 | ||
17970 | 2000-05-24 Phil Edwards <pme@sourceware.cygnus.com> | |
17971 | ||
17972 | * configure.in: For --enable-languages=LIST, check for empty LIST. | |
17973 | * configure: Regenerate. | |
17974 | ||
17975 | 2000-05-24 Lars Brinkhoff <lars@nocrew.org> | |
17976 | ||
17977 | * pdp11.h (STACK_BOUNDARY): Define. | |
17978 | ||
17979 | 2000-05-24 Jakub Jelinek <jakub@redhat.com> | |
17980 | ||
17981 | * ifcvt.c (if_convert): Update life info globally. | |
17982 | ||
17983 | 2000-05-24 Alexandre Oliva <oliva@lsd.ic.unicamp.br> | |
17984 | ||
17985 | * emit-rtl.c (unshare_all_decls): New function. | |
17986 | (unshare_all_rtl): Call it. | |
17987 | ||
17988 | 2000-05-23 Nick Clifton <nickc@cygnus.com> | |
17989 | ||
17990 | * configure.in: Treat 'strongarm' as if it were 'arm' when | |
17991 | determining cpu type. | |
17992 | ||
17993 | * configure: Regenerate. | |
17994 | ||
17995 | * config/arm/arm.c: Change 'char *' to 'const char *' for cases | |
17996 | where constant strings are involved. | |
17997 | ||
17998 | * config/arm/arm.h (arm_condition_codes): Change type to 'const | |
17999 | char *'. | |
18000 | ||
18001 | * config/arm/arm-protos.h: Change 'char *' to 'const char *' for | |
18002 | cases where constant strings are involved. | |
18003 | ||
18004 | Tue May 23 15:08:31 2000 Clinton Popetz <cpopetz@cygnus.com> | |
18005 | ||
18006 | * config/sh/sh.c (gen_far_branch, split_branches): Update | |
18007 | to reflect new prototypes for redirect_jump and invert_jump. | |
18008 | (sh_insn_length_adjustment): Get rid of const warnings. | |
18009 | ||
18010 | 2000-05-23 Kazu Hirata <kazu@hxi.com> | |
18011 | ||
18012 | * invoke.texi (Options for Debugging Your Program or GCC): Update | |
18013 | the names of dump files. | |
18014 | ||
18015 | Tue May 23 13:58:52 2000 Philippe De Muyter <phdm@macqel.be> | |
18016 | ||
18017 | * configure.in (NO_MINUS_C_MINUS_O): Fix thinko in previous fix. | |
18018 | * configure: Regenerated. | |
18019 | ||
18020 | 2000-05-23 Zack Weinberg <zack@wolery.cumb.org> | |
18021 | ||
18022 | * simplify-rtx.c (SIGN_EXTEND): New macro. | |
18023 | (simplify_unary_operation, simplify_binary_operation, | |
18024 | simplify_relational_operation): Use SIGN_EXTEND. Make low | |
18025 | halves of (low, high) pairs unsigned if they weren't already. | |
18026 | (simplify_ternary_operation): Cast INTVAL to unsigned before | |
18027 | comparing to a MODE_BITSIZE. | |
18028 | ||
18029 | 2000-05-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
18030 | ||
18031 | * aclocal.m4 (gcc_AC_CHECK_DECL, gcc_AC_CHECK_DECLS): New macros | |
18032 | rewritten from the internals of gcc_AC_NEED_DECLARATION{S}. | |
18033 | ||
18034 | * configure.in (gcc_AC_CHECK_DECLS): Call this instead of | |
18035 | gcc_AC_NEED_DECLARATIONS. | |
18036 | ||
18037 | * dwarfout.c: Don't prototype time(). | |
18038 | ||
18039 | * gcc.c: Check HAVE_DECL_* instead of NEED_DECLARATION_*. | |
18040 | ||
18041 | * system.h: Likewise. | |
18042 | ||
18043 | * toplev.c: Likewise. | |
18044 | ||
18045 | 2000-05-23 Zack Weinberg <zack@wolery.cumb.org> | |
18046 | ||
18047 | * c-decl.c (pushdecl): Invert sense of test for non-global types. | |
18048 | ||
18049 | Tue May 23 18:11:42 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
18050 | ||
18051 | * reload1.c (reload_cse_move2add): Honor TRULY_NOOP_TRUNCATION. | |
18052 | ||
18053 | 2000-05-23 Jonathan Larmour <jlarmour@redhat.co.uk> | |
18054 | ||
18055 | * config/mips/elf64.h (CTOR_LISTS_DEFINED_EXTERNALLY): Define | |
18056 | ||
18057 | Tue May 23 06:50:29 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
18058 | ||
18059 | * config/alpha/alpha.c: Remove #ifdef HAIFA since now only scheduler. | |
18060 | (alpha_start_function): Never write ..ng label if VMS or NT. | |
18061 | (alpha_align_insns): Remove GP_IN_USE arg. | |
18062 | Alignment now unsigned. | |
18063 | (alpha_reorg): Don't pass GP_IN_USE arg to alpha_align_insns. | |
18064 | * config/alpha/alpha.md (prologue_ldgp): Split into one define_expand | |
18065 | and two define_insn's. | |
18066 | ||
18067 | 2000-05-22 Richard Henderson <rth@cygnus.com> | |
18068 | ||
18069 | * combine.c (simplify_comparison): Use trunc_int_for_mode. | |
18070 | ||
18071 | 2000-05-22 Richard Henderson <rth@cygnus.com> | |
18072 | ||
18073 | * stor-layout.c (place_field): Change rli->size to rli->offset. | |
18074 | ||
18075 | 2000-05-22 Richard Henderson <rth@cygnus.com> | |
18076 | ||
18077 | * function.c (thread_prologue_and_epilogue_insns): Make sure | |
18078 | existing line number notes appear after the prologue. | |
18079 | ||
18080 | Mon May 22 21:49:00 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
18081 | ||
18082 | * config/alpha/alpha.c (alpha_fnname): New static variable. | |
18083 | (print_operand, case '~'): New case. | |
18084 | (alpha_expand_prologue): Emit prologue_ldgp insn if needed. | |
18085 | (alpha_start_function): Set alpha_fnname. | |
18086 | Write "ng" label if no ldgp; don't write ldgp insn. | |
18087 | * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): New case '~'. | |
18088 | * config/alpha/alpha.md (prologue_ldgp): New define_insn. | |
18089 | ||
18090 | Mon May 22 11:30:48 2000 Clinton Popetz <cpopetz@cygnus.com> | |
18091 | ||
18092 | * jump.c (jump_optimize_1): Don't increment LABEL_NUSES | |
18093 | on deleted labels. | |
18094 | ||
18095 | 2000-05-22 Zack Weinberg <zack@wolery.cumb.org> | |
18096 | ||
18097 | * varasm.c (eh_frame_section): Revert change to argument list. | |
18098 | ||
18099 | Mon May 22 13:14:03 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
18100 | ||
18101 | * optabs.c (can_extend_p): Allow unsignedp to have any nonzero value. | |
18102 | (gen_extend_insn, can_fix_p, can_float_p): Likewise. | |
18103 | ||
18104 | * final.c (final_scan_insn, case NOTE_INSN_FUNCTION_BEG): Remove | |
18105 | dangling "else" that causes "break" to be conditional. | |
18106 | Also remove unneeded code at start. | |
18107 | ||
18108 | Mon May 22 17:31:35 2000 Philippe De Muyter <phdm@macqel.be> | |
18109 | ||
18110 | * m68k/m68k.h (STORE_FLAG_VALUE): Macro set to (-1), not -1. | |
18111 | * fx80/fx80.h, i370/i370.h, m88k/m88k.h (STORE_FLAG_VALUE): Ditto. | |
18112 | * gmicro/gmicro.h, we32k/we32k.h (STORE_FLAG_VALUE): Ditto. | |
18113 | ||
18114 | 2000-05-22 Jakub Jelinek <jakub@redhat.com> | |
18115 | ||
18116 | * config/sparc/sparc.md (movdf_insn_v9only_vis): fzero has | |
18117 | just one argument. | |
18118 | ||
18119 | Mon May 22 06:57:49 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
18120 | ||
18121 | * alias.c (record_component_aliases): New function. | |
18122 | * tree.h: Clean up some declarations and comments. | |
18123 | (record_component_aliases): New declaration. | |
18124 | * tree.c (get_alias_set): If type and has alias set, use it. | |
18125 | ||
18126 | 2000-05-22 Richard Henderson <rth@cygnus.com> | |
18127 | ||
18128 | * simplify-rtx.c (simplify_ternary_operation): Try to simplify | |
18129 | IF_THEN_ELSE to a setcc form. | |
18130 | * jump.c (can_reverse_comparison_p): Be prepared for insn null. | |
18131 | ||
18132 | 2000-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
18133 | ||
18134 | * fixinc/inclhack.def (sun_malloc): Handle `calloc'. | |
18135 | (sun_malloc, sysz_stdtypes_for_sun): Add test_text. | |
18136 | ||
18137 | Sun May 21 16:42:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
18138 | ||
18139 | * combine.c (try_combine): Handle i3_subst_into_i2 case when I2 is | |
18140 | not a PARALLEL. | |
18141 | ||
18142 | 2000-05-20 Alexandre Oliva <aoliva@cygnus.com> | |
18143 | ||
18144 | * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up. | |
18145 | * config/mn10300/mn10300.c (print_operand): Likewise. | |
18146 | ||
18147 | * final.c (split_double): Right shift of negative values is not | |
18148 | portable. | |
18149 | ||
18150 | * ifcvt.c (if_convert): Scan and kill dead code. | |
18151 | ||
18152 | * emit-rtl.c (unshare_all_rtl): Store the copied rtx. | |
18153 | ||
18154 | 2000-05-20 Zack Weinberg <zack@wolery.cumb.org> | |
18155 | ||
18156 | * diagnostic.c: Eliminate implicit int. | |
18157 | * except.c, gcc.c: Add static prototypes. | |
18158 | * final.c (final_end_function): Mark file arg ATTRIBUTE_UNUSED. | |
18159 | * gensupport.c (process_rtx): Use XVEC to initialize vector | |
18160 | slot of 'split'. | |
18161 | ||
18162 | * print-rtl.c: If DEBUG_REGISTER_NAMES, define static | |
18163 | debug_reg_names instead of static reg_names. If not, define | |
18164 | global reg_names. | |
18165 | * regclass.c: Don't define global reg_names unless | |
18166 | DEBUG_REGISTER_NAMES is defined. | |
18167 | ||
18168 | * reload1.c (order_regs_for_reload): Remove unused variable. | |
18169 | * varasm.c: Include output.h after defaults.h. Define | |
18170 | eh_frame_section as function of no args, not of unspecified args. | |
18171 | ||
18172 | * gcc.c: Constify argbuf; arguments to store_arg, | |
18173 | process_command, main; elements of struct command and struct | |
18174 | switchstr; local variables in execute, process_command, main. | |
18175 | ||
18176 | 2000-05-20 Bruce Korb <bkorb@gnu.org> | |
18177 | ||
18178 | * fixinc/inclhack.def: many applications of c_fix=format + tests | |
18179 | * fixinc/check.diff: regenerated | |
18180 | * fixinc/fixincl.x: regenerated | |
18181 | ||
18182 | Sat May 20 09:30:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
18183 | ||
18184 | * alias.c: Clarify some comments. | |
18185 | (record_base_value): REGNO is unsigned. | |
18186 | * rtl.h (record_base_value): Likewise. | |
18187 | ||
18188 | * alias.c (aliases_everything_p): Don't special-case QImode here. | |
18189 | * c-common.c (c_get_alias_set): Do it here. | |
18190 | Handle BIT_FIELD_REF by getting alias info for arg. | |
18191 | Use POINTER_TYPE_P. | |
18192 | ||
18193 | 2000-05-20 Alexandre Oliva <aoliva@cygnus.com> | |
18194 | ||
18195 | * mklibgcc.in: Restore rule to create ${dir}. | |
18196 | ||
18197 | Sat May 20 08:45:41 2000 H.J. Lu <hjl@gnu.org> | |
18198 | ||
18199 | * Makefile.in (libgcc.mk): Depend on xgcc$(exeext) for | |
18200 | GCC_FOR_TARGET used by MULTILIBS. | |
18201 | * mklibgcc.in: Make sure each .o file depends on the | |
18202 | directory it will be in. | |
18203 | Make the multilib directory depends libgcc. | |
18204 | ||
18205 | Sat May 20 08:29:28 2000 H.J. Lu <hjl@gnu.org> | |
18206 | ||
18207 | * Makefile.in (bootstrap): Unset LANG_LIB2FUNCS for stage 1. | |
18208 | ||
18209 | Sat May 20 07:27:35 2000 Alexandre Oliva <aoliva@cygnus.com> | |
18210 | ||
18211 | * fold-const.c (make_range): Handle degenerated intervals. | |
18212 | Fixes c-torture/execute/991221-1.c | |
18213 | ||
18214 | Fri May 19 18:16:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
18215 | ||
18216 | * cse.c (cse_basic_block): Only call find_reg_note if REG_NOTES not 0. | |
18217 | * reload.c (find_equiv_reg): Likewise. | |
18218 | * alias.c (init_alias_analysis): Likewise. | |
18219 | Only call prologue_epilogue_contains on insns. | |
18220 | * basic-block.h (REG_SET_TO_HARD_REG_SET): Call new function. | |
18221 | * bb-reorder.c (hard-reg-set.h): Include earlier. | |
18222 | * haifa-sched.c (hard-reg-set.h): Likewise. | |
18223 | * ifcvt.c (hard-reg-set.h): Likewise. | |
18224 | * local-alloc.c (hard-reg-set.h): Likewise. | |
18225 | * loop.c (hard-reg-set.h): Likewise. | |
18226 | * predict.c (hard-reg-set.h): Likewise. | |
18227 | * regrename.c (hard-reg-set.h): Likewise. | |
18228 | * flow.c (hard-reg-set.h): Likewise. | |
18229 | (reg_set_to_hard_reg_set): New function. | |
18230 | * bitmap.c (regs.h, basic-block.h): No longer include. | |
18231 | (bitmap.h): Now include. | |
18232 | * conflict.c (hard-reg-set.h): Include. | |
18233 | * profile.c (hard-reg-set.h): Likewise. | |
18234 | * print-rtl.c (hard-reg-set.h): Likewise. | |
18235 | * sbitmap.c (hard-reg-set.h): Likewise. | |
18236 | * toplev.c (hard-reg-set.h): Likewise. | |
18237 | * unroll.c (hard-reg-set.h, basic-block.h): Likewise. | |
18238 | * hard-reg-set.h (reg_names): Now constant. | |
18239 | * regs.h (reg_names): Likewise. | |
18240 | * regclass.c (reg_names): Likewise. | |
18241 | * loop.h (basic-block.h): No longer include. | |
18242 | (bitmap.h): Now include. | |
18243 | * reload1.c (order_regs_for_reload): Avoid loop over reg sets. | |
18244 | * Makefile.in (LOOP_H, sbitmap.o, profile.o): Reflect above changes. | |
18245 | (toplev.o, print-rtl.o, conflict.o, unroll.o, bitmap.o): Likewise. | |
18246 | ||
18247 | 2000-05-19 Jan Hubicka <jh@suse.cz> | |
18248 | Richard Henderson <rth@cygnus.com> | |
18249 | ||
18250 | * basic-block.h (struct edge_def): New field "count". | |
18251 | (struct basic_block_def): Likewise. | |
18252 | * flow.c (entry_exit_blocks): Add count fileds. | |
18253 | (split_edge): Keep count information up-to-date. | |
18254 | (dump_edge_info, dump_flow_info): Dump count fields. | |
18255 | ||
18256 | * final.c (count_instrumented_edges): Rename to edge from arc. | |
18257 | (end_final): Update users. | |
18258 | * profile.c: Include expr.h, basic-block.h. | |
18259 | (struct adj_list, ARC_TARGET, ARC_SOURCE, ARC_COUNT): Kill. | |
18260 | (struct bb_info, label_to_bb, label_to_bb_size, bb_graph): Kill. | |
18261 | (ignore_next_note, return_label_execution_count): Kill. | |
18262 | (bbg_file_name, da_file_name): Kill. | |
18263 | (edge_info, bb_info): New structures. | |
18264 | (EDGE_INFO, BB_INFO, GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): New macros. | |
18265 | (count_instrumented_edges, total_num_edges): Rename to edge from arc. | |
18266 | (total_num_edges_instrumented): Likewise. | |
18267 | (init_arc, expand_spanning_tree): Kill. | |
18268 | (fill_spanning_tree, tablejump_entry_p): Kill. | |
18269 | (instrument_edges): Rewrite from instrument_arcs to use | |
18270 | commit_edge_insertions infrastructure. | |
18271 | (compute_branch_probabilities): Remove arguments; rewrite for | |
18272 | CFG infrastructure; use rtl_dump_file directly. | |
18273 | (branch_prob, find_spanning_tree): Likewise. | |
18274 | (union_groups, find_group): New. | |
18275 | (init_branch_prob): Make bbg_file_name and da_file_name local. | |
18276 | (end_branch_prob): Use rtl_dump_file directly. | |
18277 | (init_edge_profiler): Rename to edge from arc. | |
18278 | (output_arc_profiler): Kill. | |
18279 | (gen_edge_profiler): New. | |
18280 | (output_func_start_profiler): Turn off profiling. Make the | |
18281 | constructor static when we can. | |
18282 | * rtl.h (branch_prob, end_branch_prob): Update prototypes. | |
18283 | ||
18284 | * toplev.c (DFI_flow): Remove. | |
18285 | (DFI_cfg, DFI_life): New. | |
18286 | (dump_file): Update accordingly. | |
18287 | (compile_file): Call end_branch_prob if profile_arc_flag too. | |
18288 | (rest_of_compilation): Move flow1 cfg creation to DFI_cfg. Do edge | |
18289 | profiling after the CFG is built. Move flow1 life analysis to | |
18290 | DFI_life. Always estimate remaining probabilities. | |
18291 | ||
18292 | 2000-05-19 Richard Henderson <rth@cygnus.com> | |
18293 | ||
18294 | * ifcvt.c (find_if_case_2): Don't allow THEN to be EXIT. | |
18295 | ||
18296 | * flow.c (make_edges): The sibling call edge to exit is abnormal. | |
18297 | ||
18298 | 2000-05-19 Richard Henderson <rth@cygnus.com> | |
18299 | ||
18300 | * jump.c (redirect_jump): Add delete_unused argument. Don't | |
18301 | remove labels and code following when LABEL_NUSES goes to zero. | |
18302 | (invert_jump): Likewise. | |
18303 | (jump_optimize_1): Fix redirect/invert arguments. | |
18304 | (do_cross_jump, thread_jumps): Likewise. | |
18305 | * flow.c (split_edge): Likewise. | |
18306 | * reorg.c (optimize_skip): Likewise. | |
18307 | (reorg_redirect_jump, relax_delay_slots, dbr_schedule): Likewise. | |
18308 | * profile.c (instrument_arcs): Likewise. | |
18309 | * loop.c (find_and_verify_loops): Likewise. Fix indentation. | |
18310 | * rtl.h: Update prototypes. | |
18311 | ||
18312 | Fri May 19 12:05:13 2000 Clinton Popetz <cpopetz@cygnus.com> | |
18313 | ||
18314 | * ssa.c (convert_from_ssa): Tell life_analysis we need death | |
18315 | notes. | |
18316 | (make_regs_equivalent_over_bad_edges): Only look at abnormal | |
18317 | critical edges. | |
18318 | ||
18319 | 2000-05-19 Zack Weinberg <zack@wolery.cumb.org> | |
18320 | ||
18321 | * cpphash.c (funlike_macroexpand): Make sure not to walk p1 | |
18322 | past l1 when deleting whitespace and markers. | |
18323 | ||
18324 | * cpplex.c (_cpp_scan_until): Clear AUX field of tokens. | |
18325 | * cpplib.c (do_unassert): Put the list to compare against on | |
18326 | the stack. | |
18327 | ||
18328 | 2000-05-19 Bruce Korb <bkorb@gnu.org> | |
18329 | ||
18330 | * fixinc/README: cleaned up old documentation | |
18331 | * fixinc/check.diff: regenerated & verified on OSR5 on ix86 | |
18332 | * fixinc/check.tpl: compute the list of needed directories | |
18333 | emit "#if defined(name)" because of conflict | |
18334 | omit machine name differences from output differences | |
18335 | * fixinc/inclhack.def( m88k_multi_incl ): Use `wrap' function | |
18336 | (machine_name): change test text to use `sed' markers | |
18337 | * fixinc/fixincl.x: regen | |
18338 | ||
18339 | Fri May 19 06:49:35 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
18340 | ||
18341 | * config/elfos.h (SELECT_SECTION): Don't access DECL_INITIAL of | |
18342 | a CONSTRUCTOR. | |
18343 | ||
18344 | 2000-05-18 Chris Demetriou <cgd@sibyte.com> | |
18345 | ||
18346 | * gcc.texi (MULTILIB_EXCEPTIONS): Correct example and update | |
18347 | it to match the current practice. | |
18348 | ||
18349 | 2000-05-18 Mark Mitchell <mark@codesourcery.com> | |
18350 | ||
18351 | * Makefile.in (STAGESTUFF): Fix typo in spelling of s-under. | |
18352 | ||
18353 | 2000-05-18 Richard Henderson <rth@cygnus.com> | |
18354 | ||
18355 | * rtlanal.c (insn_dependant_p, insn_dependant_p_1): New. | |
18356 | * rtl.h (insn_dependant_p): Declare it. | |
18357 | * loop.c (strength_reduce): Use it. | |
18358 | ||
18359 | 2000-05-18 Alexandre Oliva <aoliva@cygnus.com> | |
18360 | ||
18361 | * config/mn10300/mn10300.c (expand_prologue, expand_epilogue): | |
18362 | 16-bit and 64-bit clean-up. | |
18363 | ||
18364 | 2000-05-18 Mark Elbrecht <snowball3@bigfoot.com> | |
18365 | ||
18366 | * configure.in (*-pc-msdosdjgpp): Set float_format to none. | |
18367 | * configure: Rebuilt. | |
18368 | ||
18369 | 2000-05-18 Zack Weinberg <zack@wolery.cumb.org> | |
18370 | ||
18371 | * genopinit.c: Use $ for escape sequences in optab patterns. | |
18372 | Remove backslashes from optab patterns. Change $A, $B, $C to | |
18373 | expand to (int) whatever instead of just whatever; remove | |
18374 | explicit (int) from all optab patterns. | |
18375 | ||
18376 | * gensupport.c (xmalloc, xrealloc, xstrdup): Provide. | |
18377 | * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c, | |
18378 | genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c, | |
18379 | genrecog.c: Remove private copies of xmalloc, xrealloc, and | |
18380 | xstrdup. | |
18381 | ||
18382 | 2000-05-18 Richard Henderson <rth@cygnus.com> | |
18383 | ||
18384 | * jump.c (jump_optimize_1): Base minimum insn count during | |
18385 | find_cross_jump on BRANCH_COST. | |
18386 | ||
18387 | 2000-05-18 Jakub Jelinek <jakub@redhat.com> | |
18388 | ||
18389 | * print-rtl.c (print_rtx): Only print note line number as string | |
18390 | if between NOTE_INSN_BIAS and NOTE_INSN_MAX. | |
18391 | * final.c (final_scan_insn): Do nothing for note line number 0. | |
18392 | ||
18393 | 2000-05-18 Jakub Jelinek <jakub@redhat.com> | |
18394 | ||
18395 | * gcc-common.c (ggc_mark_rtx_children): Mark NOTE_EXPECTED_VALUE | |
18396 | from NOTE_INSN_EXPECTED_VALUE notes and NOTE_SOURCE_FILE from | |
18397 | NOTE_INSN_DELETED_LABEL. | |
18398 | ||
18399 | 2000-05-18 Nick Clifton <nickc@cygnus.com> | |
18400 | ||
18401 | * config/arm/unknown-elf.h (UNIQUE_SECTION): Place constant, | |
4912a07c | 18402 | uninitialized data in .rodata not .bss, and do not interpret an |
c30d43bf JL |
18403 | error in the initialisation value as meaning that the variable |
18404 | should be placed in the .bss section. | |
18405 | ||
18406 | Thu May 18 12:10:18 2000 Philippe De Muyter <phdm@macqel.be> | |
18407 | ||
18408 | * configure.in (NO_MINUS_C_MINUS_O): Test `$ac_cv_prog_cc_${ac_cc}_c_o', | |
18409 | not `$ac_cv_prog_cc_cc_c_o'. | |
18410 | * configure: Regenerated. | |
18411 | ||
18412 | 2000-05-18 Chris Demetriou <cgd@sibyte.com> | |
18413 | Richard Henderson <rth@cygnus.com> | |
18414 | ||
18415 | * c-common.h (enum c_tree_index): Add g77 type entries. | |
18416 | (g77_integer_type_node, g77_uinteger_type_node): New. | |
18417 | (g77_longint_type_node, g77_ulongint_type_node): New. | |
18418 | * c-decl.c (init_decl_processing): Initialize them. | |
18419 | ||
18420 | 2000-05-18 Richard Henderson <rth@cygnus.com> | |
18421 | ||
18422 | * config/h8300/h8300.md (subs patterns): Use %G to negate. | |
18423 | ||
18424 | * config/h8300/h8300.c (ok_for_bclr): Take a HOST_WIDE_INT. | |
18425 | (small_power_of_two): Likewise; use exact_log2. | |
18426 | (adds_subs_operand, one_insn_adds_subs_operand): Remove. | |
18427 | (output_adds_subs): Remove. | |
18428 | (two_insn_adds_subs_operand): New. | |
18429 | (split_adds_subs): New. | |
18430 | * config/h8300/h8300-protos.h: Update. | |
18431 | * config/h8300/h8300.h (CONST_OK_FOR_J): Cast to uns HOST_WIDE_INT. | |
18432 | (CONST_OK_FOR_L): Match strict adds operands. | |
18433 | (CONST_OK_FOR_N): Match struct subs operands. | |
18434 | * config/h8300/h8300.md (adds_subs insns): Remove. | |
18435 | (addhi patterns): Output adds/subs directly. | |
18436 | (addsi_h8300h): Likewise. | |
18437 | (addhi/addsi splitters): New. Decompose two_insn_adds_subs_operand. | |
18438 | ||
18439 | 2000-05-18 Zack Weinberg <zack@wolery.cumb.org> | |
18440 | ||
18441 | * cppexp.c (parse_assertion): New. | |
18442 | (lex): Call it for CPP_HASH. Remove CPP_ASSERTION case. | |
18443 | (_cpp_parse_expr): Remove case '#'. Don't set | |
18444 | parsing_if_directive. | |
18445 | * cpphash.c (collect_objlike_expansion, | |
18446 | collect_funlike_expansion, collect_params, | |
18447 | _cpp_create_definition): The list no longer has a trailing | |
18448 | VSPACE token. | |
18449 | * cpphash.h (enum node_type): Add T_ASSERTION. | |
18450 | (struct hashnode): Remove aschain, add pred. | |
18451 | (struct predicate): New. | |
18452 | Update prototypes. | |
18453 | ||
18454 | * cpplex.c (expand_token_space): Handle both offset and | |
18455 | nonoffset lists. | |
18456 | (init_token_list, _cpp_free_token_list, _cpp_parse_assertion): Delete. | |
18457 | (_cpp_init_toklist, _cpp_clear_toklist, _cpp_free_toklist, | |
18458 | _cpp_slice_toklist, _cpp_squeeze_toklist, _cpp_equiv_tokens, | |
18459 | _cpp_equiv_toklists): New. | |
18460 | (_cpp_scan_line): Rename to _cpp_scan_until; add ability to | |
18461 | stop at any single-character token, not just newline. | |
18462 | (_cpp_lex_token): Remove special cases for #define and #if. | |
18463 | (cpp_get_token): Expect # as a separate token type. Remove | |
18464 | DIRECTIVE case. | |
18465 | (_cpp_get_directive_token): Remove DIRECTIVE case. | |
18466 | (_cpp_lex_line, _cpp_lex_file, _cpp_init_input_buffer): Update. | |
18467 | ||
18468 | * cpplib.c (_cpp_check_directive): Set dirno and | |
18469 | SYNTAX_INCLUDE bit of flags, not dir_handler and dir_flags. | |
18470 | (_cpp_handle_directive): Run # <number> through the same logic | |
18471 | as normal directives. | |
18472 | (do_define): Don't set parsing_define_directive. Use | |
18473 | _cpp_scan_until. The list does not have a VSPACE at the end. | |
18474 | (do_if): Save, clear, and restore only_seen_white around | |
18475 | _cpp_parse_expr. | |
18476 | (skip_if_group): s/CPP_DIRECTIVE/CPP_HASH/ | |
18477 | (do_assert, do_unassert): Rewrite. | |
18478 | ||
18479 | * cpplib.h (TTYPE_TABLE): Remove CPP_ASSERTION. | |
18480 | (LIST_OFFSET): New flag. | |
18481 | (struct cpp_toklist): Replace dir_handler and dir_flags with | |
18482 | dirno and flags. | |
18483 | (struct cpp_reader): Remove parsing_if_directive and | |
18484 | parsing_define_directive. | |
18485 | ||
18486 | 2000-05-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
18487 | ||
18488 | * fixinc/inclhack.def (broken_cabs): Update fix to handle comments | |
18489 | following the cabs decl which terminate on the following line. | |
18490 | Add the corresponding test_text case. | |
18491 | ||
18492 | 2000-05-18 Neil Booth <NeilB@earthling.net> | |
18493 | ||
4912a07c | 18494 | * cppinit.c (cpp_reader_init): Initialize col_adjust and |
c30d43bf JL |
18495 | default tab stop size. |
18496 | (no_num, OPT_ftabstop): New. | |
18497 | (handle_option): Handle "ftabstop=" command-line option. | |
18498 | (print_help): Document it. | |
18499 | * cpplex.c (COLUMN): Remove. | |
18500 | (handle_newline): Reset col_adjust. | |
18501 | (skip_whitespace): Update col_adjust as tabs encountered. | |
18502 | (_cpp_lex_line): Update to use col_adjust. Call | |
18503 | skip_whitespace for all whitespace. | |
18504 | * cpplib.h (struct cpp_options): New member tabstop. | |
18505 | (struct cpp_reader): New member col_adjust. | |
18506 | (CPP_BUF_COL): Update. | |
18507 | (CPP_BUF_COLUMN): New. | |
18508 | * cpp.texi: Document "-ftabstop=" command line option. | |
18509 | ||
18510 | Wed May 17 18:19:41 2000 Philippe De Muyter <phdm@macqel.be> | |
18511 | ||
18512 | * configure.in (NO_MINUS_C_MINUS_O): Macro made availabe for AC_OUTPUT | |
18513 | files. | |
18514 | * configure: Rebuilt. | |
18515 | ||
18516 | Wed May 17 18:06:12 2000 John David Anglin <dave@hiauly1.hia.nrc.ca> | |
18517 | ||
18518 | * mklibgcc.in Add missing -DL$name when compiling modules in libgcc1.c. | |
18519 | ||
18520 | * tree.c (build_common_tree_nodes): Do not build TI nodes unless | |
18521 | HOST_BITS_PER_WIDE_INT is >= 64. | |
18522 | ||
18523 | 2000-05-17 Richard Henderson <rth@cygnus.com> | |
18524 | ||
18525 | * jump.c (jump_optimize_1): Remove inactive but real insns | |
18526 | in jump-to-next-insn optimization. | |
18527 | ||
18528 | 2000-05-17 Richard Henderson <rth@cygnus.com> | |
18529 | ||
18530 | * toplev.c (rest_of_compilation): Don't call optimize_mode_switching | |
18531 | unless OPTIMIZE_MODE_SWITCHING. Conditionally set no_new_pseudos. | |
18532 | Don't call recompute_reg_usage if no_new_pseudos is true. | |
18533 | * lcm.c (optimize_mode_switching): Move ifdefs outside function. | |
18534 | Return true if we did work; update global life information. | |
18535 | * basic-block.h (optimize_mode_switching): Update decl. | |
18536 | ||
18537 | 2000-05-17 Neil Booth <neilb@earthling.net> | |
18538 | ||
18539 | * cpplex.c (expand_name_space): Don't use ptrdiff_t. | |
18540 | ||
18541 | 2000-05-17 Zack Weinberg <zack@wolery.cumb.org> | |
18542 | ||
18543 | * cpplib.c: New feature, #pragma system_header. | |
18544 | * cpp.texi: Document special treatment of system headers, and | |
18545 | the various mechanisms to get a header that special treatment. | |
18546 | ||
18547 | 2000-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
18548 | ||
18549 | * system.h (offsetof): Define at the very end, to ensure we prefer | |
18550 | the platform's definition if available. | |
18551 | ||
18552 | 2000-05-16 Bruce Korb <bkorb@gnu.org> | |
18553 | ||
18554 | * fixinc/fixincl.c: improve the debug displays, ignore SIGPIPE | |
18555 | * fixinc/server.c: likewise | |
18556 | * fixinc/fixfixes.c( char_macro_def_fix ): fix regex | |
18557 | + #ifdef debugging code + use #def constant for | |
18558 | sub-pattern count | |
18559 | * fixinc/inclhack.def( hpux11_fabsf ): Keep HP-UX 11 from stomping | |
18560 | on C++ math namespace | |
18561 | ||
18562 | 2000-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
18563 | ||
18564 | * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix): | |
18565 | Don't check the return value of sprintf. Use asprintf to avoid | |
18566 | buffer overflows. | |
18567 | ||
18568 | Wed May 17 17:27:44 2000 Andrew Cagney <cagney@b1.cygnus.com> | |
18569 | ||
18570 | * flags.h (warn_unused_function, warn_unused_label, | |
20f9202d DB |
18571 | warn_unused_parameter, warn_unused_variable, warn_unused_value): |
18572 | Replace ``warn_unused''. | |
c30d43bf JL |
18573 | (set_Wunused): Add declaration. |
18574 | * toplev.c (set_Wunused): New function. | |
18575 | (warn_unused_function, warn_unused_label, warn_unused_parameter, | |
20f9202d | 18576 | warn_unused_variable, warn_unused_value): New variables. |
c30d43bf | 18577 | (W_options): Add -Wunused-function, -Wunused-function, |
20f9202d DB |
18578 | -Wunused-label, -Wunused-parameter, -Wunused-variable and |
18579 | -Wunused-value. Delete -Wunused. Handled in decode_W_option. | |
c30d43bf JL |
18580 | |
18581 | * toplev.c (decode_W_option): Update -Wunused flags by calling | |
20f9202d DB |
18582 | set_Wunused. |
18583 | * c-decl.c (c_decode_option): Ditto for -Wall. | |
c30d43bf JL |
18584 | |
18585 | * stmt.c (expand_expr_stmt, expand_expr_stmt, | |
20f9202d DB |
18586 | warn_about_unused_variables): Replace warn_unused with more |
18587 | explicit warn_unused_value et.al. | |
c30d43bf JL |
18588 | * function.c (expand_function_end): Ditto. |
18589 | * c-typeck.c (internal_build_compound_expr, | |
20f9202d | 18590 | internal_build_compound_expr): Ditto. |
c30d43bf JL |
18591 | * c-decl.c (poplevel, pop_label_level): Ditto. |
18592 | * toplev.c (check_global_declarations): Replace warn_unused with | |
18593 | check for either warn_unused_function or warn_unused_variable. | |
18594 | ||
18595 | * gcc.1, invoke.texi (Warning Options): Document | |
20f9202d DB |
18596 | -Wunused-function, -Wunused-function, -Wunused-label, |
18597 | -Wunused-parameter, -Wunused-variable and -Wunused-value options. | |
c30d43bf JL |
18598 | |
18599 | Wed May 17 10:28:12 2000 Philippe De Muyter <phdm@macqel.be> | |
18600 | ||
18601 | * mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Find libgcc1.c in | |
18602 | $(srcdir), not in the current directory. | |
18603 | ||
18604 | 2000-05-16 Richard Henderson <rth@cygnus.com> | |
18605 | ||
18606 | * config/ia64/crtbegin.asm (__dso_handle): Mark hidden if the | |
18607 | assembler supports it. | |
18608 | (.fini, .init): Use a gp-relative indirect call. | |
18609 | (__do_global_dtors_aux): Preserve the gp; rebundle. | |
18610 | (__do_frame_setup): Likewise. | |
18611 | * config/ia64/crtend.asm (.IA_64.unwind): Don't terminate with -1. | |
18612 | (.init): Use a gp-relative indirect call. | |
18613 | (__do_global_ctors_aux): Preserve the gp. | |
18614 | ||
18615 | 2000-05-16 Richard Henderson <rth@cygnus.com> | |
18616 | ||
18617 | * flow.c (commit_one_edge_insertion): Be prepared for a return | |
18618 | insn to be inserted on the edge with a normal jump. | |
18619 | * jump.c (jump_optimize_1): Don't look to create return isns. | |
18620 | ||
18621 | * flow.c (flow_delete_insn): Don't adjust reference count of notes. | |
18622 | * jump.c (jump_optimize_1): Likewise. | |
18623 | (returnjump_p): Verify the argument is a JUMP_INSN. | |
18624 | * rtl.def (NOTE): Add 5th element for NOTE_INSN_DELETED_LABEL. | |
18625 | ||
18626 | 2000-05-16 Nick Clifton <nickc@cygnus.com> | |
18627 | ||
18628 | * config/m32r/m32r.c (small_insn_p): Use INSN_P() to replace | |
18629 | GET_RTX_CLASS (GET_CODE ()) == 'i'. | |
18630 | (large_insn_p): Ditto. | |
18631 | (m32r_is_insn): New function: Return true if the insn contains | |
18632 | an executable instruction. | |
18633 | (m32r_adjust_insn): Use m32r_is_insn. | |
18634 | (m32r_sched_reorder): Use m32r_is_insn. | |
18635 | (m32r_sched_variable_issue): Use m32r_is_insn. | |
18636 | ||
18637 | 2000-05-16 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | |
18638 | ||
18639 | * rs6000/rs6000.c (rs6000_select_section): Treat CONSTRUCTOR like | |
18640 | VAR_DECL. | |
18641 | ||
18642 | * rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Delete unused variable. | |
18643 | ||
18644 | * rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Define __unix and __linux | |
18645 | according to given options. | |
18646 | ||
18647 | Tue May 16 12:17:31 2000 Jeffrey A Law (law@cygnus.com) | |
18648 | ||
18649 | * mn10200.h (PREFERRED_RELOAD_CLASS): Do not prefer DATA_REGS | |
18650 | if X has VOIDmode either. | |
18651 | (LIMIT_RELOAD_CLASS): Similarly. | |
18652 | ||
18653 | * mn10200.md (indirect_jump, tablejump): Use "register_operand", | |
18654 | not "general_operand" to match the processor's capabilities. | |
18655 | ||
18656 | 2000-05-16 Bruce Korb <bkorb@gnu.org> | |
18657 | ||
18658 | * fixinc/README: corrected return address | |
18659 | * fixinc/check.diff: regenerate, now that test works | |
18660 | * fixinc/fixfixes.c(format_fix,format_write): reformatted | |
18661 | (char_macro_def_fix,char_macro_use_fix): corrected and | |
18662 | rewrote to use regex to parse the text | |
18663 | * fixinc/inclhack.def: more testing | |
18664 | * fixinc/fixincl.x: regenerated | |
18665 | ||
18666 | * fixinc/inclhack.def: added several "test_text" attributes | |
18667 | changed several fixes to use `c_fix = format' | |
18668 | re-alphabetized the fixes | |
18669 | ||
18670 | * fixinc/check.diff: regenerate | |
18671 | * fixinc/fixincl.x: regenerate | |
18672 | * fixinc/check.tpl: added `sparc' and `netinet' to the list | |
18673 | of created dirs | |
18674 | ||
18675 | ||
18676 | 2000-05-16 Alexandre Oliva <aoliva@cygnus.com> | |
18677 | ||
18678 | * config/mn10300/mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove. | |
18679 | ||
18680 | 2000-05-15 Richard Henderson <rth@cygnus.com> | |
18681 | ||
18682 | * toplev.c (rest_of_compilation): Run full jump pass before | |
18683 | find_basic_blocks of flow2. | |
18684 | ||
18685 | 2000-05-15 Richard Henderson <rth@cygnus.com> | |
18686 | ||
18687 | * jump.c: Fix typos and clarify commentary from last change. | |
18688 | (any_condjump_p): Verify SET_SRC is an IF_THEN_ELSE. | |
18689 | (safe_to_remove_jump_p): Remove. | |
18690 | (condjump_label): Use pc_set. | |
18691 | ||
18692 | 2000-05-15 Richard Henderson <rth@cygnus.com> | |
18693 | ||
18694 | * ifcvt.c (cond_exec_process_insns): Drop USE and CLOBBER insns | |
18695 | that get in the way after reload. | |
18696 | (cond_exec_process_if_block): Skip a label heading THEN block. | |
18697 | ||
18698 | 2000-05-15 Richard Henderson <rth@cygnus.com> | |
18699 | ||
18700 | * varasm.c (output_constant_pool): Abort instead of converting | |
18701 | (improperly) deleted labels to zero. | |
18702 | ||
18703 | 2000-05-16 Neil Booth <NeilB@earthling.net> | |
18704 | ||
18705 | * cpplex.c (parse_string2): Update comment. | |
18706 | (cpp_lex_line): No special assertion treatment for '('. | |
18707 | * cpplib.c (DIRECTIVE_TABLE): Remove SYNTAX_ASSERT. | |
18708 | * cpplib.h (SYNTAX_ASSERT): Remove. | |
18709 | ||
18710 | Mon May 15 21:45:36 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
18711 | ||
18712 | * jump.c (condjump_p): Mark as depreached. | |
18713 | (any_condump_p): New. | |
18714 | (any_uncondump_p): New. | |
18715 | (pc_set): New. | |
18716 | (safe_to_remove_jump_p): New. | |
18717 | * rtl.h (any_condump_p, any_uncondjump_p, pc_set | |
18718 | safe_to_remove_jump_p): Declare. | |
18719 | ||
18720 | Mon May 15 21:07:20 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
18721 | ||
18722 | * calls.c: Re-install both patches reverted by last patch. | |
18723 | (struct arg_data): New field tail_call_reg. | |
18724 | (initialize_argument_information): Initialize tail_call_reg | |
18725 | (load_register_parameters): New argument flags, use | |
18726 | tail_call_reg when emiting tail call sequence. | |
18727 | (expand_call): Update call of load_register_parameters; | |
18728 | copy unadjusted_args_size to adjusted_args_size. | |
18729 | ||
18730 | Mon May 15 19:01:42 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
18731 | ||
18732 | * loop.c (scan_loop, strength_reduce, loop_optimize): Change unroll_p | |
18733 | and bct_p parameters to flags. | |
18734 | * loop.h (LOOP_UNROLL, LOOP_BCT): New constants. | |
18735 | * rtl.h (loop_optimize): Update prototype. | |
18736 | * toplev.c (rest_of_compilation): Update call of loop_optimize. | |
18737 | ||
18738 | 2000-05-15 Jakub Jelinek <jakub@redhat.com> | |
18739 | ||
18740 | * calls.c (expand_call): Move expand_start_target_temps call after | |
18741 | start_sequence(). | |
18742 | ||
18743 | 2000-05-15 Neil Booth <NeilB@earthling.net> | |
18744 | ||
18745 | * cpphash.c (trad_stringify, warn_trad_stringify, | |
18746 | collect_params): Make some pointers pointers to const. | |
18747 | * cpplex.c (auto_expand_name_space) Guaranteed to always | |
18748 | expand by at least one character. | |
18749 | (SPELL_CHAR, SPELL_NONE): Temporarily reverse order. | |
18750 | (struct token_spelling): Use const U_CHAR * rather than PTR. | |
18751 | (expand_name_space): Fix up token pointers if name space | |
18752 | is moved when expanding. | |
18753 | (INIT_NAME, cpp_scan_line, parse_name, parse_number, | |
18754 | parse_string2, save_comment, spell_token, cpp_output_list): | |
18755 | Update so the routines handle tokens with a direct pointer to | |
18756 | their text, rather than an offset into the token's list's namebuf. | |
18757 | (_cpp_lex_line): Rearrange for clarity. | |
18758 | ||
18759 | * cpplib.c (_cpp_check_directive): Similarly. | |
18760 | (do_define): Make SYM a pointer to const. | |
18761 | * cpplib.h (struct cpp_name): Replace offset with direct pointer. | |
18762 | (CPP_INT, CPP_FLOAT): Spelling type should be SPELL_IDENT. | |
18763 | (TOK_OFFSET): Delete. | |
18764 | (TOK_NAME): Update. | |
18765 | ||
18766 | 2000-05-14 Geoffrey Keating <geoffk@cygnus.com> | |
18767 | ||
18768 | * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Correct for | |
18769 | 64-bit ABI. | |
18770 | ||
18771 | * config/rs6000/rs6000.c (logical_operand): Rewrite to take MODE | |
18772 | into account. | |
18773 | (logical_u_operand): Delete. | |
18774 | (non_logical_cint_operand): Rewrite to take MODE into account. | |
18775 | (non_logical_u_cint_operand): Delete. | |
18776 | (boolean_operator): New function. | |
18777 | (print_operand): Add new %q operand. | |
18778 | * config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_operator, | |
18779 | remove logical_u_operand and non_logical_u_cint_operand, | |
18780 | update logical_operand and non_logical_cint_operand. | |
18781 | * config/rs6000/rs6000.md: Rewrite the patterns for performing | |
18782 | logical operations to use %q. | |
18783 | ||
18784 | * config/rs6000/rs6000.md (movsi): Don't modify RTL in-place. | |
18785 | (movdi): Make similar to movsi. | |
18786 | * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): There | |
18787 | is no such thing as a DImode CONST_DOUBLE. | |
18788 | * config/rs6000/rs6000.c (output_toc): Likewise. | |
18789 | ||
18790 | * config/rs6000/rs6000.c (output_cbranch): Don't output prediction | |
18791 | codes when old mnemonics are in use. Print register names | |
18792 | for cc registers when requested. | |
18793 | ||
18794 | * optabs.c (expand_float): Don't allow mode widening that causes | |
18795 | double rounding. | |
18796 | ||
18797 | * invoke.texi (RS/6000 and PowerPC Options): Update -m64/-m32 | |
18798 | flags to their current names -maix64 and -maix32. | |
18799 | ||
18800 | 2000-05-14 Bruce Korb <bkorb@gnu.org> | |
18801 | ||
18802 | * fixinc/fixfixes.c(wrap_fix): new fix - inserts text before | |
18803 | and/or after current text of file | |
18804 | * fixinc/fixlib.c(must_malloc): | |
18805 | * fixinc/fixlib.h(must_malloc): + reformatting | |
18806 | * fixinc/inclhack.def: replace the "1i" and "$a" sed commands | |
18807 | with usages of ``c_fix = wrap;'' | |
18808 | Add several tests and use the ``c_fix = format'' fixer more. | |
18809 | * fixinc/fixincl.x: regen | |
18810 | * fixinc/check.diff: regen | |
18811 | * fixinc/check.tpl: emit the associated header with the missing | |
18812 | test message | |
18813 | ||
18814 | Sun May 14 17:58:59 2000 Hans-Peter Nilsson <hp@axis.com> | |
18815 | ||
18816 | * mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Do not use unset | |
18817 | variables $src and $dst. | |
18818 | ||
18819 | 2000-05-13 Gabriel Dos Reis <gdr@codesourcery.com> | |
18820 | ||
18821 | * diagnostic.h (DIAGNOSTICS_SHOW_PREFIX_ONCE): New macro. | |
18822 | (DIAGNOSTICS_SHOW_PREFIX_NEVER): Likewise. | |
18823 | (DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE): Likewise. | |
18824 | (struct output_buffer: emitted_prefix_p, prefixing_rule): New | |
18825 | fields. | |
18826 | (set_message_prefixing_rule): Declare. | |
18827 | ||
18828 | * diagnostic.c: (current_prefixing_rule): New variable. | |
18829 | (set_message_prefixing_rule): Define. | |
18830 | (output_set_prefix): Adjust buffer->emitted_prefix_p. | |
18831 | (init_output_buffer): Adjust Initialization. | |
18832 | (output_emit_prefix): Rewrite. Take prefixing rules into account. | |
18833 | ||
18834 | Sat May 13 11:05:47 2000 Philippe De Muyter <phdm@macqel.be> | |
18835 | ||
18836 | * ifcvt.c (if_convert): Do not free NULL. | |
18837 | ||
18838 | 2000-05-12 H.J. Lu (hjl@gnu.org) | |
18839 | ||
18840 | * gthr-dce.h: Add support for libobjc. | |
18841 | * gthr-posix.h: Likewise. | |
18842 | * gthr-solaris.h: Likewise. | |
18843 | * gthr-vxworks.h: Likewise. | |
18844 | * gthr-single.h: Likewise. | |
18845 | * gthr-win32.h: Likewise. | |
18846 | ||
18847 | 2000-05-12 Nick Clifton <nickc@cygnus.com> | |
18848 | ||
18849 | * config/fr30/fr30.c (fr30_move_double): New function: Emit code | |
18850 | to move a double word value. | |
18851 | (di_operand): New function: Return true if the operand is suitbale | |
18852 | for a double word move operation. | |
18853 | (nonimmediate_di_operand): New function: Return true if the | |
18854 | operand is a DImode register or MEM. | |
18855 | ||
18856 | * config/fr30/fr30.h (PREDICATE_CODES): Add di_operand and | |
18857 | nonimmediate_di_operand. | |
18858 | ||
18859 | * config/fr30/fr30-protos.h Add fr30_move_double, di_operand, and | |
18860 | nonimmediate_di_operand. | |
18861 | ||
18862 | * config/fr30/fr30.md (movdi): New pattern. Required because | |
18863 | other patterns generate DImode results. | |
18864 | (movdi_insn): New pattern. | |
18865 | ||
18866 | 2000-05-12 Richard Henderson <rth@cygnus.com> | |
18867 | ||
18868 | * config/alpha/alpha.c (struct shadow_summary): Define | |
18869 | bitfields as type unsigned int. | |
18870 | ||
18871 | Sat May 13 00:09:59 2000 Denis Chertykov <denisc@overta.ru> | |
18872 | ||
18873 | * config/avr/t-avr: Added definition of FLOAT while generates | |
18874 | fp-bit.c | |
18875 | ||
18876 | * config/avr/avr.md: `NEXT_INSN (insn)' substituted to `insn' in | |
18877 | peepholes for tst+jump = sbrs/sbrc optimization. | |
18878 | ||
18879 | Fry May 12 20:03:00 CEST 2000 Jan Hubicka <jh@suse.cz> | |
18880 | ||
18881 | * expr.c (emit_push_insn): Do not adjust stack pointer when | |
18882 | preallocating. | |
18883 | ||
18884 | Fri May 12 19:03:58 2000 Philippe De Muyter <phdm@macqel.be> | |
18885 | ||
18886 | * ggc-simple.c (offsetof): Macro fallback definition moved from here .. | |
18887 | * system.h (offsetof): ... to here. | |
18888 | ||
18889 | 2000-05-12 Richard Henderson <rth@cygnus.com> | |
18890 | ||
18891 | * Makefile.in (final.o): Depend on BASIC_BLOCK_H. | |
18892 | * final.c (final_end_function): Use app_disable. Rearrange note | |
18893 | handling into a switch. Emit deleted labels. | |
18894 | (output_asm_label): Generate label strings for deleted labels. | |
18895 | * flow.c (tail_recursion_label_list): New. | |
18896 | (find_basic_blocks_1): Set label_value_list directly. Collect list | |
18897 | of tail recursion labels from call_placeholders. Don't add deleted | |
18898 | labels to the label value list. | |
18899 | (cleanup_cfg): Use free_EXPR_LIST_list. | |
18900 | (flow_delete_insn_chain): Turn non-removable labels into notes. | |
18901 | (flow_delete_block): Don't disable deleting the block because of | |
18902 | a non-removable label. | |
18903 | (tail_recursion_label_p): New. | |
18904 | (merge_blocks_move_predecessor_nojumps): Don't disable the merge | |
18905 | because of a label. | |
18906 | (merge_blocks_move_successor_nojumps): Likewise. Also move a | |
18907 | jump table. | |
18908 | (merge_blocks): Disable a merge because of tail recursion labels. | |
18909 | * ifcvt.c (merge_if_block): Don't disable a merge because of a label. | |
18910 | Use a more accurate measure of not merging the join block. | |
18911 | (find_if_block): Don't disable conversion because of a label. | |
18912 | (find_if_case_1, find_if_case_2): Likewise. | |
18913 | * jump.c (duplicate_loop_exit_test): Preserve the kind of list | |
18914 | element when copying. | |
18915 | (squeeze_notes): Also leave EH notes. | |
18916 | (mark_jump_label): Ignore deleted labels. Use an INSN_LIST for | |
18917 | REG_LABEL notes. | |
18918 | (delete_insn): Preserve LABEL_NAME in NOTE_SOURCE_FILE when | |
18919 | deleting a label. | |
18920 | * print-rtl.c (print_rtx): Print NOTE_SOURCE_FILE for | |
18921 | NOTE_INSN_DELETED_LABEL. Print `[# deleted]' for a label_ref | |
18922 | referring to a deleted label. Convert tail handling to a switch. | |
18923 | * rtl.def (CODE_LABEL): Rearrange elements to be compatible with NOTE | |
18924 | for NOTE_INSN_DELETED_LABEL. | |
18925 | (NOTE): Fix commentary. | |
18926 | * rtl.h (REG_LABEL): Update commentary wrt INSN_LIST. | |
18927 | (REG_CC_SETTER, REG_CC_USER, REG_LIBCALL): Likewise. | |
18928 | (CODE_LABEL_NUMBER, LABEL_NAME): Update index. | |
18929 | (LABEL_NUSES, LABEL_REFS): Likewise. | |
18930 | * unroll.c (copy_loop_body): Don't copy NOTE_INSN_DELETED_LABEL. | |
18931 | ||
18932 | 2000-05-12 Bruce Korb <bkorb@gnu.org> | |
18933 | ||
18934 | * fixinc/fixfixes.c(format_write): buglet & relaxed rules | |
18935 | * fixinc/check.diff: updated | |
18936 | * fixinc/inclhack.def: corrected & added some test_text-s | |
18937 | * fixinc/genfixes: removed unneeded options to autogen invocation | |
18938 | * fixinc/fixincl.tpl: Specified the output file | |
18939 | * fixinc/fixfixes.c: visual appearance | |
18940 | * fixinc/fixincl.x: regenerate | |
18941 | ||
18942 | 2000-05-12 Zack Weinberg <zack@wolery.cumb.org> | |
18943 | ||
18944 | * fixinc/fixfixes.c (IO_use_fix, IO_defn_fix, CTRL_use_fix, | |
18945 | CTRL_defn_fix): Delete. | |
18946 | (fix_char_macro_defines, fix_char_macro_uses): Rename to | |
18947 | char_macro_def_fix and char_macro_use_fix, respectively. Put | |
18948 | them into the FIXUP_TABLE. Get the string to search for from | |
18949 | a c_fix_arg. | |
18950 | ||
18951 | (format_write): New function. | |
18952 | (format_fix): Use it. | |
18953 | ||
18954 | (FIX_PROC_HEAD): Constify text parameter. | |
18955 | (machine_name_fix): Constify all char *s. | |
18956 | * fixtests.c (skip_quote): Remove double static. | |
18957 | ||
18958 | * inclhack.def (io_def_quotes, io_use_quotes, ctrl_def_quotes, | |
18959 | ctrl_use_quotes): Update for new scheme. | |
18960 | * fixincl.x: Regenerate. | |
18961 | ||
18962 | 2000-05-12 Alexandre Oliva <aoliva@cygnus.com> | |
18963 | ||
18964 | * config/mn10300/mn10300.h (PREFERRED_DEBUGGING_TYPE): Redefine as | |
18965 | DWARF2_DEBUG. | |
18966 | (DWARF2_ASM_LINE_DEBUG_INFO): Define. | |
18967 | (ASM_OUTPUT_DWARF2_ADDR_CONST): Define. | |
18968 | ||
18969 | 2000-05-11 Robert Lipe <robertlipe@usa.net> | |
18970 | ||
18971 | * fixinc/inclhack.def (hpux8_bogus_inlines): Delete bypass for SCO. | |
18972 | * fixincl.x: Regenerate. | |
18973 | ||
18974 | 2000-05-11 Richard Henderson <rth@cygnus.com> | |
18975 | ||
18976 | * calls.c: Revert both 05-09 patches. | |
18977 | ||
18978 | 2000-05-11 Alexandre Oliva <aoliva@cygnus.com> | |
18979 | ||
18980 | * config/mn10300/mn10300.c (print_operand): Print FP constants in | |
18981 | hexadecimal. | |
18982 | * config/mn10300/mn10300.md (movsf, movdf): Use the `F' constraint | |
18983 | for FP values. | |
18984 | ||
18985 | * mklibgcc.in (EQ): Define it to an equal sign in the Makefile, | |
18986 | and replace any occurrences of `=' in multilib dirs with `$(EQ)'. | |
18987 | ||
18988 | 2000-05-11 Jason Merrill <jason@casey.cygnus.com> | |
18989 | ||
18990 | * fixinc/fixincl.c (run_compiles): Don't crash on null pz_machine. | |
18991 | ||
18992 | 2000-05-11 Zack Weinberg <zack@wolery.cumb.org> | |
18993 | ||
18994 | * fixinc/fixfixes.c, fixinc/fixtests.c: Update commentary. | |
18995 | ||
18996 | Thu May 11 22:28:05 2000 Denis Chertykov <denisc@overta.ru> | |
18997 | ||
18998 | * config/avr/avr-protos.c (jump_over_one_insn_p): New declaration. | |
18999 | * config/avr/avr.c (jump_over_one_insn_p): New function. | |
19000 | * config/avr/avr.md: New peepholes added. Output test and | |
19001 | conditional jump to "sbrc" or "sbrs" command. | |
19002 | ||
19003 | 2000-05-11 Mark Elbrecht <snowball3@bigfoot.com> | |
19004 | ||
19005 | * cppmain.c (main): Use IS_DIR_SEPARATOR. | |
19006 | ||
19007 | 2000-05-11 Jakub Jelinek <jakub@redhat.com> | |
19008 | ||
19009 | * except.c (find_exception_handler_labels_1): New function. | |
19010 | (find_exception_handler_labels): Split into two functions, dive | |
19011 | into CALL_PLACEHOLDERs when looking for exception handler labels. | |
19012 | ||
19013 | 2000-05-11 Stan Cox <scox@cygnus.com> | |
19014 | ||
19015 | * regrename.c (replace_reg_in_block): Improve REG_DEAD handling. | |
19016 | * timevar.def (TV_RENAME_REGISTERS): Move before TV_SCHED2. | |
19017 | * toplev.c (rest_of_compilation): Call regrename_optimize before sched2. | |
19018 | ||
19019 | 2000-05-11 Bruce Korb <bkorb@gnu.org> | |
19020 | ||
19021 | * fixinc/fixfixes.c (double_slash_fix): obsolete | |
19022 | (else_endif_label_fix): obsolete | |
19023 | (format_fix): new, unused as yet | |
19024 | (main): obsolete | |
19025 | * fixinc/fixlib.h: added fix description struct for use by format_fix | |
19026 | * fixinc/fixincl.c: removed the struct & test for SIGIOT befure using | |
19027 | * fixinc/Makefile.in: compile fixfixes.c and fixtests.c as separate | |
19028 | modules. Removed the vestiges of the script version. | |
19029 | Added support for "make check". | |
19030 | * fixinc/check.diff: base diff file (needs work!!) | |
19031 | * fixinc/check.tpl: quiet the fixup output | |
19032 | * fixinc/fixtests.c (main): obsolete | |
19033 | * fixinc/fixincl.sh: don't bother copying fixincl to .. | |
19034 | * fixinc/fixincl.tpl: provide for arguments to c_fix routines | |
19035 | ||
19036 | Thu May 11 11:57:02 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
19037 | ||
19038 | * toplev.c (rest_of_compilation): Remove dead code after | |
19039 | combine. | |
19040 | ||
19041 | 2000-05-11 Zack Weinberg <zack@wolery.cumb.org> | |
19042 | ||
19043 | * cpphash.c (collect_funlike_expansion): Make "# is not | |
19044 | followed by a macro argument name" a pedwarn, not an error. | |
19045 | Preserve the # in the output. Suppress the warning if lang_asm. | |
19046 | ||
19047 | Thu May 11 01:19:31 2000 Jeffrey A Law (law@cygnus.com) | |
19048 | ||
19049 | * configure.in (hppa*64*-*-hpux11*): New target for PA64 support. | |
19050 | * configure: Rebuilt. | |
19051 | ||
19052 | 2000-05-10 Laurynas Biveinis <lauras@softhome.net> | |
19053 | ||
19054 | * i386/xm-djgpp.h (XREF_FILE_NAME): Add mising brace. | |
19055 | ||
19056 | 2000-05-10 Kazu Hirata <kazu@hxi.com> | |
19057 | ||
19058 | * combine.c (try_combine): Fix a typo. | |
19059 | ||
19060 | Wed May 10 21:31:44 2000 Jim Wilson <wilson@cygnus.com> | |
19061 | ||
19062 | * config/ia64/ia64.md (insv): Add comment. | |
19063 | ||
19064 | 2000-05-10 Richard Henderson <rth@cygnus.com> | |
19065 | ||
19066 | * Makefile.in (libgcc.a, stmp-multilib): Depend on FPBIT and DPBIT. | |
19067 | * mklibgcc.in: Rewrite to not use functions. Don't shortcut | |
ff7cc307 | 19068 | dependencies on FPBIT and DPBIT. |
c30d43bf JL |
19069 | |
19070 | 2000-05-10 Nick Clifton <nickc@redhat.com> | |
19071 | ||
19072 | * flow.c (find_auto_inc): Do not bias REG_N_REFS by loop_depth | |
19073 | when optimising for size. | |
19074 | (mark_used_regs:) Ditto. | |
19075 | (try_pre_increment_1): Ditto. | |
19076 | ||
19077 | 2000-05-10 Zack Weinberg <zack@wolery.cumb.org> | |
19078 | ||
19079 | * cppexp.c (lex): Use %.*s to print non-NUL-terminated string. | |
19080 | Make error message friendlier. | |
19081 | ||
19082 | * cpphash.h (struct hashnode): Use struct hack for name | |
19083 | member. | |
19084 | * cpphash.c (struct hashdummy): New. | |
19085 | (eq_HASHNODE): Second argument is a hashdummy, not a HASHNODE. | |
19086 | (make_HASHNODE): No need to set ->name pointer. Correct | |
19087 | setting of p. | |
19088 | (cpp_lookup): Make 'dummy' a struct hashdummy. Tidy up a bit. | |
19089 | ||
19090 | 2000-05-10 Richard Henderson <rth@cygnus.com> | |
19091 | ||
19092 | * flow.c (find_basic_blocks_1): Remove any spare bb_note | |
19093 | after completion. | |
19094 | ||
19095 | 2000-05-10 Bruce Korb <bkorb@gnu.org> | |
19096 | ||
19097 | * fixinc/gnu-regex.c: reg_syntax_t re_syntax_options must be static | |
19098 | ||
19099 | 2000-05-10 Eric Schweitz <schweitz@nortelnetworks.com> | |
19100 | ||
19101 | * dwarfout.c (dwarfout_finish): Call retry_incomplete_types | |
19102 | after we enter .debug. | |
19103 | ||
19104 | 2000-05-10 Jason Merrill <jason@casey.cygnus.com> | |
19105 | ||
19106 | * dwarf2out.c (gen_subprogram_die): Fixup die_parent for the | |
19107 | abstract instance of a nested inline function. | |
19108 | ||
19109 | * stor-layout.c (finish_record_layout): finalize_type_size | |
19110 | before laying out the pending_statics. | |
19111 | ||
19112 | Wed 10 May 09:36:47 2000 Neil Booth <NeilB@earthling.net> | |
19113 | ||
19114 | * cpplex.c (spell_token): New function. | |
19115 | (spell_string, spell_comment, spell_name): fold into | |
19116 | spell_token. | |
19117 | (I, S): Add macros. | |
19118 | (E, H): Remove macros. | |
19119 | (save_comment): Save comment opening characters too. | |
19120 | (_cpp_lex_file): Update to use spell_token. Tidy up comment | |
19121 | handling. | |
19122 | * cpplib.h (I, S): Add macros. | |
19123 | (E, H): Remove macros. | |
19124 | (TTYPE_TABLE): Update entries for new speller. | |
19125 | (SYNTAX_ASSERT): Remove. | |
19126 | ||
19127 | Wed 10 May 09:08:30 2000 Neil Booth <NeilB@earthling.net> | |
19128 | ||
19129 | * cpplex.c (_cpp_lex_line): Maintain PREV_WHITESPACE flag | |
19130 | when removing escaped newlines. Reverse sense of test for | |
19131 | escaped newline. | |
19132 | ||
19133 | 2000-05-09 Richard Henderson <rth@cygnus.com> | |
19134 | ||
19135 | * flow.c (find_basic_blocks_1): Do not delete the first | |
19136 | bb_note we run across. | |
19137 | (create_basic_block): Use reorder_insns to move an existing | |
19138 | bb_note to the correct place. | |
19139 | ||
19140 | 2000-05-09 Richard Henderson <rth@cygnus.com> | |
19141 | ||
19142 | * calls.c (expand_call): Increment currently_expanding_call | |
19143 | before calling optimize_tail_recursion. | |
19144 | ||
19145 | Tue May 9 18:54:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
19146 | ||
19147 | * reload1.c (reload_combine): Fix errors in last change. | |
19148 | ||
19149 | 2000-05-09 Zack Weinberg <zack@wolery.cumb.org> | |
19150 | ||
19151 | * gcc.c (used_arg): Skip over a semicolon at the end of the | |
19152 | split-up loop; don't break out of it. | |
19153 | ||
19154 | * Makefile.in (WARN_CFLAGS): Add -Wwrite-strings. | |
19155 | (tree.o): Depend on output.h. | |
19156 | ||
19157 | * c-decl.c (pending_invalid_xref_file, | |
19158 | current_function_prototype_file): Constify. | |
19159 | (pushdecl): Constify a local char *. | |
19160 | (define_label): Constify filename parameter. | |
19161 | * c-lex.c (init_parse): Constify parameter and return value. | |
19162 | * c-typeck.c (c_expand_asm_operands): Constify filename parameter. | |
19163 | * c-tree.h: Update prototypes. | |
19164 | * c-parse.in: Constify filename member of %union, and if_stmt_file. | |
19165 | * c-parse.y, c-parse.c, c-parse.h, objc/objc-parse.y, | |
19166 | objc/objc-parse.c: Regenerate. | |
19167 | ||
19168 | * dwarfout.c (dwarfout_init): Constify main_input_filename parameter. | |
19169 | * dwarfout.h: Update prototypes. | |
19170 | * expr.c (expand_expr): Constify a local char *. | |
19171 | * flags.h: Constify main_input_filename. | |
19172 | * function.c (expand_function_end): Constify filename parameter. | |
19173 | * genrecog.c (make_insn_sequence): Use a character array for | |
19174 | c_test_pos. | |
19175 | (main): Remove unused variables. | |
19176 | * input.h: Constify input_filename, main_input_filename, and | |
19177 | file_stack.name. Update prototypes. | |
19178 | * output.h: Declare first_global_object_name and | |
19179 | weak_global_object_name here, as const char *. | |
19180 | * stmt.c (expand_asm_operands): Constify filename parameter. | |
19181 | * toplev.c (compile_file, push_srcloc, debug_start_source_file): | |
19182 | Constify filename parameter. | |
19183 | (input_filename, main_input_filename): Constify. | |
19184 | * toplev.h: Update prototypes. | |
19185 | * tree.c: Include output.h. Don't declare | |
19186 | first_global_object_name or weak_global_object_name. Clean up string | |
19187 | bashing in get_file_function_name_long. | |
19188 | * tree.h (struct tree_decl): Constify filename member. | |
19189 | (input_filename): Constify. | |
19190 | Update prototypes. | |
19191 | * varasm.c (first_global_object_name, weak_global_object_name): | |
19192 | Constify. | |
19193 | (assemble_start_function, assemble_variable): Clean up string bashing. | |
19194 | ||
19195 | * gcc.c: Constify all spec-related strings initialized, | |
19196 | transitively, from string constants. Constify all strings | |
19197 | and string variables related to multilibs. | |
19198 | (set_spec, read_specs): Cast argument to free to PTR. | |
19199 | (used_arg): Do not modify multilib_matches. Use strncmp plus | |
19200 | length comparison to compare multilib switches. | |
19201 | * genmultilib: Constify everything declared in multilib.h. | |
19202 | ||
19203 | Tue May 9 22:28:03 2000 Denis Chertykov <denisc@overta.ru> | |
19204 | ||
19205 | * flow.c (flow_delete_insn): Use INSN_DELETED_P for marking insn | |
19206 | as deleted. | |
19207 | ||
19208 | Tue May 9 20:52:43 2000 Denis Chertykov <denisc@overta.ru> | |
19209 | ||
20f9202d | 19210 | * config/avr/avr-protos.h (extra_constraint): change a type of |
c30d43bf JL |
19211 | second argument from char to int to avoid warnings. |
19212 | (asm_output_byte): Likewise. | |
19213 | ||
19214 | * config/avr/avr.c (MAX_LD_OFFSET) New macro. | |
19215 | (initial_elimination_offset): Handle elimination from | |
19216 | FRAME_POINTER_REGNUM to STACK_POINTER_REGNUM. | |
19217 | (legitimate_address_p): Use MAX_LD_OFFSET. | |
19218 | (legitimize_address): Likewise. | |
19219 | (out_movqi_r_mr): Likewise. | |
19220 | (out_movhi_r_mr): Likewise, use `fatal_insn' instead of `fatal'. | |
19221 | (out_movsi_r_mr): Use MAX_LD_OFFSET. | |
19222 | (out_movsi_mr_r): Likewise. | |
19223 | (out_movqi_mr_r): Likewise. | |
19224 | (out_movhi_mr_r): Likewise. | |
19225 | (notice_update_cc): Correct CC for the ashrqi3 with the shift | |
19226 | count as CONST_INT != 6. | |
19227 | (ashlqi3_out): Coding style modifications. Run `fatal_insn' if | |
19228 | shift count is a CONSTANT_P, but not a CONST_INT. | |
19229 | (ashlhi3_out): Coding style modifications. | |
19230 | (ashlsi3_out): Likewise. | |
19231 | (ashrhi3_out): Likewise. | |
19232 | (ashrsi3_out): Likewise. | |
19233 | (lshrhi3_out): Likewise. | |
19234 | (lshrsi3_out): Likewise. | |
19235 | (ashrqi3_out): Generate shift for any known constant count without | |
19236 | scratch register. Run `fatal_insn' if shift count is a CONSTANT_P, | |
19237 | but not a CONST_INT. | |
19238 | (lshrqi3_out): Coding style modifications. Run `fatal_insn' if | |
19239 | shift count is a CONSTANT_P, but not a CONST_INT. | |
19240 | (extra_constraint): change a type of | |
19241 | second argument from char to int to avoid warnings. | |
19242 | (asm_output_byte): Likewise. | |
19243 | (asm_file_end): Output size generated commands count as a hex | |
19244 | number too. | |
19245 | ||
19246 | * config/avr/avr.h (RETURN_ADDR_RTX): New macro. | |
19247 | ||
19248 | * config/avr/avr.md (addhi3): Fragment commented by &&0 is | |
19249 | removed. | |
19250 | (ashlqi3): Values of "length" attribute changed. Shift count | |
19251 | uses constraints 'n' instead of 'i'. | |
19252 | (ashrqi3): Likewise. Values of "cc" attribute changed. Generate | |
19253 | shifts without clobber register. | |
19254 | (lshrqi3): Shift count uses constraints 'n' instead of 'i'. | |
19255 | (call_insn): Correct test for which_alternative == 1 (was 0). | |
19256 | (call_value_insn): Likewise. | |
19257 | ||
19258 | * config/avr/t-avr: Remove definition of FLOAT while generates | |
19259 | fp-bit.c | |
19260 | ||
19261 | 2000-05-09 Bruce Korb <bkorb@gnu.org> | |
19262 | ||
19263 | * fixinc/check.tpl: Template for checking fixes | |
19264 | * fixinc/inclhack.def: Added 'test_text' for many fixes | |
19265 | disable hpux8_bogus_inlines on SCO | |
19266 | * fixinc/fixinc.sco: Oh, yes, we don't need this any more. | |
19267 | ||
19268 | Tue May 9 16:30:27 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
19269 | ||
19270 | * calls.c (expand_call): Reorganize somewhat in order | |
19271 | to avoid unnecesary recalculation inside loop and make | |
19272 | tail call failure code cleaner. | |
19273 | ||
19274 | Tue May 9 06:30:20 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
19275 | ||
19276 | * alias.c (nonlocal_reference_p): Minor reformatting. | |
19277 | * reload.c (find_equiv_reg): Simplify logic for | |
19278 | CALL_INSN_FUNCTION_USAGE since can't have SUBREG or pseudos and | |
19279 | some some reformatting. | |
19280 | * reload1.c (reload_combine): Don't assume everything in | |
19281 | CALL_INSN_FUNCTION_USAGE is a REG and clean up code a bit. | |
19282 | ||
19283 | 2000-05-08 Richard Henderson <rth@cygnus.com> | |
19284 | ||
19285 | * final.c (current_insn_predicate): New. | |
19286 | (final_scan_insn): Set it. | |
19287 | * output.h (current_insn_predicate): Declare. | |
19288 | ||
19289 | * ifcvt.c (cond_exec_process_insns): New argument prob_val. | |
19290 | Attach it to call insns. | |
19291 | (cond_exec_process_if_block): Track probability for true and | |
19292 | false branches. | |
19293 | (dead_or_predicable): Likewise. | |
19294 | ||
19295 | * predict.c (PROB_NEVER, PROB_VERY_UNLIKELY): New. | |
19296 | (PROB_UNLIKELY, PROB_EVEN, PROB_LIKELY): New. | |
19297 | (PROB_VERY_LIKELY, PROB_ALWAYS): New. | |
19298 | (estimate_probability, expected_value_to_br_prob): Use them. | |
19299 | ||
19300 | * config/ia64/ia64-protos.h (ia64_expand_prediction): Declare. | |
19301 | * config/ia64/ia64.c (ia64_print_operand_address): Handle 'j'. | |
19302 | (ia64_expand_prediction): New. | |
19303 | (emit_insn_group_barriers): Don't look at notes. Emit barriers | |
19304 | as needed after calls. | |
19305 | (ia64_epilogue_uses): Mark b0 used. | |
19306 | * config/ia64/ia64.md (beq_true, beq_false): Remove. | |
19307 | (bne_true, bne_false): Remove. | |
19308 | (eq_return, eq_not_return, ne_return, ne_not_return): Remove. | |
19309 | (br_true, br_false): New. Use predicate_operator and | |
19310 | ia64_expand_prediction. | |
19311 | (return_true, return_false): Likewise. | |
19312 | (call_internal): Use ia64_expand_prediction. Don't emit stop bit. | |
19313 | (call_internal1, call_value_internal): Likewise. | |
19314 | (call_value_internal1, call_multiple_values_internal1): Likewise. | |
19315 | ||
19316 | * config/ia64/ia64.c (ia64_direct_return): Require frame size zero. | |
19317 | ||
19318 | * config/ia64/ia64.md (extendsfdf2): Split only after reload. | |
19319 | ||
19320 | 2000-05-08 Richard Henderson <rth@cygnus.com> | |
19321 | ||
19322 | * rtlanal.c (may_trap_p): Consider old-style and volatile | |
19323 | asms to trap. | |
19324 | ||
19325 | Mon May 8 17:16:48 2000 Jim Wilson <wilson@cygnus.com> | |
19326 | ||
19327 | * config/ia64/ia64.h (RETURN_ADDR_RTX): Use COUNT not count. | |
19328 | ||
19329 | 2000-05-08 Richard Henderson <rth@cygnus.com> | |
19330 | ||
19331 | * config/ia64/ia64.h (predicate_operator): Declare. | |
19332 | ||
19333 | * config/ia64/ia64.md (extendsfdf2): Split the nop case out | |
ff7cc307 | 19334 | of existence. |
c30d43bf JL |
19335 | |
19336 | * gensupport.c (process_rtx): Copy and post-process each member | |
19337 | of the define_insn rtvec individually. | |
19338 | ||
19339 | Mon 8 May 22:17:35 2000 Neil Booth <NeilB@earthling.net> | |
19340 | ||
19341 | * cpplex.c (spell_token): New function. | |
19342 | (TOKEN_LEN): Add 1 for whitespace. | |
19343 | (_cpp_lex_file): Update to use spell_token. | |
19344 | * cpplib.h (E): Remove. | |
19345 | (TTYPE_TABLE): Update CPP_VSPACE entry. | |
19346 | ||
19347 | 2000-05-08 Richard Henderson <rth@cygnus.com> | |
19348 | ||
19349 | * flow.c (init_propagate_block_info): Watch out for conditional | |
19350 | branch to next instruction, and thus one outgoing edge. | |
19351 | ||
19352 | * config/ia64/ia64.c (ia64_encode_section_info): Exit early | |
19353 | for global register variables; don't special case __[CD]TOR_LIST__; | |
19354 | mind ggc_p for string allocation. | |
19355 | ||
19356 | 2000-05-08 Nick Clifton <nickc@cygnus.com> | |
19357 | ||
19358 | * config/i386/i386.h (ELIMINABLE_REGS): Fix comment. | |
19359 | ||
19360 | 2000-05-08 Bruce Korb <bkorb@gnu.org> | |
19361 | ||
19362 | * fixinc/mkfixinc.sh: fixinc.sco is no longer used | |
19363 | i?86-*-msdosdjgpp* no longer uses fixincludes | |
19364 | * fixinc/genfixes: inclhack.sh and fixincl.sh are no longer generated | |
19365 | * fixinc/inclhack.sh: deleted | |
19366 | * fixinc/hackshell.tpl: deleted | |
19367 | * fixinc/inclhack.tpl: deleted | |
19368 | * fixinc/Makefile.in: Remove dependencies on above | |
19369 | * fixinc/fixincl.sh: "DO NOT EDIT" text modified | |
19370 | ||
19371 | 2000-05-08 Andreas Jaeger <aj@suse.de> | |
19372 | ||
19373 | * config/mips/linux.h: Remove undefines which disabled .ctor/.dtor | |
19374 | support. | |
19375 | ||
19376 | 2000-05-07 Zack Weinberg <zack@wolery.cumb.org> | |
19377 | ||
19378 | * Makefile.in (LOOSE_CFLAGS): Add /g modifiers to both sed | |
19379 | substitutions. | |
19380 | ||
19381 | Sun 7 May 08:43:53 2000 Neil Booth <NeilB@earthling.net> | |
19382 | ||
19383 | * cpplex.c: Move new lexer definitions and prototypes | |
19384 | to top. Conditional include these and the code if | |
19385 | NEW_LEXER is defined. Rename functions whose names | |
19386 | clash if this code included. | |
19387 | ||
19388 | Sun May 7 00:54:57 EDT 2000 John Wehle (john@feith.com) | |
19389 | ||
19390 | * rtl.def (COND_EXEC): Clarify. | |
19391 | ||
19392 | * i386.md (extendsidi2): Clobber (reg:CC 17) in the | |
19393 | same fashion as zero_extendsidi2. | |
19394 | ||
19395 | 2000-05-06 Richard Henderson <rth@cygnus.com> | |
19396 | ||
19397 | * config/ia64/ia64.c (predicate_operator): New. | |
19398 | (ia64_print_operand): Handle 'J'. | |
19399 | (rtx_needs_barrier): Handle COND_EXEC. | |
19400 | * config/ia64/ia64.h (BRANCH_COST): Define. | |
19401 | (PREDICATE_CODES): Update. | |
eaec9b3d | 19402 | * config/ia64/ia64.md: Document used unspec values. |
c30d43bf JL |
19403 | (attr predicable): New. |
19404 | (movxf, movxf_internal): New. | |
19405 | (extendsfdf2): Don't comment out nop. | |
19406 | (floatdidf2): Remove. | |
19407 | (truncxfsf2, truncxfdf2, floatdixf2): New. | |
19408 | (abssi2, absdi2): Put the neg in the "true" slot. | |
19409 | (conditional branch instructions): Mark not predicable. | |
19410 | (cmov*_internal): Use predicate_operator. Split to cond_exec. | |
19411 | (abs*_internal): Likewise. | |
19412 | (alloc, set_bsp): Mark not predicable. | |
19413 | (barrier, insn_group_barrier, flush_cache): Likewise. | |
19414 | (define_cond_exec): New. | |
19415 | ||
19416 | 2000-05-06 Richard Henderson <rth@cygnus.com> | |
19417 | ||
19418 | * c-decl.c: Include "tm_p.h". | |
19419 | ||
19420 | * config/ia64/ia64-protos.h: Rearrange decls to reduce ifdef madness. | |
19421 | (fetchadd_operand, ia64_expand_fetch_and_op): Declare. | |
19422 | (ia64_expand_op_and_fetch): Declare. | |
19423 | * config/ia64/ia64.c: Include "toplev.h". Kill trailing whitespace. | |
19424 | (setjmp_operand): Constify variables for XSTR. | |
19425 | (ia64_encode_section_info): Likewise. | |
19426 | (ia64_print_operand): Use %d for exact_log2; cast 32-bit printed | |
19427 | values to int. | |
19428 | (ia64_asm_output_external): Constify name. | |
19429 | (process_set): Use HOST_WIDE_INT_PRINT_DEC for frame size. | |
19430 | (process_for_unwind_directive): Provide switch default. | |
19431 | (ia64_expand_compare_and_swap): Remove unused variables. | |
19432 | (ia64_expand_builtin): Likewise. | |
19433 | * config/ia64/ia64.h (ASM_OUTPUT_BYTE): Mask and cast value to int | |
19434 | for printing. | |
19435 | ||
19436 | * config/ia64/ia64.c (sdata_symbolic_operand): Mark unused args. | |
19437 | (symbolic_operand, function_operand, setjmp_operand): Likewise. | |
19438 | (shift_count_operand, shift_32bit_count_operand): Likewise. | |
19439 | (shladd_operand, fetchadd_operand, ia64_function_prologue): Likewise. | |
19440 | (ia64_function_epilogue, ia64_setup_incoming_varargs): Likewise. | |
19441 | (ia64_function_arg_partial_nregs, ia64_function_value): Likewise. | |
19442 | (ia64_print_operand_address, ia64_secondary_reload_class): Likewise. | |
19443 | (ia64_expand_builtin): Likewise. | |
19444 | (call_multiple_values_operation): Make dest_regno unsigned. | |
19445 | ||
19446 | 2000-05-06 Richard Henderson <rth@cygnus.com> | |
19447 | ||
19448 | * rtl.def (DEFINE_COND_EXEC): New. | |
19449 | * md.texi: Document it. | |
19450 | ||
19451 | * gensupport.c (input_file): Remove. | |
19452 | (struct queue_elem): Add lineno. | |
19453 | (rtx_ready_queue): Remove. | |
19454 | (errors): New. | |
19455 | (predicable_default): New. | |
19456 | (predicable_true, predicable_false): New. | |
19457 | (define_attr_queue, define_attr_tail): New. | |
19458 | (define_insn_queue, define_insn_tail): New. | |
19459 | (define_cond_exec_queue, define_cond_exec_tail): New. | |
19460 | (other_queue, other_tail): New. | |
19461 | (queue_pattern): New. | |
19462 | (process_rtx): Add patterns to the appropriate queues. | |
19463 | (is_predicable, identify_predicable_attribute): New. | |
19464 | (n_alternatives, collect_insn_data): New. | |
19465 | (alter_predicate_for_insn, alter_test_for_insn): New. | |
19466 | (shift_output_template, alter_output_for_insn): New. | |
19467 | (process_one_cond_exec, process_define_cond_exec): New. | |
19468 | (init_md_reader): Read the entire file. Process define_cond_exec. | |
19469 | (read_md_rtx): Return elements from the queues. | |
19470 | ||
19471 | 2000-05-06 Richard Henderson <rth@cygnus.com> | |
19472 | ||
19473 | * flow.c (mark_set_1): Don't update conditional life info | |
19474 | if the register is not_dead. | |
19475 | ||
19476 | 2000-05-06 Zack Weinberg <zack@wolery.cumb.org> | |
19477 | ||
19478 | * Makefile.in (STAGESTUFF): Add genrtl.c and genrtl.h. | |
19479 | (mostlyclean): Also delete fixincl, fixinc.sh, and | |
19480 | specs.ready, and make clean in the fixinc subdir. | |
19481 | ||
19482 | 2000-05-06 Richard Henderson <rth@cygnus.com> | |
19483 | ||
19484 | * Makefile.in (gensupport.o): Compile for the host. | |
19485 | (host-prefix gensuuprt.o): Remove. | |
19486 | (genflags.o): Depend on gensupport.h and OBSTACK_H. | |
19487 | (genattrtab.o): Likewise. | |
19488 | (gencodes.o): Depend on gensupport.h. | |
19489 | (genemit.o, genopinit.o, genrecog.o, genextract.o): Likewise. | |
19490 | (genpeep.o, genattr.o, genoutput.o): Likewise. | |
19491 | ||
19492 | * gensupport.c (obstack, rtl_obstack): New. | |
19493 | (init_md_reader): Initialize rtl_obstack. | |
19494 | * gensupport.h (rtl_obstack): Declare. | |
19495 | (message_with_line): Declare. | |
19496 | ||
19497 | * genattr.c: Remove all traces of obstack manipulation. | |
19498 | * gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise. | |
19499 | * genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise. | |
19500 | ||
19501 | * genattrtab.c (obstack, rtl_obstack): Remove. | |
19502 | (main): Don't init rtl_obstack. | |
19503 | * genflags.c: Likewise. | |
19504 | ||
19505 | * genrecog.c (message_with_line): Move ... | |
19506 | * gensupport.c: ... here. | |
19507 | ||
19508 | 2000-05-06 Richard Henderson <rth@cygnus.com> | |
19509 | ||
19510 | * c-typeck.c (build_c_cast): Remove dead code. | |
19511 | ||
19512 | 2000-05-06 Richard Henderson <rth@cygnus.com> | |
19513 | ||
19514 | * flow.c (split_edge): Don't allocate global_live_at_start for | |
19515 | the new block unless the old blocks had them as well. | |
19516 | ||
19517 | * flow.c (mark_set_1): Respect not_dead when updating reg_live. | |
19518 | ||
19519 | * ifcvt.c (noce_process_if_block): Don't use an insn_b from | |
19520 | test_bb if a or b uses x. | |
19521 | ||
19522 | 2000-05-06 Zack Weinberg <zack@wolery.cumb.org> | |
19523 | ||
20f9202d DB |
19524 | * cpphash.h: Remove conditional #define of __extension__. |
19525 | * rtl.h: Add __extension__ to RTL_CHECK1, RTL_CHECK2, | |
19526 | RTL_CHECKC1, RTL_CHECKC2, and RTVEC_ELT macros | |
19527 | (ENABLE_RTL_CHECKING only). | |
19528 | * tree.h: Add __extension__ to TREE_CHECK, TREE_CLASS_CHECK, | |
19529 | CST_OR_CONSTRUCTOR_CHECK, and EXPR_CHECK macros | |
19530 | (ENABLE_TREE_CHECKING only). | |
19531 | * varray.h: Add __extension__ to VARRAY_CHECK macro | |
19532 | (ENABLE_CHECKING only). | |
c30d43bf JL |
19533 | |
19534 | 2000-05-06 Richard Earnshaw (reanrsha@arm.com) | |
19535 | ||
19536 | Use new tail-calling mechanism on ARM. | |
19537 | * arm.md (sibcall, sibcall_value): New expands. | |
19538 | (sibcall_insn, sibcall_value_insn, sibcall_epilogue): New insns. | |
19539 | (tailcalling peepholes): Delete. | |
19540 | (push_multi): Simplify. | |
19541 | * arm.c (lr_save_eliminated): Delete definition. | |
19542 | (pattern_really_clobbers_lr, function_really_clobbers_lr): Delete. | |
19543 | (output_return_instruction): Remove checks on lr_save_eliminated. | |
19544 | (output_arm_prologue): Remove old tail-calling code. | |
19545 | (arm_output_epilogue): New parameter, really_return. All callers | |
19546 | changed. Handle tail-calling epilogues. | |
19547 | * arm.h (lr_save_eliminated): Delete declaration. | |
19548 | (frame_pointer_needed): Delete declaration. | |
19549 | * arm-protos.h (arm_output_epilogue): Adjust prototype. | |
19550 | ||
19551 | * arm.md (is_thumb): Examine symbol thumb_code, not expression | |
19552 | TARGET_ARM. | |
19553 | * arm.c (thumb_code): Define it. | |
19554 | (arm_override_options): Set it. | |
19555 | * arm.h (thumb_code): Declare it. | |
19556 | ||
19557 | 2000-05-06 Richard Earnshaw (reanrsha@arm.com) | |
19558 | ||
19559 | * arm-protos.h (arm_dllexport_name_p, arm_dllimport_name_p): Constify. | |
19560 | ||
19561 | 2000-05-06 Richard Earnshaw (reanrsha@arm.com) | |
19562 | ||
19563 | * arm.c (arm_gen_load_multiple, arm_gen_store_mulitple): Don't add | |
19564 | bogus clobber to insns. | |
19565 | (load_multiple_operation, store_mulitple_operation): Don't check | |
19566 | for it. | |
19567 | * arm.md (ldmsi_postinc, stmsi_postinc): Adjust accordingly. | |
19568 | ||
19569 | * arm.md (and_scc, ior_scc): Add missing mode. | |
19570 | ||
19571 | * arm.md (call_value_symbol): Remove predicate from op2. | |
19572 | ||
19573 | * arm.h (SPECIAL_MODE_PREDICATES): Define. | |
19574 | ||
19575 | Sat May 6 06:25:56 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
19576 | ||
19577 | * expr.c (get_subtarget): New function. | |
19578 | (force_operand, expand_expr, do_store_flag): Use it. | |
19579 | ||
19580 | * toplev.c (compile_file): Don't take strlen of NAME if null. | |
19581 | ||
19582 | 2000-05-06 David Edelsohn <edelsohn@gnu.org> | |
19583 | ||
19584 | * xcoffout.c (xcoff_current_include_file, | |
19585 | xcoff_current_function_file, xcoff_lastfile): Constify char *. | |
19586 | (xcoffout_source_file, xcoffout_source_line): Make filename 'const | |
19587 | char *'. | |
19588 | (xcoffout_declare_function): Make name 'const char *'. | |
19589 | (xcoffout_end_epilogue): Make fname 'const char *' | |
19590 | * xcoffout.h (xcoff_current_include_file, xcoff_lastfile, | |
19591 | xcoffout_declare_function, xcoffout_source_line): Match above. | |
19592 | ||
19593 | * aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -mpowerpc64 without | |
19594 | -maix64 is error. | |
19595 | * rs6000.c (print_operand): Fix lossage typo. | |
19596 | (output_cbranch): Remove "cr" decoration for now. | |
19597 | * rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Make alias 'const char *'. | |
19598 | ||
19599 | Sat May 6 06:55:32 2000 Denis Chertykov <denisc@overta.ru> | |
19600 | ||
19601 | * config/avr/avr.c (out_shift_with_cnt): Bugfix for shift by | |
19602 | constant count. | |
19603 | ||
19604 | 2000-05-05 Bruce Korb <bkorb@gnu.org> | |
19605 | ||
19606 | * fixinc/genfixes: Improve the matching for make target names | |
19607 | ||
19608 | 2000-05-05 Catherine Moore <clm@cygnus.com> | |
19609 | ||
19610 | * c-common.c (decl_attributes): For TYPE_DECLs attach the | |
19611 | attribute to the decl. | |
19612 | * c-decl.c (pushdecl): Propagate the USED attribute to the | |
19613 | type copy. | |
19614 | ||
19615 | 2000-05-05 Richard Henderson <rth@cygnus.com> | |
19616 | ||
19617 | * rtlanal.c (reg_overlap_mentioned_p): Treat parallels in the | |
19618 | same way emit_group_load does. | |
19619 | ||
19620 | 2000-05-05 Mark Elbrecht <snowball3@bigfoot.com> | |
19621 | ||
19622 | * gcc.c (set_input) [HAVE_DOS_STYLE_FILE_SYSTEM]: Skip drive name. | |
19623 | ||
19624 | * toplev.c (output_file_directive): Use IS_DIR_SEPARATOR. | |
19625 | (main): Likewise. | |
19626 | ||
19627 | 2000-05-05 Rodney Brown <RodneyBrown@mynd.com> | |
19628 | ||
19629 | * pa.h (FUNCTION_ARG_ADVANCE): Warning removal. | |
19630 | ||
19631 | Fri May 5 10:29:21 2000 Marc Espie <espie@cvs.openbsd.org> | |
19632 | ||
19633 | * config/openbsd.h (LINK_SPEC): pass correct flags to ld | |
19634 | to support -shared, on platforms with dynamic libraries. | |
19635 | ||
19636 | Fri May 5 10:27:06 2000 Philippe De Muyter <phdm@macqel.be> | |
19637 | ||
19638 | * system.h (S_ISBLK): Provide fallback definition. | |
19639 | ||
19640 | 2000-05-05 Geoff Berry <geoffb@bops.com> | |
19641 | ||
19642 | * extend.texi (Extended Asm): Document inability to give asm | |
19643 | statements access to condition codes. | |
19644 | ||
19645 | 2000-05-05 Marek Michalkiewicz <marekm@linux.org.pl> | |
19646 | ||
19647 | * varasm.c (asm_emit_uninitialised): Use 0, not NULL | |
19648 | as arg 2 of UNIQUE_SECTION. | |
19649 | ||
19650 | Fri May 5 10:11:41 2000 Jeffrey A Law (law@cygnus.com) | |
19651 | ||
19652 | * predict.c: Remove May 4 change. | |
19653 | * bb-reorder.c (make_reorder_chain): Do not perform block movement | |
19654 | if we have predicted the branch at 50-50 probability. | |
19655 | ||
19656 | 2000-05-05 Richard Henderson <rth@cygnus.com> | |
19657 | ||
19658 | * flow.c (init_propagate_block_info): Fix merge error | |
19659 | in HAVE_conditional_execution code. | |
19660 | ||
19661 | Fri May 5 07:43:50 2000 Denis Chertykov <denisc@overta.ru> | |
19662 | ||
19663 | * config/avr/avr.c (out_shift_with_cnt): Genetare a more optimal | |
19664 | shift cycle for unknown shift count. Also generates dec + brpl. | |
19665 | (ashlqi3_out): Don't generate dec + brpl which now generates by | |
19666 | `out_shift_with_cnt'. | |
19667 | (ashlhi3_out): Likewise. | |
19668 | (ashlsi3_out): Likewise. | |
19669 | (ashrqi3_out): Likewise. | |
19670 | (ashrhi3_out): Likewise. | |
19671 | (ashrsi3_out): Likewise. | |
19672 | (lshrqi3_out): Likewise. | |
19673 | (lshrhi3_out): Likewise. | |
19674 | (lshrsi3_out): Likewise. | |
19675 | ||
19676 | 2000-05-04 Mark Elbrecht <snowball3@bigfoot.com> | |
19677 | ||
19678 | * gcc.c (free_split_directories): Correct typo in explanation | |
19679 | of make_relative_prefix. | |
19680 | ||
19681 | 2000-05-04 Geoff Keating <geoffk@cygnus.com> | |
19682 | ||
19683 | * config/rs6000/rs6000.h (PREDICATE_CODES): Add floating-point | |
19684 | comparison codes to branch_comparison_operator. | |
19685 | ||
19686 | 2000-05-04 Richard Henderson <rth@cygnus.com> | |
19687 | ||
19688 | * ifcvt.c (noce_process_if_block): Always reset X in the A == B case. | |
19689 | ||
19690 | 2000-05-04 Richard Henderson <rth@cygnus.com> | |
19691 | ||
19692 | * Makefile.in (FPBIT_FUNCS): Remove _df_to_usi. | |
19693 | (DPBIT_FUNCS): Remove _sf_to_usi. | |
19694 | (stmp-multilib): Pass LIB1ASMSRC to libgcc.mk. | |
19695 | ||
19696 | * ifcvt.c (noce_process_if_block): Fail if A or B modified | |
19697 | between condition and jump. | |
19698 | ||
19699 | * libgcc2.c (near eh_context_specific): Comment #endif string. | |
19700 | * longlong.h: Don't use strings with embedded newlines. | |
19701 | ||
19702 | 2000-05-04 Geoff Keating <geoffk@cygnus.com> | |
19703 | ||
19704 | * config/rs6000/rs6000-protos.h: Add output_cbranch. | |
19705 | * config/rs6000/rs6000.c (ccr_bit_negated_p): Delete. | |
19706 | (print_operand): Delete %t and %T codes. | |
19707 | (output_cbranch): New function. Support branch prediction. | |
19708 | * config/rs6000/rs6000.md: Use output_cbranch for | |
19709 | conditional branches and returns. | |
19710 | ||
19711 | 2000-05-04 Jason Merrill <jason@casey.cygnus.com> | |
19712 | ||
19713 | * simplify-rtx.c (simplify_ternary_operation): Cast to unsigned. | |
19714 | * stor-layout.c (place_field): Likewise. | |
19715 | * integrate.h (struct inline_remap): Make regno_pointer_align unsigned. | |
19716 | * expr.c (store_expr): Make align unsigned. | |
19717 | * explow.c (plus_constant_wide): Make low words unsigned. | |
19718 | * expmed.c (choose_multiplier): Likewise. | |
19719 | * fold-const.c (fold): Likewise. | |
19720 | * tree.h (build_int_2): Likewise. | |
19721 | * tree.c (build_int_2_wide, tree_int_cst_msb): Likewise. | |
19722 | * emit-rtl.c (gen_reg_rtx): Add cast to unsigned char*. | |
19723 | (init_emit): Change cast to unsigned char*. | |
19724 | * varasm.c (compare_constant_1): Add cast to char*. | |
19725 | * gcse.c (delete_null_pointer_checks): Change cast to unsigned int*. | |
19726 | * reload1.c (reload): Likewise. | |
19727 | ||
19728 | * rtl.h (MEM_SET_IN_STRUCT_P): Use do { } while (0). | |
19729 | ||
19730 | Thu May 4 14:37:23 2000 Jeffrey A Law (law@cygnus.com) | |
19731 | ||
19732 | * predict.c (estimate_probability): If no prediction was found, then | |
19733 | predict the successor that is the next physical block (if such a | |
19734 | successor exists). | |
19735 | ||
19736 | 2000-05-04 Richard Henderson <rth@cygnus.com> | |
19737 | ||
19738 | * config/alpha/t-alpha (LIB2FUNCS_EXTRA): Use qrrnd.asm in place. | |
19739 | ||
19740 | 2000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
19741 | ||
19742 | * system.h: Don't wrap <sys/types.h> with HAVE_SYS_TYPES_H. | |
19743 | ||
19744 | 2000-05-04 Mumit Khan <khan@xraylith.wisc.edu> | |
19745 | ||
19746 | * i386/cygwin.h (CPP_PREDEFINES): Don't define __STDC__. Move | |
19747 | attribute macros from here ... | |
19748 | (CPP_SPEC): to here. | |
19749 | * i386/mingw32.h (CPP_PREDEFINES): Likewise. | |
19750 | (CPP_SPEC): Likewise. | |
19751 | * i386/crtdll.h (CPP_PREDEFINES): Delete attribute macros. | |
19752 | ||
19753 | * Makefile.in ($(HOST_PREFIX_1)gensupport.o): Add build rule. | |
19754 | (libgcc.a): Pass LIB1ASMSRC to libgcc.mk. | |
19755 | ||
19756 | 2000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
19757 | ||
19758 | * bb-reorder.c (get_next_bb_note, get_prev_bb_note): Prototype. | |
19759 | ||
19760 | * diagnostic (vbuild_message_string, build_message_string, | |
19761 | build_location_prefix, output_get_prefix, init_output_buffer, | |
19762 | output_notice, vline_wrapper_message_with_location, | |
19763 | v_message_with_decl, default_print_error_function): De-constify. | |
19764 | (set_real_maximum_length): Prototype. | |
19765 | ||
19766 | * diagnostic.h (struct output_buffer, init_output_buffer, | |
19767 | output_get_prefix, output_set_prefix): De-constify. | |
19768 | ||
19769 | * function.c (init_function_start): Constify. | |
19770 | ||
19771 | * gensupport.c (remove_constraints, process_rtx): Prototype. | |
19772 | ||
19773 | * gthr-posix.h: Indent uses of #pragma. | |
19774 | ||
19775 | * objc/objc-act.c (ggc_mark_imp_list, ggc_mark_hash_table): | |
19776 | Prototype. | |
19777 | ||
19778 | * predict.c (find_expected_value): Delete prototype. | |
19779 | (expected_value_to_br_prob): Initialize variable `ev_reg'. | |
19780 | ||
19781 | * sbitmap.h (debug_sbitmap): Prototype. | |
19782 | ||
19783 | * ssa.c (compute_coalesced_reg_partition): Prototype. | |
19784 | ||
19785 | * stor-layout.c (debug_rli): Prototype. | |
19786 | ||
19787 | * tree.h (round_down): Prototype. | |
19788 | (init_function_start): Constify. | |
19789 | ||
19790 | 2000-05-04 Zack Weinberg <zack@wolery.cumb.org> | |
19791 | ||
19792 | * cpphash.h: #define __extension__ away if GCC_VERSION < 2095 | |
19793 | (overly conservative). Change extern inline wrappers to | |
19794 | static inline, define them always, use PARAMS properly. | |
19795 | * cpplex.c (_cpp_get_directive_token): Don't issue pedantic | |
19796 | whitespace warnings for \f and \v at the beginning of a line. | |
19797 | ||
19798 | Thu May 4 10:03:50 2000 Jeffrey A Law (law@cygnus.com) | |
19799 | ||
19800 | * haifa-sched.c (schedule_insns): Free the flow edge list when it | |
19801 | is no longer needed | |
19802 | ||
19803 | 2000-05-04 Bruce Korb <bkorb@gnu.org> | |
19804 | ||
19805 | * fixincl/inclhack.def: added broken_cabs - | |
19806 | Remove `extern double cabs' declarations from math.h | |
19807 | * fixincl/inclhack.sh: regen | |
19808 | * fixincl/fixincl.x: regen | |
19809 | * fixincl/fixincl.c: Remove BOGOSITY code | |
19810 | * fixincl/mkfixinc.sh: Remove code for installing "shell" version | |
19811 | ||
19812 | Thu May 4 09:45:12 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
19813 | ||
19814 | * rtl.h (MEM_COPY_ATTRIBUTES): Also copy RTX_UNCHANGING_P and | |
19815 | MEM_ALIAS_SET. | |
19816 | * alias.c (canon_rtx): Don't copy RTX_UNCHANGING_P or MEM_ALIAS_SET | |
19817 | when calling MEM_COPY_ATTRIBUTES. | |
19818 | * emit-rtl.c (operand_subword, change_address): Likewise. | |
19819 | * explow.c (stabilize): Likewise. | |
19820 | * expr.c (protect_from_queue, emit_move_insn_1): Likewise. | |
19821 | * integrate.c (copy_rtx_and_substitute): Likewise. | |
19822 | * combine.c (combine_simplify_rtx): Don't copy RTX_UNCHANGING_P | |
19823 | when calling MEM_COPY_ATTRIBUTES. | |
19824 | (make_extraction, simplify_shift_const, gen_lowpart_for_combine): | |
19825 | Likewise. | |
19826 | * cse.c (gen_lowpart_if_possible): Likewise. | |
19827 | * function.c (fixup_var_refs_1, purge_addressof_1): Likewise. | |
19828 | * optabs.c (gen_move_insn): Likewise. | |
19829 | * recog.c (validate_replace_rtx_1): Likewise. | |
19830 | * simplify-rtx.c (add_mem_for_addr): Likewise. | |
19831 | * stmt.c (expand_anon_union_decl): Likewise. | |
19832 | * config/arm/arm.md: Likewise. | |
19833 | * config/h8300/h7300.c (fix_bit_operand): Likewise. | |
19834 | * config/m88k/m88k.c (legitimize_address, block_move_loop): Likewise. | |
19835 | (block_move_no_loop, block_move_sequence): Likewise. | |
19836 | * config/rs6000/rs6000.c (expand_block_move_mem): Likewise. | |
19837 | * config/alpha/alpha.c (get_aligned_mem): Likewise. | |
19838 | Clear MEM_ALIAS_SET. | |
19839 | * final.c (alter_subreg): Don't copy MEM_ALIAS_SET when calling | |
19840 | MEM_COPY_ATTRIBUTES. | |
19841 | ||
19842 | 2000-05-03 Robert Lipe <robertlipe@usa.net> | |
19843 | ||
19844 | * configure.in (i[34567]86-*-isc*) [tmake_file]: Add t-i386bare | |
19845 | to suppress libgcc1. | |
19846 | (i[34567]86-*-sco3.2v5*) Likewise. | |
19847 | (i[34567]86-*-sco3.2v4*) Likewise. | |
19848 | (i[34567]86-*-sco) Likewise. | |
19849 | (i[34567]86-*-solaris2) Likewise. | |
19850 | (i[34567]86-*-sysv5*) Likewise. | |
19851 | (i[34567]86-*-sysv4*) Likewise. | |
19852 | (i[34567]86-*-udk*) Likewise. | |
19853 | (i[34567]86-*-sysv*) Likewise. | |
19854 | ||
19855 | 2000-05-03 Zack Weinberg <zack@wolery.cumb.org> | |
19856 | ||
19857 | * cpphash.h (U): New define, to correct type of string constants. | |
19858 | (ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr): New wrapper | |
19859 | routines, to do casts when passing unsigned strings to libc. | |
19860 | * cppexp.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c: Use them. | |
19861 | ||
19862 | * cppfiles.c (_cpp_execute_include): Make filename an U_CHAR *. | |
19863 | * cpphash.c (_cpp_quote_string): Make string an U_CHAR *. | |
19864 | * cppinit.c (dump_special_to_buffer): Make macro name an U_CHAR *. | |
19865 | * cpplex.c (parse_ifdef, parse_include, validate_else): Make | |
19866 | second argument an U_CHAR *. | |
19867 | ||
19868 | * cppinit.c (builtin_array): Make name and value U_CHAR *, add | |
19869 | length field, clean up initializer. | |
19870 | (ISTABLE): Add __extension__ to designated- | |
19871 | initializers version. | |
19872 | * cpplex.c (CHARTAB): Likewise. | |
19873 | ||
19874 | * mbchar.c: Add dummy external declaration to the !MULTIBYTE_CHARS | |
19875 | case so the file won't be empty. | |
19876 | ||
19877 | Wed May 3 21:01:46 2000 Jason Eckhardt <jle@cygnus.com> | |
19878 | ||
19879 | * bb-reorder.c (struct reorder_block_def): Member succ removed. | |
19880 | (REORDER_BLOCK_SUCC): Removed. | |
19881 | (enum reorder_skip_type): Removed. | |
19882 | (skip_insns_between_block): Renamed to skip_insns_after_block. | |
19883 | Removed second argument. Removed dead code and cleaned up. | |
19884 | (make_reorder_chain): Removed use of REORDER_BLOCK_SUCC. | |
19885 | (reorder_basic_blocks): Remove use of REORDER_SKIP_AFTER. Removed | |
19886 | second parameter to skip_insns_after_block. | |
19887 | ||
19888 | Wed May 3 13:29:54 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
19889 | ||
19890 | * tree.c (staticp, case LABEL_DECL): New case. | |
19891 | ||
19892 | 2000-05-03 Richard Henderson <rth@cygnus.com> | |
19893 | ||
19894 | * Makefile.in (start.encap): Do not depend on LIBGCC1. | |
19895 | ||
19896 | * mklibgcc1.in: Fix typo last change. | |
19897 | ||
19898 | 2000-05-03 Jason Merrill <jason@casey.cygnus.com> | |
19899 | ||
19900 | * Makefile.in (WARN_CFLAGS): Add -pedantic -Wno-long-long. | |
19901 | (LOOSE_CFLAGS): New: CFLAGS without -pedantic and -Wtraditional. | |
19902 | (GCC_CFLAGS): Use it. | |
19903 | (LANG_FLAGS_TO_PASS): New: SUBDIR_FLAGS_TO_PASS with LOOSE_CFLAGS. | |
19904 | * cp/Make-lang.in, java/Make-lang.in, f/Make-lang.in, ch/Make-lang.in, | |
19905 | objc/Make-lang.in: Use it. | |
19906 | ||
19907 | 2000-05-03 Jason R Thorpe <thorpej@zembu.com> | |
19908 | ||
19909 | * config/i386/i386.md (lshrqi2_cmpno): Use q not r in constraint. | |
19910 | ||
19911 | 2000-05-03 Richard Henderson <rth@cygnus.com> | |
19912 | ||
19913 | * mklibgcc.in: Restrict OLDCC=GCC test to native. Equate | |
19914 | LIBGCC1 empty with libgcc1.null. | |
19915 | ||
19916 | Wed May 3 12:55:46 2000 Jim Wilson <wilson@cygnus.com> | |
19917 | ||
19918 | * fold-const.c (extract_muldiv, case MAX_EXPR): Don't allow signedness | |
19919 | change. | |
19920 | ||
19921 | 2000-05-03 Greg McGary <gkm@gnu.org> | |
19922 | ||
19923 | * tree.h (tree_common): Add bounded_flag member. Remove | |
19924 | inaccurate comment about number of remaining bits. | |
19925 | (BOUNDED_INDIRECT_TYPE_P, BOUNDED_POINTER_TYPE_P, | |
19926 | BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P, | |
19927 | MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P, | |
19928 | TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P, | |
19929 | TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED): New macros. | |
19930 | (TYPE_QUAL_BOUNDED): New constant. | |
19931 | (TYPE_QUALS): Handle bounded qualifier. | |
19932 | (TREE_EXPR_QUALS, TREE_FUNC_QUALS): New macros. | |
19933 | (TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT, | |
19934 | TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH, | |
19935 | TYPE_AMBIENT_BOUNDEDNESS): New macros. | |
19936 | (MAX_POINTER_DEPTH, VA_LIST_POINTER_DEPTH): New constants. | |
19937 | (tree_type): Add pointer_depth member. Remove | |
19938 | inaccurate comment about number of remaining bits. | |
19939 | (DECL_POINTER_DEPTH): Add macro. | |
19940 | (tree_decl): Add pointer_depth member. | |
19941 | ||
19942 | Wed May 3 22:52:53 2000 Denis Chertykov <denisc@overta.ru> | |
19943 | ||
19944 | * config/avr/avr-protos.h (test_hard_reg_class): Declared. | |
19945 | * config/avr/avr.c (ashrhi3_out): optimized shift by 15. | |
19946 | (lshrhi3_out): Likewise. | |
19947 | (ashrsi3_out): bugfix in shift by 8. | |
19948 | (test_hard_reg_class): New function. | |
19949 | * config/avr/avr.md: Bugfix inside conditions in peepholes. | |
19950 | (ashlhi3): removed define_expand of this pattern. | |
19951 | (*ashlhi3_insn): renamed to ashlhi3. | |
19952 | (ashlsi3): removed define_expand of this pattern. | |
19953 | (*ashlsi3_insn): renamed to ashlsi3. | |
19954 | (ashrqi3): removed define_expand of this pattern. | |
19955 | (*ashrqi3_insn): renamed to ashrqi3. | |
19956 | (ashrhi3): removed define_expand of this pattern. | |
19957 | (*ashrhi3_insn): renamed to ashrhi3. | |
19958 | (ashrsi3): removed define_expand of this pattern. | |
19959 | (*ashrsi3_insn): renamed to ashrsi3. | |
19960 | (lshrhi3): removed define_expand of this pattern. | |
19961 | (*lshrhi3_insn): renamed to lshrhi3. | |
19962 | (lshrsi3): removed define_expand of this pattern. | |
19963 | (*lshrsi3_insn): renamed to lshrsi3. | |
19964 | ||
19965 | 2000-05-03 Rodney Brown <RodneyBrown@pmsc.com> | |
19966 | ||
19967 | * config/mcore/mcore.c: Replacing inclusion of "stdio,h" with | |
19968 | inclusion of "system.h". | |
19969 | ||
19970 | Wed May 3 11:43:53 2000 Jim Wilson <wilson@cygnus.com> | |
19971 | ||
19972 | * config/ia64/ia64.c (ia64_encode_section_info): Add check for | |
19973 | TREE_ASM_WRITTEN. | |
19974 | ||
19975 | 2000-05-03 David Mosberger <davidm@hpl.hp.com> | |
19976 | ||
19977 | * config/ia64/ia64.c (ia64_override_options): Force -mconstant-gp | |
19978 | if -mauto-pic is on. | |
19979 | (ia64_epilogue_uses): Mark "gp" (r1) as used by the epilogue if | |
19980 | -mconstant-gp is in effect and function-descriptors are being used | |
19981 | to make indirect calls. | |
19982 | * config/ia64/ia64.h (MASK_CONST_GP): New macro. | |
19983 | (MASK_AUTO_PIC): Ditto. | |
19984 | (TARGET_CONST_GP): Ditto. | |
19985 | (TARGET_AUTO_PIC): Ditto. | |
19986 | (TARGET_SWITCHES): Add -mconstant-gp and -mauto-pic options. | |
19987 | (ASM_OUTPUT_DOUBLE_INT): Don't generate @fptr() if -mauto-pic or | |
19988 | -mno-pic is in effect. | |
19989 | (ASM_OUTPUT_XDATA_DOUBLE_INT): Ditto. | |
19990 | * config/ia64/ia64.md (movdi): Use gen_load_gprel64() if | |
19991 | -mauto-pic is in effect. | |
19992 | (gprel64_offset): New pattern. | |
19993 | (load_gprel64): Ditto. | |
19994 | (call): Handle -mauto-pic like -mno-pic (don't use fptr). If | |
19995 | -mconstant-gp is in effect, no need to preserve gp around direct | |
19996 | calls. | |
19997 | (call_value): Ditto. | |
19998 | * config/ia64/linux.h (PROFILE_BEFORE_PROLOGUE): Define. | |
19999 | (FUNCTION_PROFILER): Define. | |
20000 | * config/ia64/sysv4.h (ASM_OUTPUT_CONSTRUCTOR): Don't generate | |
20001 | @fptr() directive when -mno-pic or -mauto-pic is in effect. | |
20002 | (ASM_OUTPUT_DESTRUCTOR): Ditto. | |
20003 | ||
20004 | 2000-05-03 Richard Henderson <rth@cygnus.com> | |
20005 | ||
20006 | * Makefile.in (STAGESTUFF): Add libgcc libgcc.mk. | |
20007 | (libgcc1.null, libgcc1.cross, libgcc1.a): Remove targets. | |
20008 | (libgcc1-asm.a, libgcc1.S, libgcc2.a): Remove targets. | |
20009 | (mklibgcc, libgcc.mk): New targets. | |
20010 | (libgcc.a): Use libgcc.mk. | |
20011 | (stmp-multilib): Likewise. | |
20012 | (stmp-multilib-sub): Remove. | |
20013 | (mostlyclean): Don't delete libgcc2 temp files. | |
20014 | * configure.in (AC_PROG_CC_C_O): Add. | |
20015 | (NO_MINUS_C_MINUS_O): Substitute it. | |
20016 | (all_outputs): Add mklibgcc. | |
20017 | * mklibgcc.in: New file. | |
20018 | ||
20019 | 2000-05-03 Jason Merrill <jason@casey.cygnus.com> | |
20020 | ||
20021 | * cppexp.c (op_t): Make an int. | |
20022 | ||
20023 | * rtlanal.c (dead_or_set_regno_p): Remove unused variable. | |
20024 | ||
20025 | * varasm.c (initializer_constant_valid_p): Fix parenthesis. | |
20026 | ||
20027 | * gensupport.c (process_rtx): Fix macros used. | |
20028 | ||
20029 | 2000-05-03 Richard Henderson <rth@cygnus.com> | |
20030 | ||
20031 | * flow.c (propagate_one_insn): Also don't PROP_REG_INFO for | |
20032 | call-clobbered registers of a call. | |
20033 | ||
20034 | Wed May 3 12:40:53 2000 Clinton Popetz <cpopetz@cygnus.com> | |
20035 | ||
20036 | * gensupport.c: New file. | |
20037 | * gensupport.h: New file. | |
20038 | * Makefile.in (HOST_RTL): Depend on gensupport. | |
20039 | (gensupport.o) New rule. | |
20040 | * genattr.c: Use gensupport for reading .md files. | |
20041 | * genattrtab.c: Ditto. | |
20042 | * gencodes.c: Ditto. | |
20043 | * genconfig.c: Ditto. | |
20044 | * genemit.c: Ditto. | |
20045 | * genextract.c: Ditto. | |
20046 | * genflags.c: Ditto. | |
20047 | * genopinit.c: Ditto. | |
20048 | * genoutput.c: Ditto. | |
20049 | * genpeep.c: Ditto. | |
20050 | * genrecog.c: Ditto. | |
20051 | * rtl.def (define_insn_and_split): New DEF_RTL_EXPR. | |
20052 | * md.texi (Insn Splitting): Document define_insn_and_split. | |
20053 | ||
20054 | Tue May 2 00:20:30 2000 Jason Eckhardt <jle@cygnus.com> | |
20055 | ||
20056 | * flow.c (verify_flow_info): Added two more sanity checks. The | |
20057 | first checks that the blocks are numbered consecutively. The second | |
20058 | checks that n_basic_blocks is actually equal to the number of | |
20059 | basic blocks in the insn chain. | |
20060 | ||
20061 | 2000-05-03 Zack Weinberg <zack@wolery.cumb.org> | |
20062 | ||
20063 | * cpplib.h: Add accessor macros for token lists. | |
20064 | * cpplib.c, cpphash.c, cpplex.c: Use them. | |
20065 | ||
20066 | Wed May 3 09:29:17 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
20067 | ||
20068 | * expr.c (expand_expr, case COMPONENT_REF): Don't check for checking | |
20069 | memory usage if not in a function. | |
20070 | * varasm.c (initializer_constant_valid_p, case ADDR_EXPR): Only | |
20071 | return address if static. | |
20072 | ||
20073 | Wed May 3 13:14:49 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
20074 | ||
20075 | * ifcvt.c (noce_try_cmove_arith): Use may_trap_p to thest | |
20076 | whether address may trap. | |
20077 | ||
20078 | Tue May 2 23:38:37 2000 Jason Eckhardt <jle@cygnus.com> | |
20079 | ||
20080 | * bb-reorder (chain_reorder_blocks): Changed code to test for | |
20081 | EDGE_FALLTHRU rather than making erroneous assumption that the | |
20082 | first outgoing edge is the fall-through edge. | |
20083 | ||
20084 | Tue May 2 18:20:31 2000 Donald Lindsay <dlindsay@hound.cygnus.com> | |
20085 | ||
20086 | * config/mips/mips.c (mips_build_va_list,mips_va_start,mips_va_arg): new | |
20087 | ABI for varargs, across all MIPS. This is incompatible because the | |
20088 | va_list (__builtin_va_list) structure is different, so a compilation | |
20089 | unit passing a va_list and a compilation unit being passed one, should | |
20090 | both be compiled with the same ABI. (The old structure had two | |
20091 | pointers, now it has three.) | |
20092 | ||
20093 | Tue May 2 19:18:43 2000 Jason Eckhardt <jle@cygnus.com> | |
20094 | ||
20095 | * bb-reorder.c (struct reorder_block_def): Remove members end, | |
20096 | block_begin, and block_end. | |
20097 | (REORDER_BLOCK_OLD_END): Delete. | |
20098 | (REORDER_BLOCK_BEGIN): Delete. | |
20099 | (REORDER_BLOCK_END): Delete. | |
20100 | (chain_reorder_blocks): Remove dead code. | |
20101 | ||
20102 | Tue May 2 17:06:53 2000 Jason Eckhardt <jle@cygnus.com> | |
20103 | ||
20104 | * bb-reorder.c (remove_scope_notes): Check for both types of scope | |
20105 | notes as the end of a basic block before deleting. | |
20106 | ||
20107 | 2000-05-02 Mumit Khan <khan@xraylith.wisc.edu> | |
20108 | ||
20109 | * final.c (final_start_function): Fix spelling of "necessary". | |
20110 | ||
20111 | 2000-05-02 Jason Merrill <jason@casey.cygnus.com> | |
20112 | ||
20113 | * toplev.c (debug_ignore_block): Return int. | |
20114 | * dwarf2out.c (dwarf2out_ignore_block): Likewise. | |
20115 | * toplev.h, dwarf2out.h: Adjust. | |
20116 | * emit-rtl.c (remove_unnecessary_notes): Test return value. | |
20117 | ||
20118 | * emit-rtl.c (remove_unnecessary_notes): Fix spelling of "necessary". | |
20119 | * toplev.c, final.c, rtl.h: Adjust. | |
20120 | ||
20121 | 2000-05-02 Zack Weinberg <zack@wolery.cumb.org> | |
20122 | ||
20123 | * aclocal.m4 (gcc_AC_CHECK_PROG_VER): New macro. | |
20124 | * configure.in: Look for makeinfo in the unified tree, then | |
20125 | for a system makeinfo which is sufficiently new. | |
20126 | * Makefile.in: If configure says makeinfo is too old, don't | |
20127 | build or install Info documentation. | |
20128 | ||
20129 | 2000-05-02 Zack Weinberg <zack@wolery.cumb.org> | |
20130 | ||
20131 | * cpphash.c (collect_params): Fix off-by-one error. | |
20132 | (dump_hash_helper): Dump all four macro nodetypes. | |
20133 | ||
20134 | 2000-05-02 Jakub Jelinek <jakub@redhat.com> | |
20135 | ||
20136 | * cpphash.c (trad_stringify): Adjust p after stringification as | |
20137 | well. | |
20138 | ||
20139 | 2000-05-02 Zack Weinberg <zack@wolery.cumb.org> | |
20140 | ||
20141 | * cpplib.h (CPP_POP, parse_cleanup_t): Delete. | |
20142 | (cpp_buffer): Remove cleanup, seen_eof, manual_pop members. | |
20143 | ||
20144 | * cppfiles.c (file_cleanup): Delete. | |
20145 | * cpphash.c (macro_cleanup): Delete. | |
20146 | (collect_objlike_expansion, collect_funlike_expansion, | |
20147 | macarg, scan_arguments): Remove CPP_POP case. | |
20148 | ||
20149 | * cpplex.c (null_cleanup): Delete. | |
20150 | (cpp_pop_buffer): Do the work that was done in the cleanups | |
20151 | here. Call _cpp_unwind_if_stack from here. | |
20152 | (_cpp_expand_to_buffer, cpp_scan_buffer_nooutput, | |
20153 | cpp_scan_buffer): Run until we see CPP_EOF and the top of | |
20154 | stack is the buffer _below_ the one we stacked. | |
20155 | (cpp_get_token): Always pop an exhausted buffer. Return | |
20156 | CPP_EOF unless it's a macro buffer. Don't call _cpp_handle_eof. | |
20157 | * cpplib.c (skip_if_group): Don't call cpp_get_token to | |
20158 | increment the line number. | |
20159 | (_cpp_handle_eof): Rename to _cpp_unwind_if_stack. | |
20160 | ||
20161 | * fix-header.c (read_scan_file) [parsing getchar()]: Run until | |
20162 | we see CPP_EOF and the top of stack is the buffer _below_ the | |
20163 | one we stacked. | |
20164 | * scan-decls.c: Likewise. | |
20165 | ||
20166 | 2000-05-02 Andrew Haley <aph@cygnus.com> | |
20167 | ||
20168 | * config/ia64/ia64.c (ia64_encode_section_info): Handle the case | |
20169 | where this function is called for the second time on a decl that | |
20170 | has had its section info changed in such a way as to move it out | |
20171 | of small data/bss. | |
20172 | * config/ia64/ia64.h (REDO_SECTION_INFO_P): New definition. | |
20173 | ||
20174 | 2000-05-01 Richard Henderson <rth@cygnus.com> | |
20175 | ||
20176 | * ifcvt.c (dead_or_predicable): Set merge_bb->end to the insn before | |
20177 | the sequence we're moving, not to merge_bb->head. | |
20178 | ||
20179 | 2000-05-01 Richard Henderson <rth@cygnus.com> | |
20180 | ||
20181 | * configure.in (alpha*-*-linux-gnulibc1*) [tmake_file]: Remove | |
20182 | reference to alpha/t-linux. | |
20183 | (alpha*-*-linux-gnu*): Likewise. | |
20184 | * configure: Rebuild. | |
20185 | ||
20186 | * calls.c (expand_call): Don't emit reg notes for a sibcall. | |
20187 | ||
20188 | * flow.c (calculate_global_regs_live): Skip for_each_successor_phi | |
20189 | if not in SSA form. | |
20190 | ||
20191 | * ifcvt.c (if_convert): Only verify_flow_info if ENABLE_CHECKING. | |
20192 | ||
20193 | 2000-05-01 Jason Merrill <jason@casey.cygnus.com> | |
20194 | ||
20195 | * integrate.c (copy_decl_for_inlining): Copy TREE_READONLY and | |
20196 | TREE_THIS_VOLATILE. | |
20197 | ||
20198 | 2000-05-01 Richard Henderson <rth@cygnus.com> | |
20199 | ||
20200 | * ifcvt.c (noce_emit_cmove): Conditionally compile call to | |
20201 | emit_conditional_move. | |
20202 | ||
20203 | 2000-05-01 Jakub Jelinek <jakub@redhat.com> | |
20204 | ||
20205 | * config/ia64/linux.h (LINK_SPEC): Use /lib/ld-linux-ia64.so.1 | |
20206 | as the dynamic linker. | |
20207 | ||
20208 | 2000-05-01 Zack Weinberg <zack@wolery.cumb.org> | |
20209 | ||
20210 | * cppfiles.c (open_include_file): Open file in blocking mode. | |
20211 | (read_include_file): Don't fcntl(fd, F_SETFL, 0) anymore. | |
20212 | Only exclude block devices and directories. | |
20213 | ||
20214 | * cpphash.c (_cpp_make_hashnode): Rename make_HASHNODE, now | |
20215 | static. Allocate the hashnode and its string in the same | |
20216 | block of memory. | |
20217 | (del_HASHNODE): Don't free h->name. | |
20218 | (_cpp_lookup): If there is no entry for this string, create | |
20219 | one, of type T_VOID. | |
20220 | (_cpp_lookup_slot): Delete. | |
20221 | * cpphash.h: Update prototypes. | |
20222 | ||
20223 | * cpplex.c (maybe_macroexpand): Check for hp->type == T_VOID, | |
20224 | not hp == NULL. | |
20225 | * cpplib.c (do_define, do_undef, do_pragma_poison, do_assert, | |
20226 | do_unassert, cpp_defined): Use _cpp_lookup. Don't create a | |
20227 | node here, just fill in the value field properly. "Delete" | |
20228 | entries by setting the value field to T_VOID. Check for | |
20229 | hp->type == T_VOID, not hp == NULL. | |
20230 | ||
20231 | * Makefile.in (cpplib.o): Don't depend on $(HASHTAB_H). | |
20232 | * cpperror.c, cppexp.c, cpplex.c, cpplib.c: Don't include | |
20233 | hashtab.h. | |
20234 | ||
20235 | 2000-05-01 Alexandre Oliva <aoliva@cygnus.com> | |
20236 | ||
20237 | * config/mn10300/mn10300.c (print_operand_address): Do not add | |
20238 | zero to SP. | |
20239 | ||
20240 | * config/mn10300/mn10300.c (expand_epilogue): If SP is to be | |
20241 | adjusted by less than 256 bytes, use ret regardless of having any | |
20242 | callee-saved register to restore. | |
20243 | ||
20244 | 2000-05-01 Laurynas Biveinis <lauras@softhome.net> | |
20245 | ||
20246 | * tm.texi (TARGET_HAS_F_SETFLKW): Fix typo. | |
20247 | ||
20248 | 2000-05-01 Mark Elbrecht <snowball3@bigfoot.com> | |
20249 | ||
20250 | * config/i386/djgpp.h (INT_ASM_OP): Define. | |
20251 | (CPP_PREDEFINES): Rename MSDOS to __MSDOS__. | |
20252 | (ASM_WEAKEN_LABEL): Define. | |
20253 | (MASK_BNU210): Define. | |
20254 | (SUBTARGET_SWITCHES): Define. | |
20255 | (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Define. | |
20256 | (MAKE_DECL_ONE_ONLY): Define. | |
20257 | (UNIQUE_SECTION_P, UNIQUE_SECTION): Define. | |
20258 | ||
20259 | 2000-05-01 Mumit Khan <khan@xraylith.wisc.edu> | |
20260 | ||
20261 | * i386/cygwin.h (INT_ASM_OP): Define. | |
20262 | ||
20263 | Mon May 1 18:20:06 2000 Denis Chertykov <denisc@overta.ru> | |
20264 | ||
20265 | * config/avr/avr.c (address_cost): renamed to avr_address_cost. | |
20266 | * config/avr/avr.h (ADDRESS_COST): use avr_address_cost. | |
20267 | ||
20268 | Mon May 1 17:50:44 2000 Denis Chertykov <denisc@overta.ru> | |
20269 | ||
20270 | * config/avr/avr.c (asm_file_start): output 0 as r0 and 1 as r1 in | |
20271 | __tmp_reg__ and __zero_reg__ initialization. | |
20272 | ||
20273 | 2000-04-30 Richard Henderson <rth@cygnus.com> | |
20274 | ||
20275 | * flow.c (propagate_one_insn): Mark sets even when the insn is dead. | |
20276 | ||
20277 | * ifcvt.c (noce_process_if_block): Fail the conversion if X is | |
20278 | referenced bewteen the condition and the jump. Don't delete | |
20279 | anything but the jump. | |
20280 | ||
20281 | Sun Apr 30 22:48:24 2000 Jason Eckhardt <jle@cygnus.com> | |
20282 | ||
20283 | * bb-reorder.c (scope_def): New struct. | |
20284 | (scope_forest_info): New struct. | |
20285 | (struct reorder_block_def): New member "scope". | |
20286 | (REORDER_BLOCK_SCOPE): New macro. | |
20287 | (relate_bbs_with_scopes): New function and prototype. | |
20288 | (make_new_scope): Likewise. | |
20289 | (build_scope_forest): Likewise. | |
20290 | (remove_scope_notes): Likewise. | |
20291 | (insert_intra_1): Likewise. | |
20292 | (insert_intra_bb_scope_notes): Likewise. | |
20293 | (insert_inter_bb_scope_notes): Likewise. | |
20294 | (rebuild_scope_notes): Likewise. | |
20295 | (free_scope_forest_1): Likewise. | |
20296 | (free_scope_forest): Likewise. | |
20297 | (dump_scope_forest): Likewise. | |
20298 | (dump_scope_forest_1): Likewise. | |
20299 | (chain_reorder_blocks): Set REORDER_BLOCK_SCOPE for new block. | |
20300 | Update REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END for new | |
20301 | block. | |
20302 | (reorder_basic_blocks): Added calls to build_scope_scope_forest | |
20303 | and remove_scope_notes before reordering is done. Added calls to | |
20304 | rebuild_scope_notes, free_scope_forest, and reorder_blocks after | |
20305 | after reordering is done. | |
20306 | ||
20307 | 2000-40-30 Bruce Korb <bkorb@gnu.org> | |
20308 | ||
20309 | * fixinc/inclhack.def: Added definitions needed by OSR5, | |
20310 | removed two stale entries (defined away with OLD_CPP). | |
20311 | * fixinc/inclhack.sh: regen | |
20312 | * fixinc/fixincl.x: regen | |
20313 | ||
20314 | 2000-04-30 Richard Henderson <rth@cygnus.com> | |
20315 | ||
20316 | * ifcvt.c (dead_or_predicable): Manually squeeze non-movable notes | |
20317 | from the last insn in the sequence. | |
20318 | ||
20319 | 2000-04-30 Zack Weinberg <zack@wolery.cumb.org> | |
20320 | ||
20321 | * cpplex.c (cpp_idcmp): New function. | |
20322 | * cpplib.h: Prototype it. | |
20323 | * scan_decls.c (scan_decls): Use it to inspect token names. | |
20324 | * fix-header.c (read_scan_file): Likewise. Set system_header_p on | |
20325 | the file being run through the preprocessor. | |
20326 | (check_macro_names): Provide length of token to cpp_defined. | |
20327 | ||
20328 | * Makefile.in: Remove stale warning message. | |
20329 | ||
20330 | * cppfiles.c (redundant_include_p): Provide length of token to | |
20331 | cpp_defined. | |
20332 | * cpphash.c (_cpp_make_hashnode, _cpp_lookup_slot): Hash | |
20333 | values are unsigned int. | |
20334 | (_cpp_lookup, _cpp_lookup_slot): Do not calculate the length. | |
20335 | (_cpp_lookup_slot): Do not calculate the hash, either. | |
20336 | * cpphash.h: Update prototypes. | |
20337 | * cpplib.c (do_define, do_undef, do_pragma_poison, do_assert): | |
20338 | Hashes are unsigned int. Calculate hash here, pass by value | |
20339 | to _cpp_lookup_slot. | |
20340 | ||
20341 | 2000-04-30 Bernd Schmidt <bernds@cygnus.co.uk> | |
20342 | ||
20343 | * simplify-rtx.c (check_value_useless): Delete function. | |
20344 | (discard_useless_locs): Don't call it; manage N_USELES_VALUES counter | |
20345 | by hand. | |
20346 | (cselib_invalidate_regno): Likewise. | |
20347 | (cselib_invalidate_mem_1): Likewise. | |
20348 | (references_value_p): Recognize useless values by the fact that they | |
20349 | have no locations. | |
20350 | (discard_useless_values): Likewise. | |
20351 | (cselib_record_set): This may turn a useless value | |
20352 | into a useful one. | |
20353 | ||
20354 | 2000-04-30 Richard Henderson <rth@cygnus.com> | |
20355 | ||
20356 | * config/d30v: New port. | |
20357 | ||
20358 | * configure.in (d30v-*): Set fp format. | |
20359 | * configure: Rebuild. | |
20360 | ||
20361 | 2000-04-30 Richard Henderson <rth@cygnus.com> | |
20362 | ||
20363 | * ifcvt.c: New file. | |
20364 | * Makefile.in (OBJS): Add it. | |
20365 | (ifcvt.o): New target. | |
20366 | * jump.c (jump_optimize_1): Remove all code related to if-conversion, | |
20367 | and conditional arithmetic. | |
20368 | (find_insert_position): Remove. | |
20369 | * timevar.def (TV_IFCVT, TV_IFCVT2): New. | |
20370 | * toplev.c (DFI_ce, DFI_ce2): New. | |
20371 | (dump_file): Add ce and ce2 dumps. | |
20372 | (rest_of_compilation): Run if_convert a couple o times. Set | |
20373 | cse_not_expected after cse2. Don't set no_new_pseudos until | |
20374 | after sched1 or recompute_reg_usage. | |
20375 | ||
20376 | 2000-04-30 Richard Henderson <rth@cygnus.com> | |
20377 | ||
20378 | * config/alpha/t-crtbe (crtbegin.o): Add "-I.". | |
20379 | (crtend.o, crtbeginS.o, crtendS.o): Likewise. | |
20380 | ||
20381 | 2000-04-30 Richard Henderson <rth@cygnus.com> | |
20382 | ||
20383 | * flow.c (struct reg_cond_life_info): New. | |
20384 | (struct propagate_block_info): Add reg_cond_dead and reg_cond_reg. | |
20385 | (init_propagate_block_info): Initialize them. | |
20386 | (free_propagate_block_info): Destruct them. | |
20387 | (mark_set_1): Consider conditional life before killing a register. | |
20388 | (mark_regno_cond_dead): New. | |
20389 | (free_reg_cond_life_info): New. | |
20390 | (flush_reg_cond_reg_1, flush_reg_cond_reg): New. | |
20391 | (ior_reg_cond, not_reg_cond, nand_reg_cond): New. | |
20392 | (mark_used_reg): Record conditional life. | |
20393 | ||
20394 | * haifa-sched.c (schedule_insns): Disable death counting | |
20395 | sanity check for HAVE_conditional_execution. | |
20396 | ||
20397 | 2000-04-30 Richard Henderson <rth@cygnus.com> | |
20398 | ||
20399 | * Makefile.in (TIMEVAR_H): New. | |
20400 | (ggc-simple.o, ggc-page.o, toplev.o, timevar.o): Use it. | |
20401 | (timevar.h): Remove rule. | |
20402 | ||
20403 | 2000-04-29 Richard Henderson <rth@cygnus.com> | |
20404 | ||
20405 | * config/alpha/crtend.asm: Use C comments instead of #. | |
20406 | * config/alpha/crtbegin.asm: Likewise. Mark __dso_handle hidden. | |
20407 | ||
20408 | * config/alpha/elf.h (SELECT_SECTION): Treat CONSTRUCTOR like VAR_DECL. | |
20409 | ||
20410 | 2000-04-29 Zack Weinberg <zack@wolery.cumb.org> | |
20411 | ||
20412 | * cpphash.h (enum node_type: Take out T_MCONST. | |
20413 | (union hashval): Move into struct hashnode. | |
20414 | (struct hashnode): Pack tighter. Remove file, line, col | |
20415 | members. | |
20416 | * cpphash.c: Constify most of the macro-definition structures. | |
20417 | (struct definition): Replace by struct object_defn | |
20418 | and struct funct_defn. Put file, line, column information | |
20419 | here. All users updated to match. | |
20420 | (_cpp_create_definition, _cpp_macroexpand): Remove special | |
20421 | case for #define WORD OTHERWORD. | |
20422 | * cpplib.c (do_undef): Remove T_MCONST case. | |
20423 | ||
20424 | * cpphash.h: Move struct reflist, struct definition, and the | |
20425 | DEFINITION typedef to cpphash.c. Use 'struct definition *' in | |
20426 | union hashval. _cpp_free_definition takes a HASHNODE pointer. | |
20427 | * cpphash.c (_cpp_free_definition): Free data pointed to by | |
20428 | MCONST, XCONST, MACRO, and FMACRO nodes properly. | |
20429 | (_cpp_create_definition, del_HASHNODE): Just call | |
20430 | _cpp_free_definition to clear out a hashnode. | |
20431 | * cpplib.c (do_pragma_poison): Likewise. | |
20432 | ||
20433 | Sat Apr 29 12:25:17 2000 Alexandre Oliva <aoliva@cygnus.com> | |
20434 | ||
20435 | * config/mn10300/mn10300.h (FIRST_DATA_REGNUM, | |
20436 | LAST_DATA_REGNUM, FIRST_ADDRESS_REGNUM, LAST_ADDRESS_REGNUM, | |
20437 | FIRST_EXTENDED_REGNUM, LAST_EXTENDED_REGNUM): New macros. | |
20438 | (REGNO_SP_P): Redefine in terms of STACK_POINTER_REGNUM. | |
20439 | (REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_EXTENDED_P, | |
20440 | REGNO_AM33_P): Redefine in terms of the new macros. | |
20441 | (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise. | |
20442 | (FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, | |
20443 | STRUCT_VALUE): Likewise. | |
20444 | (STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM, | |
20445 | ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Likewise. Moved. | |
20446 | ||
20447 | Sat Apr 29 01:18:45 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
20448 | ||
20449 | * regmove.c (struct record_stack_memrefs_data): New. | |
20450 | (record_stack_memrefs): New function. | |
20451 | (combine_stack_adjustments_for_block): Use it. | |
20452 | ||
20453 | Sat Apr 29 01:15:27 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
20454 | ||
a1f300c0 | 20455 | * calls.c (calls_function_1): Properly handle TREE_LIST expressions; |
c30d43bf JL |
20456 | use special_function_p to detect alloca. |
20457 | ||
20458 | Fri Apr 28 16:30:33 2000 Marc Espie <espie@cvs.openbsd.org> | |
20459 | ||
20460 | * gcc.texi: Fixes for makeinfo 4.0 --html. | |
20461 | ||
20462 | 2000-04-28 Zack Weinberg <zack@wolery.cumb.org> | |
20463 | ||
20464 | * pcp.h: Delete file. | |
20465 | ||
20466 | 2000-04-28 Kazu Hirata <kazu@hxi.com> | |
20467 | ||
20468 | * h8300.c (function_epilogue): Clean up flags when the last insn | |
20469 | in a function is a barrier. | |
20470 | ||
20471 | 2000-04-28 Chris Demetriou <cgd@sibyte.com> | |
20472 | ||
20473 | * configure.in (sparc-hal-solaris2*): protect [] glob from | |
20474 | my expansion. | |
20475 | (mips*-*-ecoff*, mips*-*-elf*, mips*-*-*): use MASK_ defines | |
20476 | rather than hard-coded constants in target_cpu_default2. | |
20477 | * configure: Regenerate. | |
20478 | ||
20479 | 2000-04-28 Jason Merrill <jason@casey.cygnus.com> | |
20480 | ||
20481 | * tree.c (get_callee_fndecl): Extract the initial value from | |
20482 | a readonly decl. | |
20483 | ||
20484 | 2000-04-28 Richard Henderson <rth@cygnus.com> | |
20485 | ||
20486 | * varasm.c (record_constant_1): Record the CODE_LABEL when | |
20487 | taking the address of a LABEL_REF. | |
20488 | ||
20489 | 2000-04-28 Richard Henderson <rth@cygnus.com> | |
20490 | Jan Hubicka <jh@suse.cz> | |
20491 | ||
20492 | * calls.c (combine_pending_stack_adjustment_and_call): Return the | |
20493 | adjustment; don't do the stack adjust. | |
20494 | (expand_call): Call compute_argument_block_size right before | |
20495 | allocating the block; update comment; don't do alignment sanity | |
20496 | checking for sibling call; use args_size instead of | |
20497 | unadjusted_args_size before args_size is adjusted. Use | |
20498 | combine_pending_stack_adjustment_and_call to compute stack adjust | |
20499 | for must_preallocate case. | |
20500 | ||
20501 | * expr.c (push_block): Remove shadow `temp' in inner scope. | |
20502 | ||
20503 | 2000-04-28 Jason Merrill <jason@casey.cygnus.com> | |
20504 | ||
20505 | * toplev.c (rest_of_compilation): Call | |
20506 | note_deferral_of_defined_inline_function even if the function | |
20507 | can't be inlined. | |
20508 | ||
20509 | 2000-04-28 Scott Bambrough <scottb@netwinder.org> | |
20510 | ||
20511 | * cpplex.c (_cpp_scan_line): Fix buffer overwrite. | |
20512 | ||
20513 | 2000-04-28 Richard Henderson <rth@cygnus.com> | |
20514 | ||
20515 | * toplev.c (rest_of_type_compilation): Fix sdb TIMEVAR typo. | |
20516 | ||
20517 | 2000-04-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
20518 | ||
20519 | * timevar.c (init_timevar): DeANSIfy function definition. | |
20520 | ||
20521 | 2000-04-27 Alex Samuel <samuel@codesourcery.com> | |
20522 | ||
20523 | * Makefile.in (timevar.o): Depend on flags.h. | |
20524 | * timevar.c (unused_stack_instances): New variable. | |
20525 | (timevar_push): Take a timevar_stack_def from | |
20526 | unused_stack_instances if available. | |
20527 | (timevar_pop): Push the popped timevar_stack_def onto | |
20528 | unused_stack_instances. | |
20529 | (TIMEVAR_ENABLE): New macro. | |
20530 | (timevar_def): Make standalone a 1-bit field. Add field used. | |
20531 | (get_time): Rename parameter to now. Return after clearing it if | |
20532 | not TIMEVAR_ENABLE. | |
20533 | (init_timevar): Do nothing if not TIMEVAR_ENABLE. | |
20534 | (timevar_pop): Likewise. | |
20535 | (timevar_stop): Likewise. | |
20536 | (timevar_push): Likewise. Mark the timing variable as used. | |
20537 | (timevar_start): Likewise. | |
20538 | (timevar_print): Do nothing if not TIMEVAR_ENABLE. Don't print | |
20539 | timevars that were never used. | |
20540 | ||
20541 | 2000-04-27 Mark Mitchell <mark@codesourcery.com> | |
20542 | ||
20543 | * c-common.c (c_apply_type_quals_to_decl): REFERENCE_TYPES are | |
20544 | always TREE_READONLY. | |
20545 | ||
20546 | 2000-04-27 Ulrich Drepper <drepper@cygnus.com> | |
20547 | ||
20548 | * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Generate mem reference | |
20f9202d | 20549 | for call instruction with mode QImode. |
c30d43bf JL |
20550 | |
20551 | 2000-04-27 Alex Samuel <samuel@codesourcery.com> | |
20552 | ||
20553 | * Makefile.in (OBJS): Add timevar.o. | |
20554 | (toplev.o): Depend on timevar.h. | |
20555 | (ggc-simple.o): Likewise. | |
20556 | (ggc-page.o): Likewise. | |
20557 | (timevar.o): New rule. | |
20558 | (timevar.h): New rule. | |
20559 | ||
20560 | * timevar.h: New file. | |
20561 | * timevar.c: Likewise. | |
20562 | * timevar.def: Likewise. | |
20563 | ||
20564 | * toplev.h (gc_time, parse_time, varconst_time): Remove. | |
20565 | * toplev.c: Use timevar_push and timevar_pop instead of TIMEVAR | |
20566 | throughout. | |
20567 | (TIMEVAR): Remove macro. | |
20568 | (gc_time, parse_time, varconst_time, integration_time, jump_time, | |
20569 | cse_time, gcse_time, loop_time, cse2_time, branch_prob_time, | |
20570 | flow_time, combine_time, regmove_time, sched_time, | |
20571 | local_alloc_time, global_alloc_time, flow2_time, peephole2_time, | |
20572 | sched2_time, dbr_sched_time, reorder_blocks_time, | |
20573 | rename_registers_time, shorten_branch_time, stack_reg_time, | |
20574 | to_ssa_time, from_ssa_time, final_time, symout_time, dump_time, | |
20575 | all_time): Remove. | |
20576 | (compile_file): Don't initialize time variables. Call | |
20577 | init_timevar and start TV_TOTAL timer. Call timevar_print instead | |
20578 | of many calls to print_time. | |
20579 | (rest_of_compilation): Add timing for reload_cse_regs. | |
20580 | (get_run_time): Removed to timevar.c. | |
20581 | (print_time): Likewise. | |
20582 | (get_run_time): Implement using TV_TOTAL time variable. | |
20583 | (print_time): Get total run time from get_run_time. | |
20584 | * ggc-page.c (ggc_collect): Push and pop TV_GC instead of | |
20585 | computing elapsed time explicitly. | |
20586 | * ggc-simple.c (ggc_collect): Likewise. | |
20587 | (gc_time): Remove declaration. | |
20588 | ||
20589 | 2000-04-27 Mark Mitchell <mark@codesourcery.com> | |
20590 | ||
20591 | * calls.c (combine_pending_stack_adjustment_and_call): New function. | |
20592 | (expand_call): Use it. | |
20593 | ||
20594 | 2000-04-27 Jan Hubicka <jh@suse.cz> | |
20595 | ||
20596 | * flow.c (mark_set_1): Handle MEMs in ZERO_EXTRACT/SIGN_EXTRACT | |
20597 | fields. | |
20598 | ||
20599 | Thu Apr 27 12:47:00 2000 Alexandre Oliva <aoliva@cygnus.com> | |
20600 | ||
20601 | * config/mn10300/mn10300.md (movhi): Simplify. Prefer data | |
20602 | registers. | |
20603 | ||
20604 | Thu Apr 27 17:33:05 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
20605 | ||
20606 | * function.c (epilogue_done): Pass whole insn to record_insns. | |
20607 | ||
20608 | Thu Apr 27 16:55:28 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
20609 | ||
20610 | * cse.c (CSE_ADDRESS_COST): Remove. | |
20611 | (find_best_addr): Add new parameter "MODE", use address_cost instead | |
20612 | of CSE_ADDRESS_COST | |
20613 | (address_cost): New. | |
20614 | (fold_rtx): Update call of find_best_addr. | |
20615 | * rtl.h (address_cost): Declare. | |
20616 | * loop.c (general_induction_var): Add new parameter "MODE", use | |
20617 | address_cost instead of ADDRESS_COST | |
20618 | (init_loop): Use address_cost instead of ADDRESS_COST. | |
20619 | (check_insn_for_givs): Update call of general_induction_var. | |
20620 | (find_mem_givs): Likewise. | |
20621 | (consec_sets_giv): Likewise. | |
20622 | * config/i386/i386.h (ADDRESS_COST): Call ix86_address_cost. | |
20623 | * i386.c (ix86_address_cost): New. | |
20624 | * i386-protos.h (ix86_address_cost): Declare. | |
20625 | ||
20626 | Thu Apr 27 11:45:16 2000 Alexandre Oliva <aoliva@cygnus.com> | |
20627 | ||
20628 | * config/mn10300/mn10300.md (movqi): Simplify. Prefer data | |
20629 | registers. | |
20630 | ||
20631 | Thu Apr 27 16:11:00 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
20632 | ||
20633 | * expr.c (store_expr): Use clear_storage instead of direct memset | |
20634 | libcall. | |
20635 | ||
20636 | Thu Apr 27 10:36:51 2000 Alexandre Oliva <aoliva@cygnus.com> | |
20637 | ||
20638 | * config/mn10300/mn10300.c (mn10300_address_cost): Test | |
20639 | ASHIFT, AND and LABEL_REF. | |
20640 | ||
20641 | Thu Apr 27 15:08:46 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
20642 | ||
20643 | * invoke.texi (-foptimize-sibling-calls): Fix. | |
20644 | ||
20645 | Thu Apr 27 14:54:22 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
20646 | ||
20647 | * loop.c (load_mems) Don't use hard registers for the hoisting. | |
20648 | ||
20649 | * unroll.c (unroll_loop): Avoid overflow in the n_iterations | |
20650 | calculation; rename const_equiv array in the preconditioning code | |
20651 | from loop_unroll to loop_unroll_precondition | |
20652 | ||
20653 | 2000-04-27 Richard Henderson <rth@cygnus.com> | |
20654 | ||
20655 | * flow.c (struct propagate_block_info): Remove new_dead, new_live; | |
20656 | add new_set. | |
20657 | (propagate_one_insn): Clear it. Don't update reg_live here. | |
20658 | (init_propagate_block_info): Update for pbi member changes. | |
20659 | (free_propagate_block_info): Likewise. | |
20660 | (mark_set_1): Know that zero_extract, sign_extract, and | |
20661 | strict_low_part don't kill their argument. Alter hard subregs. | |
20662 | Update new_set for non-CLOBBER sets. Update reg_live. | |
20663 | (find_auto_inc): Update reg_live, not new_dead. | |
20664 | (mark_used_reg): Update reg_live, not new_live. Examine new_set | |
20665 | to determine if the reg in question was set this insn. Only update | |
20666 | reg info with PROP_REG_INFO. | |
20667 | ||
20668 | 2000-04-26 Richard Henderson <rth@cygnus.com> | |
20669 | ||
20670 | * flow.c (allocate_reg_life_data): Set max_regno here ... | |
20671 | (life_analysis): ... not here. | |
20672 | ||
20673 | * flow.c (calculate_global_regs_live): Force stack pointer | |
20674 | live at end. | |
20675 | ||
20676 | 2000-04-26 Richard Henderson <rth@cygnus.com> | |
20677 | ||
20678 | * jump.c (redirect_exp_1): Rework from old redirect_exp. Never | |
20679 | commit change group changes. | |
20680 | (invert_exp_1): Similarly. | |
20681 | (redirect_exp, invert_exp): Use them. | |
20682 | (redirect_jump_1): New. | |
20683 | (invert_jump_1): New. | |
20684 | (jump_optimize_1): Remove code subsumed by condexec.c. | |
20685 | * rtl.h (invert_jump_1, redirect_jump_1): Declare. | |
20686 | ||
20687 | 2000-04-26 Richard Henderson <rth@cygnus.com> | |
20688 | ||
20689 | * rtlanal.c (dead_or_set_regno_p): Use find_regno_note. | |
20690 | ||
20691 | * genconfig.c (main): Set all HAVE_foo to 1. | |
20692 | ||
20693 | * graph.c (node_data): Use GET_NOTE_INSN_NAME instead of local array. | |
20694 | ||
20695 | 2000-04-26 Alex Samuel <samuel@codesourcery.com> | |
20696 | ||
20697 | * invoke.texi: Document -fssa flag. | |
20698 | ||
20699 | 2000-04-26 Richard Henderson <rth@cygnus.com> | |
20700 | ||
20701 | * flow.c (count_reg_sets_1): Remove. | |
20702 | (count_reg_sets, count_reg_references): Remove. | |
20703 | (recompute_reg_usage): Implement with update_life_info. | |
20704 | Reallocate life data. | |
20705 | ||
20706 | 2000-04-26 Richard Henderson <rth@cygnus.com> | |
20707 | ||
20708 | * flow.c (update_life_info): Consider blocks null to mean the | |
20709 | universal set. | |
20710 | (calculate_global_regs_live): Likewise. | |
20711 | (life_analysis): Do that instead of collecting all_blocks. | |
20712 | ||
20713 | 2000-04-26 Richard Henderson <rth@cygnus.com> | |
20714 | ||
20715 | * flow.c (tidy_fallthru_edge): Don't delete the jump when it's | |
20716 | a still-valid conditional jump. | |
20717 | ||
20718 | 2000-04-26 Richard Henderson <rth@cygnus.com> | |
20719 | ||
20720 | * jump.c (invert_jump): Always invert REG_BR_PROB. Do it correctly. | |
20721 | ||
20722 | * bb-reorder.c (reorder_basic_blocks): Don't run estimate_probability. | |
20723 | * flow.c (calculate_loop_depth): Remove. | |
20724 | * output.h (calculate_loop_depth): Don't declare. | |
20725 | * toplev.c (rest_of_compilation): Expand calculate_loop_depth | |
20726 | inline; run estimate_probability at the same time. | |
20727 | ||
20728 | 2000-04-26 Neil Booth <NeilB@earthling.net> | |
20729 | ||
20730 | * cpplib.h: "~=" is not a single pp-token. | |
20731 | * cpplex.c: Correct commentary. | |
20732 | ||
20733 | 2000-04-26 Richard Henderson <rth@cygnus.com> | |
20734 | ||
20735 | * flow.c (mark_set_1): New arguments code and flags; update all | |
20736 | callers. Track regno_first and regno_last; do HARD_REGNO_NREGS | |
20737 | test in one place. Tidy flags tests. Don't bias REG_N_REFS by | |
20738 | loop_depth when optimizing for size. Do new_dead update after | |
20739 | emitting REG_UNUSED notes. Merge mark_set_reg code. | |
20740 | (mark_set_reg): Remove. | |
20741 | (propagate_one_insn): Use mark_set_1 for call-clobbered registers; | |
20742 | arrange to not emit REG_UNUSED notes. | |
20743 | ||
20744 | 2000-04-26 Richard Henderson <rth@cygnus.com> | |
20745 | ||
20746 | * flow.c (find_auto_inc): Use pbi->bb instead of BLOCK_FOR_INSN. | |
20747 | * ssa.c (convert_from_ssa): Don't run compute_bb_for_insn. | |
20748 | ||
20749 | 2000-04-26 Richard Henderson <rth@cygnus.com> | |
20750 | ||
20751 | * flow.c (propagate_one_insn): Break out from propagate_block. | |
20752 | (init_propagate_block_info): Likewise. | |
20753 | (free_propagate_block_info): Likewise. | |
20754 | (propagate_block): Use them. Export. | |
20755 | * basic-block.h: Declare them all. | |
20756 | ||
20757 | 2000-04-26 Richard Henderson <rth@cygnus.com> | |
20758 | ||
20759 | * basic-block.h (life_analysis): Declare here ... | |
20760 | * output.h: ... not here. | |
20761 | * flow.c (life_analysis): Remove nregs parameter; replace | |
20762 | remove_dead_code with flags. Remove ssa dead code check. | |
20763 | Only init alias analysis if we'll use it. | |
20764 | * reg-stack.c (reg_to_stack): Update life_analysis arguments. | |
20765 | * ssa.c (convert_to_ssa): Likewise. | |
20766 | (convert_from_ssa): Likewise. | |
20767 | * toplev.c (rest_of_compilation): Likewise. | |
20768 | ||
20769 | 2000-04-26 Richard Henderson <rth@cygnus.com> | |
20770 | ||
20771 | * flow.c (flow_delete_block): Rename from delete_block. Export. | |
20772 | * basic-block.h (flow_delete_block): Declare. | |
20773 | ||
20774 | 2000-04-26 David S. Miller <davem@redhat.com> | |
20775 | ||
20776 | * optabs.c (emit_libcall_block): Verify insns with INSN_P before | |
20777 | taking a PATTERN of it. | |
20778 | ||
20779 | 2000-04-26 <NeilB@earthling.net> | |
20780 | ||
20781 | * cpplex.c (spell_other, spell_char): Remove. | |
20782 | (SPELL_CHAR): New. | |
20783 | (token_spelling, trigraph_map): Use unsigned chars. | |
20784 | (_cpp_lex_line): Tidy up the switch statement. | |
20785 | * cpplib.h: Implement spell_char with spell_string. | |
20786 | (C): New. | |
20787 | ||
20788 | 2000-04-26 <RodneyBrown@pmsc.com> | |
20789 | ||
20790 | * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Warning removal. | |
20791 | * pa/pa64-regs.h (HARD_REGNO_MODE_OK): Warning removal. | |
20792 | ||
20793 | 2000-04-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
20794 | ||
20795 | * dwarf2out.c (dw_cfi_oprnd_struct, dw_fde_struct, add_fde_cfi, | |
20796 | reg_save, dwarf2out_frame_debug_expr, dwarf2out_def_cfa, | |
20797 | dwarf2out_window_save, dwarf2out_args_size, dwarf2out_reg_save, | |
20798 | dwarf2out_return_save, dwarf2out_return_reg, | |
20799 | dwarf2out_stack_adjust, dwarf2out_frame_debug, primary_filename, | |
20800 | add_AT_lbl_id, add_AT_lbl_offset, type_tag, decl_start_label, | |
20801 | gen_compile_unit_die, dwarf2out_init): Constify a char*. | |
20802 | ||
20803 | * dwarf2out.h (dwarf2out_init): Likewise. | |
20804 | ||
20805 | * dwarfout.c (filename_entry, primary_filename, last_filename, | |
20806 | type_tag, output_compile_unit_die, dwarfout_init): Likewise. | |
20807 | ||
20808 | * tree.h (dwarf2out_def_cfa, dwarf2out_window_save, | |
20809 | dwarf2out_args_size, dwarf2out_reg_save, dwarf2out_return_save, | |
20810 | dwarf2out_return_reg): Likewise. | |
20811 | ||
20812 | 2000-04-26 Andreas Jaeger <aj@suse.de> | |
20813 | ||
20814 | * extend.texi (Function Attributes): Fix description of pure | |
20815 | attribute. | |
20816 | ||
20817 | 2000-04-26 Jason Merrill <jason@casey.cygnus.com> | |
20818 | ||
20819 | * integrate.c (output_inline_function): Do clear DECL_DEFER_OUTPUT | |
20820 | before calling rest_of_compilation. | |
20821 | ||
20822 | 2000-04-26 Andreas Jaeger <aj@suse.de> | |
20823 | ||
20824 | * config/mips/linux.h: Remove erroneous commit of #if 0/#endif in | |
20825 | last patch. | |
20826 | ||
20827 | 2000-04-25 Richard Henderson <rth@cygnus.com> | |
20828 | ||
20829 | * cse.c (cse_insn): Emit barrier after unconditional jump. | |
20830 | ||
20831 | * calls.c (expand_call): Disable tail call generation once | |
20832 | rtx_equal_function_value_matters is false. | |
20833 | ||
20834 | * reg-stack.c (convert_regs_1): Treat EDGE_ABNORMAL_CALL edges | |
20835 | like EDGE_EH edges. | |
20836 | ||
20837 | 2000-04-25 Jason Merrill <jason@casey.cygnus.com> | |
20838 | ||
20839 | * dwarf2out.c (add_bound_info): Don't crash on an unexpanded SAVE_EXPR. | |
20840 | ||
20841 | * dwarfout.c (output_decl): Ignore NAMESPACE_DECLs. | |
20842 | ||
20843 | * dwarf2out.c (gen_subprogram_die): The class-scope declaration DIE | |
20844 | is the primary DIE for a member function. | |
20845 | (gen_decl_die): Call set_decl_origin_self here. | |
20846 | * dwarfout.c (output_decl): And here. | |
20847 | * integrate.c (output_inline_function): Not here. | |
20848 | Don't clear DECL_INLINE until after calling rest_of_compilation. | |
20849 | (set_decl_origin_self): No longer static. | |
20850 | * tree.h: Add prototype. | |
20851 | * toplev.c (note_deferral_of_defined_inline_function): Only write | |
20852 | out abstract instance for actual inlines. | |
20853 | ||
20854 | 2000-04-25 Alexandre Oliva <aoliva@cygnus.com> | |
20855 | ||
20856 | * config/mn10300/mn10300.h (REG_CLASS_FROM_LETTER): Return | |
20857 | EXTENDED_REGS only if TARGET_AM33. | |
20858 | * config/mn10300/mn10300.md (movsi, addsi): Avoid exposing | |
20859 | SP_REGS to register allocation and reloading unless absolutely | |
20860 | necessary. | |
20861 | (movsi3): Remove special-case of adding non-constants to SP. | |
20862 | ||
20863 | 2000-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
20864 | ||
20865 | * aclocal.m4 (gcc_AC_NEED_DECLARATION): This macro now requires | |
20866 | INCLUDES to search and does not provide any of its own. Also it | |
20867 | now accepts optional ACTION-IF-NEEDED and ACTION-IF-NOT-NEEDED | |
20868 | parameters. Also it does not call AC_DEFINE. | |
20869 | (gcc_AC_NEED_DECLARATIONS): Likewise. Also this macro now calls | |
20870 | AC_DEFINE and provides for automatic entries for autoheader. | |
20871 | (gcc_AC_FUNC_PRINTF_PTR): Cleanup C code in test. | |
20872 | ||
20873 | * configure.in (gcc_AC_NEED_DECLARATIONS): Save and restore CFLAGS | |
20874 | so we can pass -I flags and include gansidecl.h/system.h in this | |
20875 | test. | |
20876 | ||
20877 | * acconfig.h: Delete all NEED_DECLARATION_* entries. | |
20878 | ||
20879 | 2000-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
20880 | ||
20881 | * acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING, | |
20882 | ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING, | |
20883 | ENABLE_GC_ALWAYS_COLLECT): Delete entries. | |
20884 | ||
20885 | * configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING, | |
20886 | ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING, | |
20887 | ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE | |
20888 | for these macros. Clean up spacing and linewraps. | |
20889 | ||
20890 | 2000-04-26 Jason Merrill <jason@casey.cygnus.com> | |
20891 | ||
20892 | * calls.c (expand_call): Use get_callee_fndecl. | |
20893 | ||
20894 | * print-tree.c (print_node): Print the chain of an _EXPR. | |
20895 | ||
20896 | Tue Apr 25 16:16:04 2000 Andrew MacLeod <amacleod@cygnus.com> | |
20897 | Jim Wilson <wilson@cygnus.com> | |
20898 | Andrew Haley <aph@cygnus.com> | |
20899 | ||
20900 | * config/ia64/crtbegin.asm: Add IA-64 unwind support. Correct alloc | |
20901 | and gp save/restore problems. | |
20902 | * config/ia64/crtend.asm: Add IA-64 unwind support. | |
20903 | * config/ia64/ia64.c (ia64_compute_frame_size): Don't include pr_size | |
20904 | in fr_pad_size calculation. | |
20905 | (save_restore_insns): Move PR save area. Correct uses of | |
20f9202d | 20906 | RTX_FRAME_RELATED_P. |
c30d43bf JL |
20907 | (ia64_expand_prologue): Mark alloc with RTX_FRAME_RELATED_P. |
20908 | (ia64_expand_epilogue): Add eh_epilogue support. | |
20909 | (ia64_function_prologue): Emit .prologue directive. | |
20910 | (ia64_init_machine_status, ia64_mark_machine_status): New functions. | |
20911 | (ia64_override_options): Set init_machine_status and | |
20912 | mark_machine_status. | |
20913 | (rtx_needs_barrier): Handle bsp reads and writes. | |
20914 | (spill_offset, sp_offset, spill_offset_emitted, tmp_reg, tmp_saved): | |
20915 | New static variables. | |
20916 | (process_set, process_for_unwind_directive): New functions. | |
20917 | * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR, ASM_OUTPUT_XDATA_SHORT, | |
20918 | ASM_OUTPUT_XDATA_INT, ASM_OUTPUT_XDATA_DOUBLE_INT, ASM_OUTPUT_EH_CHAR, | |
20919 | ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT, ASM_OUTPUT_EH_DOUBLE_INT): New | |
20920 | macros. | |
20921 | (EH_FRAME_SECTION_ASM_OP): Define to IA_64.unwind section. | |
20922 | (IA64_UNWIND_INFO, HANDLER_SECTION, IA64_UNWIND_EMIT): Define. | |
20923 | (struct machine_function): Define. | |
20924 | * config/ia64/ia64.md (bsp_value, set_bsp, eh_epilogue): New patterns. | |
20925 | ||
20926 | 2000-04-25 Bruce Korb <bkorb@gnu.org> | |
20927 | ||
20928 | * fixinc/Makefile.in: make the removal of old programs more | |
20929 | robust | |
20930 | * fixinc/mkfixinc.sh: use the two new targets in the Makefile: | |
20931 | install-bin and install-sh | |
20932 | ||
20933 | 2000-04-25 Nick Clifton <nickc@cygnus.com> | |
20934 | ||
20935 | * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): If not | |
20936 | defined, define to return zero. | |
20937 | (function_cannot_inline_p): If a function has any target | |
20938 | specific attributes, then use the macro | |
20939 | FUNCTION_ATTRIBUTE_INLINABLE_P to allow the target to decide | |
20940 | whether it can be inlined. If it cannot, issue a suitable | |
20941 | explanation. | |
20942 | ||
20943 | * tm.texi: Add a new node 'Inlining' to document the new macro | |
20944 | FUNCTION_ATTRIBUTE_INLINABLE_P. | |
20945 | ||
20946 | 2000-04-25 Zack Weinberg <zack@wolery.cumb.org> | |
20947 | ||
20948 | * cpplib.h (struct cpp_buffer): Add 'mapped' flag; fix | |
20949 | commentary. | |
20950 | ||
20951 | 2000-04-25 Neil Booth <NeilB@earthling.net> | |
20952 | ||
20953 | Restore previous patch, plus the following fixes: | |
20954 | ||
20955 | * cpphash.c (_cpp_create_definition): Test PREV_WHITESPACE in | |
20956 | flags, not CPP_OPEN_PAREN. | |
20957 | * cpplex.c (expand_token_space, init_token_list, | |
20958 | cpp_free_token_list): Put the dummy token at list->tokens[-1]. | |
20959 | (_cpp_lex_line, _cpp_lex_file): token list is 0-based. | |
20960 | ||
20961 | Tue Apr 25 14:06:40 2000 Alexandre Oliva <oliva@lsd.ic.unicamp.br> | |
20962 | ||
20963 | * config/i386/freebsd.h (INT_ASM_OP): Define. | |
20964 | ||
20965 | Tue Apr 25 14:51:07 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
20966 | ||
20967 | * loop.c (strength_reduce): Fix typo in the last checkin. | |
20968 | ||
20969 | Tue Apr 25 07:33:12 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
20970 | ||
20971 | * stor-layout.c (finalize_record_size): Simplify to use existing | |
20972 | functions. | |
20973 | (compute_record_mode): No longer static. | |
20974 | * tree.h (compute_record_mode): New declaration. | |
20975 | ||
20976 | 2000-04-25 Neil Booth <NeilB@earthling.net> | |
20977 | ||
20978 | * Revert my patch below until cause of build failures | |
20979 | determined. | |
20980 | ||
20981 | 2000-04-25 Richard Henderson <rth@cygnus.com> | |
20982 | ||
20983 | * combine.c (combine_instructions): Add missing argument | |
20984 | to try_combine. | |
20985 | ||
20986 | * toplev.c (rest_of_compilation): Delay sibcall optimization | |
20987 | until after emit_eh_context. | |
20988 | ||
20989 | 2000-04-24 Nick Clifton <nickc@redhat.com> | |
20990 | ||
20991 | * combine.c (combine_instructions): Do not try to combine a | |
20992 | sequence of insns when the second insn has been replaced by a | |
20993 | note. | |
20994 | ||
20995 | Mon Apr 24 17:34:18 2000 Mumit Khan <khan@xraylith.wisc.edu> | |
20996 | ||
20997 | * gcc.c (load_specs): New static function. | |
20998 | (read_specs): Use it. | |
20999 | ||
21000 | * gcc.c (lookup_compiler): Make multiple passes for case | |
21001 | insensitive filesystems. | |
21002 | ||
21003 | 2000-04-24 Neil Booth <NeilB@earthling.net> | |
21004 | ||
21005 | * cpphash.c: replace HSPACE_BEFORE with PREV_WHITESPACE. | |
21006 | * cpphash.h (_cpp_check_directive): new. | |
21007 | * cpplex.c (handle_newline, cpp_free_token_list, | |
21008 | init_trigraph_map, trigraph_ok, trigraph_replace, | |
21009 | backslash_start, skip_block_comment, skip_line_comment, | |
21010 | skip_whitespace, parse_name, parse_number, parse_string, | |
21011 | copy_comment, _cpp_lex_line, spell_char, spell_string, | |
21012 | spell_comment, spell_name, spell_other, _cpp_lex_file, | |
21013 | _cpp_output_list): new. | |
21014 | (expand_name_space): take length argument. | |
21015 | (init_token_list): add comment list initialisation. | |
21016 | (cpp_scan_line): use auto_expand_name_space. PREV_WHITESPACE | |
21017 | instead of HSPACE_BEFORE. | |
21018 | ||
21019 | * cpplib.c (_cpp_check_directive): new | |
21020 | * cpplib.h (cpp_name, PREV_WHITESPACE, PREV_COMMENT, | |
21021 | DIGRAPH, UNSIGNED_INT, TOK_NAME): new. | |
21022 | (HSPACE_BEFORE): delete. | |
21023 | (TTYPE_TABLE): rearrange. | |
21024 | (struct cpp_toklist): update. | |
21025 | ||
21026 | 2000-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
21027 | ||
21028 | * aclocal.m4 (gcc_AC_HEADER_STRING, gcc_AC_FUNC_PRINTF_PTR, | |
21029 | gcc_AC_C_VOLATILE, gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG): Use the three | |
21030 | argument form of AC_DEFINE. | |
21031 | ||
21032 | * configure.in (DEFAULT_LINKER, DEFAULT_ASSEMBLER, | |
21033 | HAVE_INTTYPES_H, PACKAGE, VERSION, ENABLE_WIN32_REGISTRY, | |
21034 | WIN32_REGISTRY_KEY, HAVE_GAS_SUBSECTION_ORDERING, HAVE_GAS_WEAK, | |
21035 | HAVE_GAS_HIDDEN, HAVE_AS_REGISTER_PSEUDO_OP, AS_SPARC64_FLAG, | |
21036 | HAVE_AS_OFFSETABLE_LO10, ENABLE_NEW_GXX_ABI): Likewise. | |
21037 | ||
21038 | * acconfig.h: Delete stubs made redundant by 3-arg AC_DEFINE. | |
21039 | ||
21040 | 2000-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
21041 | ||
21042 | * Makefile.in (GCC_FOR_TARGET, GCC_CFLAGS, LIBGCC2_INCLUDES, | |
21043 | deduced.h): Use -isystem, not -I, for including system headers. | |
21044 | ||
21045 | 2000-04-24 Nick Clifton <nickc@cygnus.com> | |
21046 | ||
21047 | * config/fr30/fr30.md (addsi3): Do not use small add instruction if | |
21048 | the source register is the frame pointer or arg pointer. | |
21049 | (addsi3_small_int): Disallow if source register is the frame | |
21050 | pointer or arg pointer. | |
21051 | ||
21052 | 2000-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
21053 | ||
21054 | * configure.in (ENUM_BITFIELDS_ARE_UNSIGNED): Delete redundant | |
21055 | call to AC_MSG_RESULT. | |
21056 | ||
719bb4e3 | 21057 | 2000-04-24 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
c30d43bf JL |
21058 | |
21059 | * invoke.texi: Correct grammatical errors, document | |
21060 | -fno-gnu-keywords as identical to -fno-asm for C++. | |
21061 | ||
21062 | 2000-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
21063 | ||
21064 | * aclocal.m4: (GCC_HEADER_STRING, GCC_NEED_DECLARATION, | |
21065 | GCC_NEED_DECLARATIONS, GCC_FUNC_VFPRINTF_DOPRNT, | |
21066 | GCC_FUNC_PRINTF_PTR, GCC_PROG_LN_S, GCC_PROG_LN, GCC_C_VOLATILE, | |
21067 | AC_GCC_C_LONG_DOUBLE, GCC_FUNC_MKDIR_TAKES_ONE_ARG, | |
21068 | EGCS_PROG_INSTALL): Rename autoconf macros with prefix gcc_AC_. | |
21069 | ||
21070 | * configure.in (AC_GCC_C_LONG_DOUBLE, GCC_PROG_LN, GCC_PROG_LN_S, | |
21071 | GCC_C_VOLATILE, EGCS_PROG_INSTALL, GCC_HEADER_STRING, | |
21072 | GCC_FUNC_VFPRINTF_DOPRNT, GCC_FUNC_PRINTF_PTR, | |
21073 | GCC_NEED_DECLARATIONS, GCC_FUNC_MKDIR_TAKES_ONE_ARG): Invoke with | |
21074 | new macros names. | |
21075 | ||
21076 | 2000-04-24 Mumit Khan <khan@xraylith.wisc.edu> | |
21077 | ||
21078 | * c-pragma.c (push_alignment): Use BITS_PER_UNIT macro. | |
21079 | (pop_alignment): Likewise. | |
21080 | (handle_pragma_token): Likewise. | |
21081 | ||
21082 | 2000-04-24 Robert Lipe <robertlipe@usa.net> | |
21083 | ||
21084 | * tree.h (tree_decl): Member `mode' now ENUM_BITFIELD. | |
21085 | ||
21086 | 2000-04-24 Hiroyuki Machida <machida@sm.sony.co.jp> | |
21087 | ||
21088 | * combine.c (try_combine): Update reg_nonzero_bits of | |
21089 | newi2pat before newpat. | |
21090 | ||
21091 | Mon Apr 24 10:19:48 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
21092 | ||
21093 | * loop.c (strength_reduce): Simplify test to INSN_P. | |
21094 | (record_giv): Attempt to simplify the add value, use CONSTANT_P | |
21095 | expressions instead of CONST_INT. | |
21096 | (express_from_1): Likewise. | |
21097 | ||
21098 | 2000-04-24 Mark Mitchell <mark@codesourcery.com> | |
21099 | ||
21100 | * regs.h (reg_n_max): Don't declare. | |
21101 | * flow.c (reg_n_max): Don't define. | |
21102 | * regclass.c (renumber): Don't initialize to zero. | |
21103 | (regno_allocated): Likewise. | |
21104 | (reg_n_max): Define. | |
21105 | (allocate_reg_info): Don't initialize unnecessarily. | |
21106 | ||
21107 | Mon Apr 24 00:21:36 2000 Jeffrey A Law (law@cygnus.com) | |
21108 | ||
21109 | * genattrtab.c (find_attr): Initialize unsigned_p, func_units_p | |
21110 | and blockage_p in the newly allocated attribute. | |
21111 | ||
21112 | Sun Apr 23 20:16:49 2000 Alexandre Oliva <aoliva@cygnus.com> | |
21113 | ||
21114 | * config/mn10300/mn10300.md (addsi): `inc4' on address | |
21115 | registers does not modify cc, but `inc' on an extended | |
21116 | register does. | |
21117 | ||
21118 | Sun Apr 23 16:24:35 2000 Denis Chertykov <denisc@overta.ru> | |
21119 | ||
21120 | * reload.c (find_equiv_reg): Checks all valueno regs | |
21121 | as a reload_reg_p regs. | |
21122 | ||
21123 | 2000-04-23 Zack Weinberg <zack@wolery.cumb.org> | |
21124 | ||
21125 | * cpphash.c (collect_objlike_expansion): Add sanity check. | |
21126 | (special_symbol): Remove case T_CONST, T_XCONST, T_MCONST. If | |
21127 | the buffer is the empty string, return. Mark __DATE__ and | |
21128 | __TIME__ as XCONST nodes, not MCONST. | |
21129 | (_cpp_macroexpand): Avoid pushing an empty buffer. | |
21130 | (funlike_macroexpand): Don't pop token_buffer here. | |
21131 | ||
21132 | Sun Apr 23 18:37:53 2000 Alexandre Oliva <aoliva@cygnus.com> | |
21133 | ||
21134 | * config/mn10300/mn10300.h (REGNO_IN_RANGE_P): New macro. | |
21135 | (REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_SP_P): New macros. | |
21136 | (REGNO_EXTENDED_P, REGNO_AM33_P): New macros. | |
21137 | (REGNO_OK_FOR_BASE_P): Define in terms of them. | |
21138 | (REGNO_OK_FOR_BIT_BASE_P, REGNO_OK_FOR_INDEX_P): Likewise. | |
21139 | (REG_OK_FOR_BASE_P): Define in terms of the REGNO macro. | |
21140 | (REG_OK_FOR_BIT_BASE_P, REG_OK_FOR_INDEX_P): Likewise. | |
21141 | ||
21142 | Sun Apr 23 22:23:08 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
21143 | ||
21144 | * loop.c (simplify_giv_expr): Be more agressive on simplifying | |
21145 | constant MULT givs. | |
21146 | ||
21147 | 2000-04-23 Zack Weinberg <zack@wolery.cumb.org> | |
21148 | ||
21149 | * cpphash.h (struct definition): Move file, line, col members... | |
21150 | (struct hashnode): ... here. Also add 'disabled' flag. | |
21151 | (enum node_type): Add T_VOID, T_XCONST, T_FMACRO, and | |
21152 | T_IDENTITY. Remove T_DISABLED. | |
21153 | Update prototypes. | |
21154 | ||
21155 | * cpphash.c (_cpp_dump_definition): Split out dump_DEFINITION. | |
21156 | (collect_expansion): Split into collect_objlike_expansion and | |
21157 | collect_funlike_expansion. | |
21158 | (_cpp_macroexpand): Split out scan_arguments, stringify, and | |
21159 | funlike_macroexpand. | |
21160 | (_cpp_compare_defs): Rename compare_defs, make static. | |
21161 | (_cpp_make_hashnode): Initialize hp->disabled. | |
21162 | (macro_cleanup): Adjust for new token types. Clear | |
21163 | m->disabled. | |
21164 | (_cpp_create_definition): Move code here to determine what | |
21165 | sort of macro it is, and code to check for redefinitions, from | |
21166 | do_define. Implement a few simple cases without creating a | |
21167 | full DEFINITION. | |
21168 | (_cpp_macroexpand, special_symbol, _cpp_dump_definition): | |
21169 | Handle the simple cases. | |
21170 | (push_macro_expansion): Set buf->has_escapes and hp->disabled | |
21171 | here. | |
21172 | ||
21173 | * cppinit.c (builtin_array): Change MCONST to XCONST | |
21174 | everywhere. | |
21175 | * cpplex.c (maybe_macroexpand): Handle IDENTITY macros here; | |
21176 | fix check for disabled and function-like macros. | |
21177 | * cpplib.c (do_define): Move most logic to | |
21178 | _cpp_create_definition. | |
21179 | (do_undef): Handle new special token types. | |
21180 | ||
21181 | Sun Apr 23 14:27:44 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
21182 | ||
21183 | * loop.c (maybe_eliminate_biv_1): Use GET_CODE (x) == CONST_INT instead | |
21184 | of CONSTANT_P for mult_val; always use validate_change to update insn. | |
21185 | ||
21186 | 2000-04-22 Zack Weinberg <zack@wolery.cumb.org> | |
21187 | ||
21188 | * cpphash.c (trad_stringify, add_pat): New functions. | |
21189 | (collect_expansion): Restore support for -traditional syntax. | |
21190 | Use trad_stringify and add_pat. | |
21191 | (_cpp_macroexpand): Restore support for -traditional semantics. | |
21192 | * cpplex.c (_cpp_scan_line): Don't change space_before if we | |
21193 | get a COMMENT token. | |
21194 | (_cpp_lex_token): Provide COMMENT tokens to caller if | |
21195 | traditional and parsing_define_directive. | |
21196 | (skip_comment): Warn about // comments if -Wtraditional. | |
21197 | * cpplib.c (do_define): Fix typo. Create EMPTY nodes with | |
21198 | proper node type. | |
21199 | (do_undef): Don't warn about undefining EMPTY nodes. | |
21200 | ||
21201 | Sat Apr 22 22:35:38 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
21202 | ||
21203 | * loop.c (strength_reduce): Fix biv removal code. | |
21204 | ||
21205 | 2000-04-22 Richard Henderson <rth@cygnus.com> | |
21206 | ||
21207 | * predict.c (estimate_probability): Examine both sides of | |
21208 | a branch for no exits. Use 90% not 50% for predict taken. | |
21209 | Reorg for one copy of note generation code. | |
21210 | ||
21211 | 2000-04-22 Richard Henderson <rth@cygnus.com> | |
21212 | ||
21213 | * flow.c (mark_used_reg): Hack around rs6000 eliminable pic reg. | |
21214 | ||
21215 | 2000-04-22 Richard Henderson <rth@cygnus.com> | |
21216 | ||
21217 | * diagnostic.c (init_output_buffer): Don't initialize format_args. | |
21218 | (output_clear): Likewise. | |
21219 | (output_printf): Use va_copy. | |
21220 | (vline_wrapper_message_with_location): Likewise. | |
21221 | (v_message_with_decl): Likewise. | |
21222 | (line_wrapper_printf): VA_START infor buffer.format_args directly. | |
21223 | * system.h (va_copy): Provide default implementation. | |
21224 | ||
21225 | 2000-04-22 Richard Henderson <rth@cygnus.com> | |
21226 | ||
21227 | * predict.c (expected_value_to_br_prob): Don't bomb if op1 of | |
21228 | the collected condition is not a constant. | |
21229 | ||
21230 | 2000-04-22 Gabriel Dos Reis <gdr@codesourcery.com> | |
21231 | ||
21232 | * diagnostic.h: New file. | |
21233 | ||
21234 | * Makefile.in (diagnostic.o): Depends on diagnostic.h | |
21235 | ||
21236 | * diagnostic.c: Tweak. Rationalize the output logic. Adjust | |
21237 | various function prototypes. | |
21238 | (diagnostic.h): #include. | |
21239 | (struct output_buffer): Move into diagnostic.h. | |
21240 | (get_output_prefix): Rename to output_get_prefix. Export. | |
eaec9b3d | 21241 | (init_output_buffer): Export. Break out. Adjust initialization. |
c30d43bf JL |
21242 | (output_space_left, output_append): Export. |
21243 | (output_newline): Rename to output_add_newline. Export. | |
21244 | (output_clear): Nullify additional output_buffer fields. | |
21245 | (output_puts): Rename to output_add_string. Export. | |
21246 | (dump_output): Rename to output_flush_on. Export. | |
21247 | (build_location_prefix): Constify return-type. | |
21248 | (emit_output_prefix): Rename to output_emit_prefix. Export. | |
21249 | (set_real_maximum_length): New function. | |
21250 | (output_set_maximum_length): Ditto | |
21251 | (output_clear): Ditto. | |
21252 | (output_add_character): Ditto. | |
21253 | (output_add_integer): Ditto. | |
21254 | (output_add_space): Ditto. | |
21255 | (output_format): Ditto. | |
21256 | (output_printf): Adjust buffer initialization. | |
21257 | (vline_wrapper_message_with_location): Ditto. | |
21258 | (v_message_with_decl): Ditto. Adjust call to output_puts | |
21259 | and get_output_prefix. | |
eaec9b3d | 21260 | (default_print_error_function): Adjust buffer initialization. |
c30d43bf JL |
21261 | |
21262 | Sat Apr 22 06:45:04 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
21263 | ||
21264 | * expr.c (preexpand_calls, case CALL_EXPR): Don't look at TYPE_SIZE | |
21265 | of VOID_TYPE. | |
21266 | ||
21267 | Fri Apr 21 18:33:09 2000 Alexandre Oliva <aoliva@cygnus.com> | |
21268 | ||
21269 | * config/mn10300/mn10300.h (REGNO_REG_CLASS): Use NO_REGS instead | |
21270 | of explicit 0. | |
21271 | ||
21272 | Fri Apr 21 18:30:00 2000 Alexandre Oliva <aoliva@cygnus.com> | |
21273 | ||
21274 | * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Provide more | |
21275 | accurate data about SP moves. | |
21276 | ||
21277 | Fri Apr 21 18:28:28 2000 Alexandre Oliva <aoliva@cygnus.com> | |
21278 | ||
21279 | * config/mn10300/mn10300.h (ADDITIONAL_REGISTER_NAMES): Added | |
21280 | aliases to AM33 registers. | |
21281 | ||
21282 | Fri Apr 21 18:26:17 2000 Alexandre Oliva <aoliva@cygnus.com> | |
21283 | ||
21284 | * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Added register 16 | |
21285 | to all EXTENDED bitmaps. | |
21286 | ||
21287 | Fri Apr 21 18:17:12 2000 Alexandre Oliva <aoliva@cygnus.com> | |
21288 | ||
21289 | * config/mn10300/mn10300-protos.h (mn10300_address_cost): Declare. | |
21290 | * config/mn10300/mn10300.h (ADDRESS_COST): New macro. | |
21291 | * config/mn10300/mn10300.c (mn10300_address_cost): New function. | |
21292 | ||
21293 | Fri Apr 21 18:11:56 2000 Alexandre Oliva <aoliva@cygnus.com> | |
21294 | ||
21295 | * config/mn10300/mn10300.md (movdi, movdf): Do not use `movu' when | |
21296 | the operand is not constant. | |
21297 | ||
21298 | Fri Apr 21 14:58:29 2000 Denis Chertykov <denisc@overta.ru> | |
21299 | ||
21300 | * reload.c (find_equiv_reg): Checks all valueno and regno regs | |
21301 | as a call-clobbered regs. | |
21302 | ||
21303 | Fri Apr 21 13:30:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
21304 | ||
21305 | * rtl.c: Use NOTE_INSN_REPEATED_LINE_NUMBER and NOTE_INSN_RANGE_BEG. | |
21306 | * rtl.h: Likewise. | |
21307 | * rtl.def: Update comment. | |
21308 | * function.c (expand_function): Use NOTE_INSN_REPEATED_LINE_NUMBER. | |
21309 | * integrate.c (expand_inline_function): Likewise. | |
21310 | * profile.c (branch_prob): Likewise. | |
21311 | * ggc-common.c (ggc_mark_rtx_children): Use NOTE_INSN_RANGE_BEG. | |
21312 | * print-rtl.c (print_rtx): Likewise. | |
21313 | * haifa-sched.c (sched_analyze, unlink_other_notes): Likewise. | |
21314 | (reemit_notes): Likewise; also use enum insn_note. | |
21315 | ||
21316 | * stor-layout.c (layout_decl): Only set DECL_MODE if not already set. | |
21317 | (place_field): Properly compute know and actual alignment. | |
21318 | ||
21319 | * gengenrtl.c (gencode): Write obstack_alloc_rtx function start | |
21320 | in proper format. | |
21321 | ||
21322 | * cse.c (cse_insn): In (set REG0 REG1) case, remove a REG_EQUAL | |
21323 | note for REG1. | |
21324 | ||
21325 | 2000-04-21 Zack Weinberg <zack@wolery.cumb.org> | |
21326 | ||
21327 | * cpphash.c (struct arg, struct arglist): Const-ify strings. | |
21328 | (warn_trad_stringify, duplicate_arg_p): New helper functions. | |
21329 | (collect_expansion): Rewrite to scan over a token list. | |
21330 | Remove -traditional support. | |
21331 | (collect_formal_parameters): Rename to collect_params; rewrite | |
21332 | to scan over a token list. | |
21333 | (_cpp_create_definition): Adjust to scan a token list. | |
21334 | (_cpp_macroexpand): Remove -traditional support. | |
21335 | (_cpp_compare_defs): Whitespace is now canonicalized. | |
21336 | (comp_def_part): Delete function. | |
21337 | ||
21338 | * cpphash.h: Update prototypes. | |
21339 | * cpplex.c (init_token_list): Don't set lineno if there is no | |
21340 | buffer. | |
21341 | (pedantic_whitespace): New function. | |
21342 | (_cpp_scan_line): Mark tokens that had hspace before. Don't | |
21343 | consume a newline. Use pedantic_whitespace. | |
21344 | (_cpp_lex_token): Remove support for -traditional macros. | |
21345 | (_cpp_get_define_token): Delete. | |
21346 | (_cpp_get_directive_token): Do the real work here. Use | |
21347 | pedantic_whitespace. | |
21348 | (_cpp_init_input_buffer): Initialize pfile->directbuf. | |
21349 | ||
21350 | * cpplib.c (get_macro_name): Delete. | |
21351 | (do_define): Read the entire line into pfile->directbuf, then | |
21352 | feed the token list to _cpp_create_definition. | |
21353 | * cpplib.h (HSPACE_BEFORE): new define. | |
21354 | (struct cpp_reader): Add a toklist member, "directbuf". | |
21355 | ||
21356 | * predict.c (estimate_probability): New heuristic: if a jump | |
21357 | branches around a block with no successors, predict it taken. | |
21358 | Disentangle control flow. | |
21359 | ||
21360 | 2000-04-20 Richard Henderson <rth@cygnus.com> | |
21361 | ||
21362 | * loop.c (emit_iv_add_mult): Revert last change. | |
21363 | ||
21364 | 2000-04-20 Zack Weinberg <zack@wolery.cumb.org> | |
21365 | ||
21366 | * cpplib.h (enum cpp_ttype): Add token types for all | |
21367 | punctuators. Distinguish pp-numbers from valid C numbers. | |
21368 | Give some tokens better names. Initialize from macro. | |
21369 | (struct cpp_name, cpp_token, cpp_toklist): New data | |
21370 | structures. | |
21371 | Update prototypes. | |
21372 | * cpplex.c (bump_column, expand_name_space, | |
21373 | expand_token_space, init_token_list, cpp_output_list, | |
21374 | _cpp_scan_line): New functions. | |
21375 | (output_line_command): Add third argument, new line number. | |
21376 | * cpphash.h: Update prototypes. | |
21377 | * cppexp.c, cpphash.c, cpplib.c, scan-decls.c: Update for new | |
21378 | token names. | |
21379 | ||
21380 | 2000-04-20 Richard Henderson <rth@cygnus.com> | |
21381 | ||
21382 | * config/alpha/alpha.c (alpha_emit_floatuns): Emit missing barrier. | |
21383 | ||
21384 | 2000-04-20 Zack Weinberg <zack@wolery.cumb.org> | |
21385 | ||
21386 | * c-common.c (decl_attributes) [A_ALIAS]: Set TREE_USED on the | |
21387 | object pointed to. | |
21388 | ||
21389 | Thu Apr 20 14:19:18 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
21390 | ||
21391 | * loop.c (emit_iv_add_mult): Simplify it's input and emit | |
21392 | REG_EQUAL note explaining the calculated value. | |
21393 | ||
21394 | * calls.c (expand_call): Avoid unnecesary precalculation | |
21395 | and outgoing parameters space guarding for sibling calls. | |
21396 | (store_one_arg): Likewise. | |
21397 | ||
21398 | Thu Apr 20 08:01:07 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
21399 | ||
21400 | * toplev.c (enum dump_file_index, dump_file): Add DFI_sibling. | |
21401 | (rest_of_compilation): Write sibling dump file and account | |
21402 | for time as jump time. | |
21403 | * invoke.texi: Update documentation on dump flags. | |
21404 | ||
21405 | 2000-04-19 Marek Michalkiewicz <marekm@linux.org.pl> | |
21406 | ||
21407 | * avr.c: #include "system.h" instead of <stdio.h> and <stdlib.h>. | |
21408 | ||
21409 | 2000-04-19 Zack Weinberg <zack@wolery.cumb.org> | |
21410 | ||
21411 | * cpphash.c (special_symbol): Represent an empty macro with | |
21412 | "\r \r " not just "\r ". | |
21413 | (_cpp_macroexpand): Correct condition for the foo ( ) special | |
21414 | case. | |
21415 | (unsafe_chars): Handle EOF as second argument. | |
21416 | (push_macro_expansion): Simplify test for removing escape at | |
21417 | end. Do not trim both escapes if there is no text in between. | |
21418 | ||
21419 | 2000-04-19 Jim Blandy <jimb@redhat.com> | |
21420 | ||
21421 | * dwarf2out.c (DWARF2_ADDR_SIZE): New macro. Use it instead | |
21422 | of PTR_SIZE, when appropriate. | |
21423 | ||
21424 | 2000-04-19 Mark Mitchell <mark@codesourcery.com> | |
21425 | ||
21426 | * system.h (ONLY_INT_FIELDS): Make sure it is defined. | |
21427 | (USE_ENUM_BITFIELDS): Fix typo. | |
21428 | ||
21429 | Wed Apr 19 12:14:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
21430 | ||
21431 | * stor-layout.c (place_field): Set rli->offset_align properly. | |
21432 | ||
21433 | 2000-04-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
21434 | ||
21435 | * mips.h (BITS_PER_WORD, UNITS_PER_WORD, UNITS_PER_FPREG, | |
21436 | INT_TYPE_SIZE, LONG_TYPE_SIZE, POINTER_SIZE, POINTER_BOUNDARY, | |
21437 | PARM_BOUNDARY): Remove unnecessary casts. | |
21438 | ||
21439 | Wed Apr 19 12:02:37 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
21440 | ||
21441 | * calls.c (precompute_arguments): Remove must_preallocate and | |
21442 | args_size calls. | |
21443 | (expand_call): Update call of precompute_arguments. | |
21444 | ||
21445 | * loop.c (check_insn_for_bivs, for_every_insn_in_loop, | |
21446 | check_insn_for_givs): Break out from ... | |
21447 | (strength_reduce) ... here; use for_every_insn_in_loop to call | |
21448 | check_insn_for_givs. | |
21449 | * loop.h (for_every_insn_in_loop): Declare. | |
21450 | (loop_insn_callback): New type. | |
21451 | ||
21452 | 2000-04-18 Zack Weinberg <zack@wolery.cumb.org> | |
21453 | ||
21454 | * cpplib.c (do_pragma_poison): Strings in the token buffer are | |
21455 | not nul-terminated. | |
21456 | ||
21457 | Tue Apr 18 16:04:12 2000 Jim Wilson <wilson@cygnus.com> | |
21458 | ||
21459 | * config/ia64/sysv4.h (SELECT_SECTION): Use data_section if | |
21460 | flag_pic and RELOC. | |
21461 | ||
21462 | 2000-04-18 Zack Weinberg <zack@wolery.cumb.org> | |
21463 | ||
21464 | * cccp.c, cexp.y, cexp.c, cccp.1: Removed. | |
21465 | ||
21466 | * configure.in: Delete --disable-cpplib option and all | |
21467 | references to cpp_main. | |
21468 | * configure: Regenerate. | |
21469 | * Makefile.in: Remove all references to CCCP, CCCP_OBJS, | |
21470 | @cpp_main@, cccp.c, cexp.c, cexp.y, cexp.output, cexp.o, | |
21471 | cccp.o, cccp, or cppmain. Link cppmain.o straight to | |
21472 | cpp$(exeext). Add --no-headers to makeinfo command line when | |
21473 | generating INSTALL. Install and uninstall cpp.1 manpage, not | |
21474 | cccp.1. | |
21475 | * install.texi: Delete all references to cexp.y/cexp.c. | |
21476 | Delete ancient instructions for compiling GCC on 3b1. | |
21477 | * INSTALL: Regenerate. | |
21478 | ||
21479 | * cppfiles.c, cpplib.h, jump.c, protoize.c, c-lex.c, mips/t-ecoff, | |
21480 | mips/t-elf, mips/t-r3900: Remove references to cccp.c. | |
21481 | * convex.h, fx80.h, m68k.h, pdp11.h: Remove references to | |
21482 | cexp.c/cexp.y. | |
21483 | * xm-linux.h, xm-os2.h, romp.h: Remove definition of BSTRING, | |
21484 | which is no longer tested anywhere. | |
21485 | ||
21486 | * cppinit.c (handle_option): Don't run error message through | |
21487 | gettext twice. | |
21488 | ||
21489 | Tue Apr 18 14:16:47 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
21490 | ||
21491 | * conflict.c (conflict_graph_add): Pass enum type to htab_find_slot. | |
21492 | * cpperror.c (hashtab.h): Now include. | |
21493 | * cppexp.c (hashtab.h): Likewise. | |
21494 | * cpplex.c (hashtab.h): Likewise. | |
21495 | * cppfiles.c (hashtab.h): Likewise. | |
21496 | (find_include_file, _cpp_calc_hash, cpp_read_file): Pass enum type | |
21497 | to htab_find_slot_with_hash. | |
21498 | * cpphash.c (hashtab.h): Now include. | |
21499 | (_cpp_lookup_slot): INSERT is now enum insert_option. | |
21500 | * cpphash.h (_cpp_lookup_slot): Likewise. | |
21501 | * cppinit.c (hashtab.h): Include earlier. | |
21502 | (initialize_builtins): Pass enum to htab_find_slot. | |
21503 | * cpplib.c (hashtab.h): Now include. | |
21504 | (do_define, do_undef): Pass enum type to _cpp_lookup_slot. | |
21505 | (do_pragma_poison, do_assert): Likewise. | |
21506 | * emit-rtl.c (gen_rtx_CONST_INT): Pass enum to | |
21507 | htab_find_slot_with_hash. | |
21508 | * simplify-rtx.c (cselib_lookup_mem, cselib_lookup): Likewise. | |
21509 | * tree.c (type_hash_add): Likewise. | |
21510 | (build1): Minor cleanup. | |
21511 | ||
21512 | * ggc-common.c: Add missing blanks. | |
21513 | * print-tree.c (print_node): Print DECL_OFFSET_ALIGN. | |
21514 | * tree.h (DECL_OFFSET_ALIGN): Fix typo in comment. | |
21515 | ||
21516 | * stmt.c (mark_case_node): New function. | |
21517 | (mark_case_nesting): Call it. | |
21518 | ||
21519 | * expmed.c (emit_store_flag): If comparing two-word integer | |
21520 | with zero, can optimize NE, EQ, GE, and LT. | |
21521 | ||
21522 | * c-decl.c (mark_binding_level): Use 'for' instead of `while'. | |
21523 | * conflict.c: Minor cleanups. | |
21524 | * optabs.c: Add blank line | |
21525 | * simplify-rtx.c: Minor cleanups. | |
21526 | ||
21527 | 2000-04-18 Stan Cox <scox@cygnus.com> | |
21528 | ||
21529 | * gengenrtl.c (genlegend): Fix misspelling. | |
21530 | ||
21531 | 2000-04-18 Robert Lipe <robertlipe@usa.net> | |
21532 | ||
21533 | * configure.in (ENUM_BITFIELDS_ARE_UNSIGNED): Added. Check that | |
21534 | bitfields of the host compiler are not signed quantities. | |
21535 | * config.in: Regenerate. | |
21536 | * configure: Regenerate. | |
21537 | * system.h (USE_ENUM_BITFIELDS): Added. | |
21538 | (ENUM_BITFIELDS): Added. | |
21539 | * rtl.h (rtx_def): Members `code', `mode', now ENUM_BITFIELD. | |
21540 | (SHORT_ENUM_BUG): Deleted. | |
21541 | * tree.h (tree_common): Members `code', `mode', `built_in_class', | |
21542 | now ENUM_BITFIELD. | |
21543 | * config/i386/xm-sco.h (ONLY_INT_FIELDS): Deleted. | |
21544 | (CODE_FIELD_BUG): Likewise. | |
21545 | * config/m68k/x-apollo68 (CC): Deleted SHORT_ENUM_BUG. | |
21546 | (OLD_CC): Likewise. | |
21547 | * config/m68k/x-ccur (X_CFLAGS): Likewise. | |
21548 | ||
21549 | 2000-04-18 Mark Mitchell <mark@codesourcery.com> | |
21550 | ||
21551 | * cpplex.c (_cpp_lex_token): Don't call CPP_BUMP_LINE when the | |
21552 | mark is active. | |
21553 | ||
21554 | 2000-04-17 Zack Weinberg <zack@wolery.cumb.org> | |
21555 | ||
21556 | * cppexp.c (lex): Don't assume tokens are NUL terminated. | |
21557 | * cpplib.c (do_include, do_import, do_include_next, | |
21558 | read_line_number, detect_if_not_defined): Likewise. | |
21559 | * cpphash.c (collect_expansion): Likewise. | |
21560 | (special_symbol, _cpp_macroexpand): Check return from | |
21561 | cpp_file_buffer. | |
21562 | * cpphash.h (CPP_NUL_TERMINATE, CPP_NUL_TERMINATE_Q): Delete | |
21563 | macros. Delete all uses. | |
21564 | ||
21565 | * gcc.dg/cpp-mi.c: Add two more test cases. | |
21566 | * gcc.dg/cpp-mind.h, gcc.dg/cpp-mindp.h: New files. | |
21567 | ||
21568 | 2000-04-17 Richard Henderson <rth@cygnus.com> | |
21569 | ||
21570 | * bb-reorder.c (fixup_reorder_chain): Don't look up new block again. | |
21571 | (reorder_basic_blocks): If no epilogue in rtl, force last block last. | |
21572 | ||
21573 | 2000-04-17 Mark Mitchell <mark@codesourcery.com> | |
21574 | ||
21575 | * function.c (expand_function_start): Use hard_function_value to | |
21576 | compute the RTL to use for DECL_RESULT. | |
21577 | ||
21578 | Mon Apr 17 23:35:29 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
21579 | ||
21580 | * i386.c (athlon_cost): Fix lea, divide and XFmode move costs. | |
21581 | (x86_integer_DFmode_moves, x86_partial_reg_dependency, | |
21582 | x86_memory_mismatch_stall): New global variables. | |
21583 | (ix86_adjust_cost): Handle MEMORY_BOTH on places MEMORY_STORE was only | |
21584 | alloved; fix load penalties for Athlon. | |
21585 | * i386.h (x86_integer_DFmode_moves, x86_partial_reg_dependency, | |
21586 | x86_memory_mismatch_stall): Declare. | |
21587 | (TARGET_INTEGER_DFMODE_MOVES, TARGET_PARTIAL_REG_DEPENDENCY, | |
21588 | TARGET_MEMORY_MISMATCH_STALL): New. | |
21589 | * i386.md (athlon scheduling parameters): Fix latencies according to | |
21590 | Athlon Optimization Manual. | |
21591 | (sahf, xchg, fldcw, leave instruction patterns): Set athlon_decode to | |
21592 | vector. | |
21593 | (fsqrt instruction patterns): Set athlon_decode to direct. | |
21594 | (movhi_1): Promote for TARGET_PARTIAL_REG_DEPENDENCY and for | |
21595 | PARTIAL_REGISTER_STALL with !TARGET_HIMODE_MATH machines. | |
21596 | (movqi_1): Handle promoting correctly for TARGET_PARTIAL_REG_DEPENDENCY | |
21597 | and TARGET_PARTIAL_REGISTER_STALL machines. | |
21598 | (pushdf_nointeger): New pattern. | |
21599 | (pushdf_integer): Rename from pushdf. | |
21600 | (movdf_nointger): Enable for !TARGET_INTEGER_DFMODE_MOVES machines. | |
21601 | (movdf_intger): Disable for !TARGET_INTEGER_DFMODE_MOVES machines. | |
21602 | ||
21603 | 2000-04-17 Richard Henderson <rth@cygnus.com> | |
21604 | ||
21605 | * loop.c (canonicalize_condition): Add WANT_REG argument. | |
21606 | Stop the search if we match it. | |
21607 | * expr.h (canonicalize_condition): Update decl. | |
21608 | * predict.c (expected_value_to_br_prob): Use it. Track last | |
21609 | expected value note. | |
21610 | (find_expected_value): Remove. | |
21611 | ||
21612 | * reorg.c (mostly_true_jump): Always use BR_PROB if present. | |
21613 | ||
21614 | 2000-04-17 Zack Weinberg <zack@wolery.cumb.org> | |
21615 | ||
21616 | * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE([AC_FUNC_MMAP]). | |
21617 | (AC_FUNC_MMAP_FILE): New macro, tests read-only private map of | |
21618 | a plain file. | |
21619 | * configure.in: Call AC_FUNC_MMAP_FILE. | |
21620 | * configure: Regenerate. | |
21621 | * config.in: Regenerate. | |
21622 | ||
21623 | * intl/loadmsgcat.c: Test HAVE_MMAP_FILE not HAVE_MMAP. | |
21624 | * fixinc/fixincl.c: Likewise. | |
21625 | ||
21626 | 2000-04-17 Richard Henderson <rth@cygnus.com> | |
21627 | ||
21628 | * builtins.c (expand_builtin_expect): New. | |
21629 | (expand_builtin): Call it. | |
21630 | * builtins.def (BUILT_IN_EXPECT): New. | |
21631 | * c-common.c (c_common_nodes_and_builtins): Declare __builtin_expect. | |
21632 | * extend.texi: Document it. | |
21633 | ||
21634 | * predict.c (expected_value_to_br_prob): New. | |
21635 | (find_expected_value): New. | |
21636 | * basic-block.h (expected_value_to_br_prob): Declare. | |
21637 | * toplev.c (rest_of_compilation): Invoke it. | |
21638 | ||
21639 | * rtl.h (NOTE_EXPECTED_VALUE): New. | |
21640 | (NOTE_INSN_EXPECTED_VALUE): New. | |
21641 | * rtl.c (note_insn_name): Update. | |
21642 | * print-rtl.c (print_rtx): Reorg NOTE_LINE_NUMBER special | |
21643 | cases; handle NOTE_INSN_EXPECTED_VALUE. | |
21644 | ||
21645 | 2000-04-17 Jakub Jelinek <jakub@redhat.com> | |
21646 | ||
21647 | * config/sparc/sparc.c (eligible_for_sibcall_delay): Cannot use | |
21648 | leaf sibcall delay slot if flag_pic. | |
21649 | (output_sibcall): Always emit call for leaf sibcall if flag_pic. | |
21650 | ||
21651 | 2000-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
21652 | ||
21653 | * Makefile.in (stmp-fixproto): Acknowledge errors in fixproto. | |
21654 | ||
21655 | * fixproto: If fix-header fails, exit with an error. | |
21656 | ||
21657 | Mon Apr 17 14:59:36 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
21658 | ||
eaec9b3d | 21659 | * cse.c (struct check_dependence_data): New. |
c30d43bf JL |
21660 | (check_dependence): New function. |
21661 | (invalidate): Use check_depdenence. | |
21662 | ||
21663 | 2000-04-16 Mark Mitchell <mark@codesourcery.com> | |
21664 | ||
21665 | * dwarf2out.c (DWARF_CIE_DATA_ALIGNMENT): Adjust, now that | |
21666 | UNITS_PER_WORD is unsigned. | |
21667 | ||
21668 | * tree.h (struct tree_common): Remove misleading comment. | |
21669 | ||
21670 | 2000-04-16 Dave Pitts <dpitts@cozx.com> | |
21671 | ||
21672 | * Makefile.in ($(srcdir)/c-parse.y: c-parse.in): Enclose the whole | |
21673 | message in quotes. Otherwise, IBM's make program treats the '#' as the | |
21674 | start of a comment and ignores the remainder of the line. | |
21675 | ||
eaec9b3d | 21676 | * c-lex.c (yylex): Change for EBCDIC, lower case characters precede |
c30d43bf JL |
21677 | upper case. |
21678 | * cccp.c (initialize_char_syntax): Allow for holes in EBCDIC. | |
21679 | * cexp.y (initialize_random_junk): Likewise. | |
21680 | * cppfiles.c (find_include_file): Cast alloca return value. | |
21681 | * cppinit.c (initialize_standard_includes): Likewise. | |
21682 | * cpplib.c (cpp_define, cpp_undef): Likewise. | |
21683 | * defaults.h (ASM_OUTPUT_ASCII): Use ISPRINT. | |
21684 | * final.c (output_asm_insn): Allow for holes in EBCDIC. | |
21685 | * fold-const.c (CHARMASK): New. | |
21686 | (real_hex_to_f): Use it. | |
21687 | * real.c (CHARMASK): New. | |
21688 | (etoasc, asctoeg): Use it. | |
eaec9b3d | 21689 | (asctoeg): EBCDIC lower case characters precede upper case. |
c30d43bf JL |
21690 | |
21691 | * i370.c (mvs_add_label): Change spacing for coding conventions. | |
21692 | * i370.h (ASM_OUTPUT_CASE_LABEL): Change to the data CSECT for the | |
aa7f1eb1 | 21693 | outputting case vectors. |
c30d43bf JL |
21694 | (ASM_OUTPUT_CASE_END): New, put assembler back into code CSECT. |
21695 | (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Remove page check, | |
21696 | since vector in in the data CSECT. | |
21697 | (ASM_OUTPUT_REG_POP, ASM_OUTPUT_REG_PUSH): Restore to correct operation. | |
21698 | * i370.md (Many patterns): Put the length in the XL directives. | |
21699 | (movdi): Put back STM and MVC in definition. | |
21700 | (floatsidf2): Correct TARGET_ELF_ABI pattern and add back the LE370 | |
21701 | pattern using the TCA. | |
21702 | * oe.h (CPP_SPEC): Added to allow trigraphs. | |
21703 | * xm-oe.h (HOST_BITS_PER_LONGLONG): Change to 32. IBM's compiler does | |
21704 | not support the "long long" type. | |
21705 | ||
21706 | 2000-04-16 Mark Mitchell <mark@codesourcery.com> | |
21707 | ||
21708 | * config/mips/mips-protos.h (mips_legitimate_address_p): New | |
21709 | function. | |
21710 | (mips_reg_mode_ok_for_base_p): Likewise. | |
21711 | * config/mips/mips.h (REG_OK_STRICT_P): Don't define. | |
21712 | (REG_OK_FOR_INDEX_P): Define unconditionally. | |
21713 | (REG_MODE_OK_FOR_BASE_P): Use mips_reg_mode_ok_for_base_p. | |
21714 | (GO_IF_LEGITIMATE_ADDRESS): Use mips_legitimate_address_p. | |
21715 | * config/mips/mips.c (mips16_simple_memory_operand): Adjust now | |
21716 | that GET_MODE_SIZE is unsigned. | |
21717 | (mips_reg_mode_ok_for_base_p): Define. | |
21718 | (mips_legitimate_address_p): Likewise. Adjust now | |
21719 | that GET_MODE_SIZE is unsigned. | |
21720 | (block_move_loop): Make the number of bytes unsigned. | |
21721 | (expand_block_move): Likewise. | |
21722 | (function_arg): Make the loop counter unsigned to match the | |
21723 | boundary condition. | |
21724 | ||
21725 | 2000-04-16 Richard Henderson <rth@cygnus.com> | |
21726 | ||
21727 | * rtl.h (enum insn_note): New enumeration. Subsume | |
21728 | NOTE_INSN_DELETED and friends. | |
21729 | (GET_NOTE_INSN_NAME): Adjust index by NOTE_INSN_BIAS. | |
21730 | * rtl.c (note_insn_name): Tweak string order. | |
21731 | ||
21732 | 2000-04-15 Zack Weinberg <zack@wolery.cumb.org> | |
21733 | ||
21734 | * cpplex.c (_cpp_read_and_prescan): Enlarge len by setting it | |
21735 | to offset * 2. | |
21736 | ||
21737 | * cpplex.c (output_line_command): Remove debugging prints. | |
21738 | (cpp_output_tokens): Don't write out a zero-length buffer or | |
21739 | try to see if it has a newline in it. | |
21740 | (_cpp_expand_to_buffer): Copy the source buffer before pushing. | |
21741 | (_cpp_read_and_prescan): Move shift-down of pushback bytes to | |
21742 | the end of the loop. Use memmove. Don't read past the end of | |
21743 | the buffer. Remove trailing newlines from error messages. | |
21744 | ||
ad41bd84 | 21745 | 2000-04-16 Neil Booth <NeilB@earthling.net> |
c30d43bf JL |
21746 | |
21747 | * cpphash.h (SYNTAX_INCLUDE, SYNTAX_ASSERT, directive_handler): new. | |
21748 | * cpplib.c: Add new syntax flags to directive table, and | |
21749 | supporting macros. | |
21750 | ||
21751 | 2000-04-15 Ulrich Drepper <drepper@redhat.com> | |
21752 | ||
21753 | * i386.c (ix86_expand_epilogue): Yes, the x86 can pop 64k at once | |
21754 | using ret $N. | |
21755 | ||
21756 | 2000-04-15 David Edelsohn <edelsohn@gnu.org> | |
21757 | ||
21758 | * toplev.c (display_help): Prefix "f" to "sched-verbose=". | |
21759 | * haifa-sched.c: Update -fsched-verbose comments to use "=". | |
21760 | ||
21761 | Sat Apr 15 10:59:19 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
21762 | ||
21763 | * Makefile.in (ggc-page.o): Now includes toplev.h. | |
21764 | * ggc-page.c (toplev.h): Now included. | |
21765 | (gc_time): Remove declaration. | |
21766 | (ggc_collect): TIME now long. | |
21767 | * toplev.c (parse_time, varasm_time, gc_time): Still global; all | |
21768 | others static. | |
21769 | * toplev.h (gc_time, parse_time, gc_time): New declarations. | |
21770 | ||
21771 | * toplev.c: Make *_time variable long to reduce chance of overflow. | |
21772 | (TIMEVAR): Likewise for `otime'. | |
21773 | (print_time): Arg is now long; compute percentage in FP and round. | |
21774 | * toplev.h (print_time): Arg is long. | |
21775 | ||
21776 | * tree.c: Minor whitespace changes. | |
21777 | ||
21778 | * configure.in (alpha*-*-*): Add config/alpha/t-alpha. | |
21779 | * configure: Rebuilt. | |
21780 | * libgcc2.c (__fixunstfDI): Renamed from __fixunstfdi. | |
21781 | (__fixunsxfDI): Renamed from __fixunsxfdi. | |
21782 | (__fixunsdfDI): Renamed from __fixunsdfdi. | |
21783 | (__fixunssfDI): Renamed from __fixunssfdi. | |
21784 | (__floatdisf): Use proper type in REP_BIT macro. | |
21785 | (__fixunsxfSI): Renamed from __fixunsxfsi. | |
21786 | (__fixunsdfSI): Renamed from __fixunsdfsi. | |
21787 | (__fixunssfSI): Renamed from __fixunssfsi. | |
21788 | * libgcc2.h: Add cases for MIN_UNITS_PER_WORD > 4. | |
21789 | Change location of macros and upper-case some names as above. | |
21790 | * longlong.h ([alpha]): Use PARAMS, not __P in decl of __udiv__qrnnd. | |
21791 | * config/alpha/t-alpha, config/alpha/qrnnd.asm: New files. | |
21792 | ||
21793 | * varasm.c (assemble_variable): Add cast to remove warning. | |
21794 | (immed_real_const_1): Only use CONST[01]_RTX if not in nested function. | |
21795 | ||
21796 | * flow.c (count_basic_blocks, find_basic_blocks_1): Remove last change. | |
21797 | * optabs.c (emit_libcall_block): If have REG_EH_REGION, update | |
21798 | region number to -1. | |
21799 | ||
21800 | 2000-04-15 Richard Earnshaw (rearnsah@arm.com) | |
21801 | ||
21802 | * emit-rtl.c (unshare_all_rtl_again): Unmark everything, then | |
21803 | call unshare_all_rtl. | |
21804 | ||
21805 | * arm.md (movhi): REGNO_POINTER_ALIGN is now bits. | |
21806 | ||
21807 | Fri Apr 14 16:58:45 2000 Jim Wilson <wilson@cygnus.com> | |
21808 | ||
21809 | * config/ia64/lib1funcs.asm (__divdi3, __moddi3, __udivdi3, __umoddi3): | |
21810 | Use .s1 not .s0 for all FP instructions. | |
21811 | ||
21812 | 2000-04-14 Zack Weinberg <zack@wolery.cumb.org> | |
21813 | ||
21814 | * cpplex.c (cpp_output_tokens, cpp_scan_buffer_nooutput): New public | |
21815 | interfaces. | |
21816 | (safe_fwrite, output_line_command): New static functions. | |
21817 | (cpp_expand_to_buffer): Now private to cpplib. | |
21818 | (cpp_scan_buffer): Take a printer. | |
21819 | ||
21820 | * cpphash.h: Update prototypes. | |
21821 | * cpplib.h: Update prototypes. | |
21822 | (cpp_printer): New. | |
21823 | (cpp_buffer): Remove last_nominal_fname. | |
21824 | (cpp_reader): Remove lineno. | |
21825 | ||
21826 | * cppmain.c: Use a cpp_printer. | |
21827 | * fix-header.c: No need to inhibit line commands. Call | |
21828 | cpp_start_read with no printer. | |
21829 | ||
21830 | * cpperror.c (cpp_notice_from_errno): Provide default name. | |
21831 | * cppfiles.c (make_IHASH, _cpp_fake_ihash): New functions. | |
21832 | (find_include_file, cpp_read_file): Use make_IHASH. | |
21833 | (file_cleanup): Set control_macro and clear | |
21834 | input_stack_listing_current here. | |
21835 | (_cpp_execute_include): Don't output entering-file marker. | |
21836 | * cpphash.c (special_symbol): Look for the line number in the | |
21837 | buffer, not the reader. | |
21838 | (_cpp_macroexpand): No need to disable line commands. | |
21839 | (_cpp_dump_definition): No need to generate line commands. | |
21840 | (dump_hash_helper): Remove excess newline from output. | |
21841 | * cppinit.c (dump_special_to_buffer): No need to generate line | |
21842 | commands. | |
21843 | (cpp_printer_init): New. | |
21844 | (cpp_start_read): Take a printer, and start it up if it's not | |
21845 | NULL. No need to generate line commands. | |
21846 | (cpp_finish): Expect no buffers stacked at all. Take a | |
21847 | printer argument, and flush the output buffer if it's not | |
21848 | NULL. | |
21849 | * cpplex.c (_cpp_lex_token): Return EOF if there's no buffer. | |
21850 | Don't put two hashes at the beginning of an assertion. | |
21851 | (cpp_get_token): Don't increment pfile->lineno or emit line | |
21852 | commands here. Return EOF if there's no buffer when we get | |
21853 | EOF. | |
21854 | * cpplib.c (do_define, skip_if_group): | |
21855 | No need to disable line commands. | |
21856 | (_cpp_output_line_command): Delete function. | |
21857 | (do_line): Don't emit line commands here, but set things up so | |
21858 | they will be emitted if necessary. Use _cpp_fake_ihash to | |
21859 | make unique nominal_fnames if necessary. | |
21860 | (do_elif, do_else, _cpp_handle_eof): Call cpp_error_with_line | |
21861 | with 0 for column, not -1. | |
21862 | (_cpp_handle_eof): Don't set the control macro here. Don't | |
21863 | clear input_stack_listing_current here. Don't emit line | |
21864 | commands. | |
21865 | ||
21866 | 2000-04-14 Geoff Keating <geoffk@cygnus.com> | |
21867 | ||
21868 | * config/rs6000/sysv4.h (LINK_START_SOLARIS_SPEC): Define to empty | |
21869 | always, use the default SVR4 start address. | |
21870 | ||
21871 | * config/rs6000/linux.h (LINK_SPEC): Don't define. | |
21872 | (LINK_SHLIB_SPEC): Define. | |
21873 | (LINK_START_DEFAULT_SPEC): Define. | |
21874 | (LINK_OS_DEFAULT_SPEC): Define. | |
21875 | ||
21876 | * config/rs6000/sysv4.h (ENDFILE_SPEC): Use the %(endfile_*) macros. | |
21877 | ||
21878 | * config/rs6000/eabi.asm (__eabi): Call __init rather than | |
21879 | __do_global_ctors to handle constructors. | |
21880 | * config/rs6000/sysv4.h (STARTFILE_ADS_SPEC): Use crtbegin. | |
21881 | (STARTFILE_YELLOWKNIFE_SPEC): Likewise. | |
21882 | (STARTFILE_MVME_SPEC): Likewise. | |
21883 | (STARTFILE_SIM_SPEC): Likewise. | |
21884 | (ENDFILE_ADS_SPEC): Use crtend. | |
21885 | (ENDFILE_YELLOWKNIFE_SPEC): Likewise. | |
21886 | (ENDFILE_MVME_SPEC): Likewise. | |
21887 | (ENDFILE_SIM_SPEC): Likewise. | |
21888 | (STARTFILE_SOLARIS_SPEC): Use crtbegin/crtbeginS. | |
21889 | (ENDFILE_SOLARIS_SPEC): Use crtend/crtendS. | |
21890 | (STARTFILE_LINUX_SPEC): Use crtbeginS for shared objects. | |
21891 | (ENDFILE_LINUX_SPEC): Use crtendS for shared objects. | |
21892 | * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Don't build eabi-ctors.o. | |
21893 | (EXTRA_MULTILIB_PARTS): Build crtbeginS/crtendS. | |
21894 | (CRTSTUFF_T_CFLAGS_S): Define. | |
21895 | * config/rs6000/eabi-ctors.c: Delete. | |
21896 | ||
21897 | * config/rs6000/eabi-ci.asm (__init): Align stack to 16-byte | |
21898 | boundary. | |
21899 | (__fini): Likewise. | |
21900 | * config/rs6000/eabi-cn.asm (__init): Allow for 16-byte stack frame. | |
21901 | boundary. | |
21902 | (__fini): Likewise. | |
21903 | ||
21904 | Fri Apr 14 16:09:02 2000 Jim Wilson <wilson@cygnus.com> | |
21905 | ||
21906 | * combine.c (force_to_mode, case LSHIFTRT): Check that shift shift | |
21907 | plus mask size is smaller or equal to the mode size. | |
21908 | ||
21909 | Fri Apr 14 18:07:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
21910 | ||
21911 | * print-rtl.c (print_rtx, case NOTE): Don't blow up if NOTE_BASIC_BLOCK | |
21912 | not yet set. | |
21913 | ||
21914 | * expr.c (reload.h): Now included. | |
21915 | (emit_block_move): Set volatile_ok when checking for movstr. | |
21916 | (emit_move_1): Check for replacements in addresses in multi-word case. | |
21917 | * Makefile.in (expr.o): Now includes reload.h. | |
21918 | ||
21919 | * flow.c (count_basic_blocks): Remove unused var PREV_CALL. | |
21920 | Never have a LIBCALL end a basic block. | |
21921 | (find_basic_blocks_1): Likewise. | |
21922 | Reorganize CALL_INSN cases. | |
21923 | ||
21924 | * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Revert last change. | |
21925 | ||
21926 | Fri Apr 14 10:54:22 2000 Jim Wilson <wilson@cygnus.com> | |
21927 | ||
21928 | * config/ia64/lib1funcs.asm (__ia64_nonlocal_goto): Drop obsolete | |
21929 | completers from mov.ret instruction. | |
21930 | ||
21931 | 2000-04-14 Richard Henderson <rth@cygnus.com> | |
21932 | ||
21933 | * fold-const.c (extract_muldiv): Don't distribute and widen | |
21934 | multiply across plus for non-sizetype unsigned types. | |
21935 | ||
21936 | 2000-04-14 Richard Henderson <rth@cygnus.com> | |
21937 | ||
21938 | * flow.c (find_auto_inc): Don't autoinc eliminable registers. | |
21939 | If the original source is dead in the incr insn, it's dead now. | |
21940 | ||
21941 | Fri Apr 14 07:40:32 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
21942 | ||
21943 | * stor-layout.c (layout_decl): Properly compare KNOWN_ALIGN to | |
21944 | see if DECL_BIT_FIELD needs to still be set. | |
21945 | ||
21946 | * tree.h (struct tree_type): Make PRECISION 9 bits and MODE 7. | |
21947 | ||
21948 | * dbxout.c (dbxout_type, case INTEGER_TYPE): Don't call | |
21949 | print_int_cst_octal with something that's not an INTEGER_CST. | |
21950 | ||
21951 | * config/alpha/alpha.c (alpha_emit_floatuns): Ensure we pass a REG | |
21952 | and not a SUBREG to a FLOAT rtl. | |
21953 | ||
21954 | Thu Apr 13 19:39:56 2000 Clinton Popetz <cpopetz@cygnus.com> | |
21955 | ||
21956 | * emit-rtl.c (try_split): Avoid infinite loop if the split | |
21957 | results in a sequence that contains the original insn. | |
21958 | ||
21959 | 2000-04-13 Andreas Jaeger <aj@suse.de> | |
21960 | ||
21961 | * config/mips/mips.c (expand_block_move): Pass alignment | |
21962 | argument to move_by_pieces in bits, not bytes. | |
21963 | ||
21964 | * config/mips/linux.h (CPP_PREDEFINES): Also define __PIC__ and | |
21965 | __pic__ for little endian. | |
21966 | ||
21967 | 2000-04-13 Andreas Jaeger <aj@suse.de> | |
21968 | ||
21969 | * config/i386/i386-protos.h: Add prototype for | |
21970 | uno_comparison_operator. | |
21971 | ||
21972 | Thu Apr 13 15:55:08 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
21973 | ||
21974 | * alias.c (nonlocal_reference_p): Take care of CALL_INSNS's fusage. | |
21975 | * calls.c (ECF_PURE): New flag. | |
21976 | (emit_call_1): Handle ECF_PURE calls. | |
21977 | (initialize_argument_information): Unset ECF_PURE flag too. | |
21978 | (precompute_arguments): Precompute for ECF_PURE too. | |
21979 | (expand_call): Handle ECF_PURE calls too. | |
21980 | (emit_library_call_value_1): Rename no_queue argument to fn_type, | |
21981 | accept value of 2 as pure function. | |
21982 | (emit_library_call_value, emit_library_call): Rename no_queue argument | |
21983 | to fn_type. | |
21984 | * optabs.c (prepare_cmp_insn): Pass fn_type 2 to memcmp call. | |
21985 | ||
21986 | * tree.h (DECL_IS_PURE): New macro. | |
21987 | (struct tree_decl): Add pure_flag. | |
21988 | * c-common.c (enum attrs): Add attribute "pure". | |
21989 | (init_attributes): Initialize attribute "pure" | |
21990 | (decl_attributes): Handle attribute "pure". | |
21991 | * extend.texi (Attribute "pure"): Document. | |
21992 | * calls.c (expand_call): Add (mem:BLK (scratch)) to "equal from" | |
21993 | in pure function. | |
21994 | (flags_from_decl_or_type): Support attribute "pure". | |
21995 | ||
21996 | 2000-04-13 Jason Merrill <jason@casey.cygnus.com> | |
21997 | ||
21998 | * cpplex.c (_cpp_lex_token): Handle digraphs. Don't null-terminate | |
21999 | the token except for numbers and identifiers. | |
22000 | ||
22001 | Thu Apr 13 00:09:16 EDT 2000 John Wehle (john@feith.com) | |
22002 | ||
22003 | * i386.c (ix86_expand_binary_operator, | |
22004 | ix86_expand_unary_operator): Check no_new_pseudos | |
22005 | instead of reload_in_progress and reload_completed. | |
22006 | (ix86_split_ashldi, ix86_split_ashrdi, | |
22007 | ix86_split_lshrdi): Check no_new_pseudos instead | |
22008 | of reload_completed. | |
22009 | ||
22010 | 2000-04-12 Jeffrey A Law (law@cygnus.com) | |
22011 | ||
22012 | * function.c (purge_addressof): Unshare any shared rtl created by | |
22013 | purge_addressof and its children. | |
22014 | ||
22015 | 2000-04-12 Mark Mitchell <mark@codesourcery.com> | |
22016 | ||
22017 | * function.c (aggregate_value_p): VOID_TYPE nodes are never | |
22018 | aggregates. | |
22019 | ||
22020 | 2000-04-05 Andreas Jaeger <aj@suse.de> | |
22021 | ||
22022 | * config/mips/linux.h (SUBTARGET_ASM_SPEC): Use proper flags if | |
22023 | not compiling PIC code, add flags for mabi=64. | |
22024 | (SUBTARGET_CPP_SIZE_SPEC): New. | |
22025 | (SUBTARGET_CPP_SPEC): New. | |
22026 | (CPP_PREDEFINES): Define __PIC__ and __pic__. PIC code is default | |
22027 | for MIPS/Linux and lots of code needs these defines. | |
22028 | ||
22029 | Wed Apr 12 22:44:11 2000 Hans-Peter Nilsson <hp@axis.com> | |
22030 | ||
22031 | * reorg.c (fill_slots_from_thread): Check side_effects_p when | |
22032 | trying the "opposite arithmetic" approach. | |
22033 | ||
22034 | Wed Apr 12 20:51:20 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
22035 | ||
22036 | * sh.h (STRUCT_VALUE): Just 0 for TARGET_HITACHI. | |
22037 | (struct sh_args): Add new field force_mem. | |
22038 | (INIT_CUMULATIVE_ARGS): Initialize it. | |
22039 | (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Act on it. | |
22040 | ||
22041 | Wed Apr 12 17:20:41 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
22042 | ||
22043 | * calls.c (expand_call): Do not reverse args in "equal from" field. | |
22044 | (emit_library_call_value_1): Emit_libcall_block for const and pure | |
22045 | function. | |
22046 | ||
22047 | Wed Apr 12 16:00:25 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
22048 | ||
22049 | * reload1.c (reload_combine): Don't enable optimization for fixed | |
22050 | registers when encountering a BARRIER. | |
22051 | ||
22052 | Wed Apr 12 15:54:11 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
22053 | ||
22054 | * builtins.c (expand_builtin_memcmp): Do expansion even with | |
22055 | !HAVE_cmpstrsi, do libcall when gen_strcmpsi fails. | |
22056 | ||
22057 | * calls.c (expand_call): Do NO_DEFER_POP unconditionally once | |
a1f300c0 | 22058 | stack is properly aligned; add sanity checking for aligned |
c30d43bf JL |
22059 | stack pointer. |
22060 | (expand_library_call_value_1): Add sanity checking for aligned | |
22061 | stack pointer. | |
22062 | ||
22063 | Wed Apr 12 07:51:54 2000 Catherine Moore <clm@cygnus.com> | |
22064 | ||
22065 | * calls.c (emit_library_call_value_1): Change 3rd arg to | |
22066 | locate_and_pad_parm to disregard the setting of partial. | |
22067 | ||
22068 | Wed Apr 12 08:47:38 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
22069 | ||
22070 | * tree.c (unsave_expr_now_r, unsafe_for_reeval): Properly do TREE_LIST. | |
22071 | ||
22072 | * print-rtl.c (print_rtx): For CALL_PLACEHOLDER, output the | |
22073 | CALL_INSN from the normal case. | |
22074 | ||
22075 | Fri Apr 7 12:23:04 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
22076 | ||
22077 | * i386.c (x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8): | |
22078 | New global variables. | |
22079 | (ix86_emit_epilogue_adjustment): Do not attempt to use pop for the | |
22080 | adjustment. | |
22081 | * i386.h (x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8): | |
22082 | Declare, | |
22083 | (TARGET_SUB_ESP_4, TARGET_SUB_ESP_8, TARGET_ADD_ESP_4, | |
22084 | TARGET_ADD_ESP_8): New macros. | |
22085 | * i386.md: Add peep2s to convert esp adjustments to push and pop | |
22086 | instructions. | |
22087 | (pushsi_prologue, popsi_epilogue): New patterns. | |
22088 | ||
22089 | 2000-04-12 Jakub Jelinek <jakub@redhat.com> | |
22090 | ||
22091 | * real.c (toe64): Remove stale #endif from the last change. | |
22092 | ||
22093 | 2000-04-12 Stephen L Moshier <moshier@mediaone.net> | |
22094 | ||
22095 | * real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Comment. | |
22096 | * real.c (toe64): Revert previous change. | |
22097 | ||
22098 | 2000-04-12 Jakub Jelinek <jakub@redhat.com> | |
22099 | ||
22100 | * objc/objc-act.c: Include ggc.h. | |
22101 | (objc_tree_index, objc_global_trees): Convert most of the | |
22102 | static tree variables into a static array with previous names | |
22103 | as defines. | |
22104 | (objc_ellipsis_node): New variable. | |
22105 | (lang_init): Call objc_act_parse_init and c_parse_init. | |
22106 | Create objc_ellipsis_node. | |
22107 | (build_selector_translation_table): Use objc_ellipsis_node instead | |
22108 | of (tree)1. | |
22109 | (hack_method_prototype): Likewise. | |
22110 | (get_arg_type_list): Likewise. | |
22111 | (start_method_def): Likewise. | |
22112 | (continue_method_def): Likewise. | |
22113 | (gen_method_decl): Likewise. | |
22114 | (ggc_mark_imp_list): New function. | |
22115 | (ggc_mark_hash_table): New function. | |
22116 | (objc_act_parse_init): New function. | |
22117 | * objc/objc-act.h (objc_ellipsis_node): Add extern variable. | |
22118 | * c-parse.in (c_parse_init): For objc add roots of objc specific | |
22119 | local tree variables. | |
22120 | * objc/objc-parse.y: Rebuilt. | |
22121 | * objc/objc-parse.c: Rebuilt. | |
22122 | (opt_parm_list): Use objc_ellipsis_node instead of (tree)1. | |
22123 | ||
22124 | Wed Apr 12 01:00:44 EDT 2000 John Wehle (john@feith.com) | |
22125 | ||
22126 | * cse.c (delete_trivially_dead_insns): Also delete insns | |
22127 | that copy a register to itself where the destination is | |
22128 | a strict_low_part. | |
22129 | ||
22130 | 2000-04-11 Richard Henderson <rth@cygnus.com> | |
22131 | ||
22132 | * flow.c (struct propagate_block_info): Add new_dead, new_live. | |
22133 | (propagate_block): Initialize them. Use them in parallel instead | |
22134 | of one tmp variable, ie revert much of the 0408 and 0407 functional | |
22135 | changes, but keep the structural changes. | |
22136 | (mark_set_regs): Take new_dead from propagate_block_info instead. | |
22137 | (mark_set_1, mark_set_reg): Likewise. | |
22138 | (mark_used_regs): Likewise with new_live. | |
22139 | (mark_used_reg): Likewise. Revert 0408 change. | |
22140 | ||
22141 | 2000-04-11 Nick Clifton <nickc@cygnus.com> | |
22142 | ||
22143 | * config/arm/arm.h: (INCOMING_RETURN_ADDR_RTX): Remove Dwarf2 | |
22144 | restriction. | |
22145 | (DWARF_FRAME_RETURN_COLUMN): Remove Dwarf2 restriction. | |
22146 | ||
22147 | 2000-04-11 Alexandre Oliva <oliva@lsd.ic.unicamp.br> | |
22148 | ||
22149 | * config/elfos.h (SELECT_SECTION): Decide whether to use a data or | |
22150 | const section to output a CONSTRUCTOR based on the same conditions | |
22151 | used for VAR_DECLs. | |
22152 | ||
22153 | Tue Apr 11 09:55:59 2000 Jeffrey A Law (law@cygnus.com) | |
22154 | ||
22155 | * pa/long-double.h (FIX_TRUNCTFSI2_LIBCALL): Tweak for PA64. | |
22156 | * pa/pa-protos.h (output_call): Add additional argument indicating | |
22157 | if the call is a sibling/tail call. | |
22158 | (compute_zdepdi_operands, output_64bit_and): Prototype new functions. | |
22159 | (compute_64bit_ior, cmpib_comparison_operator): Likewise. | |
22160 | (function_arg, function_arg_partial_nregs): Likewise | |
22161 | * pa/pa.c (override_options): Always set flag_pic for TARGET_64BIT. | |
22162 | (emit_move_sequence): Zero extend certain constants as needed | |
22163 | for TARGET_64BIT. | |
22164 | (compute_zdepdi_operands, output_64bit_and): New functions. | |
22165 | (output_64bit_ior, function_arg): Likewise. | |
22166 | (cmpib_comparison_operator, function_arg_partial_nregs): Likewise. | |
22167 | (compute_frame_size, hppa_expand_prologue): Handle TARGET_64BIT. | |
22168 | (hppa_expand_epilogue, return_addr_rtx, hppa_va_arg): Likewise. | |
22169 | (hppa_builtin_saveregs, output_cbranch, output_bb): Likewise. | |
22170 | (output_bvb): Likewise. | |
22171 | (output_millicode_call): Return pointer is in %r2 for TARGET_64BIT. | |
22172 | (output_call): New argument 'sibcall'. Generate sibcall sequences | |
22173 | as needed. | |
22174 | (print_operand); Handle cases 'Q', 'p', and 'z' for TARGET_64BIT. For | |
22175 | (ouput_arg_descriptor): Do not emit argument descriptors for | |
22176 | TARGET_64BIT. | |
22177 | * pa/pa.h (TARGET_PA_11, TARGET_PA_20): Only define if not already | |
22178 | defined. | |
22179 | (TARGET_64BIT, PROMOTE_FUNCTION_RETURN): Define. | |
22180 | (FUNCTION_OK_FOR_SIBALL): Define. | |
22181 | (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC): Define. | |
22182 | (CPP_CPU_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS, EXTRA_SPECS): Likewise. | |
22183 | (CPP_SPEC): Use new spec infrastructure. | |
22184 | (BITS_PER_WORD, UNITS_PER_WORD): Handle TARGET_64BIT. | |
22185 | (STACK_BOUNDARY, FUNCTION_BOUNDARY, PIC_OFFSET_TABLE_REGNUM): Likewise. | |
22186 | (RETURN_IN_MEMORY, EXTRA_CONSTRAINT, FIRST_PARM_OFFSET): Likewise. | |
22187 | (REG_PARM_STACK_SPACE, STACK_POINTER_OFFSET): Likewise. | |
22188 | (STACK_DYNAMIC_OFFSET, FUNCTION_VALUE): Likewise. | |
22189 | (FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_CALLEE_COPIES): Likewise. | |
22190 | (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise. | |
22191 | (INITIALIZE_TRAMPOLINE, LEGITIMATE_CONSTANT_P): Likewise. | |
22192 | (CONST_OK_FOR_LETTER_P, MOVE_RATIO): Likewise. | |
22193 | (FUNCTION_ARG); Call out to C code. | |
22194 | (FUNCTION_ARG_PARTIAL_NREGS): Likewise. | |
22195 | (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Define. | |
22196 | (MIN_UNITS_PER_WORD): Likewise. | |
22197 | * pa/pa.md (cmpdi): New expander. | |
22198 | (scc patterns, movstrsi): Not available for TARGET_64BIT. | |
22199 | (64bit conditional arithmetic): New patterns. | |
22200 | (absdi2, smindi3, umindi3, smaxdi3, umaxdi3): New patterns. | |
22201 | (movsicc): Not available if modes on all the operands to not match. | |
22202 | (movdicc): New expander and associated patterns. | |
22203 | (64bit branches): New patterns. | |
22204 | (pre_load, post_store): Generate appropriate code for TARGET_64BIT. | |
22205 | (pre_ldd, post_std): New patterns. | |
22206 | (64bit addil, load low part): New patterns. | |
22207 | (special movsf constant): Not available for TARGET_64BIT. | |
22208 | (movsf, movdf expanders): Force constants into memory. | |
22209 | (32bit movdf/movdi patterns): Disable for TARGET_64BIT. | |
22210 | (64bit movdf/movdi patterns): New patterns. | |
22211 | (zero_extendqidi2, zero_extendhidi2, zero_extendsidi2): New patterns | |
22212 | for TARGET_64BIT. | |
22213 | (extendqidi2, extendhidi2, extendsidi2): Similarly. | |
22214 | (adddi3 expander): Allow "arith_operand" for second input. | |
22215 | (32bit adddi3, subdi3, uaddcm): Disable for TARGET_64BIT. | |
22216 | (64bit adddi3, subsi3, uaddcm): New patterns for TARGET_64BIT. | |
22217 | (mulsi3 expander): Revamp slightly so it supports TARGET_64BIT too. | |
22218 | (muldi3): New expander for TARGET_64BIT. | |
22219 | (divsi3, udivsi3, modsi3, umodsi3): Fourth operand must be (reg:SI 2) | |
22220 | for TARGET_64BIT. | |
22221 | (32bit anddi3, iordi3, xordi3, andcm, negdi2, uaddcm): Disable | |
22222 | patterns for TARGET_64BIT. | |
22223 | (64bit anddi3, iordi3, xordi3, andcm, negdi2, uaddcm, shadd): New | |
22224 | patterns for TARGET_64BIT. | |
22225 | (64bit bit insertion/extractions): New patterns for TARGET_64BIT. | |
22226 | (64bit shifts/rotates): New patterns/expanders for TARGET_64BIT. | |
22227 | (sibcall_epilogue): New expander. | |
22228 | (casesi): Tweak for TARGET_64BIT. | |
22229 | (call expanders): Set & use the outgoing argument pointer. Use the | |
22230 | 64bit call patterns as needed. Add additional arg to output_call. | |
22231 | (call_internal_reg_64bit, call_value_internal_reg_64bit): New pattern. | |
22232 | (sibcall, sibcall_internal_symref): New expanders. | |
22233 | (sibcall_value, sibcall_value_internal_symref | |
22234 | (interspace_jump): Turn into an expander + matching patterns. | |
22235 | (canonicalize_funcptr_for_compare): Not needed for TARGET_64BIT. | |
22236 | * pa/pa64-regs.h: Eliminate trigraph sequences. | |
22237 | * pa/pa64-start.h (TARGET_PA_20): Fix typo. | |
22238 | ||
22239 | 2000-04-11 Zack Weinberg <zack@wolery.cumb.org> | |
22240 | ||
22241 | * cppexp.c, cpphash.c, cpphash.h, cpplex.c, cpplib.c, | |
22242 | cpplib.h, cppmain.c, fix-header.c, scan-decls.c: Replace | |
22243 | cpp_token with cpp_ttype everywhere. | |
22244 | * cpperror.c, cpphash.c, cpplex.c, cpplib.c, scan-decls.c: | |
22245 | Replace cpp_buf_line_and_col with CPP_BUF_LINE and/or | |
22246 | CPP_BUF_COL. Line and column numbers are unsigned int, not | |
22247 | long. | |
22248 | * cpplex.c (cpp_buf_line_and_col): Delete. | |
22249 | * cpplib.h (struct cpp_buffer, struct cpp_reader): Change | |
22250 | 'long lineno' to 'unsigned int lineno'. | |
22251 | (CPP_BUF_LINE, CPP_BUF_COL): New macros. | |
22252 | ||
719bb4e3 | 22253 | 2000-04-11 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
c30d43bf JL |
22254 | |
22255 | * extend.texi: ISO C99 is not a draft anymore. | |
22256 | * invoke.texi: ISO C++ is not a draft anymore. | |
22257 | * cpp.texi: __cplusplus is required by the ISO standard. | |
22258 | ||
22259 | * extend.texi (-fthis-is-variable): Undocument. | |
22260 | * flags.h (warn_template_debugging): Remove declaration. | |
22261 | * gcc.1 (-fall-virtual, -fenum-int-equiv, -fthis-is-variable, | |
22262 | -Wenum-clash, -Wtemplate-debugging): Undocument. | |
22263 | ||
22264 | 2000-04-10 Nick Clifton <nickc@cygnus.com> | |
22265 | ||
22266 | * config/arm/arm.h (HOST_INT): New macro: Declare a HOST_WIDE_INT | |
22267 | integer. | |
22268 | (HOST_UINT): New macro: Declare an unsigned HOST_WIDE_INT | |
22269 | integer. | |
22270 | (ARM_SIGN_EXTEND): Use HOST_UINT. | |
22271 | (STRIP_NAME_ENCODING): Prevent warnings about redefinitions. | |
22272 | (ASM_OUTPUT_LABELREF): Prevent warnings about redefinitions. | |
22273 | (INCOMING_RETURN_ADDR_RTX): Only define if Dwarf2 is supported. | |
22274 | (DWARF_FRAME_RETURN_COLUMN): Only define if Dwarf2 is supported. | |
22275 | ||
22276 | * config/arm/arm.c: (const_ok_for_arm): Use HOST_UINT. | |
22277 | (arm_gen_constant): Use HOST_UINT. | |
22278 | (arm_canonicalize_constant): Use HOST_UINT. | |
22279 | (arm_reload_in_hi): Use HOST_UINT. | |
22280 | (arm_reload_out_hi): Use HOST_UINT. | |
22281 | (output_multi_immediate): Use HOST_UINT. | |
22282 | (int_log2): Use HOST_UINT. | |
22283 | (arm_poke_function_name): Use HOST_UINT. | |
22284 | (arm_output_epilogue): Use arm_volatile_func(). | |
22285 | (output_thumb_prologue): Use arm_strip_name_encoding(). | |
22286 | ||
22287 | Mon Apr 10 15:40:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
22288 | ||
22289 | * sbitmap.c (sbitmap_a_subset_b_p): Rework loop to avoid potential | |
22290 | of sequence point problems. | |
22291 | ||
22292 | 2000-04-10 Nathan Sidwell <nathan@codesourcery.com> | |
22293 | ||
22294 | * rtl.def (ASHIFT, ROTATE, ASHIFTRT, LSHIFTRT, ROTATERT): | |
22295 | Recomment. | |
22296 | * tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Recomment. | |
22297 | ||
22298 | Mon Apr 10 07:21:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
22299 | ||
22300 | * sbitmap.h: Whitespace changes and use upper-case macro args. | |
22301 | (struct simple_bitmap_def): All sizes now unsigned. | |
22302 | (EXECUTE_IF_SET_IN_SBITMAP): Internal vars now _X instead of X_. | |
22303 | * sbitmap.c (sbitmap_alloc): N_ELMS now unsigned; also local vars. | |
22304 | (sbitmap_vector_alloc): Parms and local vars now unsigned. | |
22305 | (sbitmap_zero): Cast bzero arg to PTR. | |
22306 | (sbitmap_vector_zero, sbitmap_vector_one): Parm and Local var unsigned. | |
22307 | (sbitmap_union_of_diffs): Change loop index to unsigned and rework | |
22308 | loop to make structure clearer. | |
22309 | (sbitmap_not, sbitmap_difference, sbitmap_a_and_b): Likewise. | |
22310 | (sbitmap_a_or_b, sbitmap_a_subset_b_p, sbitmap_a_or_b_and_c): Likewise. | |
22311 | (sbitmap_a_and_b_or_c): Likewise. | |
22312 | (sbitmap_intersection_of_succs): Minor cleanups. | |
22313 | (sbitmap_intersection_of_preds, sbitmap_union_of_succs): Likewise. | |
22314 | (sbitmap_union_of_preds): Likewise. | |
22315 | (sbitmap_first_set_bit, dump_sbitmap): Local variables now unsigned. | |
22316 | (debug_sbitmap): New function. | |
22317 | ||
22318 | * c-convert.c (convert): Handle REFERENCE_TYPE like POINTER_TYPE. | |
22319 | * c-typeck.c (convert_for_assignment): Likewise. | |
22320 | ||
22321 | * expmed.c (init_expmed): Don't free objects we make. | |
22322 | * emit-rtl.c (gen_rtx_CONST_INT, init_emit_once): Minor cleanups. | |
22323 | ||
22324 | * expr.c (get_inner_reference): Correct some WITH_RECORD_EXPR cases. | |
22325 | (expand_expr, case CONVERT_EXPR): Pass proper alignment to store_field. | |
22326 | ||
22327 | * gcse.c (expr_hash_table_size): Now unsigned. | |
22328 | (compute_ae_gen): Local variable `i' now unsigned. | |
22329 | (compute_ae_kill, pre_insert_copies, pre_delete, pre_gcse): Likewise. | |
22330 | (compute_transout, hoist_code): Likewise. | |
22331 | (compute_local_properties): Likewise, also hash_table_size. | |
22332 | (alloc_expr_hash_table): N_INSNS now unsigned. | |
22333 | (delete_null_pointer_checks): Mark arg F as unused. | |
22334 | ||
22335 | * regrename.c: Minor cleanups, including chang some variables | |
22336 | to unsigned int. | |
22337 | ||
22338 | 2000-04-10 Neil Booth <NeilB@earthling.net> | |
22339 | ||
22340 | * cpplex.c (skip_block_comment): Use pointer arithmetic rather | |
22341 | than GETC (). | |
22342 | * cpphash.h: (CPP_BUMP_BUFFER_LINE_CUR, CPP_BUMP_LINE_CUR): New. | |
22343 | ||
719bb4e3 | 22344 | 2000-04-10 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
c30d43bf JL |
22345 | |
22346 | * invoke.texi (-fno-gnu-keywords): Remove classof, headof, | |
22347 | __classof__, and __headof__ from the list of gnu keywords. | |
22348 | (-ansi): Remove -foperator-names from list of implied options. | |
22349 | Do not call it ANSI C++. | |
22350 | (-foperator-names): Document as -fno-operator-names. | |
22351 | ||
22352 | 2000-04-09 Zack Weinberg <zack@wolery.cumb.org> | |
22353 | ||
22354 | * cpphash.c (timestamp): Delete. | |
22355 | (del_HASHNODE): If type is T_MCONST, free value.cpval. | |
22356 | (special_symbol): Remove unnecessary braces. Remove | |
22357 | T_VERSION. Treat T_STDC like T_CONST unless | |
22358 | STDC_0_IN_SYSTEM_HEADERS. Render both __DATE__ and __TIME__ | |
22359 | when one is encountered, then convert them into T_MCONST | |
22360 | nodes. | |
22361 | * cppinit.c (builtin_array): version_string is T_MCONST. | |
22362 | __STDC__ has a "1" in its cpval. Don't have a terminator | |
22363 | entry. Clean up which entries are dumped. | |
22364 | (initialize_builtins): Only __STDC__ gets the special | |
22365 | -traditional treatment. Count the length of builtin_array. | |
22366 | Render version_string here. | |
22367 | * cpphash.h: Remove T_VERSION. Add T_MCONST. | |
22368 | * cpplib.h (struct cpp_reader): Remove timebuf. | |
22369 | ||
22370 | 2000-04-09 Richard Henderson <rth@cygnus.com> | |
22371 | ||
22372 | * genrecog.c (pred): Update comparison_operator for the unordered | |
22373 | operators. | |
22374 | ||
22375 | * config/i386/i386.c (no_comparison_operator): Disallow unordered | |
22376 | operators. | |
22377 | (fcmov_comparison_operator): Allow UNORDERED/ORDERED. | |
22378 | (uno_comparison_operator): New. | |
22379 | (put_condition_code): Handle UNORDERED/ORDERED. | |
22380 | (unsigned_comparison): Likewise. | |
22381 | (ix86_fp_compare_mode): Broken out of ix86_expand_fp_compare. | |
22382 | (ix86_use_fcomi_compare, ix86_prepare_fp_compare_args): Likewise. | |
22383 | (ix86_expand_fp_compare): Use them. Take scratch as argument, | |
22384 | update all callers. Handle all 8 unordered operators. | |
22385 | (ix86_expand_setcc): Lose the unordered argument, update all callers. | |
22386 | (ix86_expand_branch): Likewise. Don't fully expand fp branches. | |
22387 | * config/i386/i386.h (PREDICATE_CODES): Update. | |
22388 | * config/i386/i386-protos.h (ix86_expand_fp_compare): Declare. | |
22389 | (ix86_expand_branch, ix86_expand_setcc): Update. | |
22390 | * config/i386/i386.md (sunordered, sordered): New. | |
22391 | (suneq, sunge, sungt, sunle, sunlt, sltgt): New. | |
22392 | (bunordered, bordered): New. | |
22393 | (buneq, bunge, bungt, bunle, bunlt, bltgt): New. | |
22394 | (*fp_jcc_1, *fp_jcc_2, *fp_jcc_3, *fp_jcc_4): New. | |
22395 | (*fp_jcc_5, *fp_jcc_6, and splitters): New. | |
22396 | ||
22397 | 2000-04-09 Philip Blundell <philb@gnu.org> | |
22398 | ||
22399 | * config/arm/arm.h (ARM_NAME_ENCODING_LENGTHS): Strip `*' too. | |
22400 | ||
22401 | Sun Apr 9 15:16:14 EDT 2000 John Wehle (john@feith.com) | |
22402 | ||
22403 | * i386.md (fix_truncsfhi2, fix_truncdfhi2, | |
22404 | fix_truncxfhi2): New patterns. | |
22405 | * i386.c (output_fix_trunc): Handle converting to HImode. | |
22406 | ||
22407 | 2000-04-08 Alex Samuel <samuel@codesourcery.com> | |
22408 | ||
22409 | * ssa.c (convert_to_ssa): Eliminate dead code when calling | |
22410 | life_analysis. | |
22411 | (convert_from_ssa): Call compute_bb_for_insn before life_analysis. | |
22412 | (for_each_successor_phi): Change parameter to basic_block. | |
22413 | (coalesce_regs_in_successor_phi_nodes): Likewise. | |
22414 | (coalesce_regs_in_copies): Likewise. | |
22415 | (compute_coalesced_reg_partition): Use basic_block instead of index. | |
22416 | * rtl.h (convert_to_ssa): Delete. | |
22417 | (convert_from_ssa): Likewise. | |
22418 | (successor_phi_fn): Likewise. | |
22419 | (for_each_successor_phi): Likewise. | |
22420 | (in_ssa_form): Likewise. | |
22421 | * basic-block.h (convert_to_ssa): Moved from rtl.h. | |
22422 | (convert_from_ssa): Likewise. | |
22423 | (successor_phi_fn): Likewise. | |
22424 | (in_ssa_form): Likewise. | |
22425 | (for_each_successor_phi): Likewise. Change parameter to basic_block. | |
22426 | * flow.c (calculate_global_regs_live): Pass a basic_block to | |
22427 | for_each_successor_phi. | |
22428 | ||
22429 | 2000-04-08 Richard Henderson <rth@cygnus.com> | |
22430 | ||
22431 | * flow.c (mark_used_reg): Use reg_set_p to determine if a register | |
22432 | was modified in the current insn. | |
22433 | ||
22434 | 2000-04-08 Richard Earnshaw (rearnsha@arm.com) | |
22435 | ||
22436 | * arm/thumb.md: Delete. | |
22437 | * arm/thumb-protos.h: Delete. | |
22438 | ||
22439 | 2000-04-08 Richard Earnshaw (rearnsha@arm.com) | |
22440 | ||
22441 | Merge changes from merged-arm-thumb-backend-branch onto trunk. | |
22442 | ||
22443 | 2000-04-08 Richard Earnshaw (rearnsha@arm.com) | |
22444 | ||
22445 | * Merge trunk code from tag merged-arm-thumb-backend-merge_20000408 | |
22446 | into branch. | |
22447 | ||
22448 | * arm.md (nop): Use the standard RTL expression. Don't code as a | |
22449 | define_expand. | |
22450 | (*arm_nop, *thumb_nop): Delete. | |
22451 | ||
22452 | * arm.c (const_ok_for_arm): Don't use ANSI extensions for defining | |
22453 | constants. Use casts instead. | |
22454 | (arm_gen_constant, arm_rtx_costs, arm_reload_in_hi, arm_reload_out_hi, | |
22455 | output_multi_immediate, arm_poke_function_name): Likewise. | |
22456 | * arm.h (ARM_LEGITIIMIZE_RELOAD_ADDRESS, ARM_SIGN_EXTEND, | |
22457 | MASK_RETURN_ADDDR): Likewise. | |
22458 | ||
22459 | 2000-03-31 Richard Earnshaw (rearnsha@arm.com) | |
22460 | ||
22461 | * Merge trunk code from tag merged-arm-thumb-backend-merge_20000325 | |
22462 | into branch. | |
22463 | ||
22464 | * arm.md (eh_epilogue): New function. | |
22465 | * arm.h (struct machine_function): Move to here ... | |
22466 | * arm.c: ... from here. | |
22467 | (arm_output_epilogue): Support epilogues for __builtin_eh_return. | |
22468 | (thumb_exit): Extra parameter eh_ofs. All callers changed. | |
22469 | Handle epilogues for __builtin_eh_return. Make bit-fields unsigned. | |
22470 | ||
22471 | 2000-03-30 Nick Clifton <nickc@cygnus.com> | |
22472 | ||
22473 | * config/arm/semi.h (ASM_SPEC): Restore definition. | |
22474 | (SUBTARGET_EXTRA_ASM_SPEC): Define if not already defined. | |
22475 | ||
22476 | * config/arm/elf.h (ASM_SPEC): Restore definition. | |
22477 | (SUBTARGET_EXTRA_ASM_SPEC): Define if not already defined. | |
22478 | ||
22479 | * config/arm/arm.h (ASM_SPEC): Remove definition. | |
22480 | (SUBTARGET_EXTRA_ASM_SPEC): Remove definition. | |
22481 | ||
22482 | 2000-03-26 Bernd Schmidt <bernds@cygnus.co.uk> | |
22483 | ||
22484 | * config/arm/arm.c: Disable -fschedule-insns for Thumb. | |
22485 | ||
22486 | 2000-03-24 Nick Clifton <nickc@cygnus.com> | |
22487 | ||
22488 | Various formating tidyups, elimination of compile time | |
22489 | warnings and synchronisation with internal sources: | |
22490 | ||
22491 | * config/arm/arm-protos.h (assemble_align): Add prototype. | |
22492 | (gen_rotated_half_load): Rename to arm_gen_rotated_half_load. | |
22493 | (gen_comapre_reg): Rename to arm_gen_compare_reg. | |
22494 | (arm_return_addr_rtx): Rename to arm_return_addr. | |
22495 | ||
22496 | * config/arm/arm.c: Include except.h. | |
22497 | Define shorter typenames for strict minipool_node and struct | |
22498 | minipool_fix. | |
22499 | (arm_return_in_memory): For WinCE return all structures <= 32 bits | |
22500 | in memory. | |
22501 | (gen_rotated_half_load): Rename to arm_gen_rotated_half_load. | |
22502 | (gen_comapre_reg): Rename to arm_gen_compare_reg. | |
22503 | ||
22504 | * config/arm/arm.h (SUBTARGET_EXTRA_ASM_SPEC): Define if not | |
22505 | already defined. | |
22506 | (ASM_SPEC): Define if not already defined. | |
22507 | (ASM_OUTPUT_DEF_FROM_DECLS): Define. | |
22508 | ||
22509 | * config/arm/arm.md: Rename references to gen_rotated_half_load to | |
22510 | arm_gen_rotated_half_load, and references to gen_comapre_reg to | |
22511 | arm_gen_compare_reg. | |
22512 | (indirect_jump): Only accept register operands. | |
22513 | (load_indirect_jump): Keep this pattern since combine can generate | |
22514 | it. | |
22515 | ||
22516 | * config/arm/coff.h: Include aout.h. | |
22517 | (MULTILIB_DEFAULTS): Only define if not already defined. | |
22518 | ||
22519 | * config/arm/elf.h (ASM_OUTPUT_DEF_FROM_DECLS): Move definition | |
22520 | into arm.h (so that COFF ports can support thumb based aliases). | |
22521 | (ASM_SPEC): Move definition into arm.h | |
22522 | ||
22523 | * config/arm/linux-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Remove | |
22524 | redundant apcs spec. | |
22525 | (ASM_SPEC): Move definition to arm.h | |
22526 | ||
22527 | * config/arm/semi.h (ASM_SPEC): Move definition to arm.h | |
22528 | ||
22529 | * config/arm/unknown-elf.h (ASM_OUTPUT_SECTION_NAME): Add support | |
22530 | for entries in the .bss section | |
22531 | ||
22532 | 2000-03-23 Nick Clifton <nickc@cygnus.com> | |
22533 | ||
22534 | * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Pass 0 | |
22535 | to thumb_far_jump_used_p. | |
22536 | ||
22537 | * config/arm/arm-protos.h (thumb_far_jump_used_p): Take a | |
22538 | single integer parameter. | |
22539 | ||
22540 | * config/arm/arm.c (struct machine_function): Add two new | |
22541 | fields, 'far_jump_used' and 'arg_pointer_live'. | |
22542 | (thumb_far_jump_used_p): Once the decision has been made that | |
22543 | far jumps might be used, always return true. | |
22544 | If being called from the initial elimination offset macro then | |
22545 | do not bother to perform the test if the arg pointer is not | |
22546 | being used. | |
22547 | (thumb_unexpand_epilogue): Pass 1 to thumb_far_jump_used_p(). | |
22548 | (output_thumb_prologue): Pass 1 to thumb_far_jump_used_p(). | |
22549 | ||
22550 | 2000-03-23 Richard Earnshaw (rearnsha@arm.com) | |
22551 | ||
22552 | * arm.c (output_return_instruction): Handle more cases where we can | |
22553 | return from a function with an ldr instruction. | |
22554 | (arm_output_epilogue): Likewise. | |
22555 | ||
22556 | * arm.c (thumb_expand_prologue): Don't clobber the frame pointer | |
22557 | if we need to push a large stack frame and there are no callee-saved | |
22558 | registers. | |
22559 | ||
22560 | * arm.c (arm_debugger_arg_offset): An offset of 0 is also valid | |
22561 | in ARM code if the frame pointer has been eliminated. | |
22562 | ||
22563 | * arm.md (epilogue, *epilogue_insns, consttable_*, align_4): Renumber | |
22564 | unspec_volatile arguments to avoid duplicates. | |
22565 | (consttable_1, consttable_2): Fixes for big-endian mode. | |
22566 | ||
22567 | * arm.md (all ARM-mode load insns): Add neg_pool_range attribute | |
22568 | as appropriate. | |
22569 | ||
22570 | Re-write constant pool code. | |
22571 | * arm.c (minipool_node, minipool_fix): New types. | |
22572 | (minifix): Delete type. | |
22573 | (arm_add_minipool_constant): Delete. | |
22574 | (arm_compute_minipool_offsets, arm_find_barrier, | |
22575 | arm_find_minipool_constant, fixup_compare, sort_fixups): Likewise. | |
22576 | (get_jump_table_size): Now returns HOST_WIDE_INT. | |
22577 | (move_minipool_fix_forward_ref, add_minipool_forward_ref): New | |
22578 | functions. | |
22579 | (move_minipool_fix_backward_ref, add_minipool_backward_ref): Likewise. | |
22580 | (assign_minipool_offsets, arm_print_value): Likewise. | |
22581 | (dump_minipool): Rewrite. | |
22582 | (arm_barrier_cost): New function. | |
22583 | (create_fix_barrier): New function. | |
22584 | (push_minipool_barrier): New function. | |
22585 | (push_minipool_fix): Record additional information about the fixup | |
22586 | required. | |
22587 | (note_invalid_constants): Remove push for (UNSPEC 3). Don't | |
22588 | check the mode of what needs fixing. | |
22589 | (arm_reorg): Rewrite. | |
22590 | ||
22591 | 2000-03-08 Nick Clifton <nickc@cygnus.com> | |
22592 | ||
22593 | * config/arm/arm.md (indirect_jump): Force constant addresses into | |
22594 | a register. | |
22595 | ||
22596 | 2000-03-01 Bernd Schmidt <bernds@cygnus.co.uk> | |
22597 | ||
22598 | * config/arm/arm.md: Add splitter to turn SF moves into SI moves. | |
22599 | ||
22600 | 2000-02-24 Nick Clifton <nickc@cygnus.com> | |
22601 | ||
22602 | * config/arm/arm.c (thumb_expand_prologue): Make sure that stack | |
22603 | adjust is word aligned. | |
22604 | (thumb_expand_epilogue): Make sure that stack adjust is word | |
22605 | aligned. | |
22606 | ||
22607 | * config/arm/elf.h (ASM_FILE_START): Fix type of version string. | |
22608 | ||
22609 | 2000-02-24 Bernd Schmidt <bernds@cygnus.com> | |
22610 | ||
22611 | * config/arm/arm.h (THUMB_GO_IF_LEGITIMATE_ADDRESS): Allow frame | |
22612 | pointer relative addresses. | |
22613 | ||
22614 | 2000-02-10 Richard Earnshaw <rearnsha@arm.com> | |
22615 | ||
22616 | * arm.c (find_barrier): Find the last barrier within the allowed | |
22617 | range. | |
22618 | ||
22619 | 2000-02-09 Nick Clifton <nickc@cygnus.com> | |
22620 | ||
22621 | * config/arm/arm-protos.h: Replace PROTO with PARAMS. | |
22622 | ||
22623 | 2000-02-09 Nick Clifton <nickc@cygnus.com> | |
22624 | ||
22625 | * config/arm/linux-elf.h (FUNCTION_PROFILER): Rename to | |
22626 | ARM_FUNCTION_PROFILER. | |
22627 | ||
22628 | * config/arm/netbsd.h (FUNCTION_PROFILER): Rename to | |
22629 | ARM_FUNCTION_PROFILER. | |
22630 | ||
22631 | * config/arm/linux-oldld.h: Imported from mainline sources. | |
22632 | ||
22633 | 2000-02-07 Nick Clifton <nickc@cygnus.com> | |
22634 | ||
22635 | * config/arm/lib1funcs.asm: Merge in thumb functions from | |
22636 | lib1thumb.asm. | |
22637 | ||
22638 | * config/arm/lib1thumb.asm: Delete. | |
22639 | ||
22640 | 2000-02-04 Nick Clifton <nickc@cygnus.com> | |
22641 | ||
22642 | * config/arm/arm.c: Sychronised with current Red hat local | |
22643 | sources. | |
22644 | * config/arm/arm.h: Ditto. | |
22645 | * config/arm/arm-protos.h: Ditto. | |
22646 | ||
22647 | 2000-02-02 Bernd Schmidt <bernds@cygnus.co.uk> | |
22648 | ||
22649 | * arm.c (soft_df_operand): Reject SUBREGs containing a constant. | |
22650 | ||
22651 | * arm.c (arm_gen_movstrqi): Generate halfword stores rather than two | |
22652 | byte stores. | |
22653 | ||
22654 | 2000-02-02 Nick Clifton <nickc@cygnus.com> | |
22655 | ||
22656 | * config/arm/thumb.c (thumb_exit): Additional fix for same bug. | |
22657 | ||
22658 | * config/arm/arm.md (epilogue): Fix rtl checking abort because | |
22659 | (return) was emited using an emit_insn() call. | |
22660 | ||
22661 | 2000-01-31 Nick Clifton <nickc@cygnus.com> | |
22662 | ||
22663 | * config/arm/arm.c (output_thumb_prologue): Fix bug generating | |
22664 | thumb stack frame. | |
22665 | (thumb_exit): Move frame pointer back into hard frame pointer | |
22666 | register if backtracing is being used. | |
22667 | ||
22668 | 2000-01-13 Richard Earnshaw (rearnsha@arm.com) | |
22669 | ||
22670 | * Merge trunk code from tag merged-arm-thumb-backend-merge_20000113 | |
22671 | into branch. | |
22672 | ||
22673 | 1999-12-15 Bernd Schmidt <bernds@cygnus.co.uk> | |
22674 | ||
22675 | * config/arm/arm.md (neg_pool_offset): Provide default for new | |
22676 | attribute. | |
22677 | (arm_movsi_insn): Add neg_pool_offset attribute. | |
22678 | * config/arm/arm.c (arm_find_barrier): Replace arg FIX with an | |
22679 | rtx for the insn that starts the scan and an unsigned long for its | |
22680 | address. Add MIN_OFFSET and PINSERTED args. All callers changed. | |
22681 | Change scan to ignore insns before MIN_OFFSET. Store size of inserted | |
22682 | instructions in *PINSERTED. | |
22683 | (struct minipool_fixup): Add MIN_ADDRESS elt. | |
22684 | (sort_fixups): Compute it. | |
22685 | (arm_reorg): Changes to support inserting pools before the insn to be | |
22686 | fixed up. | |
22687 | ||
22688 | 1999-12-08 Bernd Schmidt <bernds@cygnus.co.uk> | |
22689 | ||
22690 | * config/arm/elf.h (MULTILIB_DEFAULTS): Add "marm". | |
22691 | * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Add "marm". | |
22692 | * config/arm/coff.h (MULTILIB_DEFAULTS): Add "marm". | |
22693 | ||
22694 | Wed Nov 3 10:04:07 1999 Nick Clifton <nickc@cygnus.com> | |
22695 | ||
22696 | * config/arm/semi.h (TARGET_VERSION): Do not define if already | |
22697 | defined. | |
22698 | (TARGET_DEFAULT): Do not define if already defined. | |
22699 | ||
22700 | Tue Nov 2 10:37:25 1999 Nick Clifton <nickc@cygnus.com> | |
22701 | ||
22702 | * config/arm/arm.md (anddi3): Allow disjoint source operands. | |
22703 | (iordi3): Allow disjoint source operands. | |
22704 | (xordi3): Allow disjoint source operands. | |
22705 | (negdi2): Permit construction for ARM and Thumb. | |
22706 | (arm_negdi2): Renamed version of old negdi2 pattern. | |
22707 | (thumb_negdi2): New pattern: Only permit non-overlapping | |
22708 | source and destination. | |
22709 | ||
22710 | Fri Oct 29 18:52:38 1999 Nick Clifton <nickc@cygnus.com> | |
22711 | ||
22712 | * config/arm/arm.c (thumb_expand_prologue): Emit a USE of the | |
22713 | scratch low register so that it will not be deleted. | |
22714 | ||
22715 | Fri Oct 29 15:23:48 1999 Nick Clifton <nickc@cygnus.com> | |
22716 | ||
22717 | * config/arm/pe.h (ARM_PE): Define. | |
22718 | ||
22719 | * config/arm/arm.c (arm_valid_machine_decl_attribute): Allow | |
22720 | interfacearm attribute if this is a PE toolchain. | |
22721 | (output_return_instruction): Do not emit anything if the function | |
22722 | has the naked attribute set. | |
22723 | (is_called_in_ARM_mode): If the function has the interfacearm | |
22724 | attribute then return true. | |
22725 | (thumb_expand_prologue): Do not generate a prologue for naked | |
22726 | functions. | |
22727 | (thumb_expand_epilogue): Do not generate an epilogie for a naked | |
22728 | function. | |
22729 | (output_thumb_prologue): Do not bother if the function is naked. | |
22730 | Strip PE encoding from function name before emitting. | |
22731 | ||
22732 | Thu Oct 28 11:05:13 1999 Richard Earnshaw <rearnsha@arm.com> | |
22733 | ||
22734 | * arm.md (pic_load_addr): Fix constraints. | |
22735 | ||
22736 | * arm.md (casesi_insn): Fix mis-applied patch. | |
22737 | ||
22738 | * arm.md ("core" function unit): Add rules for single- and | |
22739 | multi-cycle insns. | |
22740 | (All TARGET_THUMB patterns): Add "type" attribute information | |
22741 | where needed. | |
22742 | * arm.c (arm_adjust_cost): Reduce the cost of a data dependency if | |
22743 | the following insn is a CALL. | |
22744 | ||
22745 | * arm.c (thumb_expand_epilogue): Add a use of the adjusted stack | |
22746 | pointer. | |
22747 | * arm.h (CONDITIONAL_REGISTER_USAGE): Nail down the | |
22748 | ARM_HARD_FRAME_POINTER_REGNUM when TARGET_APCS_FRAME. | |
22749 | (FRAME_POINTER_REQUIRED): Only check TARGET_APCS_FRAME if TARGET_ARM. | |
22750 | ||
22751 | Wed Oct 27 14:40:48 1999 Nick Clifton <nickc@cygnus.com> | |
22752 | ||
22753 | * config/arm/linux-gas.h: oops - this file was missed out when the | |
22754 | branch was created... | |
22755 | ||
22756 | Tue Oct 26 17:07:38 1999 Richard Earnshaw <rearnsha@arm.com> | |
22757 | ||
22758 | * thumb.c: Deleted. Move contents to ... | |
22759 | * arm.c: ... here. | |
22760 | * t-arm-aout, t-arm-coff, t-arm-elf, t-linux, t-netbsd, t-semi: Remove | |
22761 | rule for thumb.o | |
22762 | * configure.in (arm*-*-*): Remove thumb.o from extra_objs list. | |
22763 | * configure: Regen. | |
22764 | ||
22765 | * arm-protos.h: Use RTX_CODE and tidy up long lines. Don't | |
22766 | declare a prototype for asm_output_align(); | |
22767 | ||
22768 | * arm.c (thumb_condition_code): Delete. | |
22769 | (arm_print_operand): Always use arm_condition_code array. | |
22770 | ||
22771 | * arm.c (thumb_return_addr_rtx): Delete. | |
22772 | (arm_save_machine_status, arm_restore_machine_status): Delete. | |
22773 | (arm_init_machine_status, arm_mark_machine_status): New functions. | |
22774 | (arm_init_expanders): Update accordingly. | |
22775 | (arm_return_addr): Renamed from arm_return_addr_rtx. Rewrite. | |
22776 | (thumb_expand_prologue): Delete code referencing thumb_return_addr_rtx. | |
22777 | * arm.h (RETURN_ADDR_RTX): Call arm_return_addr(). | |
22778 | ||
22779 | Tue Oct 26 13:24:16 1999 Nick Clifton <nickc@cygnus.com> | |
22780 | ||
22781 | * configure.in : Fix arm-*-aout target to use new t-arm-aout | |
22782 | script. | |
22783 | * config/arm/t-arm-aout: New file: Makefile script for arm-*-aout | |
22784 | targets. | |
22785 | ||
22786 | Tue Oct 26 11:27:12 1999 Nick Clifton <nickc@cygnus.com> | |
22787 | ||
22788 | * config/arm/thumb.c (output_thumb_prologue): Fix bug creating | |
22789 | stack backtrace structure. | |
22790 | ||
22791 | * config/arm/arm-protos.h: Add prototypes for functions defined in | |
22792 | arm/pe.h. | |
22793 | ||
22794 | * config/arm/arm.c (arm_override_options): Fix selection of | |
22795 | attributes of default processor. | |
22796 | ||
22797 | * config/arm/coff.h: Delete needless #include. | |
22798 | ||
22799 | * config/arm/pe.c: Delete unused code. | |
22800 | ||
22801 | * config/arm/pe.h (CPP_DEFINES): Delete | |
22802 | (SUBTARGET_CPP_SPEC): Define. | |
22803 | (ASM_DECLARE_FUNCTION_NAME): Use ARM_DECLARE_FUNCTION_NAME. | |
22804 | ||
22805 | * config/arm/t-pe: Add -DInhibit_libc to allof libgcc.a to build. | |
22806 | ||
22807 | Mon Oct 25 15:42:09 1999 Richard Earnshaw (rearnsha@arm.com) | |
22808 | ||
22809 | * arm.h (TARGET_APCS_FRAME): Renamed from TARGET_APCS -- all uses | |
22810 | updated. | |
22811 | (CAN_DEBUG_WITHOUT_FP): Define. | |
22812 | (FIXED_REGISTERS): Make r11 call-saved. | |
22813 | (CALL_USED_REGISTERS): Likewise. | |
22814 | (CONDITIONAL_REGISTER_USAGE): Fix r11 if TARGET_APCS_FRAME. | |
22815 | (FRAME_POINTER_REQUIRED): Correct logic for determining when a | |
22816 | frame-pointer is required. | |
22817 | (TARGET_DEFAULT): Make default setting include ARM_FLAG_APCS_FRAME. | |
22818 | * arm.c (arm_override_options): Warn about -mno-apcs-frame and -g | |
22819 | if the target normally needs a stack frame in non-leaf functions. | |
22820 | (use_return_insn): Correct logic for determining when a return | |
22821 | instruction can be used. | |
22822 | (output_return_instruction): Handle the frame-pointer register as | |
22823 | a normal register when not TARGET_APCS_FRAME. | |
22824 | (arm_output_prologue): Likewise. | |
22825 | (arm_output_epilogue): Likewise. | |
22826 | (output_func_epilogue): Likewise. | |
22827 | (arm_expand_prologue): Likewise. | |
22828 | * netbsd.h semi.h (TARGET_DEFAULT): Add ARM_FLAG_APCS_FRAME. | |
22829 | ||
22830 | * arm.c (use_return_insn): No need to check floating point regs if | |
22831 | TARGET_SOFT_FLOAT. | |
22832 | (arm_find_minipool_constant): Correct typo; use GET_CODE to get | |
22833 | the code of value stored in the minipool array. | |
22834 | (arm_add_minipool_constant): Likewise. | |
22835 | ||
22836 | 2000-04-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
22837 | ||
22838 | * basic-block.h (conflict_graph_enum_fn): K&R fix. | |
22839 | ||
22840 | 2000-04-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
22841 | ||
22842 | * tree.c (tree_expr_nonnegative_p): New function. | |
22843 | ||
22844 | * tree.h (tree_expr_nonnegative_p): Declare. | |
22845 | ||
22846 | * c-typeck.c (build_binary_op): Call `tree_expr_nonnegative_p' to | |
22847 | elide some sign_compare warnings. | |
22848 | (build_conditional_expr): Likewise. | |
22849 | ||
22850 | Sat Apr 8 00:21:51 EDT 2000 John Wehle (john@feith.com) | |
22851 | ||
22852 | * i386.md (ashrsi3, ashrhi3, ashrqi3): Fix typo. | |
22853 | ||
22854 | * i386.md (floathisf2, floathidf2, floathixf2): New patterns. | |
22855 | * i386.c (print_operand): Use the proper suffix for a 387 HImode | |
22856 | operand. Abort if a 387 operand has an unsupported size. | |
22857 | ||
22858 | 2000-04-08 Neil Booth <NeilB@earthling.net> | |
22859 | ||
22860 | * cppexp.c (parse_charconst): Null does not end character | |
22861 | constants. | |
22862 | * cppinit.c (ISTABLE): Null character handled as whitespace. | |
22863 | * cpplex.c (null_warning): new function. | |
22864 | (skip_string): Emit warning if nulls encountered. | |
22865 | (_cpp_skip_hspace): Emit warning if nulls encountered. | |
22866 | (_cpp_lex_token): Emit warning if nulls encountered. Drop | |
22867 | them. | |
22868 | * cpp.texi: Update. | |
22869 | ||
22870 | 2000-04-07 Richard Henderson <rth@cygnus.com> | |
22871 | ||
22872 | * flow.c (loop_depth): Remove. | |
22873 | (reg_next_use, cc0_live, mem_set_list): Replace with ... | |
22874 | (struct propagate_block_info): New. | |
22875 | (life_analysis): Don't allocate reg_next_use. | |
22876 | (propagate_block_delete_insn): Break out of propagate_block. | |
22877 | Use flow_delete_insn to unlink rather than use NOTE_INSN_DELETED. | |
22878 | (propagate_block_delete_libcall): Likewise. | |
22879 | (propagate_block): Create a propagate_block_info struct to pass | |
22880 | to subroutines. Allocate one not two temporary regsets. Don't | |
22881 | clobber memory for const calls. Look for clobbers in | |
22882 | CALL_INSN_FUNCTION_USAGE. | |
22883 | (mark_set_regs): Recognize COND_EXEC. | |
22884 | (mark_set_reg): Break out of mark_set_1. | |
22885 | (mark_used_reg): Break out of mark_used_regs. | |
22886 | (mark_used_regs): Recognize COND_EXEC. | |
22887 | (insn_dead_p): Use propagate_block_info struct. | |
22888 | (libcall_dead_p, invalidate_mems_from_autoinc): Likewise. | |
22889 | (find_auto_inc, try_pre_increment_1): Likewise. | |
22890 | (print_rtl_with_bb): Dump regs live at end too. | |
22891 | (count_reg_sets_1): Pass in loop_depth. | |
22892 | (count_reg_sets, count_reg_references): Likewise. | |
22893 | (recompute_reg_usage): Provide it. | |
22894 | ||
22895 | 2000-04-07 Richard Henderson <rth@cygnus.com> | |
22896 | ||
22897 | * Makefile.in (conflict.o): Depend on $(RTL_H) and $(BASIC_BLOCK_H) | |
22898 | not the raw files. | |
22899 | ||
22900 | 2000-04-07 Zack Weinberg <zack@wolery.cumb.org> | |
22901 | ||
22902 | * cpplib.c (do_elif): Skip the rest of the line if we're | |
22903 | not going to bother evaluating it. | |
22904 | (skip_if_group): Clear pfile->only_seen_white. Reorder loop | |
22905 | to avoid pointless calls to the lexer. | |
22906 | ||
22907 | Fri Apr 7 11:50:54 2000 Jim Wilson <wilson@cygnus.com> | |
22908 | ||
22909 | * config/ia64/ia64.c: Delete stdio.h and ctype.h includes. | |
22910 | ||
22911 | 2000-04-07 Jason Merrill <jason@casey.cygnus.com> | |
22912 | ||
22913 | * calls.c (expand_call): emit_queue if we're trying a sibcall. | |
22914 | ||
22915 | 2000-04-07 Jakub Jelinek <jakub@redhat.com> | |
22916 | ||
22917 | * config/sparc/t-linux64 (tcrtbeginS.o, tcrtendS.o): Remove. | |
22918 | ||
22919 | 2000-04-06 Geoff Keating <geoffk@cygnus.com> | |
22920 | ||
22921 | * Makefile.in: Build crtbeginS and crtendS like crtbegin and | |
22922 | crtend so they can be multilibbed. | |
22923 | (STAGESTUFF): Remove s-crt and s-crtS. | |
22924 | ||
22925 | 2000-04-07 Richard Henderson <rth@cygnus.com> | |
22926 | ||
22927 | * config/alpha/alpha.c (alpha_emit_conditional_move): Fail | |
22928 | if we discover we need a pseudo and no_new_pseudos is true. | |
22929 | * config/alpha/alpha.md (ne:DI insn): New. | |
22930 | (trunctfsf2, sne): Emit NE instead of non-canonical LTU. | |
22931 | ||
22932 | 2000-04-07 Richard Henderson <rth@cygnus.com> | |
22933 | ||
22934 | * rtl.def (COND_EXEC): New. | |
22935 | * rtl.h (COND_EXEC_TEST, COND_EXEC_CODE): New. | |
22936 | * tm.texi (MAX_CONDITIONAL_EXECUTE): Document. | |
22937 | ||
22938 | * genconfig.c (have_cond_arith_flag): Remove. | |
22939 | (have_cond_exec_flag): New. | |
22940 | (walk_insn_part): Detect COND_EXEC, not arithmetic in IF_THEN_ELSE. | |
22941 | (main): Print HAVE_conditional_execution. | |
22942 | ||
22943 | * haifa-sched.c (haifa_classify_insn): Recognize COND_EXEC. | |
22944 | (sched_analyze_insn, print_pattern): Likewise. | |
22945 | * reload.c (find_equiv_reg): Likewise. | |
22946 | * rtlanal.c (reg_referenced_p): Likewise. | |
22947 | (note_stores, dead_or_set_regno_p): Likewise. | |
22948 | (reg_overlap_mentioned_p): Rewrite to use a switch. | |
22949 | ||
22950 | * ggc.h (struct rtx_def): Forward declare. | |
22951 | ||
22952 | * print-rtl.c (debug_rtx_range): New. | |
22953 | * rtl.h (debug_rtx_range): Declare. | |
22954 | ||
22955 | * varray.h (VARRAY_ACTIVE_SIZE, VARRAY_POP_ALL): New. | |
22956 | ||
22957 | * gcse.c (gcse_main): Don't rebuild the CFG here. | |
22958 | (delete_null_pointer_checks): Likewise. | |
22959 | * ssa.c (convert_to_ssa): Likewise. | |
22960 | * toplev.c (rest_of_compilation): Do it here instead. Combine | |
22961 | sequential calls to TIMEVAR. Consistently use `insns' instead of | |
22962 | `get_insns()'. Always split insns after reload when optimizing. | |
22963 | ||
22964 | * basic-block.h (merge_blocks_nomove): Declare. | |
22965 | (tidy_fallthru_edge): Declare. | |
22966 | * flow.c (merge_blocks_nomove): Document as merging into previous | |
22967 | blocks. Remove cruft from between blocks; remove all edges out of A. | |
22968 | (tidy_fallthru_edge): Export. | |
22969 | ||
22970 | 2000-04-06 Alex Samuel <samuel@codesourcery.com> | |
22971 | ||
22972 | * ssa.c (compute_conservative_reg_partition): Declare with | |
22973 | void arguments. | |
22974 | * toplev.c (clean_dump_file): Remove previously-deleted function | |
22975 | inadvertantly merged back in. | |
22976 | * conflict.c (conflict_graph_add): Use a single call to | |
22977 | htab_find_slot to look up and insert. | |
22978 | ||
22979 | 2000-04-06 Richard Henderson <rth@cygnus.com> | |
22980 | ||
22981 | * genrecog.c (*): Rename _last_insn to last_insn. | |
22982 | (make_insn_sequence): Set the position of the peephole2 C test | |
22983 | to be at the last insn. | |
22984 | ||
22985 | 2000-04-06 Richard Henderson <rth@cygnus.com> | |
22986 | ||
22987 | * flow.c (compute_flow_dominators): Free worklist. | |
22988 | ||
22989 | 2000-04-06 Michael Matz <matzmich@cs.tu-berlin.de> | |
22990 | ||
22991 | * flow.c (compute_flow_dominators): Process blocks FIFO not LIFO. | |
22992 | ||
22993 | 2000-04-06 Alex Samuel <samuel@codesourcery.com> | |
22994 | ||
22995 | * rtl.h (INSN_P): New macro. | |
22996 | (successor_phi_fn): New typedef. | |
22997 | (for_each_successor_phi): New prototype. | |
22998 | (in_ssa_form): New variable. | |
22999 | (PHI_NODE_P): Likewise. | |
23000 | * flow.c (calculate_global_regs_live): Add to new_live_at_end from | |
23001 | phi nodes in successors. | |
23002 | (mark_used_regs): Add PHI case. | |
23003 | (set_phi_alternative_reg): New function. | |
23004 | (life_analysis): Assert that dead code elimination is not selected | |
23005 | when in SSA form. | |
23006 | * toplev.c (to_ssa_time): New variable. | |
23007 | (from_ssa_time): Likewise. | |
23008 | (compile_file): Zero to_ssa_time and from_ssa_time. | |
23009 | Print time to convert to and from SSA. | |
23010 | (rest_of_compilation): Time convert_to_ssa and convert_from_ssa. | |
23011 | (print_time): Compute percent fraction as integer. | |
23012 | * ssa.c (PHI_NODE_P): Moved to rtl.h. | |
23013 | (convert_to_ssa): Check if we're already in SSA. | |
23014 | Don't eliminate dead code in life_analysis. | |
23015 | Rerun flow and life analysis at bottom. | |
23016 | (eliminate_phi): Use canonical regnos when adding nodes. | |
23017 | (mark_reg_in_phi): New function. | |
23018 | (mark_phi_and_copy_regs): Likewise. | |
23019 | (convert_from_ssa): Rerun life analysis at top. | |
23020 | Use coalesced partition. | |
23021 | Check for removing a phi node at the end of the block. | |
23022 | (compute_coalesced_reg_partition): New function. | |
23023 | (coalesce_regs_in_copies): Likewise. | |
23024 | (coalesce_reg_in_phi): Likewise. | |
eaec9b3d | 23025 | (coalesce_regs_in_successor_phi_nodes): Likewise. |
c30d43bf JL |
23026 | (for_each_successor_phi): Likewise. |
23027 | (rename_context): New struct. | |
23028 | (rename_block): Use a rename_context with rename_insn_1. When | |
23029 | renaming sets of a subreg, emit a copy of the entire reg first. | |
23030 | (rename_insn_1): Treat data as a rename_context *. Save current | |
23031 | insn in set_data. | |
23032 | (rename_set_data): Add field set_insn. | |
23033 | * Makefile.in (HASHTAB_H): Move up in file. | |
23034 | (OBSTACK_H): New macro. | |
23035 | (collect2.o): Use OBSTACK_H in dependencies. | |
23036 | (sdbout.o): Likewise. | |
23037 | (emit-rtl.o): Likewise. | |
23038 | (simplify-rtx.o): Likewise. | |
23039 | (fix-header.o): Likewise. | |
23040 | (OBJS): Add conflict.o. | |
23041 | (conflict.o): New rule. | |
23042 | * basic-block.h: Include partition.h. | |
23043 | (conflict_graph): New typedef. | |
23044 | (conflict_graph_enum_fn): Likewise. | |
23045 | (conflict_graph_new): New prototype. | |
23046 | (conflict_graph_delete): Likewise. | |
23047 | (conflict_graph_add): Likewise. | |
23048 | (conflict_graph_conflict_p): Likewise. | |
23049 | (conflict_graph_enum): Likewise. | |
23050 | (conflict_graph_merge_regs): Likewise. | |
23051 | (conflict_graph_print): Likewise. | |
23052 | (conflict_graph_compute): Likewise. | |
23053 | * conflict.c: New file. | |
23054 | ||
23055 | 2000-04-06 Jason Merrill <jason@yorick.cygnus.com> | |
23056 | ||
23057 | * tlink.c (read_repo_files): Don't look for .rpo info for | |
23058 | linker flags. | |
23059 | ||
23060 | Thu Apr 6 20:39:26 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
23061 | ||
23062 | * sh.h (STRUCT_VALUE, RETURN_IN_MEMORY): Define. | |
23063 | ||
23064 | Thu Apr 6 19:34:08 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
23065 | ||
23066 | * config/sh/lib1funcs.asm (___udivsi3_i4): | |
23067 | ( __SH4_SINGLE__ / __SH4_SINGLE_ONLY__ variant): value for fpscr | |
23068 | only depends on FMOVD_WORKS. | |
23069 | ||
23070 | Thu Apr 6 19:11:47 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
23071 | ||
23072 | * config/sh/lib1funcs.asm (___udivsi3_i4): When using fmovd, | |
23073 | make double constant 8-byte aligned. | |
23074 | ||
23075 | 2000-04-06 Jakub Jelinek <jakub@redhat.com> | |
23076 | ||
23077 | * config/sparc/sparc.md (movtf_insn_sp32, movtf_insn_vis_sp32, | |
23078 | movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_hq_vis_sp64, | |
23079 | movtf_no_e_insn_sp64): Accept loading 0.0 into GENERAL_REGS. | |
23080 | (movtf_insn_sp64, movtf_insn_vis_sp64): Likewise. | |
23081 | Accept storing GENERAL_REGS into offsetable memory. | |
23082 | * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Don't allow | |
23083 | building a TFmode constant other than 0.0L into GENERAL_REGS. | |
23084 | ||
23085 | 2000-04-06 Clinton Popetz <cpopetz@cygnus.com> | |
23086 | ||
23087 | * regrename.c (regrename_optimize): Handle no REG_ALLOC_ORDER. | |
23088 | ||
23089 | 2000-04-06 Zack Weinberg <zack@wolery.cumb.org> | |
23090 | ||
23091 | * cpphash.c (CPP_IS_MACRO_BUFFER, FORWARD, PEEKC): Delete. | |
23092 | (macro_cleanup): No need to cast pbuf->macro. | |
23093 | (collect_expansion): Use _cpp_get_define_token. Goto done if | |
23094 | it returns VSPACE. Remove check for trailing space after | |
23095 | CPP_COMMENT. | |
23096 | (_cpp_create_definition): Don't diddle flags here. Return | |
23097 | directly on error. | |
23098 | (unsafe_chars): Handle c1 being EOF. | |
23099 | (push_macro_expansion): Use unsafe_chars for both accidental-paste | |
23100 | checks. Don't push the buffer till after we're done with | |
23101 | them. | |
23102 | * cpplex.c (PEEKBUF, GETBUF, FORWARDBUF): New. | |
23103 | (PEEKN, FORWARD, GETC, PEEKC): Use them. | |
23104 | (cpp_push_buffer): Don't set new->alimit. Set new->mark | |
23105 | appropriately. | |
23106 | (_cpp_parse_assertion): Don't NUL terminate. | |
23107 | (_cpp_lex_token): Fix -traditional macro handling. Don't skip | |
23108 | hspace before calling _cpp_parse_assertion. Remove all sets | |
23109 | of only_seen_white. Treat '\f' as hspace. Don't do anything | |
23110 | special with '\n' here. | |
23111 | (maybe_macroexpand): Handle T_EMPTY hash entries without | |
23112 | pushing a buffer at all. | |
23113 | (cpp_get_token): Handle clearing only_seen_white here. Handle | |
23114 | incrementing the line number here. Clear | |
23115 | potential_control_macro as well as only_seen_white, if | |
23116 | appropriate. | |
23117 | (cpp_get_non_space_token): Don't eat CPP_POP tokens. | |
23118 | (_cpp_get_define_token): New function, basically like | |
23119 | _cpp_get_directive_token was but doesn't eat horizontal space. | |
23120 | Don't do anything with only_seen_white here. | |
23121 | (_cpp_get_directive_token): Just call _cpp_get_define_token | |
23122 | repeatedly till it returns non-hspace. | |
23123 | ||
23124 | * cpplib.c (PEEKN, FORWARD, GETC, PEEKC): Delete. | |
23125 | (conditional_skip, skip_if_group): Return int. | |
23126 | (DIRECTIVE_TABLE): Change origin of all conditional directives | |
23127 | to "COND". | |
23128 | (TRAD_DIRECT_P): New macro. | |
23129 | (_cpp_handle_directive): Use _cpp_get_directive_token. Issue | |
23130 | an error for a bogus directive, unless -lang-asm. Use | |
23131 | TRAD_DIRECT_P. Loop calling handler functions till one returns | |
23132 | zero. | |
23133 | (get_macro_name): Don't diddle flags here. | |
23134 | (do_define): Diddle flags here. Use _cpp_get_directive_token. | |
23135 | Create T_EMPTY nodes for #define macro /* nothing */. | |
23136 | (do_undef): Don't copy the name. Use _cpp_get_directive_token. | |
23137 | Use hp->name when calling pass_thru_directive. | |
23138 | (do_if, do_else, do_elif, do_ifdef, do_ifndef, conditional_skip): | |
23139 | Return the result of conditional_skip and/or skip_if_group. | |
23140 | Don't call _cpp_output_line_command. | |
23141 | (consider_directive_while_skipping): Use _cpp_get_directive_token. | |
23142 | Issue -Wtraditional warnings as appropriate. Don't complain | |
23143 | about unrecognized directives. If we are to stop skipping, | |
23144 | return the number of the directive that ended the skip. | |
23145 | (skip_if_group): Use _cpp_get_directive_token. Turn off macro | |
23146 | expansion and line commands while skipping. Return the result | |
23147 | of consider_directive_while_skipping, if nonzero. | |
23148 | (do_endif): Just set potential_control_macro here. | |
23149 | (validate_else): Use _cpp_get_directive_token. | |
23150 | (do_assert, do_unassert): Don't save pointers into the | |
23151 | token_buffer across calls to the lexer. Use | |
23152 | _cpp_get_directive_token. | |
23153 | ||
23154 | * cpplib.h (cpp_buffer): Remove alimit and colno. Make mark a | |
23155 | pointer, not an offset. Replace 'data', which was a generic | |
23156 | pointer, with 'macro', which points to a struct hashnode. | |
23157 | (cpp_reader): Add 'potential_control_macro' pointer. | |
23158 | * cpphash.h (T_UNUSED): Replace with T_EMPTY. | |
23159 | (CPP_BUF_GET, CPP_FORWARD): Delete. | |
23160 | (CPP_IN_COLUMN_1, ADJACENT_TO_MARK): New macros. | |
23161 | (CPP_IS_MACRO_BUFFER, CPP_SET_BUF_MARK, CPP_GOTO_BUF_MARK, | |
23162 | ACTIVE_MARK_P): Update. | |
23163 | (_cpp_get_define_token): New internal function. | |
23164 | * cppfiles.c (read_include_file): Don't set fp->alimit or fp->colno. | |
23165 | ||
23166 | 2000-04-05 Benjamin Kosnik <bkoz@cygnus.com> | |
23167 | ||
23168 | * configure.in: And here. | |
23169 | * configure: Regenerate. | |
23170 | * acconfig.h: Add ENABLE_STD_NAMESPACE to set flag_honor_std if | |
23171 | --enable-libstdcxx-v3 is passed at configure time. | |
23172 | * config.h.in: Regenerate. | |
23173 | ||
23174 | 2000-04-05 Mark Mitchell <mark@codesourcery.com> | |
23175 | ||
23176 | * final.c (final): Use xcalloc to allocate line_note_exists. | |
23177 | * function.c (free_after_compilation): Free the temp_slots. | |
23178 | (assign_stack_temp_for_type): Use xmalloc to allocate temp_slots. | |
23179 | (combine_temp_slot): Free temp_slots when they get combined. | |
23180 | (purge_addressof): Fix typo in comment. | |
23181 | * stmt.c (mark_goto_fixup): Mark the fixup itself. | |
23182 | (expand_fixup): Allocate the fixup with ggc_alloc_obj. | |
23183 | ||
23184 | * ggc.h: Include varray.h. | |
23185 | (ggc_pending_trees): Declare. | |
23186 | (ggc_mark_tree_children): Remove declaration. | |
23187 | (ggc_mark_tree): Just push unmarked trees on ggc_pending_trees. | |
23188 | * ggc-common.c (ggc_pending_trees): New variable. | |
23189 | (ggc_mark_roots): Call ggc_mark_trees. | |
23190 | (ggc_mark_tree_children): Rename to ggc_mark_trees. Process all | |
23191 | the ggc_pending_trees. | |
23192 | * Makefile.in (GGC_H): New variable. Use it throughout in place | |
23193 | of ggc.h. | |
23194 | ||
23195 | Thu Apr 6 00:30:50 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
23196 | ||
f63d1bf7 | 23197 | * sh.h (FUNCTION_ARG_PARTIAL_NREGS): Accommodate an unsigned |
c30d43bf JL |
23198 | GET_MODE_SIZE. |
23199 | ||
23200 | Wed Apr 5 23:17:10 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
23201 | ||
23202 | * sh.c (sh_insn_length_adjustment): New function. | |
23203 | * sh-protos.h (sh_insn_length_adjustment): Declare. | |
23204 | * sh.h (ADJUST_INSN_LENGTH): Use it. | |
23205 | ||
23206 | Wed Apr 5 12:35:18 2000 Hans-Peter Nilsson <hp@axis.com> | |
23207 | ||
23208 | * optabs.c (emit_libcall_block): Remove spurious REG_EQUAL notes | |
23209 | from the insn where REG_RETVAL is added. | |
23210 | (emit_no_conflict_block): Ditto. | |
23211 | ||
23212 | * md.texi (Standard Names): Clarify when movX is needed. | |
23213 | ||
23214 | * combine.c (simplify_comparison) [MINUS]: Do not replace | |
23215 | all (op (minus A B) 0) with (op A B). | |
23216 | ||
23217 | Wed Apr 5 18:03:31 2000 Toshiyasu Morita (toshi.morita@sega.com) | |
23218 | J"orn Rennecke <amylaar@cygnus.co.uk> | |
23219 | ||
23220 | * sh.md (block_lump_real_i4): Add missing clobber of T_REG | |
23221 | (block_lump_real): Likewise. | |
23222 | ||
23223 | 2000-04-05 Chris Demetriou <cgd@netbsd.org> | |
23224 | ||
23225 | * mips.h (MASK_DEBUG_A, MASK_DEBUG_B, MASK_DEBUG_C): Zero the | |
da7d8304 | 23226 | remaining nonzero debugging masks. |
c30d43bf JL |
23227 | |
23228 | Wed Apr 5 09:44:07 2000 Jeffrey A Law (law@cygnus.com) | |
23229 | ||
23230 | * basic-block.h (verify_flow_info): Declare. | |
23231 | (flow_loop_outside_edge_p): Declare. | |
23232 | * flow.c (verify_flow_info): Remove declaration. | |
23233 | (clear_log_links, flow_loop_outside_edge_p): Likewise. | |
23234 | ||
23235 | Wed Apr 5 09:34:26 2000 Philippe De Muyter <phdm@macqel.be> | |
23236 | ||
23237 | * m68k/m68k-protos.h (finalize_pic): Turn prototype off using `#if 0', | |
23238 | not C++ comments. | |
23239 | ||
23240 | 2000-04-05 Jakub Jelinek <jakub@redhat.com> | |
23241 | ||
23242 | * config/sparc/sparc.md (snedi_zero+1, neg_snedi_zero+1, | |
23243 | snedi_zero_trunc+1, seqdi_zero+1, neg_seqdi_zero+1, | |
23244 | seqdi_zero_trunc+1): Allow splits only if registers are | |
23245 | different. | |
23246 | ||
23247 | 2000-04-04 Ulrich Drepper <drepper@cygnus.com> | |
23248 | ||
23249 | * acconfig.h: Add HAVE_GAS_HIDDEN. | |
23250 | * config.in: Regenerated. | |
23251 | * configure.in: Add test for .hidden pseudo-op in gas. | |
23252 | * configure: Regenerated. | |
23253 | * crtstuff.c: Include auto-host.h. | |
23254 | Emit additional .hidden pseudo-op for __dso_handle if the | |
23255 | assembler knows about it. | |
23256 | ||
23257 | 2000-04-04 Philippe De Muyter <phdm@macqel.be> | |
23258 | ||
23259 | * cpphash.c (_cpp_free_definition): Test argnames, not nargs >= 0, | |
23260 | before freeing argnames. | |
23261 | * cpplib.c (do_ifndef): Cast return value of xstrdup. | |
23262 | ||
23263 | 2000-04-05 Michael Meissner <meissner@redhat.com> | |
23264 | ||
23265 | * config/rs6000/rs6000.c (print_operand): Patch from Jonathan | |
23266 | Walton <jonboy@gordian.com> to make memory references with update | |
23267 | work wtih -mregnames. | |
23268 | ||
23269 | 2000-04-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
23270 | ||
23271 | * regrename.c (regno_first_use_in): Wrap prototype in PARAMS. | |
23272 | (regrename_optimize): Rename variables `def_uses' and | |
23273 | `ext_basic_blocks' to avoid conflicts with similarly named | |
23274 | typedefs in traditional C. | |
23275 | ||
23276 | * calls.c (initialize_argument_information): Fix typo in previous | |
23277 | change. | |
23278 | ||
23279 | 2000-04-04 Richard Henderson <rth@cygnus.com> | |
23280 | ||
23281 | * regrename.c (consider_available): Test fixed_regs not | |
23282 | PIC_OFFSET_TABLE_REGNUM. | |
23283 | ||
23284 | 2000-04-04 Geoff Keating <geoffk@cygnus.com> | |
23285 | ||
23286 | * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbegin, | |
23287 | crtend. | |
23288 | (CRTSTUFF_T_CFLAGS_S): Delete definition. | |
23289 | * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Always use crtbegin. | |
23290 | (ENDFILE_LINUX_SPEC): Always use crtend. | |
23291 | * configure.in (powerpc-*-linux-gnulibc1): Don't define extra_parts. | |
23292 | (powerpc-*-linux-gnu): Likewise. | |
23293 | * configure: Regenerate. | |
23294 | ||
23295 | * config/rs6000/eabi.h: Don't include sysv4.h. | |
23296 | (MULTILIB_DEFAULTS): Don't define. | |
23297 | * config/rs6000/eabiaix.h: Don't include eabi.h. | |
23298 | * config/rs6000/eabile.h: Delete. | |
23299 | * config/rs6000/eabilesim.h: Delete. | |
23300 | * config/rs6000/eabisim.h: Don't include eabi.h. | |
23301 | * config/rs6000/linux.h: Don't include sysv4.h. | |
23302 | (JUMP_TABLES_IN_TEXT_SECTION): Don't redefine. | |
23303 | (MULTILIB_DEFAULTS): Don't redefine. | |
23304 | * config/rs6000/rtems.h: Don't include eabi.h. | |
23305 | * config/rs6000/sol2.h: Don't include sysv4le.h. | |
23306 | * config/rs6000/sysv4le.h: Don't include sysv4.h. | |
23307 | * config/rs6000/t-ppc: Delete. | |
23308 | * config/rs6000/t-ppcgas: Correct comment. | |
23309 | * config/rs6000/t-ppcos: Correct comment. Don't build | |
23310 | multilibs for -fPIC, rather use -fPIC -mstrict-align | |
23311 | as default. | |
23312 | * config/rs6000/t-ppc: Delete. | |
23313 | * config/rs6000/vxppc.h: Don't include sysv4.h. | |
23314 | * config/rs6000/vxppcle.h: Delete. | |
23315 | * configure.in: Use multiple header files for p2pc ELF targets | |
23316 | powerpc-eabiaix, powerpc-eabisim, powerpc-rtems, powerpcle-eabi, | |
23317 | powerpcle-eabisim, powerpc-elf, powerpcle-elf, powerpc-linux-gnu, | |
23318 | powerpc-linux-gnulibc1, powerpc-sysv, powerpcle-sysv, | |
23319 | powerpc-vxworks, powerpcle-vxworks. Assume GAS functionality is | |
23320 | always available for these platforms. | |
23321 | ||
23322 | 2000-04-04 Richard Henderson <rth@cygnus.com> | |
23323 | ||
23324 | * calls.c (try_to_integrate): Initialize reg_parm_stack_space. | |
23325 | ||
23326 | 2000-04-04 Stan Cox <scox@cygnus.com> | |
23327 | ||
23328 | * Makefile.in: Add rules for regrename.o | |
23329 | * regrename.c: New file. | |
23330 | * rtl.h (regrename_optimize): Add prototype. | |
23331 | * toplev.c (rename_registers_dump, flag_rename_registers): New variables | |
23332 | (compile_file, decode_d_option): Add support for -frename-registers. | |
23333 | (rest_of_compilation): Call regrename_optimize. | |
23334 | * config/ia64/ia64.h (HARD_REGNO_RENAME_OK, RENAME_EXTENDED_BLOCKS): | |
23335 | New macros. | |
23336 | ||
719bb4e3 | 23337 | 2000-04-04 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
c30d43bf JL |
23338 | |
23339 | * Makefile (gccbug): New target. | |
23340 | (doc): Depend on it. | |
23341 | * gcc.texi (Bugs): Link subnodes. | |
23342 | (gccbug): New node. | |
23343 | * gccbug.in (CATEGORIES): Remove gc, host, profiling, libgcc. | |
23344 | Document severities, priorities, and classes in bug form. | |
23345 | ||
23346 | 2000-04-04 Zack Weinberg <zack@wolery.cumb.org> | |
23347 | ||
23348 | * cpplex.c (trigraph_map, speccase): Combine into single | |
23349 | table, chartab. | |
23350 | (NORMAL, NONTRI): New macros. | |
23351 | (_cpp_read_and_prescan): Change to use unified table. Use | |
23352 | is_hspace to test for whitespace. | |
23353 | ||
23354 | * dbxout.c (CONTIN): If it doesn't have to do anything, give it a | |
23355 | definition that doesn't provoke the "empty body in an | |
23356 | if-statement" warning. | |
23357 | ||
23358 | 2000-04-04 Clinton Popetz <cpopetz@cygnus.com> | |
23359 | ||
23360 | * builtins.c (expand_builtin_strlen): Force the source to | |
23361 | be a memory address. | |
23362 | ||
23363 | 2000-04-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
23364 | ||
23365 | * cpplib.c (D): Adjust to call CONCAT2 macro without whitespace. | |
23366 | ||
23367 | Tue Apr 4 19:17:20 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
23368 | ||
23369 | * calls.c (ECF_MALLOC, ECF_MAY_BE_ALLOCA, ECF_RETURNS_TWICE, | |
23370 | ECF_LONGJMP, ECF_FORK_OR_EXEC): New constants. | |
23371 | (ECF_IS_CONST): Rename to ECF_CONST. | |
23372 | (special_function_p): Make static, change interface. | |
23373 | (flags_from_decl_or_type, try_to_integrate): Break out from ... | |
23374 | (expand_call) ... here; convert number of variables to flags. | |
23375 | (emit_library_call_vlue_1): Likewise. | |
23376 | (setjmp_call_p): New function. | |
23377 | (initialize_argument_information): Accepts flags as argument; | |
23378 | return flags. | |
23379 | (precompute_arguments): Likewise. | |
23380 | * tree.h (special_function_p): Remove. | |
23381 | (setjmp_call_p): Add prototype. | |
23382 | ||
23383 | 2000-04-04 Jakub Jelinek <jakub@redhat.com> | |
23384 | ||
23385 | * config/sparc/sparc.h (RTX_OK_FOR_OFFSET_P): Leave minor margin | |
23386 | so that addresses are offsetable by up to 16 bytes. | |
23387 | (GO_IF_LEGITIMATE_ADDRESS): Don't allow REG+REG addresses for | |
23388 | non-optimizing TARGET_ARCH32 in DF or DI modes because it is not | |
23389 | offsetable. | |
23390 | ||
23391 | * config/sparc/sparc.md (movdi_insn_sp64_novis): New pattern. | |
23392 | (movdi_insn_sp64_vis): Renamed from movdi_insn_sp64. | |
23393 | (movsf): Don't force any constant to memory if target is integer | |
23394 | hard register. | |
23395 | Move fp_zero_operand check below the const0_rtx check. | |
23396 | (movtf): Likewise. Also allow fp_zero_operand for stores into | |
23397 | memory. | |
23398 | (movdf): Likewise. Also allow fp_zero_operand for stores into | |
23399 | memory and into integer hard registers. | |
23400 | (clear_df, clear_dfp, movdf_const_intreg_sp32, | |
23401 | movdf_const_intreg_sp64): Remove. | |
23402 | (movdf_insn_sp32, movdf_no_e_insn_sp32): Redo constraints and | |
23403 | conditions. | |
23404 | (movdf_no_e_insn_v9_sp32): New pattern. | |
23405 | (movdf_insn_v9only): Remove. | |
23406 | (movdf_insn_v9only_novis, movdf_insn_v9only_vis): New patterns. | |
23407 | (movdf_insn_sp64): Remove. | |
23408 | (movdf_insn_sp64_novis, movdf_insn_sp64_vis): New patterns. | |
23409 | (movdf_no_e_insn_sp64): Allow storing 0.0 into memory. | |
23410 | (following splits): Rewrite conditions. Add two new splits | |
23411 | for storing 0.0 into memory and registers. | |
23412 | (clear_tf, clear_tf+1, clear_tfp, clear_tfp+1): Remove. | |
23413 | (movtf_insn_sp32): Redo constraints and conditions. | |
23414 | (movtf_insn_vis_sp32): New pattern. | |
23415 | (movtf_no_e_insn_sp32): Redo constraints and conditions. | |
23416 | (movtf_insn_hq_sp64): Likewise. | |
23417 | (movtf_insn_hq_vis_sp64): New pattern. | |
23418 | (movtf_insn_sp64): Redo constraints and conditions. | |
23419 | (movtf_insn_vis_sp64): New pattern. | |
23420 | (movtf_no_e_insn_sp64): Redo constraints and conditions. | |
23421 | (movtf_no_e_insn_sp64+1): New split for storing 0.0L into registers | |
23422 | or memory. | |
23423 | * config/sparc/sparc.c (sparc_override_options): Assume v9 if either | |
23424 | -mvis or -m64 to take down the number of various reload patterns. | |
23425 | ||
23426 | Tue Apr 4 00:41:53 2000 Jeffrey A Law (law@cygnus.com) | |
23427 | ||
23428 | * pa/pa-64.h: New file. | |
23429 | * pa/pa64-regs.h: New file. | |
23430 | * pa/pa64-start.h: New file. | |
23431 | * pa/t-pa64: New file. | |
23432 | * pa/xm-pa64hpux.h: New file. | |
23433 | ||
23434 | 2000-04-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
23435 | ||
23436 | * sparc.c (output_restore_regs): Prototype. | |
23437 | (sparc_emit_float_lib_cmp): Constification. | |
23438 | ||
23439 | * emit-rtl.c (const_int_htab_hash, const_int_htab_eq): Likewise. | |
23440 | ||
23441 | * reload1.c (reload_cse_delete_noop_set, reload_cse_simplify): | |
23442 | Prototype. | |
23443 | ||
23444 | * simplify-rtx.c (entry_and_rtx_equal_p): Constification. | |
23445 | (get_value_hash, hash_rtx): Likewise. | |
23446 | ||
23447 | * ssa.c (compute_conservative_reg_partition): Prototype. | |
23448 | ||
23449 | * tree.c (mark_hash_entry): Prototype. | |
23450 | ||
23451 | 2000-04-03 Zack Weinberg <zack@wolery.cumb.org> | |
23452 | ||
23453 | * bb-reorder.c (verify_insn_chain): #ifdef out unless ENABLE_CHECKING. | |
23454 | * i386.h (FUNCTION_ARG_REGNO_P): Remove unnecessary test for N >= 0. | |
23455 | * i386.md (call_value, call_value_pop): Remove unused variable 'addr'. | |
23456 | ||
23457 | * gcc.c (C specs): Pass -fno-show-column to the preprocessor. | |
23458 | * objc/lang-specs.h: Likewise. | |
23459 | ||
23460 | 2000-04-03 Neil Booth <NeilB@earthling.net> | |
23461 | ||
23462 | * cppexp.c: wrap long lines. New macros CPP_ICE, SYNTAX_ERROR | |
23463 | and SYNTAX_ERROR2. Replace `' in messages with ''. | |
23464 | (op_to_str): Make re-entrant. | |
23465 | (_cpp_parse_expr): Implement new error macros. Use | rather | |
23466 | than || to logically or 2 boolean integers. Simply expression | |
23467 | checking we have a left operand iff needed. | |
23468 | ||
23469 | 2000-04-03 Nick Clifton <nickc@cygnus.com> | |
23470 | ||
23471 | * Makefile.in (diagnostic.o): Depend upon diagnostic.c | |
23472 | ||
23473 | 2000-04-03 Philip Blundell <philb@gnu.org> | |
23474 | ||
23475 | * config/arm/linux-elf.h (SUBTARGET_EXTRA_LINK_SPEC): Fix typos. | |
23476 | ||
23477 | 2000-04-03 Felix Lee <flee@cygnus.com> | |
23478 | ||
23479 | * fixinc/server.c (find_shell): New function. Avoid $SHELL. | |
23480 | (run_shell): Use it. | |
23481 | ||
23482 | 2000-04-03 Jonathan Larmour <jlarmour@redhat.co.uk> | |
23483 | ||
23484 | * Makefile.in (stmp-int-hdrs): Make include subdir here... | |
23485 | (stmp-fixproto): ...rather than here. | |
23486 | ||
23487 | Mon Apr 3 00:50:06 2000 Jason Eckhardt <jle@cygnus.com> | |
23488 | ||
23489 | * pa.c (print_operand): Compute 'base' only inside the code paths | |
23490 | that use it. | |
23491 | ||
23492 | 2000-04-03 Geoffrey Keating <geoffk@cygnus.com> | |
23493 | ||
23494 | * stor-layout.c (byte_from_pos): Use TRUNC_DIV_EXPR rather than | |
23495 | CEIL_DIV_EXPR. | |
23496 | ||
23497 | 2000-04-03 Philipp Thomas <pthomas@suse.de> | |
23498 | ||
23499 | * i386.h (TARGET_SWITCHES): Remove bogus empty strings, fix typo. | |
23500 | ||
23501 | Mon Apr 3 00:02:59 2000 Brad Lucier <lucier@math.purdue.edu> | |
23502 | ||
23503 | * Makefile.in (alias.o): Depend on $(TREE_H). | |
23504 | ||
23505 | 2000-04-02 Zack Weinberg <zack@wolery.cumb.org> | |
23506 | ||
23507 | * cppinit.c (cpp_start_read): Turn off -Wtraditional if | |
23508 | processing C++. | |
23509 | * cpplib.c (_cpp_handle_directive): Improve warnings for | |
23510 | traditional C and indented directives. | |
23511 | ||
23512 | * enquire.c, gsyslimits.h, limity.h, config/convex/fixinc.convex, | |
23513 | fixinc/fixinc.irix, fixinc/fixinc.sco, fixinc/fixinc.wrap, | |
23514 | fixinc/inclhack.def: Indent the # of #include_next one space. | |
23515 | * cp/rtti.c: Un-indent #if and #endif. | |
23516 | ||
23517 | * cppexp.c (_cpp_parse_expr): If lex returns '#', it's a | |
23518 | syntax error, but an error has already been printed. | |
23519 | * cpplex.c (_cpp_parse_assertion): Give a more specific error | |
23520 | message when called with nothing remaining on the line. | |
23521 | (_cpp_lex_token): If _cpp_parse_assertion fails, return an | |
23522 | OTHER token, not an ASSERTION. | |
23523 | * cpplib.c (do_assert): When we create a 'base' node, clear | |
23524 | its aschain pointer. | |
23525 | ||
23526 | 2000-04-02 Neil Booth <NeilB@earthling.net> | |
23527 | ||
23528 | * cppexp.c: New typedef op_t. struct operation and struct | |
23529 | token updated to use it. | |
23530 | (op_to_str): New function. | |
23531 | (_cpp_parse_expr): Error messages modified to use op_to_str. | |
23532 | ||
23533 | 2000-04-02 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
23534 | ||
23535 | * config/c4x/c4x.c (c4x_function_arg): Check for void_type_node | |
23536 | before checking MUST_PASS_IN_STACK. | |
23537 | ||
23538 | 2000-04-02 Neil Booth <NeilB@earthling.net> | |
23539 | ||
23540 | * cppexp.c: New FINISHED dummy token. Combine operator initial | |
23541 | flags and initial priority into a single constant. New | |
23542 | EQUALITY macro. New operator flag SHORT_CIRCUIT. | |
23543 | (_parse_cpp_expr): Implement new constants. Take left operand | |
23544 | checks out of reduction loop. Handle SHORT_CIRCUIT. End of | |
23545 | parse indicated by reducing FINISHED token. Remove new lines | |
23546 | from cpp_error messages. | |
23547 | ||
23548 | 2000-04-01 Mark Mitchell <mark@codesourcery.com> | |
23549 | ||
23550 | * emit-rtl.c (gen_rtx_CONST_INT): Create cached CONST_INTs on the | |
23551 | permanent obstack. | |
23552 | ||
23553 | 2000-04-01 Zack Weinberg <zack@wolery.cumb.org> | |
23554 | ||
23555 | * cpplib.c: Include symcat.h. Add 'origin' field to struct | |
23556 | directive. Add origin values to DIRECTIVE_TABLE. Generate | |
23557 | the strings and function names on the fly. Take the #sccs | |
23558 | entry out of the table if SCCS_DIRECTIVE is not defined. | |
23559 | (_cpp_handle_directive): Decide if the # was at the beginning | |
23560 | of the line here. Issue -pedantic warnings for extended | |
23561 | directives here. Warn about K+R directives with the # | |
23562 | indented, and C89/extended directives with the # not indented, | |
23563 | here. | |
23564 | (do_import, do_include_next, do_warning, do_ident, do_sccs, | |
23565 | do_assert, do_unassert): Don't issue pedantic warning here. | |
23566 | ||
23567 | * cpphash.h: Add CPP_WTRADITIONAL macro. | |
23568 | * cpplib.h (struct cpp_options): Rename warn_stringify to | |
23569 | warn_traditional; update comments. | |
23570 | * cppinit.c (handle_option): Set warn_traditional not | |
23571 | warn_stringify. | |
23572 | * cpphash.c: Replace CPP_OPTION (pfile, warn_stringify) with | |
23573 | CPP_WTRADITIONAL (pfile). | |
23574 | * cpplex.c (_cpp_lex_token): Don't decide if directives should | |
23575 | be ignored in -traditional mode here. | |
23576 | ||
23577 | * cpplex.c: Copy ISTABLE macros from cppinit.c, and adapt them | |
23578 | to initialize speccase[] and trigraph_map[]. Delete all | |
23579 | references to pfile->input_speccase. Always treat '?' as a | |
23580 | special character. Remove table-initialization code from | |
23581 | _cpp_init_input_buffer. | |
23582 | ||
23583 | * cpplib.h (struct cpp_reader): Remove input_speccase field. | |
23584 | * cppinit.c (cpp_cleanup): Don't free input_speccase. | |
23585 | ||
23586 | 2000-04-01 Richard Henderson <rth@cygnus.com> | |
23587 | ||
23588 | * Makefile.in (STAGESTUFF): Wildcard all debugging dumps at once. | |
23589 | (mostlyclean): Likewise. | |
23590 | ||
23591 | * toplev.c (rtl_dump, jump_opt_dump, etc): Remove. | |
23592 | (struct dump_file_info, enum dump_file_index, dump_file): New. | |
23593 | (open_dump_file): Take a dump_file_index not a suffix, and a decl | |
a1f300c0 | 23594 | not a string. Clean out file if we haven't yet done so. Do nothing |
c30d43bf JL |
23595 | if the dump isn't enabled. |
23596 | (close_dump_file): Do nothing if the dump isn't open. Dump | |
23597 | graph data if requested. | |
23598 | (dump_rtl, clean_dump_file): Remove. | |
23599 | (compile_file): Don't clean the dump files. Only finalize .bp dump | |
23600 | if flag_test_coverage or flag_branch_probabilities. Only finalize | |
23601 | .combine dump if optimizing. Iterate over dump_file to finalize the | |
23602 | graph dumps. | |
23603 | (rest_of_compilation): Update for open_dump_file/close_dump_file. | |
23604 | Convert all uses of dump_rtl. | |
23605 | (decode_d_option): Iterate over dump_file to implement 'a' and to | |
23606 | locate pass-specific dumps. | |
23607 | ||
23608 | 2000-04-01 Neil Booth <NeilB@earthling.net> | |
23609 | ||
23610 | * cppexp.c: Redefine priority constants. | |
23611 | (_cpp_parse_expr): Replace left and right priority scheme with | |
23612 | single priority logic. Move LOGICAL to same place as COMPARE. | |
23613 | Remove bogus check for multiple unary +/- operators. | |
23614 | ||
23615 | 2000-04-01 Neil Booth <NeilB@earthling.net> | |
23616 | ||
23617 | * cppexp.c: (_cpp_parse_expr): Numerical constants are pushed | |
23618 | within the switch statement. Binary operations break out of | |
23619 | the switch naturally. '(' tokens handled by forcing | |
23620 | immediate shift. ')' handled by forcing immediate reduce to | |
23621 | the previous '('. New error messages. | |
23622 | ||
23623 | 2000-03-31 Geoff Keating <geoffk@cygnus.com> | |
23624 | ||
23625 | * config/rs6000/rs6000.c (print_operand): Don't use %l for 'low | |
23626 | part', it's already in use. Use %K instead. Add a return at the | |
23627 | end of what is now %K. | |
23628 | * config/rs6000/rs6000.md (elf_low): Use %K instead of %l. | |
23629 | ||
23630 | Sat Apr 1 02:05:29 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
23631 | ||
23632 | * builtins.c (expand_builtin_apply): Pass proper parameters to | |
23633 | allocate_dynamic_stack_space. | |
23634 | * calls.c (emit_call_1): Do not adjust stack pointer for SIB, | |
23635 | update stack_pointer_delta; do not update arg_size_so_far. | |
23636 | (compute_argument_block_size): Use stack_delta instead of | |
23637 | stack_pointer_pending and arg_size_so_far. | |
23638 | (expand_call): Add sanity checking for stack_pointer_delta; | |
23639 | save and restore stack_pointer_delta for SIB, use | |
23640 | stack_pointer_delta for alignment; do not update arg_space_so_far. | |
23641 | (emit_library_call_value): Use stack_pointer_delta for alignment. | |
23642 | (store_one_arg): Do not update arg_space_so_far. | |
23643 | * explow.c (adjust_stack, anti_adjust_stack): Update | |
23644 | stack_pointer_delta. | |
23645 | (allocate_dynamic_stack_space): Add sanity checking for | |
23646 | stack_pointer_delta. | |
23647 | * expr.c (init_expr, clear_pending_stack_adjust): Clear | |
23648 | stack_pointer_delta. | |
23649 | (emit_push_insn): Update stack_pointer_delta. | |
23650 | * function.h (struct expr_status): Add x_stack_pointer_delta; | |
23651 | remove x_arg_space_so_far. | |
23652 | (arg_space_so_far): Remove. | |
23653 | (stack_pointer_delta): New macro. | |
23654 | ||
23655 | 2000-03-31 Zack Weinberg <zack@wolery.cumb.org> | |
23656 | ||
23657 | * cpplib.h: Merge struct cpp_options into struct cpp_reader. | |
23658 | Reorder struct cpp_options and struct cpp_reader for better | |
23659 | packing. Replace CPP_OPTIONS macro with CPP_OPTION which | |
23660 | takes two args. Change all 'char' flags to 'unsigned char'. | |
23661 | Move show_column flag into struct cpp_options. Don't | |
23662 | prototype cpp_options_init. | |
23663 | * cpphash.h, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, | |
23664 | cppinit.c, cpplex.c, cpplib.c: | |
23665 | Replace CPP_OPTIONS (pfile)->whatever with | |
23666 | CPP_OPTION (pfile, whatever), and likewise for | |
23667 | opts = CPP_OPTIONS (pfile); ... opts->whatever; | |
23668 | ||
23669 | * cppinit.c (merge_include_chains): Take a cpp_reader *. | |
23670 | Extract CPP_OPTION (pfile, pending) and work with that | |
23671 | directly. | |
23672 | (cpp_options_init): Delete. | |
23673 | (cpp_reader_init): Turn on on-by-default options here. | |
23674 | Allocate the pending structure here. | |
23675 | (cl_options, enum opt_code): Define these from the same table, | |
23676 | kept in a large macro. Add -fshow-column and -fno-show-column | |
23677 | options. | |
23678 | ||
23679 | * cpperror.c (v_message): If show_column is off, don't print | |
23680 | the column number. | |
23681 | ||
23682 | * cppmain.c: Update for new interface. | |
23683 | * fix-header.c: Likewise. | |
23684 | ||
23685 | 2000-03-30 Geoff Keating <geoffk@cygnus.com> | |
23686 | ||
23687 | * config/rs6000/t-aix43 (AR_FLAGS_FOR_TARGET): Adjust for new | |
23688 | definition. | |
23689 | * Makefile.in (AR_FLAGS_FOR_TARGET): Is now the flags that | |
23690 | are passed to any invocation of AR_FOR_TARGET. | |
23691 | (AR_CREATE_FOR_TARGET): New macro. | |
23692 | (AR_EXTRACT_FOR_TARGET): New macro. | |
23693 | (ORDINARY_FLAGS_TO_PASS): Add AR_CREATE_FOR_TARGET, | |
23694 | AR_EXTRACT_FOR_TARGET. | |
23695 | (many places): Use AR_CREATE_FOR_TARGET, AR_EXTRACT_FOR_TARGET | |
23696 | in place of `$(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET)' and | |
23697 | `$(AR_FOR_TARGET) x'. Pass AR_CREATE_FOR_TARGET and | |
23698 | AR_EXTRACT_FOR_TARGET to sub-makes. | |
23699 | ||
23700 | 2000-03-31 Neil Booth <NeilB@earthling.net> | |
23701 | ||
23702 | * cppexp.c: Delete SKIP_OPERAND. Correct priority | |
23703 | PAREN_INNER_PRIO. | |
23704 | (_cpp_parse_expr): Check for multiple unary +/- operators. | |
23705 | Correct priorities of ':' and '?'. Treat ')' as having a | |
23706 | value. Ensure conditional expression is not void. | |
23707 | ||
23708 | 2000-03-31 Mark Mitchell <mark@codesourcery.com> | |
23709 | ||
23710 | * alias.c (canon_rtx): Make it global. | |
23711 | (rtx_equal_for_memref_p): CONST_INT equality is now pointer | |
23712 | equality. | |
23713 | * cse.c (struct table_elt): Add canon_exp. | |
23714 | (insert): Clear it. | |
23715 | (invalidate): Canonicalize expressions only once. | |
23716 | * rtl.h (canon_rtx): Declare. | |
23717 | ||
23718 | 2000-03-30 Mark Mitchell <mark@codesourcery.com> | |
23719 | ||
23720 | * Makefile.in (emit-rtl.o): Depend on HASHTAB_H. | |
23721 | * alias.c (reg_known_value): Add comments. | |
23722 | (init_alias_analysis): Likewise. | |
23723 | * cse.c (exp_equiv_p): CONST_INTs are equal iff they have the same | |
23724 | address. | |
23725 | (cse_basic_block): Fix typo in comment. | |
23726 | * emit-rtl.c: Include hashtab.h. | |
23727 | (const_int_htab): New variable. | |
23728 | (const_int_htab_hash): New function. | |
23729 | (const_int_htab_eq): Likewise. | |
23730 | (rtx_htab_mark_1): Likewise. | |
23731 | (rtx_htab_mark): Likewise. | |
23732 | (gen_rtx_CONST_INT): Cache all CONST_INTs. | |
23733 | (unshare_all_rtx): Fix formatting. | |
23734 | (init_emit_once): Initialize const_int_htab. | |
23735 | * rtl.c (rtx_equal_p): CONST_INTs are equal iff they have the same | |
23736 | address. | |
23737 | * rtl.texi: Document the fact that all CONST_INTs with the same | |
23738 | value are shared. | |
23739 | ||
23740 | 2000-03-30 Richard Henderson <rth@cygnus.com> | |
23741 | ||
23742 | * alpha.h (FUNCTION_BOUNDARY): Reduce to 128 bits. | |
23743 | ||
23744 | 2000-03-30 Zack Weinberg <zack@wolery.cumb.org> | |
23745 | ||
23746 | * configure.in: Comment out --enable-c-cpplib stanza. | |
23747 | * configure: Regenerate. | |
23748 | ||
23749 | Thu Mar 30 06:32:51 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
23750 | ||
23751 | * expr.c (store_constructor): Properly compute displacement and | |
23752 | alignment when offset is variable. | |
23753 | ||
23754 | * expmed.c (store_bit_field, store_fixed_bit_field): Fix more | |
23755 | cases of alignment in bytes. | |
23756 | ||
23757 | Thu Mar 30 13:30:40 2000 Jeffrey A Law (law@cygnus.com) | |
23758 | ||
23759 | * c-parse.in (cast_expr): Move change from March 21 into c-parse.in | |
23760 | since it is used to generate c-parse.y. | |
23761 | * objc-parse.c, objc-parse.y: Regenerated. | |
23762 | ||
23763 | * function.c (expand_function_end): Pass alignment argument to | |
23764 | emit_block_move in bits, not bytes. | |
23765 | ||
23766 | Thu Mar 30 06:32:51 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
23767 | ||
23768 | * expr.c (move_by_pieces_ninsns): Fix one more missing align | |
23769 | correction. | |
23770 | ||
23771 | * expmed.c (store_fixed_bit_field): STRUCT_ALIGN is in bits. | |
23772 | ||
23773 | * calls.c (expand_call): Pass bit alignment to mark_reg_pointer. | |
23774 | * explow.c (memory_address, allocate_dynamic_stack_space): Likewise. | |
23775 | * function.c (assign_parms): Likewise. | |
23776 | * integrate.c (expand_inline_function): Likewise. | |
23777 | * stmt.c (expand_decl): Likewise. | |
23778 | (copy_rtx_and_substitute): Likewise. | |
23779 | * expr.c (expand_expr, expand_expr_unaligned): Likewise. | |
23780 | (clear_by_pieces): Fix error in last change. | |
23781 | * emit-rtl.c (init_emit): Set known registers alignment in bits. | |
23782 | * function.h (regno_pointer_align): Now unsigned. | |
23783 | * config/arm/arm.c (alignable_memory_operand): REGNO_POINTER_ALIGN | |
23784 | is in bits. | |
23785 | * config/i386/i386.c (aligned_operand): Likewise. | |
23786 | * config/sparc/sparc.c (mem_min_alignment): Likewise. | |
23787 | * config/alpha/alpha.c (aligned_memory_operand): Likewise. | |
23788 | (unaligned_memory_operand): Likewise. | |
23789 | (alpha_expand_block_move, alpha_expand_block_clear): Likewise. | |
23790 | Also make alignments and sizes unsigned and some whitespace cleanup. | |
23791 | (alpha_va_start): Do nothing if VALIST's type is error_mark_node. | |
23792 | ||
23793 | * builtins.c (get_pointer_alignment): Use host_integerp & tree_low_cst. | |
23794 | (expand_builtin_apply): Pass alignment to emit_block_move in bits. | |
23795 | (expand_builtin_memcpy, expand_builtin_va_copy): Likewise. | |
23796 | (expand_builtin_memset): Likewise, but to clear_storage. | |
23797 | * calls.c (save_fixed_argument_area): Likewise, to move_by_pieces. | |
23798 | (restore_fixed_argument_area): Likewise. | |
23799 | (store_unaligned_arguments_into_pseudos): Likewise, to store_bit_field. | |
23800 | (load_register_parameters): Likewise, to emit_group_load. | |
23801 | (expand_call): Likewise, to emit_group_store and emit_block_move. | |
23802 | (emit_library_call_value_1): Likewise, to emit_block_move. | |
23803 | (store_one_arg): Likewise, and to emit_push_insn. | |
23804 | * expmed.c (extract_bit_field): Alignment is in bits, not bytes. | |
23805 | (extract_fixed_bit_field, extract_split_bit_field): Likewise. | |
23806 | * expr.c (move_by_pieces, move_by_pieces_ninsns): Likewise. | |
23807 | (emit_block_move, emit_group_load, emit_group_store): Likewise. | |
23808 | (clear_by_pieces, clear_storage, emit_push_insn): Likewise. | |
23809 | (expand_assigment, store_expr, store_constructor_field): Likewise. | |
23810 | (expand_expr_unaligned, do_jump, do_compare_and_jump): Likewise. | |
23811 | (store_constructor, store_field, get_inner_reference): Likewise. | |
23812 | Use host_integerp and tree_low_cst; sizes and positions HOST_WIDE_INT. | |
23813 | (expand_expr, case COMPONENT_REF): Likewise. | |
23814 | (copy_blkmode_from_regs): Use UNSIGNED_HOST_WIDE_INT for sizes | |
23815 | and positions; reindent code. | |
23816 | * expr.h (emit_cmp_insn, emit_cmp_and_jump_insns): Alignment unsigned. | |
23817 | * function.c (purge_addressof_1): Pass bit align to store_bit_field. | |
23818 | (assign_parms): Likewise to emit_group_store. | |
23819 | * optabs.c (prepare_cmp_insn): Alignment is in bits. | |
23820 | (emit_cmp_and_jump_insns, emit_cmp_insn): Likewise, and also unsigned. | |
23821 | * stmt.c (expand_value_return): Pass align in bits to emit_group_load. | |
23822 | (expand_return): Likewise to {extract,store}_bit_field. | |
23823 | * stor-layout.c (get_mode_alignment): Minor cleanup. | |
23824 | * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Align is in bits. | |
23825 | * config/sh/sh.h (MOVE_BY_PIECES_P): Likewise. | |
23826 | ||
23827 | 2000-03-29 Nick Clifton <nickc@cygnus.com> | |
23828 | ||
23829 | * config/arm/arm.h: Undo effects of previous delta: | |
23830 | (ASM_SPEC): Do not define. | |
23831 | (SUBTARGET_EXTRA_ASM_SPEC): Do not define. | |
23832 | ||
23833 | * config/arm/linux-elf.h: (SUBTARGET_EXTRA_ASM_SPEC) Fix | |
23834 | typo. | |
23835 | ||
23836 | 2000-03-29 Zack Weinberg <zack@wolery.cumb.org> | |
23837 | ||
23838 | * cppinit.c (cpp_start_read): Call initialize_dependency_output | |
23839 | only after reading in the primary source file. | |
23840 | ||
23841 | 2000-03-29 Geoff Keating <geoffk@cygnus.com> | |
23842 | ||
23843 | * c-common.c (c_common_nodes_and_builtins): The first parameter to | |
23844 | __builtin_va_start and __builtin_va_copy is now either a 'va_list' | |
23845 | or a reference to a va_list. | |
23846 | * builtins.c (stabilize_va_list): Simplify now we don't have to | |
23847 | work around C array address decay. | |
23848 | * c-typeck.c (convert_for_assignment): Handle assignment to | |
23849 | a reference parameter by taking the address of the RHS. | |
23850 | * ginclude/stdarg.h (va_start): Don't take address of first parameter. | |
23851 | (va_copy): Likewise. | |
23852 | (__va_copy): Likewise. | |
23853 | * ginclude/varargs.h (va_start): Likewise. | |
23854 | (__va_copy): Likewise. | |
23855 | ||
23856 | Wed Mar 29 15:44:53 2000 Jeffrey A Law (law@cygnus.com) | |
23857 | ||
23858 | * i386/djgpp.h: Remove extraneous "+". | |
23859 | ||
23860 | * stmt.c (stmt_loop_nest_empty): Fix thinko in last change. | |
23861 | ||
23862 | * calls.c (expand_call): Fix typo in last change. | |
23863 | ||
23864 | 2000-03-29 Jason Merrill <jason@casey.cygnus.com> | |
23865 | ||
23866 | * tree.c (unsave_expr_1): Don't mess with a TARGET_EXPR that hasn't | |
23867 | been expanded. | |
23868 | ||
23869 | Wed Mar 29 15:39:10 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
23870 | ||
23871 | * stor-layout.c (bit_from_pos, byte_from_pos): New functions. | |
23872 | (pos_from_byte, pos_from_bit, normalize_offset): Likewise. | |
23873 | (normalize_rli, rli_size_so_far, rli_size_unit_so_far): Use them. | |
23874 | * tree.c (bit_position, byte_position): Likewise. | |
23875 | * tree.h: Declare new functions. | |
23876 | ||
23877 | 2000-03-29 Nick Clifton <nickc@cygnus.com> | |
23878 | ||
23879 | * config/arm/arm.c: Minor formatting changes/ | |
23880 | * config/arm/arm.h (SUBTARGET_EXTRA_ASM_SPEC): Define if not | |
23881 | already defined. | |
23882 | (ASM_SPEC): Define if not already defined. | |
23883 | ||
23884 | 2000-03-29 Zack Weinberg <zack@wolery.cumb.org> | |
23885 | ||
23886 | * cppfiles.c (cpp_read_file): Don't pass zero-length string to | |
23887 | _cpp_calc_hash. | |
23888 | ||
23889 | 2000-03-29 Jakub Jelinek <jakub@redhat.com> | |
23890 | ||
23891 | * dwarf2out.c (gen_enumeration_type_die): If enum has a negative | |
23892 | value, don't output it as unsigned. | |
23893 | ||
23894 | Wed Mar 29 10:53:49 2000 Jeffrey A Law (law@cygnus.com) | |
23895 | ||
23896 | * stmt.c (stmt_loop_nest_empty): Allow cfun->stmt to be NULL. | |
23897 | ||
23898 | 2000-03-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
23899 | ||
23900 | * c-common.c (c_common_nodes_and_builtins): Don't special case | |
23901 | cplus_mode when declaring builtin bzero/bcmp, always avoid | |
23902 | prototype arguments. | |
23903 | ||
23904 | 2000-03-29 Bruce Korb <bkorb@gnu.org> | |
23905 | ||
23906 | * fixinc/mkfixinc.sh: Initially set the variable "fixincludes" | |
23907 | to a non-file | |
23908 | ||
23909 | Wed Mar 29 15:08:01 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
23910 | ||
23911 | Convert ACCUMULATE_OUTGOING_ARGS to an expression. | |
23912 | * calls.c (PUSH_ARGS_REVERSED) Change to expression. | |
23913 | (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Provide default value. | |
23914 | (struct arg_data): Remove #ifdef ACCUMULATE_OUTGOING_ARGS. | |
23915 | (save_fixed_argument_area, restore_fixed_argument_area): | |
23916 | conditionize by #ifdef REG_PARM_STACK_SPACE only. | |
23917 | (emit_call): Change #ifdefs on ACCUMULATE_OUTGOING_ARGS | |
23918 | to conditions, handle RETURN_POPS_ARGS on ACCUMULATE_OUTGOING_ARGS. | |
23919 | (precompute_register_parameters): Avoid #ifdefs on | |
23920 | ACCUMULATE_OUTGOING_ARGS and PUSH_ARGS_REVERSED. | |
23921 | (stire_one_args): Likewise. | |
23922 | (expand_call): Likewise; conditionize PUSH_ROUNDING code by PUSH_ARGS. | |
23923 | (emit_library_call_value_1): Likewise. | |
23924 | (compute_argument_block_size): Align to STACK_BOUNDARY only for | |
23925 | ACCUMULATE_OUTGOING_ARGS. | |
23926 | * combine.c (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Provide default | |
23927 | value. | |
23928 | (nonzero_bits): Conditionize PUSH_ROUNDING code by USE_PUSH. | |
23929 | (use_crosses_set_p): Likewise. | |
23930 | * all targets (ACCUMULATE_OUTGOING_ARGS define): Change to | |
23931 | #define ACCUMULATE_OUTGOING_ARGS 1. | |
23932 | * i386.c (ix86_compute_frame_size): Handle ACCUMULATE_OUTGOING_ARGS | |
23933 | frames. | |
23934 | * i386.h (MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS): New | |
23935 | constants. | |
23936 | (TARGET_PUSH_ARGS, TARGET_ACCUMULATE_OUTGOING_ARGS): New macros. | |
23937 | (TARGET_SWITCHES): Add push-args, no-push-args, | |
23938 | accumulate-outgoing-args and no-accumulate-outgoing-args. | |
23939 | (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): New macro. | |
23940 | * expr.c (ACCUMULATE_OUTGONG_ARGS, PUSH_ARGS): Provide default. | |
23941 | (push_block): Avoid ifdefs on ACCUMULATE_OUTGONG_ARGS | |
23942 | and PUSH_ROUNDING. | |
23943 | (emit_push_insn): Likewise. | |
23944 | * final.c (ACCUMULATE_OUTGOING_ARGS): Provide default. | |
23945 | (final_scan_insn): Avoid ifdefs on ACCUMULATE_OUTGOING_ARGS. | |
23946 | * function.c (ACCUMULATE_OUTGOING_ARGS): Provide default. | |
23947 | (STACK_DYNAMIC_OFFSET): Define correctly for both | |
23948 | ACCUMULATE_OUTGOING_ARGS and normal mode. | |
23949 | * invoke.texi (-mpush_args, -maccumulate-outgoing-args): Document. | |
23950 | * tm.texi (PUSH_ARGS): Document. | |
23951 | (ACCUMULATE_OUTGOING_ARGS, PUSH_ROUNDING): Update documentation. | |
23952 | ||
23953 | Wed Mar 29 11:51:13 MET DST 2000 Jan Hubicka <jh@suse.cz> | |
23954 | ||
23955 | * flags.h (flag_optimize_sibling_calls): Declare. | |
23956 | * calls.c (expand_call): Fail sibcall when | |
23957 | !flag_optimize_sibling_calls | |
23958 | * invoke.texi (flag_optimize_sibling_calls): Document. | |
23959 | * toplev.c (flag_optimize_sibling_calls): New global variable. | |
23960 | (f_options): Add flag_optimize_sibling_calls. | |
23961 | (rest_of_compilation): Conditionize | |
23962 | optimize_sibling_and_tail_recursive_calls by | |
23963 | flag_optimize_sibling_calls. | |
23964 | (main): Set flag_optimize_sibling_calls for -O2. | |
23965 | * stmt.c (expand_return): Conditionize tail recursion by | |
23966 | flag_optimize_sibling_calls. | |
23967 | ||
23968 | 2000-03-29 Richard Henderson <rth@cygnus.com> | |
23969 | ||
23970 | * config/i386/att.h (LOCAL_LABEL_PREFIX): Define. | |
23971 | (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Use it. | |
23972 | ||
23973 | 2000-03-29 Nathan Sidwell <nathan@codesourcery.com> | |
23974 | ||
23975 | * except.c (add_eh_table_entry): Mark type_info's as referenced. | |
23976 | ||
23977 | 2000-03-29 Alexandre Oliva <oliva@lsd.ic.unicamp.br> | |
23978 | ||
23979 | * config/rs6000/aix41.h (CPP_SPEC): Define _ANSI_C_SOURCE if -ansi | |
23980 | is given. | |
23981 | * config/rs6000/aix43.h (CPP_SPEC): Likewise. | |
23982 | * config/rs6000/rs6000.h (CPP_SPEC): Moved to... | |
23983 | * config/rs6000/aix.h: then modified likewise. | |
23984 | ||
23985 | 2000-03-28 Richard Henderson <rth@cygnus.com> | |
23986 | ||
23987 | * rtl.h: Redistribute enum reg_note documentation. | |
23988 | Kill trailing whitespace. | |
23989 | * rtl.c (reg_note_name): Adjust to match enum reg_note tweeks. | |
23990 | Kill trailing whitespace. | |
23991 | ||
23992 | 2000-03-28 Zack Weinberg <zack@wolery.cumb.org> | |
23993 | ||
23994 | * cppfiles.c (hash_IHASH): Just return i->hash. | |
23995 | (cpp_included): Set dummy.hash using _cpp_calc_hash. Use | |
23996 | htab_find_with_hash. | |
23997 | (cpp_read_file): Likewise. | |
23998 | (find_include_file): Likewise. Properly initialize | |
23999 | ih->nshort. Share ih->name and ih->nshort if possible. | |
24000 | * cpphash.c (_cpp_calc_hash): New function. | |
24001 | (hash_HASHNODE): Just return h->hash. | |
24002 | (_cpp_lookup): Set dummy.hash using _cpp_calc_hash. Use | |
24003 | htab_find_with_hash. | |
24004 | * cpphash.h: Prototype _cpp_calc_hash. | |
24005 | * cppinit.c (initialize_builtins): Provide a valid hash | |
24006 | to _cpp_make_hashnode, using _cpp_calc_hash. | |
24007 | ||
24008 | * cpphash.c (collect_expansion): # is not a special character | |
24009 | in object-like macros. In -traditional mode, /**/ is not | |
24010 | token paste at the beginning or end of the line. | |
24011 | * cpplib.c (do_include, do_import, do_include_next): If | |
24012 | parse_include fails, return immediately. | |
24013 | ||
24014 | 2000-03-28 Jason Merrill <jason@casey.cygnus.com> | |
24015 | ||
24016 | * config/arm/arm.md (return peepholes): Update to reflect the new | |
24017 | call insn patterns. | |
24018 | * config/arm/arm.c (arm_volatile_func): Also check | |
24019 | current_function_nothrow. | |
24020 | (output_return_instruction, output_func_prologue): Use it. | |
24021 | (arm_output_epilogue, arm_expand_prologue): Likewise. | |
24022 | ||
24023 | 2000-03-27 Tom Tromey <tromey@cygnus.com> | |
24024 | ||
24025 | * gcc.c (handle_braces): In {x*...} case, break out of loop if | |
24026 | switch is found. | |
24027 | ||
24028 | Tue Mar 28 11:55:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
24029 | ||
24030 | * expr.c (store_constructor): SIZE now signed. | |
24031 | For EXPR_SIZE, don't evaluate size; just needed if constant. | |
24032 | * fold-const.c (fold): Fix a number of cases when folded tree is | |
24033 | wrong type. | |
24034 | * function.c (flush_addressof): Reenable. | |
24035 | * tree.h (flush_addressof): Likewise. | |
24036 | * toplev.c (independent_decode_option): Look at strings_processed. | |
24037 | * config/alpha/alpha.h (MINIMUM_ATOMIC_ALIGNMENT): Cast to unsigned. | |
24038 | ||
24039 | Tue Mar 28 08:29:46 2000 Jan Hubicka <jh@suse.cz> | |
24040 | ||
684d9f3b | 24041 | * sibcall.c (identify_call_return_value): Find last call in the chain; |
c30d43bf JL |
24042 | Allow stack adjustment after function call. |
24043 | ||
24044 | * regmove.c (struct csa_memlist): Make mem field rtx *. | |
24045 | (record_one_stack_ref): Accept rtx * instead of rtx as parameter. | |
24046 | (try_apply_stack_adjustment): Replace whole MEM rtx. | |
24047 | (combine_stack_adjustments_for_block): Update calls | |
24048 | to record_one_stack_ref. | |
24049 | ||
24050 | 2000-03-28 Neil Booth <NeilB@earthling.net> | |
24051 | ||
24052 | * cpplex.c (_cpp_read_and_prescan): Mark end of input buffer with | |
24053 | '\\' rather than a null character, so nulls are not special. Fix | |
24054 | "\\\n" handling in end-of-buffer conditions. Use trigraph map to | |
24055 | speed trigraph conversion. | |
24056 | (_cpp_init_input_buffer): Initialize trigraph map. | |
24057 | ||
24058 | 2000-03-27 Alan Modra <alan@linuxcare.com.au> | |
24059 | ||
24060 | * config/i386/i386.c (output_387_binary_op): Correct intel | |
24061 | mode assembly output, and add spaces after commas in AT&T | |
24062 | output. Correct Unixware assembler comment. Document input | |
24063 | constraints. Comment fp operations. Reduce profligate buffer | |
24064 | size. Remove extraneous abort. Localize temp var. | |
24065 | (SYSV386_COMPAT): Define. Add !SYSV386_COMPAT code. | |
24066 | (output_fix_trunc): Add spaces after commas in assembly output. | |
24067 | ||
24068 | 2000-03-27 Richard Henderson <rth@cygnus.com> | |
24069 | ||
24070 | * i386-protos.h (ix86_match_ccmode): Declare. | |
24071 | * i386.c (ix86_match_ccmode): New. | |
24072 | (ix86_expand_fp_compare): Update for pattern renames. | |
24073 | (ix86_expand_strlensi_unroll_1): Likewise. | |
24074 | * i386.h (EXTRA_CC_MODES): Add CCZ. | |
24075 | (SELECT_CC_MODE): Use it for EQ/NE zero. | |
24076 | * i386.md (cmpsi_ccz_1): New. | |
24077 | (cmpqi_ccz_1): New. | |
24078 | (*testsi_ccz_1): New. | |
24079 | (testqi_ccz_1): New. | |
24080 | (cmpsi_ccno_1): Rename from cmpsi_0. | |
24081 | (testsi_ccno_1): Rename from testsi_1. | |
24082 | (testqi_ccno_1): Rename from testqi_1. | |
24083 | (*testqi_ext_ccz_0): Rename from testqi_ext_0. | |
24084 | (testqi_ext_ccno_0): Rename from *testqi_ext_1. | |
24085 | (*cmphi_0): Use ix86_match_ccmode. | |
24086 | (*cmpqi_ext_2, *addsi_2, *addhi_2, *addqi_2): Likewise. | |
24087 | (*subsi_2, *subhi_2, *subqi_2, *testhi_1): Likewise. | |
24088 | (*testqi_ext_1, *testqi_ext_2, *testqi_ext_3): Likewise. | |
24089 | (*andsi_2, *andhi_2, *andqi_2, *andqi_ext_0_cc): Likewise. | |
24090 | (*iorsi_2, *iorhi_2, *iorqi_2): Likewise. | |
24091 | (*xorsi_2, *xorhi_2, *xorqi_cc_1): Likewise. | |
24092 | (*one_cmplsi2_2, *one_cmplhi2_2, *one_cmplqi2_2): Likewise. | |
24093 | (*ashlsi3_cmpno, *ashlhi3_cmpno, *ashlqi3_cmpno): Likewise. | |
24094 | (*ashrsi3_cmpno, *ashrhi3_cmpno, *ashrqi3_cmpno): Likewise. | |
24095 | (*lshrsi3_cmpno, *lshrhi3_cmpno, *lshrqi3_cmpno): Likewise. | |
24096 | (appropriate peepholes): Likewise. | |
24097 | (*cmphi_1, *cmpqi_ccno_1, *cmpqi_1): Star out name. | |
24098 | (*subsi_3, *subhi_3, *subqi_3): Remove. | |
24099 | (*negdi2_1+1 splitter): Use CCZ for neg patterns. | |
24100 | (*negsi2_cmp, *neghi2_cmp, *negqi2_cmp): Remove. | |
24101 | (*negsi2_cmpz): Rename from *negsi2_cmpno, use CCZ. | |
24102 | (*neghi2_cmpz, *negqi2_cmpz): Similarly. | |
24103 | (x86_shift_adj_1): Use CCZ. | |
24104 | (*dbra_ge+1, *dbra_ge+2, ffssi2, ffssi_1): Likewise. | |
24105 | ||
24106 | 2000-03-27 Stan Cox <scox@cygnus.com> | |
24107 | ||
24108 | * resource.h (mark_resource_type): New. | |
24109 | * resource.c (find_dead_or_set_registers, mark_target_live_regs, | |
24110 | find_free_register): Use mark_resource_type. | |
24111 | (mark_set_resources): Change include_delayed_effects | |
24112 | to mark_resource_type. | |
24113 | * reorg.c (steal_delay_list_from_target, try_merge_delay_insns, | |
24114 | redundant_insn, fill_simple_delay_slots, fill_slots_from_thread): | |
24115 | Use mark_resource_type. | |
24116 | ||
24117 | 2000-03-27 Richard Henderson <rth@cygnus.com> | |
24118 | ||
24119 | * i386.md (call_pop_0, call_value_pop_0): New. | |
24120 | (call_pop_1): Remove constraint from unused arg. Support sibcalls. | |
24121 | (call_value_pop_1): Likewise. | |
24122 | (call_0, call_value_0): New. | |
24123 | (call_1, call_value_1): Remove constraint from unused arg. | |
24124 | ||
24125 | 2000-03-27 Nick Clifton <nickc@cygnus.com> | |
24126 | ||
24127 | * invoke.texi (Spec Files): Document new spec % command created by | |
24128 | Tom Tromey's recent patch. | |
24129 | ||
24130 | 2000-03-27 Jakub Jelinek <jakub@redhat.com> | |
24131 | ||
24132 | * libgcc2.h (MIN_UNITS_PER_WORD): Define to UNITS_PER_WORD | |
24133 | if not defined. | |
24134 | ||
24135 | Mon Mar 27 06:04:22 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
24136 | ||
24137 | * expr.c (expand_assignment): Fix typo in last change. | |
24138 | ||
24139 | * libgcc2.h: Use MIN_UNITS_PER_WORD, not UNITS_PER_WORD. | |
24140 | ||
24141 | Sun Mar 26 20:15:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
24142 | ||
24143 | * c-convert.c (convert): Return if output or input type is ERROR_MARK. | |
24144 | * c-decl.c (duplicate_decls): Only look at DECL_BUILT_IN_NONANSI | |
24145 | and DECL_INLINE if FUNCTION_DECL. | |
24146 | (pushdecl, redeclaration_error_message): Likewise, for DECL_INLINE. | |
24147 | (store_parm_decls): Check for type of PARM_DECL being ERROR_MARK. | |
24148 | Use DECL_WEAK, not DECL_RESULT, to flag for already seen. | |
24149 | (combine_parm_decls): Likewise. | |
24150 | * ggc-common.c (gcc_mark_tree_children, case 'd'): Use DECL_RESULT_FLD. | |
24151 | * print-tree.c (print_node): Likewise. | |
24152 | Only test DECL_PACKED, DECL_INLINE, DECL_BIT_FIELD, and | |
24153 | DECL_TRANSPARENT_UNION on proper decl types. | |
24154 | Properly handly DECL_INCOMING_RTL and DECL_SAVED_INSNS. | |
24155 | * stor-layout.c (layout_decl): Only check DECL_PACKED and | |
24156 | DECL_BIT_FIELD of FIELD_DECL. | |
24157 | * tree.h (DECL_RESULT_FLD): New macro. | |
24158 | ||
24159 | * expr.c (expand_assignment): Add code to handle variable-sized | |
24160 | BLKmode case. | |
24161 | ||
24162 | 2000-03-26 Richard Henderson <rth@cygnus.com> | |
24163 | ||
24164 | * calls.c (expand_call): Pass parms not original exp to | |
24165 | optimize_tail_recursion. Mind return value instead of looking | |
24166 | for a barrier. | |
24167 | * stmt.c (optimize_tail_recursion): Take parameter list, not entire | |
24168 | call_expr. Move checks for call_expr and current_function_decl ... | |
24169 | (expand_return): ... here. | |
24170 | ||
24171 | 2000-03-26 Tom Tromey <tromey@cygnus.com> | |
24172 | ||
24173 | * gcc.c (handle_braces): Recognize `%{<S}' construct. | |
24174 | (SWITCH_OK, SWITCH_FALSE, SWITCH_IGNORE, SWITCH_LIVE): New | |
24175 | defines. | |
24176 | (process_command): Use them. | |
24177 | (check_live_switch): Likewise. | |
24178 | (give_switch): Skip ignored switches. | |
24179 | ||
24180 | 2000-03-26 Jan Hubicka <jh@suse.cz> | |
24181 | ||
24182 | * jump.c (jump_optimize_1): Fix typo in elide optimizations | |
24183 | for minimal jump pass test. | |
24184 | ||
24185 | 2000-03-26 Mark Mitchell <mark@codesourcery.com> | |
24186 | ||
24187 | * integrate.c (function_cannot_inline_p): Do inline functions that | |
24188 | return `void'. | |
24189 | ||
24190 | Sun Mar 26 11:37:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
24191 | ||
24192 | * stor-layout.c (layout_type, set_sizetype): early_type_list is | |
24193 | now a list of TREE_LIST entries, not types. | |
24194 | * tree.c (build_common_tree_nodes_2): Eliminate dupliate type sets. | |
24195 | ||
24196 | * expmed.c (extract_bit_field): Ensure BITS_PER_WORD is signed in MAX. | |
24197 | * config/arm/pe.c (arm_pe_return_in_memory): Use host_integerp and | |
24198 | int_bit_position. | |
24199 | * config/mips/mips.c (function_arg): Likewise; also remove cast | |
24200 | and make variables unsigned or HOST_WIDE_INT and use tree_low_cst. | |
24201 | (mips_function_value): Use int_byte_position and make HOST_WIDE_INT. | |
24202 | * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Offsets are unsigned. | |
24203 | * config/mips/mips.h (BITS_PER_WORD, UNITS_PER_WORD): Cast to unsigned. | |
24204 | (UNITS_PER_FPREG, INT_TYPE_SIZE, LONG_TYPE_SIZE): Likewise. | |
24205 | (POINTER_SIZE, POINTER_BOUNDARY,PARM_BOUNDARY): Likewise. | |
24206 | (GP_REG_P, FP_REG_P, MD_REG_P, ST_REG_P): Ensure subtraction signed. | |
24207 | (struct mips_arg): arg_number, arg_words, fp_arg_words, and | |
24208 | num_adjusts now unsigned. | |
24209 | (FUNCTION_ARG_BOUNDARY): Remove unneeded cast. | |
24210 | * config/sparc/sparc.c (struct function_arg_record_value_parms): | |
24211 | NREGS now unsigned. | |
24212 | (function_arg_record_value_1): STARTBITPOS arg now HOST_WIDE_INT | |
24213 | as is BITPOS variable; use host_integerp and int_bit_position. | |
24214 | (function_arg_record_value_2): Likewise. | |
24215 | (function_arg_record_value_3): Arg BITPOS now HOST_WIDE_INT. | |
24216 | Variable REGNO now unsigned. | |
24217 | (function_arg_record_value): NREGS now unsigned. | |
24218 | ||
24219 | 2000-03-26 Bernd Schmidt <bernds@cygnus.co.uk> | |
24220 | ||
24221 | * jump.c (mark_all_labels): Handle CALL_PLACEHOLDERs. | |
24222 | ||
24223 | Sat Mar 25 09:12:10 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
24224 | ||
24225 | * Rework fields used to describe positions of bitfields and | |
24226 | modify sizes to be unsigned and use HOST_WIDE_INT. | |
24227 | * alias.c (reg_known_value_size): Now unsigned. | |
24228 | * c-typeck.c (build_unary_op, case ADDR_EXPR): Use byte_position. | |
24229 | (really_start_incremental_init): Use bitsize_zero_node. | |
24230 | (push_init_level, pop_init_level, output_init_element): Likewise. | |
24231 | Use bitsize_unit_node and bitsize_one_node. | |
24232 | (output_pending_init_elements, process_init_element): Likewise. | |
24233 | * combine.c (combine_max_regno, reg_sign_bit_copies): Now unsigned. | |
24234 | (make_extraction): Position and length HOST_WIDE_INT and unsigned | |
24235 | HOST_WIDE_INT, respectively. | |
24236 | (get_pos_from_mask): Passed in value is unsigned HOST_WIDE_INT. | |
24237 | (num_sign_bit_copies): Returns unsigned. | |
24238 | BITWIDTH now unsigned; rework arithmetic. | |
24239 | Remove recursive call from arg to MAX. | |
24240 | (combine_instructions, init_reg_last_arrays): NREGS now unsigned. | |
24241 | (setup_incoming_promotions, can_combine_p, try_combine, simplify_set): | |
24242 | REGNO now unsigned. | |
24243 | (set_nonzero_bit_and_sign_copies): NUM now unsigned. | |
24244 | (find_split_point, expand_compound_operation, make_extraction): LEN | |
24245 | now unsigned HOST_WIDE_INT, POS now HOST_WIDE_INT. | |
24246 | (make_field_assignment): Likewise. | |
24247 | (combine_simplify_rtx): Add cast. | |
24248 | (expand_compound_operation): MODEWIDTH now unsigned; rework arithmetic. | |
24249 | (force_to_mode): WIDTH now unsigned; add cast. | |
24250 | (if_then_else_cond): SIZE now unsigned. | |
24251 | (nonzero_bits): MODE_WIDTH, RESULT_WIDTH, and WIDTH now unsigned. | |
24252 | (extended_count): Now returns unsigned. | |
24253 | (simplify_shift_const): COUNT unsigned; arg is now INPUT_COUNT. | |
24254 | Add SIGNED_COUNT variable; MODE_WORDS and FIRST_COUNT now unsigned. | |
24255 | (simplify_comparison): MODE_WIDTH now unsigned. | |
24256 | (update_table_tick): REGNO and ENDREGNO now unsigned; new var R. | |
24257 | (mark_used_regs_combine): Likewise; rework arithmetic. | |
24258 | (record_value_for_reg): REGNO, ENDREGNO, and I now unsigned. | |
24259 | (record_dead_and_set_regs, reg_dead_at_p, distribute_notes): Likewise. | |
24260 | (record_promoted_value): REGNO now unsigned. | |
24261 | (get_last_value_validate): REGNO, ENDREGNO, and J now unsigned. | |
24262 | (get_last_value): REGNO now unsigned. | |
24263 | (use_crosses_set_p): REGNO and ENDREGNO now unsigned. | |
24264 | (reg_dead_regno, reg_dead_endregno): Now unsigned. | |
24265 | (remove_death): Arg REGNO now unsigned. | |
24266 | (move_deaths): REGNO, DEADREGNO, DEADEND, OUREND, and I now unsigned. | |
24267 | (reg_bitfield_target_p): REGNO, REGNO, ENDREGNO, and ENDTREGNO | |
24268 | now unsigned. | |
24269 | * convert.c (convert_to_integer): INPREC and OUTPREC now unsigned. | |
24270 | * cse.c (struct qty_table_elem): FIRST_REG and LAST_REG now unsigned. | |
24271 | (struct cse_reg_info): REGNO now unsigned. | |
24272 | (cached_regno): Now unsigned. | |
24273 | (REGNO_QTY_VALID_P): Add cast. | |
24274 | (make_new_qty, make_regs_eqv, delete_reg_eqiv): Regno args unsigned. | |
24275 | (remove_invalid_regs): Likewise. | |
24276 | (remove_invalid_subreg_refs): Likewise; arg WORD also unsigned | |
24277 | as are variables END and I. | |
24278 | (get_cse_reg_info, insert): Likewise. | |
24279 | (mention_regs, invalidate_for_call): REGNO, ENDREGNO, and I unsigned. | |
24280 | (canon_hash): Likewise. | |
24281 | (insert_regs, lookup_for_remove): REGNO now unsigned. | |
24282 | (invalidate): REGNO, ENDREGNO, TREGNO, and TENDREGNO now unsigned. | |
24283 | New variable RN. | |
24284 | * dbxout.c (dbxout_parms, dbxout_reg_parms): Don't check for REGNO < 0. | |
24285 | * dwarf2out.c (dwarf2ou_frame_debug_expr): Remove cast. | |
24286 | * emit-rtl.c (subreg_realpart_p): Add cast. | |
24287 | (operand_subword): Arg I is now unsigned as is var PARTWORDS. | |
24288 | (operand_subword_force): Arg I is now unsigned. | |
24289 | * except.c (eh_regs): Variable I is now unsigned. | |
24290 | * explow.c (hard_function_value): BYTES is unsigned HOST_WIDE_INT. | |
24291 | * expmed.c (store_fixed_bit_field): Position is HOST_WIDE_INT; | |
24292 | length is unsigned HOST_WIDE_INT; likewise for internal variables. | |
24293 | (store_split_bit_field, extract_fixed_bit_field): Likewise. | |
24294 | (extract_split_bit_field, store_bit_field, extract_bit_field): | |
24295 | Likewise. | |
24296 | * expr.c (store_constructor_fields, store_constructor, store_field): | |
24297 | Positions are HOST_WIDE_INT and lengths are unsigned HOST_WIDE_INT. | |
24298 | (expand_assignment, expand_expr, expand_expr_unaligned): Likewise. | |
24299 | (do_jump): Likewise. | |
24300 | (move_by_pieces, move_by_pieces_ninsns, clear_by_pieces): | |
24301 | MAX_SIZE is now unsigned. | |
24302 | (emit_group_load): BYTEPOS is HOST_WIDE_INT; BYTELEN is unsigned. | |
24303 | (emit_group_store): Likewise. | |
24304 | (emit_move_insn): I now unsigned. | |
24305 | (store_constructor): Use host_integerp, tree_low_cst, and | |
24306 | bitsize_unit_node. | |
24307 | (get_inner_reference): Return bitpos and bitsize as HOST_WIDE_INT. | |
24308 | Rework all calculations to use trees and new fields. | |
24309 | * expr.h (promoted_input_arg): Regno now unsigned. | |
24310 | (store_bit_field, extract_bit_field): Adjust types of pos and size. | |
24311 | (mark_seen_cases): Arg is HOST_WIDE_INT. | |
24312 | * flow.c (verify_wide_reg_1): REGNO now unsigned. | |
24313 | * fold-const.c (decode_field_reference): Size and pos HOST_WIDE_INT; | |
24314 | precisions and alignments are unsigned. | |
24315 | (optimize_bit_field_compare, fold_truthop): Likewise. | |
24316 | (int_const_binop): Adjust threshold for size_int_type_wide call. | |
24317 | (fold_convert): Likewise. | |
24318 | (size_int_type_wide): Make table larger and fix thinko that only | |
24319 | had half of table used. | |
24320 | (all_ones_mask_p, fold): Precisions are unsigned. | |
24321 | * function.c (put_reg_info_stack): REGNO is unsigned. | |
24322 | (instantiate_decl): Size is HOST_WIDE_INT. | |
24323 | (instantiate_virtual_regs): I is unsigned. | |
24324 | (assign_parms): REGNO, REGNOI, and REGNOR are unsigned. | |
24325 | (promoted_input_arg): REGNO is unsigned. | |
24326 | * function.h (struct function): x_max_parm_reg is now unsigned. | |
24327 | * gcse.c (max_gcse_regno): Now unsigned. | |
24328 | (struct null_pointer_info): min_reg and max_reg now unsigned. | |
24329 | (lookup_set, next_set): REGNO arg now unsigned. | |
24330 | (compute_hash_table): REGNO and I now unsigned. | |
24331 | (handle_avail_expr): regnum_for_replacing now unsigned. | |
24332 | (cprop_insn): REGNO now unsigned. | |
24333 | (delete_null_pointer_checks_1): BLOCK_REG now pointer to unsigned. | |
24334 | * ggc-common.c (ggc_mark_tree_children, case FIELD_DECL): New case. | |
24335 | * global.c (set_preference): SRC_REGNO, DEST_REGNO, and I now unsigned. | |
24336 | * hard-reg-set.h (reg_class_size): Now unsigned. | |
24337 | * integrate.c (mark_stores): LAST_REG and I now unsigned; new UREGNO. | |
24338 | * jump.c (mark_modified_reg): I now unsigned; add cast. | |
24339 | (rtx_equal_for_thread_p): Add cast. | |
24340 | * loop.c (max_reg_before_loop): Now unsigned. | |
24341 | (struct_movable): REGNO now unsigned. | |
24342 | (try_copy_prop): REGNO arg unsigned. | |
24343 | (regs_match_p): XN and YN now unsigned. | |
24344 | (consec_sets_invariant_p, maybe_eliminate_biv): REGNO now unsigned. | |
24345 | (strength_reduce): Likewise; NREGS also unsigned. | |
24346 | (first_increment_giv, last_increment_giv unsigned): Now unsigned. | |
24347 | * loop.h (struct iv_class): REGNO now unsigned. | |
24348 | (max_reg_before_loop, first_increment_giv, last_increment_giv): | |
24349 | Now unsigned. | |
24350 | * machmode.h (mode_size, mode_unit_size): Now unsigned. | |
24351 | (mode_for_size, smallest_mode_for_size): Pass size as unsigned. | |
24352 | * optabs.c (expand_binop): I and NWORDS now unsigned. | |
24353 | (expand_unop): I now unsigned. | |
24354 | * print-tree.c (print_node): Don't print DECL_FIELD_BITPOS, but do | |
24355 | print DECL_FIELD_OFFSET and DECL_FIELD_BIT_OFFSET. | |
24356 | * real.c (significand_size): Now returns unsigned. | |
24357 | * real.h (significand_size): Likewise. | |
24358 | * regclass.c (reg_class_size): Now unsigned. | |
24359 | (choose_hard_reg_mode): Both operands now unsigned. | |
24360 | (record_reg_classes): REGNO and NR now unsigned. | |
24361 | (reg_scan): NREGS now unsigned. | |
24362 | (reg_scan_update): old_max_regno now unsigned. | |
24363 | (reg_scan_mark_refs): Arg MIN_REGNO and var REGNO now unsigned. | |
24364 | * reload.c (find_valid_class): BEST_SIZE now unsigned. | |
24365 | (find_dummy_reload): REGNO, NWORDS, and I now unsigned. | |
24366 | (hard_reg_set_here_p): Args BEG_REGNO and END_REGNO now unsigned. | |
24367 | Likewise for variable R. | |
24368 | (refers_to_regno_for_reload_p): Args REGNO and END_REGNO now unsigned, | |
24369 | as are variables INNER_REGNO and INNER_ENDREGNO; add new variable R. | |
24370 | (find_equiv_reg): Add casts. | |
24371 | (regno_clobbered_p): Arg REGNO now unsigned. | |
24372 | * reload.h (struct reload): NREGS now unsigned. | |
24373 | (refers_to_regno_for_reload_p): Regno args are unsigned. | |
24374 | (regno_clobbered_p): Likewise. | |
24375 | * reload1.c (reg_max_ref_width, spill_stack_slot_width): Now unsigned. | |
24376 | (compute_use_by_pseudos): REGNO now unsigned. | |
24377 | (find_reg): I and J now unsigned, new variable K, and change loop | |
24378 | variables accordingly; THIS_NREGS now unsigned. | |
24379 | (alter_reg): INHERENT_SIZE and TOTAL_SIZE now unsigned. | |
24380 | (spill_hard_reg): REGNO arg now unsigned; add casts. | |
24381 | (forget_old_reloads_1): REGNO, NR, and I now unsigned. | |
24382 | (mark_reload_reg_in_use): Arg REGNO and vars NREGS and I now unsigned. | |
24383 | (clear_reload_reg_in_use): Arg REGNO and vars NREGS, START_REGNO, | |
24384 | END_REGNO, CONFLICT_START, and CONFLICT_END now unsigned. | |
24385 | (reload_reg_free_p, reload_reg_reaches_end_p): Arg REGNO now unsigned. | |
24386 | (choose_reload_regs): MAX_GROUP_SIZE now unsigned. | |
24387 | (emit_reload_insns): REGNO now unsigned. | |
24388 | (reload_cse_move2add): Add cast. | |
24389 | (move2add_note_store): REGNO and I now unsigned; new variable ENDREGNO | |
24390 | and rework loop. | |
24391 | * resource.c (mark_referenced_resources, mark_set_resources): New | |
24392 | variable R; REGNO and LAST_REGNO now unsigned. | |
24393 | (mark_target_live_regs): J and REGNO now unsigned. | |
24394 | * rtl.c (mode_size, mode_unit_size): Now unsigned. | |
24395 | * rtl.h (union rtunion_def): New field rtuint. | |
24396 | (XCUINT): New macro. | |
24397 | (ADDRESSOF_REGNO, REGNO, SUBREG_WORD): New XCUINT. | |
24398 | (operand_subword, operand_subword_force): Word number is unsigned. | |
24399 | (choose_hard_reg_mode): Operands are unsigned. | |
24400 | (refers_to-regno_p, dead_or_set_regno_p): Regno arg is unsigned. | |
24401 | (find_regno_note, find_regno_fusage, replace_regs): Likewise. | |
24402 | (regno_use_in, combine_instructions, remove_death): Likewise. | |
24403 | (reg_scan, reg_scan_update): Likewise. | |
24404 | (extended_count): Return is unsigned. | |
24405 | * rtlanal.c (refers_to_regno_p): Args REGNO and ENDREGNO and vars I, | |
24406 | INNER_REGNO, and INNER_ENDREGNO now unsigned; new variable X_REGNO. | |
24407 | (reg_overlap_mentioned_p): REGNO and ENDREGNO now unsigned. | |
24408 | (reg_set_last_first_regno, reg_set_last_last_regno): Now unsigned. | |
24409 | (reg_reg_last_1): FIRS and LAST now unsigned. | |
24410 | (dead_or_set_p): REGNO, LAST_REGNO, and I now unsigned. | |
24411 | (dead_or_set_regno_p): Arg TEST_REGNO and vars REGNO and ENDREGNO | |
24412 | now unsigned. | |
24413 | (find_regno_note, regno_use_in): Arg REGNO now unsigned. | |
24414 | (find_regno_fusage): Likewise; also var REGNOTE now unsigned. | |
24415 | (find_reg_fusage): Variables REGNO, END_REGNO, and I now unsigned. | |
24416 | (replace_regs): Arg NREGS now unsigned. | |
24417 | * sdbout.c (sdbout_parms, sdbout_reg_parms): Don't check REGNO < 0. | |
24418 | * simplify-rtx.c (simplify_unary_operation): WIDTH now unsigned. | |
24419 | (simplify_binary_operation): Likewise. | |
24420 | (cselib_invalidate_regno): Arg REGNO and variables ENDREGNO, I, and | |
24421 | THIS_LAST now unsigned. | |
24422 | (cselib_record_set): Add cast. | |
24423 | * ssa.c (ssa_max_reg_num): Now unsigned. | |
24424 | (rename_block): REGNO now unsigned. | |
24425 | * stmt.c (expand_return): Bit positions unsigned HOST_WIDE_INT; | |
24426 | sizes now unsigned. | |
24427 | (all_cases_count): Just return -1 not -2. | |
24428 | COUNT, MINVAL, and LASTVAL now HOST_WIDE_INT. | |
24429 | Rework tests to use trees whenever possible. | |
24430 | Use host_integerp and tree_low_cst. | |
24431 | (mark_seen_cases): COUNT arg now HOST_WIDE_INT; | |
24432 | Likewise variable NEXT_NODE_OFFSET; XLO now unsigned. | |
24433 | (check_for_full_enumeration_handing): BYTES_NEEDED, I to HOST_WIDE_INT. | |
24434 | * stor-layout.c (mode_for_size): SIZE arg now unsigned. | |
24435 | (smallest_mode_for_size): Likewise. | |
24436 | (layout_decl): Simplify handing of a specified DECL_SIZE_UNIT. | |
24437 | KNOWN_ALIGN is now an alignment, so simplify code. | |
24438 | Don't turn off DECL_BIT_FIELD if field is BLKmode, but not type. | |
24439 | (start_record_layout): Renamed from new_record_layout_info. | |
24440 | Update to new fields. | |
24441 | (debug_rli, normalize_rli, rli_size_unit_so_far, rli_size_so_far): | |
24442 | New functions. | |
24443 | (place_union_field): Renamed from layout_union_field. | |
24444 | Update to use new fields in rli. | |
24445 | (place_field): Renamed from layout_field. | |
24446 | Major rewrite to use new fields in rli; pass alignment to layout_decl. | |
24447 | (finalize_record_size): Rework to use new fields in rli and handle | |
24448 | union. | |
24449 | (compute_record_mode): Rework to simplify and to use new DECL fields. | |
24450 | (finalize_type_size): Make rounding more consistent. | |
24451 | (finish_union_layout): Deleted. | |
24452 | (layout_type, case VOID_TYPE): Don't set TYPE_SIZE_UNIT either. | |
24453 | (layout_type, case RECORD_TYPE): Call new function names. | |
24454 | (initialize_sizetypes): Set TYPE_IS_SIZETYPE. | |
24455 | (set_sizetype): Set TYPE_IS_SIZETYPE earlier. | |
24456 | (get_best_mode): UNIT is now unsigned; remove casts. | |
24457 | * tree.c (bit_position): Compute from new fields. | |
24458 | (byte_position, int_byte_position): New functions. | |
24459 | (print_type_hash_statistics): Cast to remove warning. | |
24460 | (build_range_type): Use host_integerp and tree_low_cst to try to hash. | |
24461 | (build_index_type): Likewise; make subtype of sizetype. | |
24462 | (build_index_2_type): Pass sizetype to build_range_type. | |
24463 | (build_common_tree_nodes): Use size_int and bitsize_int to | |
24464 | initialize nodes; add bitsize_{zero,one,unit}_node. | |
24465 | * tree.h (DECL_FIELD_CONTEXT): Use FIELD_DECL_CHECK. | |
24466 | (DECL_BIT_FIELD_TYPE, DECL_QUALIFIER, DECL_FCONTEXT): Likewise. | |
24467 | (DECL_PACKED, DECL_BIT_FIELD): Likewise. | |
24468 | (DECL_FIELD_BITPOS): Deleted. | |
24469 | (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): New fields. | |
24470 | (DECL_RESULT, DECL_SAVED_INSNS): Use FUNCTION_DECL_CHECK. | |
24471 | (DECL_FRAME_SIZE, DECL_FUNCTION_CODE, DECL_NO_STATIC_CHAIN): Likewise. | |
24472 | (DECL_INLINE, DECL_BUILT_IN_NONANSI, DECL_IS_MALLOC): Likewise. | |
24473 | (DECL_BUILT_IN_CLASS, DECL_STATIC_CONSTRUCTOR): Likewise. | |
24474 | (DECL_STATIC_DESTRUCTOR, DECL_NO_CHECK_MEMORY_USAGE): Likewise. | |
24475 | (DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT, DECL_NO_LIMIT_STACK) Likewise. | |
24476 | (DECL_ORIGINAL_TYPE, TYPE_DECL_SUPPRESS_DEBUG): Use TYPE_DECL_CHECK. | |
24477 | (DECL_ARG_TYPE_AS_WRITEN, DECL_ARG_TYPE): Use PARM_DECL_CHECK. | |
24478 | (DECL_INCOMING_RTL, DECL_TRANSPARENT_UNION): Likewise. | |
24479 | (DECL_ALIGN): Adjust to new field in union. | |
24480 | (DECL_OFFSET_ALIGN): New field. | |
24481 | (DECL_ERROR_ISSUED, DECL_TOO_LATE): Use LABEL_DECL_CHECK. | |
24482 | (DECL_IN_TEXT_SECTION): Use VAR_DECL_CHECK. | |
24483 | (union tree_decl): Add struct for both aligns. | |
24484 | (enum tree_index): Add TI_BITSIZE_{ZERO,ONE,UNIT}. | |
24485 | (bitsize_zero_node, bitsize_one_node, bitsize_unit_node): Added. | |
24486 | (struct record_layout_info): Rework fields to have offset | |
24487 | alignment and byte and bit position. | |
24488 | (start_record_layout, place_field): Renamed from old names. | |
24489 | (rli_size_so_far, rli_size_unit_so_far, normalize_rli): New decls. | |
24490 | (byte_position, int_byte_position): Likewise. | |
24491 | (get_inner_reference): Change types of position and length. | |
24492 | * unroll.c (unroll_loop): New variable R; use for some loops. | |
24493 | MAX_LOCAL_REGNUM and MAXREGNUM now unsigned. | |
24494 | (calculate_giv_inc): Arg REGNO now unsigned. | |
24495 | (copy_loop_body): REGNO and SRC_REGNO now unsigned. | |
24496 | * varasm.c (assemble_variable): Clean up handling of size using | |
24497 | host_integerp and tree_low_cst. | |
24498 | (decode_addr_const): Use byte, not bit, position. | |
24499 | (output_constructor): bitpos and offsets are HOST_WIDE_INT; | |
24500 | use tree_low_cst and int_bit_position. | |
24501 | * objc/objc-act.c (build_ivar_list_initializer): Use byte_position. | |
24502 | ||
24503 | Fri Mar 24 20:13:49 2000 Jason Eckhardt <jle@cygnus.com> | |
24504 | ||
24505 | * bb-reorder.c (REORDER_MOVED_BLOCK_END): Removed. | |
24506 | (reorder_block_def): New members eff_head and eff_end. | |
24507 | (REORDER_BLOCK_EFF_HEAD, REORDER_BLOCK_EFF_END): New macros. | |
24508 | (verify_insn_chain): New function. | |
24509 | (skip_insns_between_block): Add code to skip deleted insns. | |
24510 | Check for note before using. | |
24511 | (chain_reorder_blocks): Replace calls to skip_insns_between_block | |
24512 | with references to REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END. | |
24513 | Check for note before using. | |
24514 | (make_reorder_chain): Use INTVAL rather than XINT to get REG_BR_PROB. | |
24515 | (fixup_reorder_chain): Restructure, clean up, defect removal. | |
24516 | (reorder_basic_blocks): Remove last_insn and references to it. | |
24517 | Moved insn chain verification code into a new function (see above). | |
24518 | Delete defective code that sets last insn. | |
24519 | Initialize REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END for | |
24520 | all blocks. | |
24521 | ||
24522 | 2000-03-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
24523 | ||
24524 | * config/c4x/c4x.h (CPP_SPEC): Remove erroneous space. | |
24525 | ||
24526 | 2000-03-24 Richard Henderson <rth@cygnus.com> | |
24527 | ||
24528 | * tree.c (lang_safe_for_unsave): Remove. | |
24529 | (unsafe_for_reeval): Transmute and rename from safe_for_unsave, | |
24530 | allowing for two levels of unsafeness. Remove lang hook. | |
24531 | * tree.h: Update declarations. | |
24532 | * calls.c (expand_call): Rename safe_for_reeval to try_tail_call. | |
24533 | Create temporary VAR_DECLs to protect very unsafe_for_reeval trees. | |
24534 | Always fail sibcalls when there are pending cleanups. | |
24535 | ||
24536 | 2000-03-24 Geoff Keating <geoffk@cygnus.com> | |
24537 | ||
24538 | * flow.c (propagate_block): When we delete an ADDR_VEC, | |
24539 | also delete the BARRIER following it if there is one. | |
24540 | ||
24541 | 2000-03-24 Richard Henderson <rth@cygnus.com> | |
24542 | ||
24543 | * builtins.c (expand_builtin_bzero): Convert `length' argument | |
24544 | to sizetype. | |
24545 | ||
24546 | 2000-03-24 Jakub Jelinek <jakub@redhat.com> | |
24547 | ||
24548 | * sibcall.c (skip_copy_to_return_value): Use OUTGOING_REGNO for | |
24549 | comparison if regno's are equal. | |
24550 | * calls.c (initialize_argument_informat): Add ecf_flags argument. | |
24551 | Use FUNCTION_INCOMING_ARG if available and ECF_SIBCALL. | |
24552 | (expand_call): Update caller. | |
24553 | Avoid making a sibling call if argument size of the callee is larger | |
24554 | than argument size of the caller. | |
24555 | Call hard_function_value with outgoing set if in sibcall pass. | |
24556 | Use FUNCTION_INCOMING_ARG if available and ECF_SIBCALL. | |
24557 | ||
24558 | * final.c (permitted_reg_in_leaf_functions, only_leaf_regs_used): | |
24559 | Change LEAF_REGISTERS from an array initializer to actual array | |
24560 | identifier. Move static global variable into the function. | |
24561 | (leaf_function_p): Allow SIBLING_CALL_P calls even outside of | |
24562 | sequences for leaf functions. | |
24563 | * global.c (global_alloc): Likewise. | |
24564 | * tm.texi (LEAF_REGISTERS): Update documentation. | |
24565 | ||
24566 | * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Remove the ugly | |
24567 | TARGET_FLAT leaf disabling hack. | |
24568 | (LEAF_REGISTERS): Changed from an array initializer to actual array | |
24569 | identifier to avoid duplication and remove the above hack. | |
24570 | (FUNCTION_OK_FOR_SIBCALL): Define. | |
24571 | * config/sparc/sparc.md (sibcall): New attr type. Use it almost | |
24572 | always like call attribute. | |
24573 | (eligible_for_sibcall_delay): New attribute. | |
24574 | (sibcall): New delay type. | |
24575 | (sibcall, sibcall_value, sibcall_epilogue): New expands. | |
24576 | (sibcall_symbolic_sp32, sibcall_symbolic_sp64, | |
24577 | sibcall_value_symbolic_sp32, sibcall_value_symbolic_sp64): New insns. | |
24578 | * config/sparc/sparc.c (sparc_leaf_regs): New array. | |
24579 | (eligible_for_sibcall_delay, output_restore_regs, output_sibcall): | |
24580 | New functions. | |
24581 | (output_function_epilogue): Move part of the code into | |
24582 | output_restore_regs. | |
24583 | (ultra_code_from_mask, ultrasparc_sched_reorder): Handle | |
24584 | TYPE_SIBCALL. | |
24585 | * sparc-protos.h (output_sibcall, eligible_for_sibcall_delay): New | |
24586 | prototypes. | |
24587 | ||
24588 | * config/sparc/sparc.h (REVERSIBLE_CC_MODE): Revert Jan, 25 change | |
24589 | until infrastructure is finished. | |
24590 | ||
24591 | Fri Mar 24 13:49:45 2000 Jeffrey A Law (law@cygnus.com) | |
24592 | ||
24593 | * integrate.c (save_for_inline_nocopy): Clear in_nonparm_insns here. | |
24594 | (save_parm_insns): Not here. | |
24595 | ||
24596 | 2000-03-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
24597 | ||
24598 | * builtins.c (expand_builtin_bzero): New function. | |
24599 | (expand_builtin): Handle bzero. | |
24600 | ||
24601 | * builtins.def: Add BUILT_IN_BZERO. | |
24602 | ||
24603 | * c-common.c (c_common_nodes_and_builtins): Provide builtin | |
24604 | prototype & function for bzero. | |
24605 | ||
24606 | 2000-03-23 Michael Meissner <meissner@redhat.com> | |
24607 | ||
24608 | * config/alpha/alpha.md (TF floating point insns): Undo 2000-03-21 | |
24609 | change adding TARGET_FP to the TF floating point insns, except for | |
24610 | trunctfsf2, which generates direct calls to truncdfsf2. | |
24611 | ||
24612 | 2000-03-23 Geoff Keating <geoffk@cygnus.com> | |
24613 | ||
24614 | * config/rs6000/rs6000.h (ARG_POINTER_CFA_OFFSET): New definition, | |
24615 | try to protect against middle-end changes that break binary | |
24616 | compatibility. | |
24617 | (DWARF_FRAME_REGISTERS): New definition, likewise for backend. | |
24618 | ||
24619 | 2000-03-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
24620 | ||
24621 | * config/c4x/c4x.md (load_immed_address): Add DP reg clobber. | |
24622 | ||
24623 | Thu Mar 23 17:10:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
24624 | ||
24625 | * calls.c (expand_call): If TARGET is passed by reference and | |
24626 | is readonly, write a CLOBBER. | |
24627 | ||
24628 | 2000-03-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
24629 | ||
24630 | * builtins.c (expand_builtin): Handle bcmp. | |
24631 | ||
24632 | * builtins.def: Add BUILT_IN_BCMP. | |
24633 | ||
24634 | * c-common.c (c_common_nodes_and_builtins): Provide builtin | |
24635 | prototype & function for bcmp. | |
24636 | ||
24637 | Thu Mar 23 11:34:39 2000 Jim Wilson <wilson@cygnus.com> | |
24638 | ||
24639 | * config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC): Move case 6... | |
24640 | (rtx_needs_barrier, case UNSPEC_VOLATILE): to here. | |
24641 | * config/ia64/ia64.md (pr_restore): Change UNSPEC to UNSPEC_VOLATILE. | |
24642 | ||
24643 | Thu Mar 23 16:04:40 2000 Andrew Haley <aph@cygnus.com> | |
24644 | ||
24645 | * config/mips/mips.md (movdf_internal1a): Delete (set 'f', 'F') | |
24646 | alternative when using -fp64 -gp32. | |
24647 | ||
24648 | 2000-03-22 Jason Merrill <jason@casey.cygnus.com> | |
24649 | ||
24650 | * config/rs6000/rs6000.h (DWARF_FRAME_RETURN_COLUMN): Define. | |
24651 | * config/alpha/alpha.h (DWARF_FRAME_RETURN_COLUMN): Define. | |
24652 | * config/sparc/sparc.h (DWARF_FRAME_RETURN_COLUMN): Define. | |
24653 | ||
24654 | * frame.h (frame_state): Revert last change. | |
24655 | * frame.c (execute_cfa_insn): Just don't record the save of a CFA reg. | |
24656 | * libgcc2.c (throw_helper): Revert last change. | |
24657 | ||
24658 | 2000-03-22 Richard Henderson <rth@cygnus.com> | |
24659 | ||
24660 | * stmt.c (expand_asm_operands): Don't promote the temporary. | |
24661 | ||
24662 | 2000-03-22 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr> | |
24663 | ||
24664 | * builtin.c (get_pointer_alignment): Use DECL_P and TYPE_P macros. | |
24665 | * c-common.c (decl_attributes,check_format_info,truthvalue_conversion, | |
24666 | c_get_alias_set): Likewise. | |
24667 | * c-decl.c (duplicate_decls): Likewise. | |
24668 | * c-typeck.c (default_conversion,build_unary_op): Likewise. | |
24669 | * calls.c (initialize_argument_information): Likewise. | |
24670 | * dwarf2out.c (decl_class_context,add_abstract_origin_attribute): | |
24671 | Likewise. | |
24672 | * dwarfout.c (decl_class_context,output_type): Likewise. | |
24673 | * expr.c (get_inner_reference): Likewise. | |
24674 | * fold-const.c (simple_operand_p,fold): Likewise. | |
24675 | * function.c (aggregate_value_p): Likewise. | |
24676 | * stmt.c (expand_asm_operands): Likewise. | |
24677 | * varasm.c (named_section): Likewise. | |
24678 | ||
24679 | 2000-03-22 Jason Merrill <jason@casey.cygnus.com> | |
24680 | ||
24681 | Implement dwarf2 exception handling for the ARM. | |
24682 | * config/arm/arm.h (INCOMING_RETURN_ADDR_RTX): Define. | |
24683 | (DWARF_FRAME_RETURN_COLUMN): Define. | |
24684 | * config/arm/arm.c (emit_multi_reg_push): Return rtx. Attach | |
24685 | REG_FRAME_RELATED_EXPR note. | |
24686 | (emit_sfm): Likewise. | |
24687 | (arm_expand_prologue): Set RTX_FRAME_RELATED_P on everything. | |
24688 | * dwarf2out.c (reg_save): Handle saving a register to itself. | |
24689 | (dwarf2out_frame_debug_expr): Handle an intermediate cfa reg. | |
24690 | * except.c (eh_regs): Don't use the static chain reg if it's | |
24691 | callee-saved. | |
24692 | * frame.h (frame_state): Add cfa_saved field. | |
24693 | * frame.c (execute_cfa_insn): Set it. | |
24694 | * libgcc2.c (throw_helper): Don't adjust sp if it's restored in | |
24695 | the epilogue. | |
24696 | * function.c (ARG_POINTER_CFA_OFFSET): Default to FIRST_PARM_OFFSET. | |
24697 | Now takes a parm. | |
24698 | (instantiate_virtual_regs): Adjust. | |
24699 | * tm.texi: Adjust. | |
24700 | * config/m68k/m68k.h (ARG_POINTER_CFA_OFFSET): Don't define. | |
24701 | * config/ns32k/ns32k.h (ARG_POINTER_CFA_OFFSET): Don't define. | |
24702 | * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): Take a parm. | |
24703 | ||
24704 | * dwarf2out.c (reg_number): Refer to FIRST_PSEUDO_REGISTER. | |
24705 | (initial_return_save): Use DWARF_FRAME_REGNUM, not reg_number. | |
24706 | ||
24707 | 2000-03-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
24708 | ||
24709 | * builtins.def: New file. | |
24710 | ||
24711 | * Makefile.in (TREE_H): Depend on builtins.def. | |
24712 | ||
24713 | * builtins.c (built_in_names): Use builtins.def. | |
24714 | ||
24715 | * tree.h (built_in_function): Likewise. | |
24716 | ||
24717 | 2000-03-22 Mark Mitchell <mark@codesourcery.com> | |
24718 | ||
24719 | * tree.c (size_in_bytes): Return size_zero_node, not | |
24720 | integer_zero_node. | |
24721 | ||
24722 | 2000-03-22 Geoff Keating <geoffk@cygnus.com> | |
24723 | ||
24724 | * config/fp-bit.c (pack_d): Correct the case when a denormal | |
24725 | is rounded up and stops being denormal. | |
24726 | ||
24727 | 2000-03-21 Richard Henderson <rth@cygnus.com> | |
24728 | ||
24729 | * config/alpha/alpha.c (function_arg): Check for void_type_node | |
24730 | before using MUST_PASS_IN_STACK. | |
24731 | ||
24732 | 2000-03-21 Stephane Carrez <stcarrez@worldnet.fr> | |
24733 | ||
24734 | * regmove.c (combine_stack_adjustments_for_block): Check that | |
24735 | the stack pointer is a valid memory address. | |
24736 | ||
24737 | Wed Mar 22 11:44:50 MET 2000 Jan Hubicka <jh@suse.cz> | |
24738 | ||
24739 | * calls.c: re-install Mar 16 emit_library_call merge. | |
24740 | ||
24741 | 2000-03-21 Jakub Jelinek <jakub@redhat.com> | |
24742 | ||
24743 | * config/sparc/sparc.c (mem_min_alignment): If not optimizing, | |
24744 | we cannot be sure that if reload_completed base register will | |
24745 | be properly aligned. | |
24746 | ||
24747 | 2000-03-21 Richard Henderson <rth@cygnus.com> | |
24748 | ||
24749 | * flow.c (delete_block): Fix typo last change. | |
24750 | ||
24751 | 2000-03-21 Mark Mitchell <mark@codesourcery.com> | |
24752 | ||
24753 | * c-common.c (c_expand_expr_stmt): Use COMPLETE_TYPE_OR_VOID_P, | |
24754 | not COMPLETE_TYPE_P, to check the type of the expression. | |
24755 | ||
24756 | 2000-03-21 Michael Meissner <meissner@redhat.com> | |
24757 | ||
24758 | * config/alpha/alpha.md (floating point insns): Add TARGET_FP to | |
24759 | all floating point insns that just tested the macro | |
24760 | TARGET_HAS_XFLOATING_LIBS. | |
24761 | (movsf/movdf recognizers): Add separate insns if -mno-fp-regs is | |
24762 | used to only use the gprs. | |
24763 | ||
24764 | 2000-03-21 Nathan Sidwell <nathan@codesourcery.com> | |
24765 | ||
24766 | * tree.h (COMPLETE_TYPE_P): New macro. | |
24767 | (COMPLETE_OR_VOID_TYPE_P): New macro. | |
24768 | (COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): New macro. | |
24769 | * stor-layout.c (layout_type, case VOID_TYPE): Don't set TYPE_SIZE. | |
24770 | * c-aux-info.c (gen_type): Use them. | |
24771 | * c-common.c (c_expand_expr_stmt): Likewise. | |
24772 | * c-decl.c (poplevel, pushdecl, start_decl, finish_decl, | |
24773 | grokdeclarator, grokparms, finish_struct, start_function, | |
24774 | store_parm_decls, combine_parm_decls): Likewise. | |
24775 | * c-parse.y (cast_expr): Likewise. | |
24776 | * c-typeck.c (require_complete_type, c_sizeof, c_sizeof_nowarn, | |
24777 | c_size_in_bytes, c_alignof, build_component_ref, | |
24778 | build_indirect_ref, build_array_ref, convert_arguments, | |
24779 | build_binary_op, pointer_diff, build_unary_op, digest_init: Likewise. | |
24780 | * calls.c (initialize_argument_information): Likewise. | |
24781 | * convert.c (convert_to_integer): Likewise. | |
24782 | * dbxout.c (dbxout_typedefs, dbxout_type, dbxout_symbol): Likewise. | |
24783 | * dwarfout.c (location_or_const_value_attribute, | |
24784 | output_enumeration_type_die, output_structure_type_die, | |
24785 | output_union_type_die, output_type): Likewise. | |
24786 | * expr.c (safe_from_p, expand_expr): Likewise. | |
24787 | * function.c (assign_parms): Likewise. | |
24788 | * sdbout.c (sdbout_symbol, sdbout_one_type): Likewise. | |
24789 | * tree.c (build_array_type, build_function_type, | |
24790 | build_method_type, build_offset_type, build_complex_type): Likewise. | |
24791 | * c-parse.c, c-parse.h: Regenerated. | |
24792 | ||
24793 | 2000-03-21 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
24794 | ||
24795 | * config/c4x/rtems.h: Include config/rtems.h. | |
24796 | ||
24797 | Tue Mar 21 09:24:00 2000 Denis Chertykov <denisc@overta.ru> | |
24798 | ||
24799 | * config/avr/avr.c (encode_section_info): sets SYMBOL_REF_FLAG if | |
24800 | decl is a FUNCTION_DECL | |
24801 | ||
24802 | Mon Mar 20 19:53:53 2000 Jim Wilson <wilson@cygnus.com> | |
24803 | ||
24804 | * config/ia64/ia64.c (ia64_expand_prologue): Don't abort if leaf | |
24805 | function uses output registers. Don't save RP for leaf functions. | |
24806 | Do save RP even if no epilogue. | |
24807 | * config/ia64/ia64.h (FIXED_REGISTERS): Unmark in/out registers. | |
24808 | (CALL_USED_REGISTERS): Unmark in registers. | |
24809 | (REG_ALLOC_ORDER): Move out regs up, to near the top. Move in regs up, | |
24810 | to near the middle. | |
24811 | ||
24812 | 2000-03-20 Geoff Keating <geoffk@cygnus.com> | |
24813 | ||
24814 | * config/rs6000/rs6000.md (bunordered): New expander. | |
24815 | (bordered): New expander. | |
24816 | (buneq): New expander. | |
24817 | (bunge): New expander. | |
24818 | (bungt): New expander. | |
24819 | (bunle): New expander. | |
24820 | (bunlt): New expander. | |
24821 | (bltgt): New expander. | |
24822 | ||
24823 | * config/rs6000/rs6000.c (ccr_bit): Handle unordered comparisons. | |
24824 | (ccr_bit_negated_p): New function. | |
24825 | (print_operand): For %C, generate appropriate cror for UNEQ, | |
24826 | UNLT, UNGT, and LTGT. For %T and %t, use ccr_bit_negated_p. | |
24827 | ||
24828 | 2000-03-20 Andreas Jaeger <aj@suse.de> | |
24829 | ||
24830 | * sdbout.c (sdbout_one_type): Add braces to avoid "ambigous else" | |
24831 | warning. | |
24832 | ||
24833 | * tree.h (safe_for_unsave): Prototype. | |
24834 | ||
24835 | 2000-03-20 Richard Henderson <rth@cygnus.com> | |
24836 | ||
24837 | * regmove.c (stack_memref_p): Fix typo, reorg for readability. | |
24838 | (combine_stack_adjustments_for_block): Don't allow sp references | |
24839 | in the side of a set we're not fixing up. | |
24840 | * toplev.c (rest_of_compilation): Run combine_stack_adjustments | |
24841 | after life_analysis. | |
24842 | ||
24843 | 2000-03-20 Richard Henderson <rth@cygnus.com> | |
24844 | ||
24845 | * calls.c (expand_call): Don't bother generating tail call | |
24846 | sequences if there are pending cleanups. Use | |
24847 | expand_start_target_temps/expand_end_target_temps to elide | |
24848 | cleanups created during sibcall expansion. | |
24849 | ||
24850 | 2000-03-20 Geoff Keating <geoffk@cygnus.com> | |
24851 | ||
24852 | * configure.in: Set $IFS to a value if it doesn't already have one | |
24853 | in the --enable-checking handling. | |
24854 | * configure: Regenerate. | |
24855 | ||
719bb4e3 | 24856 | 2000-03-20 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
c30d43bf JL |
24857 | |
24858 | * c-parse.in (SAVE_WARN_FLAGS): Use size_int. | |
24859 | * c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c: | |
24860 | Regenerated. | |
24861 | ||
24862 | Mon Mar 20 11:43:15 MET 2000 Jan Hubicka <jh@suse.cz> | |
24863 | ||
24864 | * jump.c (delete_noop_moves): Remove code attempting to | |
24865 | combine stack adjustments. | |
24866 | ||
719bb4e3 | 24867 | 2000-03-19 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
c30d43bf JL |
24868 | |
24869 | * emit-rtl.c (push_to_full_sequence, end_full_sequence): New functions. | |
24870 | * except.c (emit_cleanup_handler): Use them. | |
24871 | (expand_end_all_catch): Likewise. | |
24872 | * function.c (fixup_var_refs): Likewise. | |
24873 | (expand_function_end): Clear catch_clauses_last. | |
24874 | * rtl.h (push_to_full_sequence, end_full_sequence): Declare. | |
24875 | * except.h (struct eh_status): New field x_catch_clauses_last. | |
24876 | (catch_clauses_last): New define. | |
24877 | ||
24878 | * Makefile.in (tree.o): Depend on HASHTAB_H. | |
24879 | * tree.c: Include hashtab.h. | |
24880 | (struct type_hash): Remove next field. | |
24881 | (TYPE_HASH_SIZE): Remove. | |
24882 | (TYPE_HASH_INITIAL_SIZE): New define. | |
24883 | (type_hash_table): Change type to htab_t. | |
24884 | (type_hash_eq, type_hash_hash, print_type_hash_statistics, | |
24885 | mark_hash_entry): New functions. | |
24886 | (init_obstacks): Allocate type hash. | |
24887 | (type_hash_lookup): Use htab functions. | |
24888 | (type_hash_add, mark_type_hash): Likewise. | |
24889 | (dump_tree_statistics): Call print_type_hash_statistics. | |
24890 | ||
24891 | 2000-03-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
24892 | ||
24893 | * rs6000/t-aix41: New file. | |
24894 | ||
24895 | * configure.in ({rs6000,powerpc}-ibm-aix4.[12]*): Use it. | |
24896 | ||
24897 | Sun Mar 19 13:27:30 2000 Hans-Peter Nilsson <hp@axis.com> | |
24898 | ||
24899 | * tm.texi (Driver): Fix typos and tweak entry for | |
24900 | INCLUDE_DEFAULTS. | |
24901 | Move misplaced STRUCT_FORCE_BLK entry ... | |
24902 | (Storage Layout): ... to here. | |
24903 | (Run-time Target): Recommend having TARGET_MASK_... helper macros. | |
24904 | ||
24905 | 2000-03-19 Richard Henderson <rth@cygnus.com> | |
24906 | ||
24907 | * flow.c (delete_block): Delete the addr_vec along with the block. | |
24908 | (flow_delete_insn): Decrement LABEL_NUSES when deleting insns that | |
24909 | reference labels. | |
24910 | ||
24911 | * fold-const.c (extract_muldiv): Apply type check for defined | |
24912 | overflow to multiply as well as divide. | |
24913 | ||
24914 | * stor-layout.c (layout_decl): Don't abort on any zero sized decl. | |
24915 | ||
24916 | 2000-03-18 Mark Mitchell <mark@codesourcery.com> | |
24917 | ||
a1f300c0 | 24918 | * emit-rtl.c (remove_unnecessary_notes): Check that all |
c30d43bf JL |
24919 | NOTE_INSN_BLOCK_BEG and NOTE_INSN_BLOCK_END notes have an |
24920 | associated NOTE_BLOCK. | |
24921 | * function.h (identify_blocks): Update comments. | |
24922 | (reorder_blocks): Declare. | |
24923 | * function.c (identify_blocks): Don't take paramters. | |
24924 | (reorder_blocks): Don't take parameters. | |
24925 | * loop.h (find_loop_tree_blocks): Remove. | |
24926 | (unroll_block_trees): Likewise. | |
24927 | * loop.c (loop_optimize): Don't call find_loop_tree_blocks. Use | |
24928 | reorder_blocks instead of unroll_block_trees.h | |
24929 | * sibcall.c (optimize_sibling_and_tail_recursive_calls): Likewise. | |
24930 | * stmt.c (find_loop_tree_blocks): Remove. | |
24931 | (unroll_block_trees): Likewise. | |
24932 | * toplev.c (rest_of_compilation): Don't call find_loop_tree_blocks | |
24933 | in whole-function mode. | |
24934 | * tree.h (reorder_blocks): Remove declaration. | |
24935 | ||
24936 | * expr.c: Include intl.h. | |
24937 | * Makefile.in (expr.o): Depend on intl.h. | |
24938 | ||
24939 | 2000-03-18 Richard Henderson <rth@cygnus.com> | |
24940 | ||
24941 | * expr.c (emit_move_insn_1): Clarify cannot_inline message. | |
24942 | ||
24943 | 2000-03-18 Mark Mitchell <mark@codesourcery.com> | |
24944 | ||
24945 | * tree.h (tree_index): Remove enumerals for integer types. | |
24946 | (integer_type_kind): New type. | |
24947 | (integer_types): New variable. | |
24948 | (char_type_node): Adjust. | |
24949 | (signed_char_type_node): Likewise. | |
24950 | (unsigned_char_type_node): Likewise. | |
24951 | (short_integer_type_node): Likewise. | |
24952 | (short_unsigned_type_node): Likewise. | |
24953 | (integer_type_node): Likewise. | |
24954 | (unsigned_type_node): Likewise. | |
24955 | (long_integer_type_node): Likewise. | |
24956 | (long_unsigned_type_node): Likewise. | |
24957 | (long_long_integer_type_node): Likewise. | |
24958 | (long_long_unsigned_type_node): Likewise. | |
24959 | * tree.c (integer_types): New variable. | |
24960 | (init_obstacks): Register it as a root. | |
24961 | ||
24962 | Sat Mar 18 14:38:00 2000 Jason Eckhardt <jle@cygnus.com> | |
24963 | ||
24964 | * bb-reorder.c (reorder_basic_blocks): Update PREV_INSN as well as | |
24965 | NEXT_INSN. Update last insn in chain. | |
24966 | ||
24967 | 2000-03-17 Jason Merrill <jason@casey.cygnus.com> | |
24968 | ||
24969 | * dwarf2out.c (dwarf2out_decl): Don't emit anything for types | |
24970 | with TYPE_DECL_SUPPRESS_DEBUG set. | |
24971 | ||
24972 | 2000-03-18 Richard Henderson <rth@cygnus.com> | |
24973 | ||
24974 | * flow.c (make_edges): Use INTVAL to access REG_EH_REGION value. | |
24975 | ||
24976 | 2000-03-18 Richard Henderson <rth@cygnus.com> | |
24977 | ||
24978 | * i386.c (call_insn_operand): Always allow SYMBOL_REF, | |
24979 | care for HALF_PIC_P. | |
24980 | (expander_call_insn_operand): Remove. | |
24981 | (ix86_expand_epilogue): New arg `emit_return' to control return insn. | |
24982 | * i386.h (PREDICATE_CODES): Update. | |
24983 | * i386.md (all call expanders): Remove predicates, remove special | |
24984 | handling for half-pic. | |
24985 | (*call_1, *call_value_1): Handle SIBLING_CALL_P insns. | |
24986 | (*call_pop_pic2, *call_pic2, *call_value_pop_2, *call_value_2): Remove. | |
24987 | (sibcall_epilogue): New. | |
24988 | ||
24989 | 2000-03-17 Richard Henderson <rth@cygnus.com> | |
24990 | ||
24991 | * rtlanal.c (single_set): Reject if the parallel has anything | |
24992 | except SET or USE or CLOBBER. | |
24993 | ||
24994 | 2000-03-17 Jeff Law <law@cygnus.com> | |
24995 | Richard Henderson <rth@cygnus.com> | |
24996 | ||
24997 | * Makefile.in (OBJS): Add sibcall.o. | |
24998 | (sibcall.o): New. | |
24999 | * sibcall.c: New file. | |
25000 | * calls.c (FUNCTION_OK_FOR_SIBCALL): Provide default. | |
25001 | (ECF_IS_CONST, ECF_NOTHROW, ECF_SIBCALL): New. | |
25002 | (emit_call_1): Replace `is_const' and `nothrow' with `ecf_flags'. | |
25003 | Emit sibcall patterns when requested. Update all callers. | |
25004 | (expand_call): Generate CALL_PLACEHOLDER insns when tail call | |
25005 | elimination seems feasable. | |
25006 | * final.c (leaf_function_p): Sibling calls don't discount being | |
25007 | a leaf function. | |
25008 | * flow.c (HAVE_sibcall_epilogue): Provide default. | |
25009 | (find_basic_blocks_1): Sibling calls don't throw. | |
25010 | (make_edges): Make edge from sibling call to EXIT. | |
25011 | (propagate_block): Don't remove sibcall_epilogue insns. | |
25012 | * function.c (prologue, epilogue): Turn into varrays. Update all uses. | |
25013 | (sibcall_epilogue): New. | |
25014 | (fixup_var_refs): Scan CALL_PLACEHOLDER sub-sequences. | |
25015 | (identify_blocks_1): Likewise. Break out from ... | |
25016 | (identify_blocks): ... here. | |
25017 | (reorder_blocks_1): Scan CALL_PLACEHOLDER. Break out from ... | |
25018 | (reorder_blocks): ... here. | |
25019 | (init_function_for_compilation): Zap prologue/epilogue as varrays. | |
25020 | (record_insns): Extend a varray instead of mallocing new memory. | |
25021 | (contains): Read a varray not array of ints. | |
25022 | (sibcall_epilogue_contains): New. | |
25023 | (thread_prologue_and_epilogue_insns): Emit and record | |
25024 | sibcall_epilogue patterns. | |
25025 | (init_function_once): Allocate prologue/epilogue varrays. | |
25026 | * genflags.c (gen_insn): Treat sibcall patterns as calls. | |
25027 | * integrate.c (save_parm_insns): Recurse on CALL_PLACEHOLDER patterns. | |
25028 | Broken out from ... | |
25029 | (save_for_inline_nocopy): ... here. | |
25030 | (copy_insn_list): Recurse on CALL_PLACEHOLDER patterns. | |
25031 | Broken out from ... | |
25032 | (expand_inline_function): ... here. | |
25033 | (copy_rtx_and_substitute): Handle NOTE_INSN_DELETED_LABEL. | |
25034 | (subst_constants): Handle 'n' formats. | |
25035 | * jump.c (jump_optimize_minimal): New. | |
25036 | (jump_optimize_1): New arg `minimal'; update callers. Elide most | |
25037 | optimizations if it's set. | |
25038 | * rtl.c (copy_rtx): Do copy jump & call for insns. | |
25039 | * rtl.h (struct rtx_def): Document use of jump and call for insns. | |
25040 | (SIBLING_CALL_P): New. | |
25041 | (sibcall_use_t): New. | |
25042 | * toplev.c (rest_of_compilation): Do init_EXPR_INSN_LIST_cache earlier. | |
25043 | Invoke optimize_sibling_and_tail_recursive_calls. | |
25044 | * tree.c (lang_safe_for_unsave): New. | |
25045 | (safe_for_unsave): New. | |
25046 | * tree.h (lang_safe_for_unsave, safe_for_unsave): Declare. | |
25047 | ||
25048 | * alpha.h (FUNCTION_OK_FOR_SIBCALL): New. | |
25049 | * alpha.md (sibcall, sibcall_value, sibcall_epilogue): New. | |
25050 | (*sibcall_osf_1, *sibcall_value_osf_1): New. | |
25051 | ||
25052 | 2000-03-17 Mark Mitchell <mark@codesourcery.com> | |
25053 | ||
25054 | * objc/objc-act.c (encode_method_prototype): Pass types, not | |
25055 | PARM_DECLs, to int_size_in_bytes. | |
25056 | ||
25057 | Fri Mar 17 11:51:34 2000 Jim Wilson <wilson@cygnus.com> | |
25058 | ||
25059 | * config/ia64/ia64.md (mix4right_3op): Swap %1 and %2 in template. | |
25060 | ||
25061 | * config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h, | |
25062 | config/ia64/ia64.md, config/ia64/xm-ia64.h: Fix copyrights again. | |
25063 | ||
25064 | Fri Mar 17 08:09:14 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
25065 | ||
25066 | * Clean up usages of TREE_INT_CST_LOW. | |
25067 | * c-parse.in (RESTORE_WARN_FLAGS): Use tree_low_cst. | |
25068 | * c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c: | |
25069 | Regenerated. | |
25070 | * c-tree.h (min_precision): Move declaration to here. | |
25071 | * c-typeck.c (build_binary_op): Use host_integerp and tree_low_cst. | |
25072 | (build_unary_op, add_pending_init): Use bit_position. | |
25073 | (pending_init_member, process_init_element): Likewise. | |
25074 | (really_start_incremental_init, push_init_level, pop_init_level): | |
25075 | Don't make copies of nodes or modify them in place, use consistent | |
25076 | types when tracking positions, and use tree routines computations. | |
25077 | (set_init_index, output_init_element): Likewise. | |
25078 | (output_pending_init_elements, process_init_element): Likewise. | |
25079 | * dbxout.c (dbxout_type_fields): Use bit_position, host_integerp, | |
25080 | tree_low_cst and int_bit_position; also minor cleanup. | |
25081 | (dbxout_type_method_1, dbxout_range_type, dbxout_type): Likewise. | |
25082 | (print_cst_octal): Precision is unsigned. | |
25083 | (dbxout_symbol): Ensure DECL_INITIAL is in-range and use tree_low_cst. | |
25084 | * dwarf2out.c (ceiling): Input and output are unsigned HOST_WIDE_INT. | |
25085 | (simple_type_align_in_bits): Result is unsigned int. | |
25086 | Use tree_int_low_cst and host_integerp. | |
25087 | (simple_type_size_in_bits): Result is unsigned HOST_WIDE_INT. | |
25088 | (field_byte_offset): Result is HOST_WIDE_INT. | |
25089 | Change types of internal variables so alignments are unsigned int, | |
25090 | offsets are HOST_WIDE_INT and sizes are unsigned HOST_WIDE_INT. | |
25091 | Use host_integerp, tree_low_cst, and int_bit_position. | |
25092 | (add_bit_offset_attribute): Likewise. | |
25093 | (add_data_member_location_attribute): Use tree_cst_low. | |
25094 | (add_bound_info): Use host_integerp, integer_zerop, and integer_onep. | |
25095 | (add_bit_size_attribute): Use tree_low_cst. | |
25096 | (add_pure_or_virtual_attribute, gen_enumeration_type_die): Likewise. | |
25097 | * dwarfout.c: Similar changes to dwarf2out.c. | |
25098 | * expr.c (expand_expr, case ARRAY_REF): Remove redundant code. | |
ff7cc307 | 25099 | * genoutput.c (n_occurrences): Return -1 for null string. |
c30d43bf JL |
25100 | (strip_whitespace): Accept null string and make into function. |
25101 | (scan_operands): Reflect above changes. | |
25102 | * sdbout.c (plain_type_1): Use host_integerp and tree_low_cst. | |
25103 | (sdbout_field_types, sdbout_one_type): Likewise; also use bit_position. | |
25104 | * ssa.c (rename_registers): Add missing cast of arg to bzero. | |
25105 | * tree.c (int_size_in_bytes): Check for too big to represent. | |
25106 | (bit_position, int_bit_position, host_integerp, tree_low_cst): New fns. | |
25107 | * tree.h (host_integerp, tree_low_cst, bit_position, int_bit_position): | |
25108 | New declarations. | |
25109 | (min_precision): Delete from here. | |
25110 | * varasm.c (decode_addr_const): Use host_integerp, bit_position, | |
25111 | and int_bit_position. | |
25112 | * objc/objc-act.c (encode_method_prototype): Sizes are HOST_WIDE_INT. | |
25113 | (encode_method_def): Likewise. | |
25114 | (build_ivar_list_initializer): Use int_bit_position. | |
25115 | (generate_shared_structures): Convert size. | |
25116 | (encode_type, encode_complete_bitfield): Use integer_zerop. | |
25117 | (encode_bitfield): Use tree_low_cst and int_bit_position. | |
25118 | ||
25119 | 2000-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
25120 | ||
25121 | * config/c4x/c4x.h (CPP_SPEC): Fix typo. | |
25122 | ||
719bb4e3 | 25123 | 2000-03-17 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
c30d43bf JL |
25124 | |
25125 | * call.c (special_function_p): It is only malloc if it returns | |
25126 | Pmode. | |
25127 | ||
25128 | 2000-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
25129 | ||
25130 | * config/c4x/c4x.h (ASM_SPEC, CPP_SPEC, LINK_SPEC): Support C33. | |
25131 | (C33_FLAG, TARGET_C3X): Add macros. | |
25132 | (TARGET_SWITCHES): Add -m33 option. | |
25133 | * config/c4x/c4x.c (c4x_override_options): Test for TARGET_C33. | |
25134 | ||
25135 | 2000-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
25136 | ||
25137 | * config/c4x/c4x.h (PARALLEL_INSN_FLAG): Add. | |
25138 | (PARALLEL_PACK_FLAG): Delete. | |
25139 | (TARGET_SWITCHES): Update. | |
25140 | (TARGET_PARALLEL): Use PARALLEL_INSN_FLAG. | |
25141 | ||
25142 | Thu Mar 16 18:52:32 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
25143 | ||
25144 | * fold-const.c (fold): Fix a few cases when the returned result | |
25145 | is not of the same type as the input. | |
25146 | ||
25147 | 2000-03-16 Nick Clifton <nickc@cygnus.com> | |
25148 | ||
25149 | * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Fix compile time | |
25150 | warning. | |
25151 | ||
25152 | 2000-03-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
25153 | ||
25154 | * libgcc2.h: Move prototypes above macros with the same name. | |
25155 | Wrap some function prototypes in the conditional which indicates | |
25156 | whether they are supported, i.e. "BITS_PER_UNIT == 8". | |
25157 | ||
25158 | 2000-03-16 Richard Henderson <rth@cygnus.com> | |
25159 | ||
25160 | * calls.c: Revert last two changes. | |
25161 | ||
25162 | 2000-03-16 Bernd Schmidt <bernds@cygnus.co.uk> | |
25163 | ||
25164 | * fp-bit.c (_unpack_d): If NO_DENORMALS is defined, anything that | |
25165 | has exponent 0 is a zero. | |
25166 | ||
25167 | * simplify-rtx.c (hash_rtx, case MEM/REG): Take into account that | |
25168 | HASH may already be nonzero. Add code/mode into hash value | |
25169 | immediately after repeat label. | |
25170 | (cselib_lookup): Don't leave the hash table in an inconsistent | |
25171 | state before a hash lookup operation. | |
25172 | ||
25173 | Thu Mar 16 17:03:10 MET 2000 Jan Hubicka <jh@suse.cz> | |
25174 | ||
25175 | * i386.md (all HI and QI mode non-move patterns): Conditionize | |
25176 | by TARGET_[HQ]IMODE_MATH. | |
25177 | * i386.h (x86_himode_math, x86_qimode_math, x86_promote_hi_regs, | |
25178 | x86_promote_qi_regs): Declare. | |
25179 | (TARGET_HIMODE_MATH, TARGET_QIMODE_MATH, TARGET_PROMOTE_HI_REGS, | |
25180 | TARGET_PROMOTE_QI_REGS): New macros. | |
25181 | (PROMOTE_MODE): New macro. | |
25182 | * i386.c (x86_himode_math, x86_qimode_math, x86_promote_hi_regs, | |
25183 | x86_promote_qi_regs): New global variables. | |
25184 | ||
25185 | Thu Mar 16 16:50:44 MET 2000 Jan Hubicka <jh@suse.cz> | |
25186 | ||
25187 | * calls.c (emit_library_call_value_1): Break out from ...; handle | |
25188 | VOIDmode function calls too. | |
25189 | (emit_library_call_value): ... here. | |
25190 | (emit_library_call): Implement by calling emit_library_call_value_1. | |
25191 | ||
25192 | Thu Mar 16 16:01:30 MET 2000 Jan Hubicka <jh@suse.cz> | |
25193 | ||
25194 | * calls.c (expand_call): Do sanity checking on arg_space_so_far. | |
25195 | Update arg_space_so_far on stack adjustments. | |
25196 | (emit_library_call, emit_library_call_value): Likewise; take into | |
25197 | account arg_space_so_far and pending_stack_adjust when calculcating | |
25198 | the boundary. | |
25199 | ||
25200 | Thu Mar 16 09:02:19 2000 Jason Eckhardt <jle@cygnus.com> | |
25201 | ||
25202 | * flow.c: Move all basic block reordering code into its own file. | |
25203 | (create_basic_block): Externalize. | |
25204 | * bb-reorder.c: New file. Copy all basic block reordering code from | |
25205 | flow.c to this file. | |
25206 | (reorder_basic_blocks): Fix fencepost error in for-loop. | |
25207 | (reorder_basic_blocks): Remove braces from single statement for-loops. | |
25208 | * basic-block.h: Add declaration for create_basic_block. | |
25209 | * Makefile.in: Add rules for bb-reorder.o. | |
25210 | ||
25211 | 2000-03-16 Neil Booth <NeilB@earthling.net> | |
25212 | ||
25213 | * cppinit.c (handle_option): Implement #unassert directive | |
25214 | as -A- command line option. | |
25215 | (print_help): Update. | |
25216 | * cpptexi.c: Update. | |
25217 | ||
25218 | Thu Mar 16 02:14:16 2000 Hans-Peter Nilsson <hp@bitrange.com> | |
25219 | ||
25220 | * md.texi (Standard Names): Document `jump'. | |
25221 | ||
25222 | 2000-03-15 Jason Merrill <jason@casey.cygnus.com> | |
25223 | ||
25224 | * calls.c (emit_call_1): Nothrow functions can still have nonlocal | |
25225 | gotos. | |
25226 | ||
25227 | 2000-03-15 Geoff Keating <geoffk@cygnus.com> | |
25228 | ||
25229 | Merge changes from newppc-branch onto trunk. | |
25230 | ||
25231 | 2000-03-15 Geoff Keating <geoffk@cygnus.com> | |
25232 | ||
25233 | * rs6000.c (toc_hash_table): Update for new hash table functions. | |
25234 | (toc_hash_function): Likewise. | |
25235 | (toc_hash_eq): Likewise. | |
25236 | (toc_hash_mark_entry): Likewise. | |
25237 | (toc_hash_mark_table): Likewise. | |
25238 | (output_toc): Likewise. | |
25239 | (rs6000_add_gc_roots): Likewise. | |
25240 | ||
25241 | 2000-03-15 Alexandre Oliva <oliva@lsd.ic.unicamp.br> | |
25242 | ||
25243 | * t-aix43 (AR_FOR_TARGET): Deleted. Moved `-X32_64'... | |
25244 | (AR_FLAGS_FOR_TARGET): here. New macro. | |
25245 | ||
25246 | 2000-03-05 Clinton Popetz <cpopetz@cygnus.com> | |
25247 | ||
25248 | * config/rs6000/rs6000.c (rs6000_fpmem_offset, rs6000_fpmem_size, | |
25249 | fpmem_operand) Delete. | |
25250 | (xer_operand) New. | |
25251 | (rs6000_reg_names, alt_reg_names): Change fpmem to xer. | |
25252 | (machine_function): Remove fpmem_size, fpmem_offset, save_toc_p. | |
25253 | (rs6000_save_machine_status, rs6000_restore_machine_status, | |
25254 | rs6000_init_expanders, rs6000_stack_info, debug_stack_info): Remove | |
25255 | references to above variables. | |
25256 | (gpc_reg_operand): Use XER_REGNO_P instead of FPMEM_REGNO_P. | |
25257 | * config/rs6000/rs6000.h (REG_ALLOC_ORDER, REGISTER_NAMES, | |
25258 | DEBUG_REGISTER_NAMES): Chagne fpmem to xer. | |
25259 | (FPMEM_REGNO_P, FPMEM_REGNUM): Delete. | |
25260 | (XER_REGNO_P, XER_REGNO): New. | |
25261 | (rs6000_stack): Remove fpmem_p, fpmem_offset, fpmem_size. | |
25262 | (PREDICATE_CODES): Change fpmem_operand to xer_operand. | |
25263 | (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Change FPMEM_REGNO_P to | |
25264 | XER_REGNO_P. | |
25265 | (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS, | |
25266 | REG_CLASS_FROM_LETTER, CLASS_MAX_NREGS): Change FPMEM_REGS to XER_REGS, and remove FLOAT_OR_FPMEM_REGS. | |
25267 | (CLASS_CANNOT_CHANGE_SIZE): Change to FLOAT_REGS. | |
25268 | ||
25269 | 2000-02-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | |
25270 | ||
25271 | * aix.h (FP_SAVE_INLINE, ASM_OUTPUT_INTERNAL_LABEL_PREFIX, | |
25272 | TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Move here... | |
25273 | * rs6000.h: from here. | |
25274 | ||
25275 | * rs6000-protos.h (rs6000_select_section): Provide prototype. | |
25276 | (rs6000_select_rtx_section): Likewise. | |
25277 | (rs6000_encode_section_info): Likewise. | |
25278 | (sdata_section): Likewise. | |
25279 | (sdata2_section): Likewise. | |
25280 | (sbss_section): Likewise. | |
25281 | * sysv4.h (rs6000_select_section): Delete prototype. | |
25282 | (rs6000_select_rtx_section): Likewise. | |
25283 | (rs6000_encode_section_info): Likewise. | |
25284 | (sdata_section): Likewise. | |
25285 | (sdata2_section): Likewise. | |
25286 | (sbss_section): Likewise. | |
25287 | (REG_SAVE_AREA): Delete definition duplicated in rs6000.h. | |
25288 | ||
25289 | * sysv4.h: Delete various unnecessary #undef's and put a comment | |
25290 | on the remaining ones. | |
25291 | Change various comments according to coding standard. | |
25292 | ||
25293 | 2000-02-29 Clinton Popetz <cpopetz@cygnus.com> | |
25294 | ||
25295 | * config/rs6000/rs6000.h (MQ_REGNO, CR0_REGNO, CR1_REGNO, CR2_REGNO, | |
25296 | CR3_REGNO, CR4_REGNO, MAX_CR_REGNO): Define. | |
25297 | (CR0_REGNO_P) Remove. | |
25298 | * config/rs6000/rs6000.c (gpc_reg_operand, and64_operand, and_operand, | |
25299 | setup_incoming_varargs, mtcrf_operation, print_operand, | |
25300 | rs6000_stack_info, rs6000_emit_prologue, rs6000_emit_epilogue): | |
25301 | Use the above macros. | |
25302 | ||
25303 | 2000-02-24 Clinton Popetz <cpopetz@cygnus.com> | |
25304 | ||
25305 | * config/rs6000/rs6000.md: Added a new alternative for each | |
25306 | pattern that had a 'x' alternative but no 'y' alternative. | |
25307 | Added a new split for each of the above patterns. | |
25308 | ||
25309 | 2000-02-18 Geoff Keating <geoffk@cygnus.com> | |
25310 | ||
25311 | * aix41.h (ASM_CPU_SPEC): Delete. | |
25312 | (CPP_CPU_SPEC): Delete. | |
25313 | ||
25314 | * aix.h (RS6000_OUTPUT_BASENAME): Define. | |
25315 | (ASM_OUTPUT_LABEL): Define. | |
25316 | (ASM_GLOBALIZE_LABEL): Define. | |
25317 | (STRIP_NAME_ENCODING): Define. | |
25318 | * rs6000.h (RS6000_OUTPUT_BASENAME): Don't define. | |
25319 | (STRIP_NAME_ENCODING): Don't define. | |
25320 | (ASM_OUTPUT_LABEL): Don't define. | |
25321 | (ASM_GLOBALIZE_LABEL): Don't define. | |
25322 | * sysv4.h (ASM_DECLARE_FUNCTION_NAME): Use assemble_name to output | |
25323 | names, and ASM_OUTPUT_LABEL to output labels, rather than | |
25324 | asm_fprintf. | |
25325 | (ASM_OUTPUT_LABEL): Define. | |
25326 | (ASM_OUTPUT_INT): Use assemble_name. | |
25327 | (ASM_OUTPUT_DWARF_ADDR): Use assemble_name. | |
25328 | (STRIP_NAME_ENCODING): Don't undefine first. | |
25329 | (RS6000_OUTPUT_BASENAME): Make equivalent to assemble_name for | |
25330 | ELF. | |
25331 | (ASM_OUTPUT_LABELREF): Don't prepend underscores to labels | |
25332 | specified with 'asm' even with -fleading-underscore. | |
25333 | * rs6000.c (print_operand): Use assemble_name when !TARGET_AIX. | |
25334 | (output_epilog): Likewise. | |
25335 | (output_toc): Likewise. | |
25336 | * tramp.asm: Handle -fleading-underscore correctly. | |
25337 | ||
25338 | * rs6000.md (builtin_setjmp_receiver): Also run for -fPIC and | |
25339 | -mminimal-toc. | |
25340 | (nonlocal_goto_receiver): Delete. | |
25341 | * rs6000.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Delete. | |
25342 | ||
25343 | * rs6000.h (ASM_OUTPUT_DEF): Don't define. | |
25344 | (SET_ASM_OP): Define. | |
25345 | * sysv4.h (ASM_OUTPUT_DEF): Don't undefine. | |
25346 | ||
25347 | * rs6000.h (ASM_OUTPUT_ADDR_VEC_ELT): Don't define. | |
25348 | (ASM_LONG): Define. | |
25349 | ||
25350 | * rs6000.c (rs6000_dll_import_ref): Delete, not used. | |
25351 | * rs6000-protos.h (rs6000_dll_import_ref): Delete. | |
25352 | ||
25353 | * rs6000.h: Add 'u' to more constants. | |
25354 | ||
25355 | 2000-02-18 David Edelsohn <edelsohn@gnu.org> | |
25356 | ||
25357 | * rs6000.md (mfcr+shift): Delete PowerPC64 version. | |
25358 | ||
25359 | 2000-02-15 David Edelsohn <edelsohn@gnu.org> | |
25360 | ||
25361 | * rs6000.c (reg_or_u_cint_operand): New function. | |
25362 | (logical_operand): Handle 64-bit hosts. | |
25363 | (logical_u_operand): New function. | |
25364 | (non_logical_cint_operand): Handle 64-bit hosts. | |
25365 | (non_logical_u_cint_operand): New function. | |
25366 | * rs6000.h (DATA_SECTION_ASM_OP): Add tab. | |
25367 | (PREDICATE_CODES): Define new functions. | |
25368 | * rs6000-protos.h: Declare new functions. | |
25369 | * rs6000.md (iordi3, xordi3): Constant int must be unsigned 32-bits. | |
25370 | (movdi_64): Bracket code intended for 64-bit hosts. Create | |
25371 | CONST_DOUBLE for 32-bit values. | |
25372 | (scc insns): Generate DImode compares. | |
25373 | (mfcr insns): Create DImode versions. | |
25374 | (sge matchers): New patterns. | |
25375 | ||
25376 | 2000-02-15 Gabriel Paubert <paubert@iram.es> | |
25377 | ||
25378 | * rs6000.md: Correct instructions length attributes and | |
25379 | constraints on unsigned compare instructions. | |
25380 | (*ne0): Disable for PowerPC64. | |
25381 | ||
25382 | 2000-02-11 Geoff Keating <geoffk@cygnus.com> | |
25383 | ||
25384 | * rs6000.c (output_function_profiler): Use .long for a 32-bit | |
25385 | quantity, fix profile1.C test failure under -fPIC. | |
25386 | ||
25387 | * rs6000.c: Add 'u' to many constants to suppress warnings. | |
25388 | (constant_pool_expr_1): Make static. | |
25389 | (rs6000_emit_eh_toc_restore): Remove unused 'r2'. | |
25390 | * rs6000.h: Add 'u' to many constants to suppress warnings. | |
25391 | ||
25392 | * rs6000.c (rs6000_emit_load_toc_table): Use LCTOC..1 under AIX | |
25393 | for the start of the TOC, instead of LCTOC..0. | |
25394 | * aix.h (toc_section): Use LCTOC..1 under AIX for the start | |
25395 | of the TOC. | |
25396 | * rs6000.md (load_toc_aix_si): Use LCTOC..1. | |
25397 | (load_toc_aix_di): Use LCTOC..1. | |
25398 | ||
25399 | * rs6000.h (LEGITIMIZE_ADDRESS): Turn into a function. | |
25400 | * rs6000.c (rs6000_legitimize_address): New function from | |
25401 | LEGITIMIZE_ADDRESS. Only use create_TOC_reference on | |
25402 | symbols in the constant pool that really are TOC references. | |
25403 | (print_operand_address): For ELF, write TOC offsets under | |
25404 | -fPIC as subtractions in the insn. | |
25405 | (output_toc): For ELF, define symbols in TOC as normal labels, | |
25406 | to match RTL. | |
25407 | (create_TOC_reference): Use gen_rtx_PLUS rather than gen_rtx. | |
25408 | * rs6000-protos.h (rs6000_legitimize_address): Prototype. | |
25409 | (create_TOC_reference): Prototype only when RTX_CODE is defined. | |
25410 | * rs6000.md (movsi): Only use create_TOC_reference on | |
25411 | symbols in the constant pool that really are TOC references. | |
25412 | ||
25413 | * rs6000.h (MACHINE_DEPENDENT_REORG): Don't define. | |
25414 | * rs6000.c (rs6000_reorg): Delete. | |
25415 | * rs6000-protos.h (rs6000_reorg): Delete. | |
25416 | ||
25417 | 2000-02-09 Geoff Keating <geoffk@cygnus.com> | |
25418 | ||
25419 | * rs6000.h (INCOMING_RETURN_ADDR_RTX): New macro. | |
25420 | ||
25421 | * aix.h (SETUP_FRAME_ADDRESSES): Define. | |
25422 | * rs6000.c [TARGET_AIX] (insn_after_throw): New static variable. | |
25423 | [TARGET_AIX] (rs6000_aix_emit_builtin_unwind_init): New function. | |
25424 | [TARGET_AIX] (rs6000_emit_eh_toc_restore): New function. | |
25425 | * rs6000-protos.h: Prototype rs6000_emit_eh_toc_restore, | |
25426 | rs6000_aix_emit_builtin_unwind_init. | |
25427 | * rs6000.md (eh_epilogue) [TARGET_AIX]: Call | |
25428 | rs6000_emit_eh_toc_restore on AIX. | |
25429 | (return_eh_si): Use r2. | |
25430 | (return_eh_di): Use r2. | |
25431 | ||
25432 | * aix43.h: Turn on HAS_INIT_SECTION and LD_INIT_SWITCH, | |
25433 | since we're breaking binary compatibility anyway. | |
25434 | ||
25435 | 2000-02-09 Clinton Popetz <cpopetz@cygnus.com> | |
25436 | ||
25437 | * config/rs6000/rs6000-protos.h: (get_TOC_alias_set, uses_TOC, | |
25438 | constant_pool_expr_p): Declare them. | |
25439 | (constant_pool_expr_p): Declare it. | |
25440 | * config/rs6000/rs6000.c (toc_label_name): Define. | |
25441 | (rs6000_override_options): Set toc_label_name. | |
25442 | (input_operand): Allow any TOC_RELATIVE_EXPR_P. | |
25443 | (get_TOC_alias_set, constant_pool_expr_p, constant_pool_expr_1, | |
25444 | uses_TOC): New functions. | |
25445 | (print_operand): Delete old '*' case. | |
25446 | (print_operand_address): Use LEGITIMATE_CONSTANT_POOL_ADDRESS_P, | |
25447 | and strip off rtl for TOC before calling output_addr_const. | |
25448 | (rs6000_emit_load_toc_table): Use toc_label_name. | |
25449 | * config/rs6000/rs6000.h (TARGET_SWITCHES): Make msched-prolog | |
25450 | the default. | |
25451 | (LEGITIMATE_CONSTANT_POOL_BASE_P): Delete. | |
25452 | (CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): New macros. | |
25453 | (LEGITIMATE_CONSTANT_POOL_ADDRESS_P): Use CONSTANT_POOL_EXPR_P. | |
25454 | (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Turn symbol_refs | |
25455 | into explicit TOC_REGISTER offsets. | |
25456 | (TOC_REGISTER): New macro. | |
25457 | * config/rs6000/rs6000.md (movsi, movdi): Emit rtl under | |
25458 | TARGET_TOC to reference TOC_REGISTER. | |
25459 | (load_toc_v4_PIC_1b): Add 4 to offset for toc reload. | |
25460 | * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Call | |
25461 | uses_TOC before emitting label references. | |
25462 | ||
25463 | 2000-02-05 Geoff Keating <geoffk@cygnus.com> | |
25464 | ||
25465 | * rs6000.md (stack_tie): Fix warning. | |
25466 | ||
25467 | * eabi-ctors.c: Use 'asm' names for the start/end variables, | |
25468 | to handle -fleading-underscore. | |
25469 | * sysv4.h (ASM_DECLARE_FUNCTION_NAME): Use asm_fprintf and %U. | |
25470 | (USER_LABEL_PREFIX): New macro. | |
25471 | (ASM_OUTPUT_INTERNAL_LABEL_PREFIX): Use asm_fprintf and %L. | |
25472 | (ASM_OUTPUT_LABELREF): Use asm_fprintf and %U. | |
25473 | * t-ppccomm (MULTILIB_MATCHES_SYSV): Note that call-sysv and | |
25474 | call-linux can use the same multilibs. | |
25475 | * t-ppcgas (MULTILIB_OPTIONS): Don't need to have separate call-sysv | |
25476 | and call-linux multilibs. Do multilib with -fleading-underscore. | |
25477 | (MULTILIB_DIRNAMES): Follow MULTILIB_OPTIONS change. | |
25478 | (MULTILIB_EXCEPTIONS): Remove call-linux exceptions. Add restrictions | |
25479 | to call-aix. | |
25480 | ||
25481 | * sysv4.h (CPP_SYSV_SPEC): Define _SOFT_FLOAT for all those CPUs that | |
25482 | have MASK_SOFT_FLOAT set. | |
25483 | (CPP_FLOAT_DEFAULT_SPEC): New macro. | |
25484 | (SUBTARGET_EXTRA_SPECS): Set `cpp_float_default' to the value of | |
25485 | CPP_FLOAT_DEFAULT_SPEC. | |
25486 | ||
25487 | * rs6000.c (ccr_bit): Add some consistency checks and a variable 'reg'. | |
25488 | * rs6000.md: Whitespace change. | |
25489 | * sysv4.h (LINK_TARGET_SPEC): Whitespace change. | |
25490 | * sysv4le.h (LINK_TARGET_SPEC): Whitespace change. | |
25491 | ||
25492 | 2000-02-05 Geoff Keating <geoffk@cygnus.com> | |
25493 | ||
25494 | * rs6000.md (eh_epilogue): New expander. | |
25495 | (eh_reg_restore): New expand/split/insn combination. | |
25496 | (return_eh_si): New insn. | |
25497 | (return_eh_di): New insn. | |
25498 | ||
25499 | * eabi-ci.asm: Put a label at the start of the .eh_frame section. | |
25500 | * eabi-cn.asm: Put a zero at the end of the .eh_frame section. | |
25501 | * eabi-ctors.c (__do_global_ctors): Register this object's | |
25502 | frame. Clean up. Call atexit() after the constructors. | |
25503 | (__do_global_dtors): Deregister this object's frame. Clean up. | |
25504 | Allow for recursive calls to exit(). | |
25505 | * rs6000.c (fixuplabelno): New variable. | |
25506 | * sysv4.h (ASM_OUTPUT_INT): Don't do .fixup if not | |
25507 | TARGET_RELOCATABLE, it slows down exec() under linux. | |
25508 | (ASM_OUTPUT_DWARF_ADDR): Do .fixup if TARGET_RELOCATABLE. | |
25509 | ||
25510 | * aix.h (ASM_OUTPUT_DWARF_ADDR_VAR): New macro. | |
25511 | (ASM_OUTPUT_DWARF_DELTA_VAR): New macro. | |
25512 | (ASM_OUTPUT_DWARF_DELTA2): New macro. | |
25513 | (ASM_OUTPUT_DWARF_DELTA4): New macro. | |
25514 | (ASM_OUTPUT_DWARF_ADDR_DELTA): New macro. | |
25515 | (ASM_OUTPUT_DWARF_ADDR): New macro. | |
25516 | (ASM_OUTPUT_DWARF_DATA4): New macro. | |
25517 | (ASM_OUTPUT_DWARF_DATA2): New macro. | |
25518 | (ASM_OUTPUT_DWARF_OFFSET4): New macro. | |
25519 | (ASM_OUTPUT_DWARF_OFFSET): New macro. | |
25520 | (UNALIGNED_INT_ASM_OP): New macro, fake definition. | |
25521 | ||
25522 | 2000-02-03 Geoff Keating <geoffk@cygnus.com> | |
25523 | ||
25524 | * rs6000.c (rs6000_sr_alias_set): New variable. | |
4912a07c | 25525 | (rs6000_override_options): Initialize rs6000_sr_alias_set. |
c30d43bf JL |
25526 | (rs6000_emit_stack_tie): New function. |
25527 | (rs6000_emit_allocate_stack): Specify RTX_FRAME_RELATED_P | |
25528 | in a way that dwarf2out can understand. | |
25529 | (rs6000_frame_related): New function. | |
25530 | (rs6000_emit_prologue): Use rs6000_sr_alias_set. Specify | |
25531 | RTX_FRAME_RELATED_P in a way that dwarf2out can understand. | |
25532 | Use rs6000_emit_stack_tie when needed. | |
25533 | (rs6000_emit_epilogue): Use rs6000_sr_alias_set. Don't set | |
25534 | RTX_FRAME_RELATED_P. Use rs6000_emit_stack_tie when needed. | |
25535 | * rs6000.md (stack_tie): New insn. | |
25536 | (return_internal_si): Allow return value to be in the count | |
25537 | register. | |
25538 | (return_internal_di): Likewise. | |
25539 | ||
25540 | * rs6000.c (output_mi_thunk): Remove unused variable `sp'. | |
25541 | ||
25542 | 2000-02-03 Geoff Keating <geoffk@cygnus.com> | |
25543 | ||
25544 | * sysv4.h (LOCAL_LABEL_PREFIX): Define, for the use of dbxelf.h. | |
25545 | ||
25546 | 2000-01-31 Geoff Keating <geoffk@cygnus.com> | |
25547 | ||
25548 | * rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): New macro. | |
25549 | ||
25550 | * rs6000.md (stmw): Use the right POWER opcode. | |
25551 | (lmw): Likewise. | |
25552 | ||
25553 | 2000-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
25554 | ||
25555 | * rs6000-protos.h: New file. | |
25556 | ||
25557 | * rs6000.c: Include tm_p.h. Fix compile time warnings. | |
25558 | ||
25559 | * rs6000.h: Move prototypes to rs6000-protos.h. Fix compile time | |
25560 | warnings. | |
25561 | ||
25562 | * sysv4.h: Likewise. | |
25563 | ||
25564 | 2000-01-28 Geoff Keating <geoffk@cygnus.com> | |
25565 | ||
25566 | * ../../configure.in: Delete powerpcle-*-winnt* | |
25567 | and powerpcle-*-pe|powerpcle-*-cygwin*. | |
25568 | * ../../configure: Regenerated. | |
25569 | * cygwin.h: Delete. | |
25570 | * rs6000.h (OBJECT_WINDOWS_NT): Delete. | |
25571 | (TARGET_WINDOWS_NT): Delete. | |
25572 | (ABI_NT): Delete. | |
25573 | (CALL_NT_DLLIMPORT): Delete. | |
25574 | Delete NT-specific code. | |
25575 | * rs6000.md, rs6000.c, sysv4.h: Delete NT-specific code. | |
25576 | * win-nt.h: Delete. | |
25577 | * t-winnt: Delete. | |
25578 | * nt-ci.asm: Delete. | |
25579 | * nt-cn.asm: Delete. | |
25580 | * ntstack.asm: Delete. | |
25581 | ||
25582 | 2000-01-27 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | |
25583 | ||
25584 | * rs6000.h (SELECT_RTX_SECTION): Move to aix.h. | |
25585 | (ASM_FILE_START): Likewise. | |
25586 | (ASM_DECLARE_FUNCTION_NAME): Likewise. | |
25587 | (ASM_OUTPUT_LABELREF): Likewise. | |
25588 | (ASM_OUTPUT_SKIP): Likewise. | |
25589 | (ASM_OUTPUT_INTERNAL_LABEL): Likewise. | |
25590 | (ASM_GENERATE_INTERNAL_LABEL): Likewise. | |
25591 | (ASM_OUTPUT_CASE_LABEL): Likewise. | |
25592 | (ASM_OUTPUT_ALIGNED_COMMON): Likewise. | |
25593 | (ASM_OUTPUT_ASCII): Likewise. | |
25594 | ||
25595 | 2000-01-27 Clinton Popetz <cpopetz@cygnus.com> | |
25596 | ||
25597 | * rs6000.c (rs6000_emit_load_toc_table): Use "LCG" and | |
25598 | reload_toc_labelno for non-prologue TOC reloads. Also, don't | |
25599 | increment rs6000_pic_labelno here. | |
25600 | (rs6000_emit_prologue): Pass TRUE to rs6000_emit_load_toc_table, | |
25601 | and increment rs6000_pic_labelno here. | |
25602 | ||
25603 | 2000-01-24 Geoffrey Keating <geoffk@cygnus.com> | |
25604 | ||
25605 | * rs6000.md (fctiwz): Use (set (reg) (unspec:DI [(fix:SI ...)])) | |
25606 | rather than (set (subreg:SI (reg)) (fix:SI ...)) so that register | |
25607 | allocation knows (reg) is dead before the insn. | |
25608 | ||
25609 | 2000-01-21 Geoff Keating <geoffk@cygnus.com> | |
25610 | ||
25611 | * rs6000.md (movsi_to_cr): Correct typo in output template. | |
25612 | ||
25613 | 2000-01-19 Geoffrey Keating <geoffk@cygnus.com> | |
25614 | ||
25615 | * rs6000.c (rs6000_pic_labelno): Always define. | |
25616 | (rs6000_pic_func_labelno): Delete. | |
25617 | (lmw_operation): Check for a zero base register, | |
25618 | which doesn't mean what we want. | |
25619 | (stmw_operation): New function. | |
25620 | (print_operand): Define new 'l' modifier. | |
25621 | (rs6000_stack_info): We must save all 64 bits of the registers | |
25622 | if TARGET_POWERPC64. | |
25623 | (rs6000_output_load_toc_table): Delete. | |
25624 | (rs6000_emit_load_toc_table): New function. | |
25625 | (rs6000_allocate_stack_space): Delete. | |
25626 | (rs6000_emit_allocate_stack): New function. | |
25627 | (rs6000_emit_prologue): New function. | |
25628 | (output_prolog): Use rs6000_emit_prologue. | |
25629 | (rs6000_emit_epilogue): Change a few variable names to be | |
25630 | more accurate. Restore all 64 bits of the registers if | |
25631 | TARGET_POWERPC64. Only restore the FP registers which were used | |
25632 | if they are being saved/restored one-at-a-time. | |
25633 | (output_mi_thunk): Delete inefficient code generation. | |
25634 | (output_function_profiler): Don't use rs6000_output_load_toc_table. | |
25635 | * rs6000.h: Declare rs6000_emit_load_toc_table, | |
25636 | rs6000_allocate_stack_space, stmw_operation. Don't declare | |
25637 | rs6000_output_load_toc_table. | |
25638 | * rs6000.md (elf_high): Allow register 0, but discourage it | |
25639 | heavily. | |
25640 | (elf_low): Support loading into register 0. | |
25641 | (load_toc_aix_si): New pattern. | |
25642 | (load_toc_aix_di): New pattern. | |
25643 | (load_toc_v4_pic_si): New pattern. | |
25644 | (load_toc_v4_pic_di): New pattern. | |
25645 | (load_toc_v4_PIC_1): New pattern. | |
25646 | (load_toc_v4_PIC_1b): New pattern. | |
25647 | (load_toc_v4_PIC_2): New pattern. | |
25648 | (builtin_setjmp_receiver): Use rs6000_emit_load_toc_table. | |
25649 | (nonlocal_goto_receiver): Use rs6000_emit_load_toc_table. | |
25650 | (prologue): New expander. | |
25651 | (movesi_from_cr): New pattern. | |
25652 | (stmw): New pattern. | |
25653 | (save_fpregs_si): New pattern. | |
25654 | (save_fpregs_di): New pattern. | |
25655 | ||
25656 | 2000-01-19 Geoff Keating <geoffk@cygnus.com> | |
25657 | ||
25658 | * rs6000.md (movsi): Don't use force_reg when no_new_pseudos. | |
25659 | (movdi): Likewise. | |
25660 | (movhi): Likewise. | |
25661 | (movqi): Likewise. | |
25662 | ||
25663 | 2000-01-19 Geoff Keating <geoffk@cygnus.com> | |
25664 | ||
25665 | * rs6000.md (movsi_got): 'unspec 8' returns a SImode result, | |
25666 | at present. | |
25667 | (movsi_got_internal): Likewise. | |
25668 | (movsi_got_internal+1): Likewise. | |
25669 | (set_sp): 'unspec 7' does a SImode clobber. | |
25670 | ||
25671 | 2000-01-19 Geoff Keating <geoffk@cygnus.com> | |
25672 | ||
25673 | * rs6000.md (floatsidf2): Don't use the fpmem "register", just | |
25674 | allocate a stack temporary. | |
25675 | (floatsidf2_internal): Likewise. | |
25676 | (floatsidf2_internal+1): Likewise. Don't do bizzare hacks | |
25677 | with unspec. | |
25678 | (floatunssidf2): Don't use the fpmem "register", just | |
25679 | allocate a stack temporary. | |
25680 | (floatunssidf2_internal): Likewise. | |
25681 | (floatunssidf2_internal+1): Likewise. Don't do bizzare hacks | |
25682 | with unspec. | |
25683 | (floatsidf2_loadaddr): Delete. | |
25684 | (floatsidf2_store1): Delete. | |
25685 | (floatsidf2_store2): Delete. | |
25686 | (floatsidf2_load): Delete. | |
25687 | (fix_truncdfsi2): Don't use the fpmem "register", just | |
25688 | allocate a stack temporary. | |
25689 | (fix_truncdfsi2_internal_si): Delete. | |
25690 | (fix_truncdfsi2_internal_di): Delete. | |
25691 | (fix_truncdfsi2_internal): New insn. | |
25692 | (fix_truncdfsi2_internal+1): Don't use the fpmem "register". | |
25693 | (fix_truncdfsi2_store): Delete. | |
25694 | (fix_truncdfsi2_load): Delete. | |
25695 | (fctiwz): Produce gen_fctiwz. | |
25696 | ||
25697 | 2000-01-19 Geoffrey Keating <geoffk@cygnus.com> | |
25698 | ||
25699 | * eabi.h (INVOKE__main): Define. | |
25700 | * rs6000.c (rs6000_stack_info): Don't handle call to NAME__MAIN | |
25701 | specially. | |
25702 | (rs6000_emit_prologue): Likewise. | |
25703 | * rs6000.h (struct rs6000_stack): Don't keep track of whether | |
25704 | this is the main program. | |
25705 | ||
25706 | 2000-01-19 Geoff Keating <geoffk@cygnus.com> | |
25707 | ||
25708 | * rs6000.c (rs6000_va_arg): Delete some unused variables. | |
25709 | ||
25710 | 2000-01-19 Geoff Keating <geoffk@cygnus.com> | |
25711 | ||
25712 | * rs6000.c (rs6000_va_arg): On AIX, padding for small arguments | |
25713 | goes after the argument. | |
25714 | ||
25715 | 2000-01-12 Geoff Keating <geoffk@cygnus.com> | |
25716 | ||
25717 | * rs6000.md: Document 'unspec' values used. | |
25718 | (epilogue): New expander. | |
25719 | (movesi_to_cr_one): New expander. | |
25720 | (movesi_to_cr and following): New pattern. | |
25721 | (lmw): New pattern. | |
25722 | (return_internal_si): New pattern. | |
25723 | (return_internal_di): New pattern. | |
25724 | (return_and_restore_fpregs_si): New pattern. | |
25725 | (return_and_restore_fpregs_di): New pattern. | |
25726 | * rs6000.h: Declare new functions. | |
25727 | * rs6000.c (rs6000_stack_info): Use current_function_is_leaf | |
25728 | rather than rs6000_calls_p. | |
25729 | (rs6000_makes_calls): Delete. | |
25730 | (lmw_operation): New function. | |
25731 | (mtcrf_operation): New function. | |
25732 | (rs6000_emit_epilogue): New function. | |
25733 | (output_epilog): Call rs6000_emit_epilogue and final if | |
25734 | !TARGET_SCHED_PROLOG, instead of writing text unconditionally. | |
25735 | ||
25736 | 2000-01-12 Geoff Keating <geoffk@cygnus.com> | |
25737 | ||
25738 | * aix43.h (SUBSUBTARGET_SWITCHES): Document switches. | |
25739 | * aix41.h (SUBSUBTARGET_SWITCHES): Document switches. | |
25740 | * aix.h (SUBTARGET_SWITCHES): Document switches. | |
25741 | * rs6000.h: (TARGET_SWITCHES): Don't print options twice. Make | |
25742 | sched-prolog and sched-epilog the same. Document all the | |
25743 | switches. | |
25744 | (TARGET_OPTIONS): No longer allow -mdebug-. | |
25745 | ||
25746 | 2000-01-12 Geoff Keating <geoffk@cygnus.com> | |
25747 | ||
25748 | * rs6000.h (ASM_FILE_END): Move to aix.h. | |
25749 | (EXTRA_SECTIONS): Move to aix.h. | |
25750 | (READONLY_DATA_SECTION): Move to aix.h. | |
25751 | (EXTRA_SECTION_FUNCTIONS): Move to aix.h. | |
25752 | (SELECT_SECTION): Move to aix.h. | |
25753 | (JUMP_TABLES_IN_TEXT_SECTION): Move to aix.h. | |
25754 | (INT_REGNO_P): Use symbolic name for ARG_POINTER_REGNUM. | |
25755 | (LINK_REGISTER_REGNUM): New definition. | |
25756 | (RETURN_ADDR_RTX): Use symbolic name for LINK_REGISTER_REGNUM. | |
25757 | (SLOW_UNALIGNED_ACCESS): Define in a way suitable for both | |
25758 | AIX and SVR4. | |
25759 | * sysv4.h: Delete the code between the inclusion of rs6000.h | |
25760 | and svr4.h. | |
25761 | (DWARF_DEBUGGING_INFO): Don't define, it's defined in elfos.h. | |
25762 | (FP_ARG_MAX_REG): Move generic definition to rs6000.h. | |
25763 | (RS6000_REG_SAVE): Move generic definition to rs6000.h. | |
25764 | (RS6000_SAVE_AREA): Move generic definition to rs6000.h. | |
25765 | * rs6000.md (floatsidf2_loadaddr): The first arg here is Pmode. | |
25766 | (fix_truncdfsi2_internal): Rename to fix_truncdfsi2_internal_si. | |
25767 | (fix_truncdfsi2_internal_di): New pattern. | |
25768 | (fix_truncdfsi2_store): The second arg here is Pmode too. | |
25769 | (fix_truncdfsi2_load): The second arg here is Pmode too. | |
25770 | (tablejumpdi): Now that switch tables hold only SImode values, | |
25771 | gcc needs to know how to add them to the pc which is DImode. | |
25772 | * rs6000.c (rs6000_stack_info): Use symbolic name for | |
25773 | LINK_REGISTER_REGNUM. | |
25774 | (output_mi_thunk) [!TARGET_ELF]: Don't define sp, it's not used. | |
25775 | (output_toc): Delete unused variables s1 and s2. | |
25776 | (output_ascii): Use fputs not fprintf on a variable string. | |
25777 | ||
25778 | 2000-01-07 David Edelsohn <edelsohn@gnu.org> | |
25779 | ||
25780 | * rs6000.c (processor_target_table): Add power3 as alias for 630. | |
25781 | * aix43.h: Revert Aug 2 change. | |
25782 | (HAS_INIT_SECTION): Define, not visible yet. | |
25783 | (LD_INIT_SWITCH): Define, not visible yet. | |
25784 | * t-aix43 (MULTILIB_OPTIONS): Revert Aug 2 change. | |
25785 | ||
25786 | 2000-01-04 Joel Sherrill (joel@OARcorp.com> | |
25787 | ||
25788 | * config/rs6000/rtems.h: Include config/rtems.h. | |
25789 | ||
25790 | 2000-01-04 David Edelsohn <edelsohn@gnu.org> | |
25791 | ||
25792 | * rs6000.h (HANDLE_PRAGMA_PACK): Define. | |
25793 | (SLOW_UNALIGNED_ACCESS): Define. | |
25794 | (CASE_VECTOR_MODE): Always use 32-bit offsets. | |
25795 | (ASM_FILE_END): Generate 64-bit symbol in 64-bit mode. | |
25796 | (EXTRA_SECTOIN_FUNCTIONS): Indent .csect pseudo-op. | |
25797 | (toc_section): Likewise and .toc pseudo-op. | |
25798 | (ASM_DECLARE_FUNCTION): Likewise. Align text more strictly in | |
25799 | 64-bit mode. | |
25800 | (TEXT_SECTION_ASM_OP): Likewise. | |
25801 | (ASM_OUTPUT_ADD_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Always use | |
25802 | 32-bit offsets. | |
25803 | ||
25804 | 1999-12-17 Jakub Jelinek <jakub@redhat.com> | |
25805 | ||
25806 | * config/rs6000/rs6000.h (TARGET_POWERPC64): Make sure | |
25807 | UNITS_PER_WORD and BITS_PER_WORD are compile time constants when | |
25808 | compiling libgcc2. | |
25809 | ||
25810 | 2000-01-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | |
25811 | ||
25812 | * rs6000.h: Move more stuff from here... | |
25813 | * aix.h: to here. | |
25814 | * sysv4.h: Cleanup accordingly. | |
25815 | * netware.h: Likewise | |
25816 | ||
25817 | 2000-01-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | |
25818 | ||
25819 | * rs6000.h: Continue cleanup. | |
25820 | * aix.h: Likewise. | |
25821 | * lynx.h: Likewise. | |
25822 | * netware.h: Likewise. | |
25823 | * sol2.h: Likewise. | |
25824 | * sysv4.h: Likewise. | |
25825 | * win-nt.h: Likewise. | |
25826 | ||
25827 | * rs6000.h (TARGET_SWITCHES): Add descriptions. | |
25828 | (TARGET_OPTIONS): Likewise. | |
25829 | ||
25830 | * sysv4.h (SUBTARGET_SWITCHES): Add descriptions. | |
25831 | (SUBTARGET_OPTIONS): Likewise. | |
25832 | ||
25833 | * rs6000.md: Fix compile time warnings. | |
25834 | ||
25835 | 2000-01-04 Geoff Keating <geoffk@cygnus.com> | |
25836 | ||
25837 | vxworks patches from the Cygnus tree originally by | |
25838 | Michael Meissner <meissner@cygnus.com> and Vladimir Makarov | |
25839 | <vmakarov@cygnus.com>. | |
25840 | * sysv4.h (SUBTARGET_SWITCHES): Add vxworks. | |
25841 | (ENDFILE_SPEC): Likewise. | |
25842 | (LIB_VXWORKS_SPEC): New macro. | |
25843 | (STARTFILE_VXWORKS_SPEC): New macro. | |
25844 | (ENDFILE_VXWORKS_SPEC): New macro. | |
25845 | (LINK_START_VXWORKS_SPEC): New macro. | |
25846 | (LINK_OS_VXWORKS_SPEC): New macro. | |
25847 | (CPP_OS_VXWORKS_SPEC): New macro. | |
25848 | (SUBTARGET_EXTRA_SPECS): Add all the vxworks specs. | |
25849 | * vxppc.h: Rewrite to use proper configuration method. | |
25850 | * vxppcle.h: New file. | |
25851 | * ../../configure.in: Add powerpcle-wrs-vxworks*. | |
25852 | * ../../configure: Rebuilt. | |
25853 | ||
25854 | 2000-01-04 Geoff Keating <geoffk@cygnus.com> | |
25855 | ||
25856 | Lots of changes to rs6000.h, sysv4.h, aix.h, | |
25857 | aix31.h, aix3newas.h, aix41.h, aix43.h, beos.h, | |
25858 | with the aim that rs6000.h is the first header | |
25859 | included and the others override it. | |
25860 | * aix.h: New file. | |
25861 | ||
25862 | * x-aix41-gld: Remove. | |
25863 | * x-aix43: Remove. | |
25864 | * x-aix41: Remove target-specific switches, and don't specify | |
25865 | -Wl,-bbigtoc as we don't need it any more. | |
25866 | * ../../configure.in: Use x-aix41 for ppc AIX 4.1 and above. | |
25867 | Use t-aix43 for AIX 4.3 and above. | |
25868 | * ../../configure: Regenerated. | |
25869 | ||
25870 | * rs6000.h (TARGET_SWITCHES): Add some initial prolog-scheduling | |
25871 | options, that don't do anything yet. | |
25872 | (MASK_SCHED_PROLOG): New macro. | |
25873 | (MASK_SCHED_EPILOG): New macro. | |
25874 | (TARGET_SCHED_PROLOG): New macro. | |
25875 | (TARGET_SCHED_EPILOG): New macro. | |
25876 | ||
25877 | 2000-01-04 Geoff Keating <geoffk@cygnus.com> | |
25878 | ||
25879 | * rs6000.c: Correct comment, the `minimal' TOCs are actually | |
25880 | one per translation unit, not one per function. | |
25881 | (output_toc): Also do duplicate constant elimination | |
25882 | for per-translation-unit TOCs. | |
25883 | ||
25884 | * rs6000.md (nonlocal_goto_receiver): Put it back as before. Add | |
25885 | a comment explaining _exactly_ when this pattern gets used. | |
25886 | (builtin_setjmp_receiver): New pattern for better clarity. | |
25887 | (init_v4_pic): Move it into a section dealing with TOC registers. | |
25888 | ||
25889 | 1999-12-30 Geoff Keating <geoffk@cygnus.com> | |
25890 | ||
25891 | * rs6000.c (toc_hash_table): New variable. | |
25892 | (rs6000_hash_constant): New function. | |
25893 | (toc_hash_function): New function. | |
25894 | (toc_hash_eq): New function. | |
25895 | (toc_hash_mark_entry): New function. | |
25896 | (toc_hash_mark_table): New function. | |
25897 | (output_toc): Don't output duplicate TOC entries in | |
25898 | a single file. | |
25899 | (rs6000_add_gc_roots): Add the hash table as a GC root. | |
25900 | * t-aix43: Move AR_FOR_TARGET and CLIB here from x-aix43, | |
25901 | where they clearly shouldn't be. This may need to be fixed | |
25902 | later when there is a GNU ar for AIX. | |
25903 | * x-aix43: Don't define CLIB or AR_FOR_TARGET. | |
25904 | Don't define BOOT_LDFLAGS as it is now not necessary. | |
25905 | ||
25906 | 1999-12-29 Geoff Keating <geoffk@cygnus.com> | |
25907 | ||
25908 | * rs6000.c (rs6000_build_va_list): Use 'char *' rather than 'void *' | |
25909 | for va_list on AIX. Use unsigned_char_type_node rather than | |
25910 | constructing our own version on svr4. | |
25911 | ||
25912 | 1999-12-17 Geoff Keating <geoffk@cygnus.com> | |
25913 | ||
25914 | * tramp.asm (__trampoline_size): Delete CYGNUS LOCAL comment, | |
25915 | since patently it's not. | |
25916 | ||
25917 | 1999-12-08 Geoff Keating <geoffk@cygnus.com> | |
25918 | ||
25919 | * config/rs6000/rs6000.md (nonlocal_goto_receiver): Turn into | |
25920 | define_expand/define_insn pair, and handle restore of the | |
25921 | SVR4 -fpic register. | |
25922 | ||
25923 | Wed Mar 15 15:43:38 2000 Jeffrey A Law (law@cygnus.com) | |
25924 | ||
25925 | * acconfig.h (HAVE_GAS_WEAK): New define. | |
25926 | * configure.in (assembler weak support): Check for .weak support. | |
25927 | * config.in, configure: Rebuilt. | |
25928 | * pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Only define if | |
25929 | HAVE_GAS_WEAK is defined. | |
25930 | ||
25931 | 2000-03-15 Nick Clifton <nickc@cygnus.com> | |
25932 | ||
25933 | * config/arm/arm.c (arm_output_epilogue): Do not pass %c to | |
25934 | asm_fprintf(). | |
25935 | ||
25936 | 2000-03-15 Zack Weinberg <zack@wolery.cumb.org> | |
25937 | ||
25938 | * cppfiles.c (open_include_file): New function. | |
25939 | (find_include_file, cpp_read_file): Use it. | |
25940 | ||
25941 | 2000-03-15 Jason Merrill <jason@casey.cygnus.com> | |
25942 | ||
25943 | * cpphash.c (dump_hash_helper): Take the slot, not the element. | |
25944 | ||
25945 | Wed Mar 15 14:28:54 2000 Jason Eckhardt <jle@cygnus.com> | |
25946 | ||
25947 | * flow.c (verify_flow_info): Check for unconditional return. | |
25948 | ||
25949 | Wed Mar 15 11:34:27 2000 Jim Wilson <wilson@cygnus.com> | |
25950 | ||
25951 | * config/ia64/ia64.md (restore_stack_nonlocal): New. | |
25952 | * config/ia64/lib1funcs.asm (__ia64_nonlocal_goto): Delete padding nop. | |
25953 | (__ia64_restore_stack_nonlocal): New. | |
25954 | * config/ia64/t-ia64 (LIB1ASMFUNCS): Add __restore_stack_nonlocal. | |
25955 | ||
25956 | 2000-03-15 Alexandre Oliva <oliva@lsd.ic.unicamp.br> | |
25957 | ||
25958 | * cpphash.c (collect_formal_parameters): Do not complain about | |
25959 | parameter names that just start with `__VA_ARGS__'. | |
25960 | ||
25961 | Wed Mar 15 13:26:58 MET 2000 Jan Hubicka <jh@suse.cz> | |
25962 | ||
25963 | * i386.md (movhi_1): Promote movw imm, reg to movl imm, reg and | |
25964 | movw reg, reg to movzwl reg, reg on PARTIAL_REGISTER_STALL machines. | |
25965 | * i386.c (pentiumpro_cost): Set mul cost to 4. | |
25966 | (x86_use_movx): Set for PPro. | |
25967 | ||
25968 | Wed Mar 15 13:07:05 MET 2000 Jan Hubicka <jh@suse.cz> | |
25969 | ||
25970 | * i386.md (ix86_compute_frame_size): stack_alignment_needed is | |
25971 | STACK_BOUNDARY for empty frames now. | |
25972 | ||
25973 | 2000-03-14 Mark Mitchell <mark@codesourcery.com> | |
25974 | ||
25975 | * stor-layout.c (layout_union): Remove. | |
25976 | (layout_union_field): New function, split out from layout_union. | |
25977 | (finish_union_layout): Likewise. | |
25978 | (layout_field): Handle unions by calling layout_union_field. | |
25979 | (finish_record_layout): Handle unions. | |
25980 | (layout_type): Combine RECORD_TYPE, UNION_TYPE, and | |
25981 | QUAL_UNION_TYPE handling. | |
25982 | ||
25983 | Wed Feb 23 13:00:06 CET 2000 Jan Hubicka <jh@suse.cz> | |
25984 | ||
25985 | * flow.c (fixup_reorder_chain): Avoid double labels in the basic block; | |
25986 | end of basic block is jump_insn, not barrier; use create_basic_block | |
25987 | instead of creating basic block by hand. | |
25988 | ||
25989 | 2000-03-14 Jason Eckhardt <jle@cygnus.com> | |
25990 | ||
25991 | * flow.c (reorder_basic_blocks): Account for barriers when writing | |
25992 | over NEXT_INSN (last_bb->end). | |
25993 | (verify_flow_info): Add check for missing barriers. | |
25994 | ||
25995 | 2000-03-14 Greg McGary <gkm@gnu.org> | |
25996 | ||
25997 | * c-lex.h (enum rid): Add RID_BOUNDED & RID_UNBOUNDED. | |
25998 | * c-lex.c (init_lex): Handle RID_BOUNDED & RID_UNBOUNDED. | |
25999 | * c-parse.gperf (__bounded, __bounded__, __ptrbase, __ptrbase__, | |
26000 | __ptrextent, __ptrextent__, __ptrvalue, __ptrvalue__, | |
26001 | __unbounded, __unbounded__): New keywords. | |
26002 | * c-parse.in (PTR_VALUE PTR_BASE PTR_EXTENT): New tokens. | |
26003 | * c-parse.y, c-parse.c, c-parse.h: Regenerate. | |
26004 | * objc/objc-parse.y, objc/objc-parse.c: Regenerate. | |
26005 | ||
26006 | 2000-03-14 Bernd Schmidt <bernds@cygnus.co.uk> | |
26007 | ||
26008 | * cselib.h: New file. | |
26009 | * alias.c: Include "cselib.h". | |
26010 | (fixed_scalar_and_varying_struct_p): Accept the addresses of the | |
26011 | MEMs as two new arguments. | |
26012 | (get_addr): New static function. | |
26013 | (find_base_term): Handle VALUEs. | |
26014 | (memrefs_conflict_p): Likewise. | |
26015 | (true_dependence): Call get_addr on the addresses. | |
26016 | Call fixed_scalar_and_varying_struct_p with addresses that have been | |
26017 | passed through get_addr and canon_rtx. | |
26018 | (write_dependence_p): Move DIFFERENT_ALIAS_SETS_P test for consistency | |
26019 | with true_dependence. | |
26020 | Call get_addr on the addresses; don't call canon_rtx on the MEMs. | |
26021 | * loop.c: Include "cselib.h". | |
26022 | (load_mems): Process extended basic block that enters the loop with | |
26023 | cselib. Use that information to change initialization of the shadow | |
26024 | register so that a constant equivalence is seen by later passes. | |
26025 | * reload1.c: Include "cselib.h". | |
26026 | (reload_cse_invalidate_regno): Delete function. | |
26027 | (reload_cse_mem_conflict_p): Likewise. | |
26028 | (reload_cse_invalidate_mem): Likewise. | |
26029 | (reload_cse_invalidate_rtx): Likewise. | |
26030 | (reload_cse_regno_equal_p): Likewise. | |
26031 | (reload_cse_check_clobber): Likewise. | |
26032 | (reload_cse_record_set): Likewise. | |
26033 | (reg_values): Delete static variable. | |
26034 | (invalidate_regno_rtx): Likewise. | |
26035 | (reload_cse_delete_noop_set): New static function. | |
26036 | (reload_cse_simplify): New static function, broken out of | |
26037 | reload_cse_regs_1. | |
26038 | (reload_cse_noop_set_p): Delete unused argument INSN. | |
26039 | Just call rtx_equal_for_cselib_p on set source and destination. | |
26040 | (reload_cse_regs_1): Break out some code into reload_cse_simplify and | |
26041 | reload_cse_delete_noop_set. Delete code to keep track of values; use | |
26042 | cselib functions instead. Delete code to push/pop obstacks. | |
26043 | (reload_cse_simplify_set): Use cselib to find equivalent values. | |
26044 | Delete code to push/pop obstacks. | |
26045 | (reload_cse_simplify_operands): Likewise. | |
26046 | * rtl.def (VALUE): New rtx code. | |
26047 | * rtl.h (union rtunion_def): New elt rt_cselib. | |
26048 | (X0CSELIB, CSELIB_VAL_PTR): New macros. | |
26049 | * simplify_rtx.c: Include "ggc.h", "obstack.h", "cselib.h". | |
26050 | (new_elt_list, new_elt_loc_list, unchain_one_value, clear_table, | |
26051 | unchain_one_elt_list, unchain_one_elt_loc_list, check_useless_values, | |
26052 | discard_useless_locs, discard_useless_values, entry_and_rtx_equal_p, | |
26053 | hash_rtx, new_cselib_val, add_mem_for_addr, get_value_hash, | |
26054 | cselib_lookup_mem, cselib_subst_to_values, cselib_invalidate_regno, | |
26055 | cselib_mem_conflict_p, cselib_invalidate_mem, cselib_invalidate_rtx, | |
26056 | cselib_record_set, cselib_record_sets): New static functions. | |
26057 | (cselib_lookup, cselib_update_varray_sizes, cselib_init, | |
26058 | cselib_finish, cselib_process_insn, rtx_equal_for_cselib_p, | |
26059 | references_value_p): New functions. | |
26060 | (MAX_USELESS_VALUES, REG_VALUES): New macros. | |
26061 | (table, cselib_current_insn, next_unknown_value, cselib_nregs, | |
26062 | n_useless_values, reg_values, callmem, cselib_obstack, | |
26063 | cselib_startobj, empty_vals, empty_elt_lists, empty_elt_loc_lists): | |
26064 | New static variables. | |
26065 | * varray.h (union varray_data_tag): New elt te. | |
26066 | (VARRAY_ELT_LIST_INIT, VARRAY_ELT_LIST): New macros. | |
26067 | * Makefile.in (reload1.o, loop.o, simplify-rtx.o, alias.o): Update | |
26068 | dependencies. | |
26069 | ||
26070 | 2000-03-14 Nick Clifton <nickc@cygnus.com> | |
26071 | ||
26072 | * gcc.c (do_spec_1): Catch the case where %* is used in a | |
4912a07c | 26073 | substitution pattern, but it has not been initialized. |
05713b80 | 26074 | Issue a meaningful error message if an unrecognized operator |
c30d43bf JL |
26075 | is encountered in a spec string. |
26076 | ||
26077 | 2000-03-14 Richard Earnshaw <rearnsha@arm.com> | |
26078 | ||
26079 | * function.c (prepare_function_start): Correctly initialize | |
26080 | cfun->stack_alignment_needed. | |
26081 | ||
26082 | 2000-03-14 Zack Weinberg <zack@wolery.cumb.org> | |
26083 | ||
26084 | * cppfiles.c (find_include_file): Don't assume nshort is a | |
26085 | substring of name. | |
26086 | ||
26087 | Tue Mar 14 08:42:21 2000 Jeffrey A Law (law@cygnus.com) | |
26088 | ||
26089 | * configure.in (hppa configurations): Add pa32-regs.h to the | |
26090 | list of tm files as appropriate. | |
26091 | * configure: Rebuilt. | |
26092 | * pa.c (compute_frame_size): Remove explicit knowledge about FP | |
26093 | register numbering. | |
26094 | (hppa_expand_prologue, hppa_expand_epilogue): Likewise. | |
26095 | (fmpyaddoperands, fmpysuboperands): Likewise. | |
26096 | * pa.h: Remove various definitions which depend on knowing | |
26097 | how registers are numbered. | |
26098 | * pa32-regs.h: New file with PA32 register numbering specific | |
26099 | definitions. | |
26100 | ||
26101 | 2000-03-14 Richard Henderson <rth@cygnus.com> | |
26102 | ||
26103 | * regmove.c (combine_stack_adjustments): New. | |
26104 | (stack_memref_p, single_set_for_csa): New. | |
26105 | (free_csa_memlist, record_one_stack_memref): New. | |
26106 | (try_apply_stack_adjustment): New. | |
26107 | (combine_stack_adjustments_for_block): New. | |
26108 | * rtl.h (combine_stack_adjustments): Declare. | |
26109 | * toplev.c (rest_of_compilation): Call it. | |
26110 | ||
26111 | * i386.md: Revert 2000-01-16 change. | |
26112 | ||
719bb4e3 | 26113 | 2000-03-14 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
c30d43bf JL |
26114 | |
26115 | * gccbug.in: Add web category, gcc specific classes. | |
26116 | ||
26117 | 2000-03-14 Nathan Sidwell <nathan@codesourcery.com> | |
26118 | ||
26119 | * stor-layout.c (finalize_record_size): Fix typo. | |
26120 | ||
26121 | 2000-03-14 Stan Shebs <shebs@apple.com> | |
26122 | ||
26123 | * c-typeck.c (c_alignof): Error on incomplete types. | |
26124 | * extend.texi (Alignment): Document this. | |
26125 | ||
26126 | 2000-03-13 Zack Weinberg <zack@wolery.cumb.org> | |
26127 | ||
26128 | * cppfiles.c: Include mkdeps.h. | |
26129 | (find_include_file, read_include_file): Remove _cpp_ prefix | |
26130 | from name, make static. | |
26131 | (_cpp_execute_include): New function, broken out of | |
26132 | do_include. | |
26133 | ||
26134 | * cpplib.c: Don't include mkdeps.h. | |
26135 | (struct directive): Remove type field. Reorder entries. The | |
26136 | function takes only one argument. | |
26137 | (struct if_stack): Make type field an int. | |
26138 | (directive_table): Rename to dtable. Generate it, the | |
26139 | prototypes of the directive handlers, and the enum for the | |
26140 | directive numbers, from a template macro. | |
26141 | (do_ifndef, do_include_next, do_import): New functions. | |
26142 | (do_define, do_include, do_endif, do_ifdef, do_if, do_else, | |
26143 | do_undef, do_line, do_elif, do_error, do_pragma, do_warning, | |
26144 | do_ident, do_assert, do_unassert, do_sccs): Take only one | |
26145 | argument. | |
26146 | (do_sccs): Define always, but alter behavior based on | |
26147 | SCCS_DIRECTIVE. | |
26148 | (_cpp_handle_directive, consider_directive_while_skipping): | |
26149 | Restructure for new directive table layout. | |
26150 | ||
26151 | (pass_thru_directive): Take a directive number, not a pointer | |
26152 | to a struct directive. | |
26153 | (parse_include): New function, broken out of do_include. | |
26154 | (do_include, do_import, do_include_next): Use parse_include | |
26155 | and _cpp_execute_include. | |
26156 | (do_elif, do_else): Test for T_ELSE specifically when checking | |
26157 | for #elif/#else after #else. | |
26158 | (parse_ifdef): New function, broken out of do_ifdef. | |
26159 | (validate_else): Expect a name arg without a leading #. | |
26160 | (if_directive_name): Delete. | |
26161 | (cpp_define, cpp_assert, cpp_undef, cpp_unassert): Call | |
26162 | directive handlers with only one argument. | |
26163 | ||
26164 | * cpphash.h: Update prototypes. | |
26165 | (enum node_type): Remove entries for directives. | |
26166 | * Makefile.in: Update dependencies. | |
26167 | ||
26168 | * cpphash.c (dump_hash_helper): Only dump nodes of type | |
26169 | T_MACRO. Emit a newline after each definition. | |
26170 | ||
719bb4e3 | 26171 | 2000-03-14 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
c30d43bf JL |
26172 | |
26173 | * gccbug.in: New file. | |
26174 | * configure.in (all_outputs): Add gccbug. | |
26175 | * Makefile.in (install-common): Install gccbug. | |
26176 | (GCCBUG_INSTALL_NAME): New variable. | |
26177 | * configure: Rebuilt. | |
26178 | ||
26179 | 2000-03-13 Jason Merrill <jason@casey.cygnus.com> | |
26180 | ||
26181 | * function.c (put_var_into_stack): Use type_for_mode to calculate | |
26182 | part_type. Use MEM_SET_IN_STRUCT_P. | |
26183 | * expr.c (store_field): Handle CONCAT. | |
26184 | (store_constructor): Use fields_length. | |
26185 | * tree.c (fields_length): New fn. | |
26186 | * tree.h: Declare it. | |
26187 | ||
26188 | 2000-03-13 Zack Weinberg <zack@wolery.cumb.org> | |
26189 | ||
26190 | * Makefile.in (LIBCPP_OBJS): Add cpplex.o. | |
26191 | (cpplex.o): New target. | |
26192 | * po/POTFILES.in: Add cpplex.c. | |
26193 | ||
26194 | * cpplex.c (_cpp_grow_token_buffer, null_cleanup, | |
26195 | cpp_push_buffer, cpp_pop_buffer, cpp_scan_buffer, | |
26196 | cpp_expand_to_buffer, cpp_buf_line_and_col, cpp_file_buffer, | |
26197 | skip_block_comment, skip_line_comment, skip_comment, | |
26198 | copy_comment, _cpp_skip_hspace, _cpp_skip_rest_of_line, | |
26199 | _cpp_parse_name, skip_string, parse_string, | |
26200 | _cpp_parse_assertion, cpp_get_token, cpp_get_non_space_token, | |
26201 | _cpp_get_directive_token, find_position, | |
26202 | _cpp_read_and_prescan, _cpp_init_input_buffer): Move here. | |
26203 | (maybe_macroexpand, _cpp_lex_token): New functions. | |
26204 | ||
26205 | * cpplib.c (SKIP_WHITE_SPACE, eval_if_expr, parse_set_mark, | |
26206 | parse_goto_mark): Delete. | |
26207 | (_cpp_handle_eof): New function. | |
26208 | (_cpp_handle_directive): Rename from handle_directive. | |
26209 | (_cpp_output_line_command): Rename from output_line_command. | |
26210 | (do_if, do_elif): Call _cpp_parse_expr directly. | |
26211 | * cppfiles.c (_cpp_read_include_file): Don't call | |
26212 | init_input_buffer here. | |
26213 | * cpphash.c (quote_string): Move here, rename _cpp_quote_string. | |
26214 | * cppexp.c (_cpp_parse_expr): Diddle parsing_if_directive | |
26215 | here; pop the token_buffer and skip the rest of the line here. | |
26216 | * cppinit.c (cpp_start_read): Call _cpp_init_input_buffer | |
26217 | here. | |
26218 | ||
26219 | * cpphash.h (CPP_RESERVE, CPP_IS_MACRO_BUFFER, ACTIVE_MARK_P): | |
26220 | Define here. | |
26221 | (CPP_SET_BUF_MARK, CPP_GOTO_BUF_MARK, CPP_SET_MARK, | |
26222 | CPP_GOTO_MARK): New macros. | |
26223 | (_cpp_quote_string, _cpp_parse_name, _cpp_skip_rest_of_line, | |
26224 | _cpp_skip_hspace, _cpp_parse_assertion, _cpp_lex_token, | |
26225 | _cpp_read_and_prescan, _cpp_init_input_buffer, | |
26226 | _cpp_grow_token_buffer, _cpp_get_directive_token, | |
26227 | _cpp_handle_directive, _cpp_handle_eof, | |
26228 | _cpp_output_line_command): Prototype them here. | |
26229 | * cpplib.h (enum cpp_token): Add CPP_MACRO. | |
26230 | (CPP_RESERVE, get_directive_token, cpp_grow_buffer, | |
26231 | quote_string, output_line_command): Remove. | |
26232 | ||
26233 | 2000-03-13 Bernd Schmidt <bernds@cygnus.co.uk> | |
26234 | ||
26235 | * stmt.c (expand_end_case): RANGE may be signed, and when checking | |
26236 | whether it is too large we must also verify that it isn't negative. | |
26237 | ||
26238 | 2000-03-13 Jakub Jelinek <jakub@redhat.com> | |
26239 | ||
26240 | * config/sparc/sparc.md: Remove all traces of TARGET_LIVE_G0. | |
26241 | (movsi_zero_liveg0): Remove. | |
26242 | (movsf_insn_novis_liveg0): Remove. | |
26243 | (negsi2): Remove. | |
26244 | (negsi2_not_liveg0): Rename to negsi2. | |
26245 | (one_cmplsi2): Remove. | |
26246 | (one_cmplsi2_not_liveg0): Rename to one_cmplsi2. | |
26247 | (one_cmplsi2_liveg0): Remove. | |
26248 | * config/sparc/sparc.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE, | |
26249 | MASK_LIVE_G0, MASK_BROKEN_SAVERESTORE): Remove. | |
26250 | (CONDITIONAL_REGISTER_USAGE): Remove TARGET_LIVE_G0 if. | |
26251 | (PREDICATE_CODES): Remove zero_operand. | |
26252 | * config/sparc/sparc.c: Remove all traces of TARGET_LIVE_G0 and | |
26253 | TARGET_BROKEN_SAVERESTORE. | |
26254 | (zero_operand): Remove. | |
26255 | * config/sparc/splet.h (SUBTARGET_SWITCHES): Remove -mlive-g0, | |
26256 | -mno-live-g0, -mbroken-saverestore and -mno-broken-saverestore | |
26257 | options. | |
26258 | (SUBTARGET_OVERRIDE_OPTIONS): Remove. | |
26259 | * config/sparc/linux-aout.h (TARGET_LIVE_G0, | |
26260 | TARGET_BROKEN_SAVERESTORE): Remove. | |
26261 | * config/sparc/linux.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE): | |
26262 | Remove. | |
26263 | * config/sparc/linux64.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE): | |
26264 | Remove. | |
26265 | * config/sparc/sol2.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE): | |
26266 | Remove. | |
26267 | ||
26268 | * config/sparc/sparc.md (return_df_no_fpu): New pattern. | |
26269 | ||
26270 | 2000-03-13 Zack Weinberg <zack@wolery.cumb.org> | |
26271 | ||
26272 | * cpplib.c (do_pragma_implementation): Fix off-by-one error | |
26273 | truncating a string. Don't assume tokens are nul terminated. | |
26274 | Problem noted by Andreas Jaeger <aj@suse.de> | |
26275 | ||
26276 | 2000-03-13 Jason Merrill <jason@casey.cygnus.com> | |
26277 | ||
26278 | * dwarf2out.c (add_name_and_src_coords_attributes): Only add | |
26279 | DW_AT_MIPS_linkage_name for TREE_PUBLIC decls. | |
26280 | (ASM_OUTPUT_DWARF_ADDR_CONST): Don't output trailing newline. | |
26281 | ||
26282 | 2000-03-13 Richard Earnshaw <rearnsha@arm.com> | |
26283 | ||
26284 | * stor-layout.c (new_record_layout_info): Fix typo inside ifdef | |
26285 | STRUCTURE_SIZE_BOUNDARY. | |
26286 | ||
26287 | 2000-03-13 Mark Mitchell <mark@codesourcery.com> | |
26288 | ||
26289 | * tree.h (record_layout_info_s): New structure. | |
26290 | (record_layout_info): New type. | |
26291 | (new_record_layout_info): New function. | |
26292 | (layout_field): Likewise. | |
26293 | (finish_record_layout): Likewise. | |
26294 | * stor-layout.c (layout_record): Remove. | |
26295 | (new_record_layout_info): New function. | |
26296 | (layout_field): New function, broken out from layout_record. | |
26297 | (finalize_record_size): Likewise. | |
26298 | (compute_record_mode): Likewise. | |
26299 | (finalize_type_size): New function, broken out from layout_type. | |
26300 | (finish_record_layout): Likewise. | |
26301 | (layout_type): Use them. | |
26302 | ||
26303 | 2000-03-12 Zack Weinberg <zack@wolery.cumb.org> | |
26304 | ||
26305 | * cpphash.c: Don't include version.h. | |
26306 | (special_symbol) [case T_VERSION]: Look for the string in | |
26307 | hp->value.cpval; don't use version_string. | |
26308 | * cppinit.c (initialize_builtins): Set hp->value.cpval for | |
26309 | __VERSION__ to version_string. | |
26310 | * Makefile.in (cpphash.o): Update deps. | |
26311 | ||
26312 | 2000-03-12 Zack Weinberg <zack@wolery.cumb.org> | |
26313 | ||
26314 | Convert cpplib to use libiberty/hashtab.c. | |
26315 | ||
26316 | * cpplib.h (struct cpp_reader): Make hashtab and | |
26317 | all_include_files of type 'struct htab *'. Delete HASHSIZE | |
26318 | and ALL_INCLUDE_HASHSIZE macros. | |
26319 | ||
26320 | * cpphash.h: Update prototypes. | |
26321 | (struct hashnode): Remove next, prev, and bucket_hdr members. | |
26322 | Make length a size_t. Add hash member. | |
26323 | (struct ihash): Remove next member. Add hash member. Make | |
26324 | name a flexible array member. | |
26325 | ||
26326 | * cppfiles.c: Include hashtab.h. | |
26327 | (include_hash): Delete. | |
26328 | (IHASHSIZE): New macro. | |
26329 | (hash_IHASH, eq_IHASH, _cpp_init_include_hash): New functions. | |
26330 | (cpp_included): Do the hash lookup here. | |
26331 | (_cpp_find_include_file): Rewrite. | |
26332 | (cpp_read_file): Put the "fake" hash entry into the hash | |
26333 | table. Honor the control_macro, if it turns out we've seen | |
26334 | the file before. Don't push the buffer here. | |
26335 | (_cpp_read_include_file): Push the buffer here. | |
26336 | (OMODES): New macro. Use it whenever we call open(2). | |
26337 | ||
26338 | * cpphash.c: Include hashtab.h. | |
26339 | (hash_HASHNODE, eq_HASHNODE, del_HASHNODE, dump_hash_helper, | |
26340 | _cpp_init_macro_hash, _cpp_dump_macro_hash, _cpp_make_hashnode, | |
26341 | _cpp_lookup_slot): New functions. | |
26342 | (HASHSIZE): new macro. | |
26343 | (hashf, _cpp_install, _cpp_delete_macro): Delete. | |
26344 | (_cpp_lookup): Use hashtab.h routines. | |
26345 | ||
26346 | * cppinit.c: Include hashtab.h. | |
26347 | (cpp_reader_init): Call _cpp_init_macro_hash and | |
26348 | _cpp_init_include_hash. Don't allocate hashtab directly. | |
26349 | (cpp_cleanup): Just call htab_delete on pfile->hashtab and | |
26350 | pfile->all_include_files. | |
26351 | (initialize_builtins): Use _cpp_make_hashnode and | |
26352 | htab_find_slot to add hash entries. | |
26353 | (cpp_finish): Just call _cpp_dump_macro_hash. | |
26354 | * cpplib.c: Include hashtab.h. | |
26355 | (do_define): Use _cpp_lookup_slot and _cpp_make_hashnode to | |
26356 | create hash entries. | |
26357 | (do_pragma_poison, do_assert): Likewise. | |
26358 | (do_include): Don't push the buffer here. Don't increment | |
26359 | system_include_depth unless _cpp_read_include_file succeeds. | |
26360 | (do_undef, do_unassert): Use _cpp_lookup_slot and htab_clear_slot | |
26361 | or htab_remove_elt. | |
26362 | (do_pragma_implementation): Use alloca to create copy. | |
26363 | ||
26364 | * Makefile.in: Update dependencies. | |
26365 | ||
26366 | 2000-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
26367 | ||
26368 | * cppinit.c (cl_directive_handler): More K&R fixing. | |
26369 | ||
26370 | Sat Mar 11 23:54:26 2000 Jim Wilson <wilson@cygnus.com> | |
26371 | ||
26372 | * config/ia64/ia64.c (ia64_compute_frame_size): Align size to | |
26373 | STACK_BOUNDARY. | |
26374 | * config/ia64/ia64.h (REGISTER_MOVE_COST): Add missing parentheses. | |
26375 | ||
26376 | 2000-03-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
26377 | ||
26378 | * cppinit.c (no_arg, no_ass, no_dir, no_fil, no_mac, no_pth): | |
26379 | Change from char[] to macros. | |
26380 | ||
26381 | 2000-03-12 Neil Booth <NeilB@earthling.net> | |
26382 | ||
26383 | * cppinit.c (cpp_start_read): Update indirect function | |
26384 | call to K&R C. | |
26385 | ||
26386 | Sat Mar 11 16:18:12 2000 Jim Wilson <wilson@cygnus.com> | |
26387 | ||
26388 | * config/ia64/ia64.h (ADDITIONAL_REGISTER_NAMES): Fix typo in loc79 | |
26389 | entry. | |
26390 | ||
26391 | * config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h, | |
26392 | config/ia64/ia64.md, config/ia64/xm-ia64.h: Fix copyright messages. | |
26393 | ||
26394 | 2000-03-11 Neil Booth <NeilB@earthling.net> | |
26395 | ||
26396 | * cppinit.c (struct pending option): Replace undef with a | |
26397 | pointer to a directive handling routine. | |
26398 | (struct cpp_pending): Replace separate assert_ and define_ | |
26399 | lists with one directive_ list. | |
26400 | (new_pending_define): Rename new_pending_directive. Extra | |
26401 | argument is the directive's handling routine. | |
26402 | (handle_option): Update to use new_pending_directive. | |
26403 | ||
26404 | 2000-03-11 Neil Booth <NeilB@earthling.net> | |
26405 | ||
26406 | * cppfiles.c (file_cleanup, _cpp_find_include_file, | |
26407 | remap_filename, _cpp_read_include_file, actual_directory, | |
26408 | hack_vms_include_specification): Replace bcopy(), index() etc | |
26409 | calls. Add casts to some allocations. Make some variables | |
26410 | pointers to const [unsigned] char. | |
26411 | * cpphash.c (_cpp_install, macro_cleanup, collect_expansion, | |
26412 | collect_formal_parameters): Similarly. | |
26413 | * cppinit.c (struct pending_option, append_include_chain, | |
26414 | cpp_options_init, cpp_reader_init, initialize_standard_includes, | |
26415 | cpp_start_read, new_pending_define, handle_option): Similarly. | |
26416 | * cpplib.c (cpp_define, copy_comment, do_define, do_include, | |
26417 | do_undef, do_error, do_warning, do_pragma, do_pragma_once, | |
26418 | do_pragma_implementation, detect_if_not_defined, | |
26419 | do_ifdef, skip_if_group, cpp_get_token, parse_string, | |
26420 | do_assert, do_unassert): Similarly. | |
26421 | * cpplib.h (cpp_buffer, cpp_options): Update types. Update | |
26422 | function prototypes. | |
26423 | * mkdeps.c (deps_add_target, deps_add_dep): cast allocations. | |
26424 | ||
26425 | 2000-03-10 Richard Henderson <rth@cygnus.com> | |
26426 | ||
26427 | * builtins.c (expand_builtin_strlen): Revert last change. | |
26428 | Use emit_insn_before if we're at the beginning of a sequence. | |
26429 | ||
26430 | 2000-03-10 Jason Merrill <jason@casey.cygnus.com> | |
26431 | ||
26432 | * builtins.c (expand_builtin_strlen): Make sure that we have something | |
26433 | at the beginning of the sequence. | |
26434 | ||
26435 | * toplev.c (rest_of_compilation): Also set TREE_NOTHROW for | |
26436 | deferred inlines. | |
26437 | ||
26438 | * invoke.texi (C++ Dialect Options): Document -fno-enforce-eh-specs. | |
26439 | ||
26440 | 2000-03-10 Richard Henderson <rth@cygnus.com> | |
26441 | ||
26442 | * except.c (can_throw): Use INTVAL on a CONST_INT. | |
26443 | (reachable_handlers): Likewise. | |
26444 | * flow.c (count_basic_blocks, find_basic_blocks_1): Likewise. | |
26445 | ||
26446 | 2000-03-10 Andreas Jaeger <aj@suse.de> | |
26447 | ||
26448 | * config/mips/linux.h: Undefine MD_EXEC_PREFIX and | |
26449 | MD_STARTFILE_PREFIX since those are not needed on linux. | |
26450 | (ASM_FILE_START): New, from mips/gnu.h. | |
26451 | ||
26452 | 2000-03-09 Richard Henderson <rth@cygnus.com> | |
26453 | Alex Samuel <samuel@codesourcery.com> and others | |
26454 | ||
26455 | * Makefile.in (ssa.o): New rule. | |
26456 | (OBJS): Add ssa.o. | |
26457 | (STAGESTUFF): Add *.ssa and *.ussa. | |
26458 | (mostlyclean): Delete *.ssa, *.ussa, */*.ssa, */*.ussa. | |
26459 | * rtl.def (PHI): New RTL expression. | |
26460 | * rtl.h (clear_log_links): New declaration. | |
26461 | (convert_to_ssa): Likewise. | |
26462 | (convert_from_ssa): Likewise. | |
26463 | * flow.c (split_edge): If the entry node falls through to the | |
26464 | split edge's source block, split the entry edge. | |
26465 | (clear_log_links): New function. | |
26466 | * toplev.c (ssa_dump): New variable. | |
26467 | (flag_ssa): Likewise. | |
26468 | (f_options): Add "ssa". | |
26469 | (compile_file): Create SSA dump files. | |
26470 | (rest_of_compilation): Go to and from SSA if enabled. | |
26471 | (decide_d_option): Handle -de for SSA dump files. | |
26472 | * ssa.c: New file. | |
26473 | ||
26474 | Thu Mar 9 20:01:38 2000 Jim Wilson <wilson@cygnus.com> | |
26475 | ||
26476 | * expr.c (expand_assignment): For a CALL_EXPR, special case PARM_DECL | |
26477 | same as VAR_DECL. | |
26478 | ||
26479 | 2000-03-09 Benjamin Kosnik <bkoz@cygnus.com> | |
26480 | ||
26481 | * config/alpha/linux.h (WCHAR_TYPE): Make consistent. | |
26482 | ||
26483 | Thu Mar 9 18:10:02 2000 Jeffrey A Law (law@cygnus.com) | |
26484 | ||
26485 | * config/pa/pa-hpux10.h (LIB_SPEC): Correct typo in !p case. | |
26486 | (MD_STARTFILE_PREFIX_1): New macro. | |
26487 | ||
26488 | 2000-03-09 Robert Lipe <robertl@sco.com> | |
26489 | ||
26490 | * config/ia64/ia64.c: Include system.h. | |
26491 | ||
26492 | 2000-03-09 Jason Merrill <jason@casey.cygnus.com> | |
26493 | ||
26494 | * except.c (nothrow_function_p): If -fno-exceptions, just return. | |
26495 | (init_eh_nesting_info): Likewise. | |
26496 | ||
26497 | * tree.h (struct tree_common): Rename raises_flag to nothrow_flag. | |
26498 | (TREE_NOTHROW): Rename from TREE_RAISES. | |
26499 | * toplev.c (rest_of_compilation): Set it. | |
26500 | * print-tree.c (print_node): Adjust. | |
26501 | * tree.c (stabilize_reference, build, build1): Don't set TREE_RAISES. | |
26502 | (stabilize_reference_1, get_unwidened, get_narrower): Likewise. | |
26503 | * calls.c (emit_call_1): Add 'nothrow' parm. Add | |
26504 | REG_EH_REGION note as appropriate. | |
26505 | (libfunc_nothrow): New fn. | |
26506 | (emit_library_call, emit_library_call_value): Use it. | |
26507 | (expand_call): Check TREE_NOTHROW. | |
26508 | ||
26509 | * varasm.c (make_decl_rtl): Skip initial '*' when setting | |
26510 | DECL_ASSEMBLER_NAME. | |
26511 | ||
26512 | 2000-03-09 Andreas Jaeger <aj@suse.de> | |
26513 | ||
26514 | * mips/linux.h (NO_IMPLICIT_EXTERN_C): Define. | |
26515 | (TARGET_MEM_FUNCTIONS): Define. | |
26516 | ||
26517 | 2000-03-09 Jason Merrill <jason@casey.cygnus.com> | |
26518 | ||
26519 | * i386.c (ix86_valid_type_attribute_p): Use compare_tree_int. | |
26520 | ||
26521 | * except.c (can_throw): See through a SEQUENCE. | |
26522 | (nothrow_function_p): New fn. | |
26523 | * except.h: Declare it. | |
26524 | * function.c (current_function_nothrow): New var. | |
26525 | (prepare_function_start): Initialize it. | |
26526 | * output.h: Declare it. | |
26527 | * toplev.c (rest_of_compilation): Set it. | |
26528 | * dwarf2out.c (dwarf2out_begin_prologue): Use it. | |
26529 | ||
26530 | 2000-03-09 Zack Weinberg <zack@wolery.cumb.org> | |
26531 | ||
26532 | * cpphash.c (collect_formal_parameters): strncmp returns 0 for | |
26533 | match. (cpp_compare_defs): Count the nul separator when | |
26534 | advancing over argument names. | |
26535 | ||
26536 | 2000-03-09 Bernd Schmidt <bernds@cygnus.co.uk> | |
26537 | ||
26538 | * recog.c (preprocess_constraints): Matching constraints affect | |
26539 | same alternative/different operand, not same operand/different | |
26540 | alternative. | |
26541 | ||
26542 | * reload1.c (eliminate_regs_in_insn): Handle additions of eliminable | |
26543 | register and a constant specially. | |
26544 | ||
26545 | 2000-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
26546 | ||
26547 | * libgcc2.h: New file. | |
26548 | * libgcc2.c: Move macros, typedefs and prototypes to libgcc2.h. | |
26549 | ||
26550 | Wed Mar 8 16:19:42 2000 Jim Wilson <wilson@cygnus.com> | |
26551 | ||
26552 | * configure.in (ia64*-*-elf*, ia64*-*-linux*): New. | |
26553 | * configure: Regenerate. | |
26554 | * config/ia64: New. | |
26555 | ||
26556 | 2000-03-08 Zack Weinberg <zack@wolery.cumb.org> | |
26557 | ||
26558 | * Makefile.in (LIBCPP_DEPS): New macro. | |
26559 | (cpplib.o, cpphash.o, cpperror.o, cppexp.o, cppfiles.o): Use | |
26560 | it to declare deps. | |
26561 | * cpperror.c: Include cpphash.h. | |
26562 | * cppexp.c: Include cpphash.h. Remove MULTIBYTE_CHARS | |
26563 | dingleberry. | |
26564 | (lex): Don't use CPP_WARN_UNDEF. | |
26565 | (_cpp_parse_expr): Return an int, the truth value. | |
26566 | * cppfiles.c: Include cpphash.h. | |
26567 | (_cpp_merge_include_chains): Move to cppinit.c and make static. | |
26568 | * cppinit.c (include_defaults_array): Disentangle. | |
26569 | (cpp_cleanup): Don't free the if stack here. | |
26570 | (cpp_finish): Pop off all buffers, not just one. | |
26571 | * cpplib.c (eval_if_expr): Return int. | |
26572 | (do_xifdef): Rename do_ifdef. | |
26573 | (handle_directive): Don't use CPP_PREPROCESSED. | |
26574 | (cpp_get_token): Don't use CPP_C89. | |
26575 | * fix-header.c: Don't use CPP_OPTIONS. | |
26576 | ||
26577 | * cpplib.h: Move U_CHAR, enum node_type, struct | |
26578 | file_name_list, struct ihash, is_idchar, is_idstart, | |
26579 | is_numchar, is_numstart, is_hspace, is_space, CPP_BUF_PEEK, | |
26580 | CPP_BUF_GET, CPP_FORWARD, CPP_PUTS, CPP_PUTS_Q, CPP_PUTC, | |
26581 | CPP_PUTC_Q, CPP_NUL_TERMINATE, CPP_NUL_TERMINATE_Q, | |
26582 | CPP_BUMP_BUFFER_LINE, CPP_BUMP_LINE, CPP_PREV_BUFFER, | |
26583 | CPP_PRINT_DEPS, CPP_TRADITIONAL, CPP_PEDANTIC, and prototypes | |
26584 | of _cpp_simplify_pathname, _cpp_find_include_file, | |
26585 | _cpp_read_include_file, and _cpp_parse_expr to cpphash.h. | |
26586 | Move struct if_stack to cpplib.c. Move struct cpp_pending to | |
26587 | cppinit.c. | |
26588 | Change all uses of U_CHAR to be unsigned char instead. | |
26589 | Delete CPP_WARN_UNDEF, CPP_C89, and CPP_PREPROCESSED. | |
26590 | ||
26591 | 2000-03-08 Jason Merrill <jason@casey.cygnus.com> | |
26592 | ||
26593 | * dwarf2out.c (dw_fde_struct): Add 'nothrow'. | |
26594 | (dwarf2out_begin_prologue): Set it. | |
26595 | (output_call_frame_info): Don't emit EH unwind info for leaves. | |
26596 | ||
26597 | * flow.c (count_basic_blocks, find_basic_blocks_1): A rethrow | |
26598 | can occur outside of an EH region. | |
26599 | * except.c: Correct comments about rethrow behavior. | |
26600 | (rethrow_symbol_map): Do nothing if !flag_new_exceptions. | |
26601 | ||
26602 | 2000-03-08 Andrew MacLeod <amacleod@cygnus.com> | |
26603 | ||
26604 | * flow.c (make_edges): Always call make_eh_edge for calls. | |
26605 | ||
26606 | 2000-03-08 Zack Weinberg <zack@wolery.cumb.org> | |
26607 | ||
26608 | * cpplib.h (parse_underflow_t, CPP_NULL_BUFFER): Delete. | |
26609 | (struct cpp_buffer): Remove fname and underflow fields. | |
26610 | (struct cpp_reader): Remove get_token field. | |
26611 | (struct include_hash): Rename to struct ihash. Add typedef to | |
26612 | IHASH. | |
26613 | (struct if_stack): Remove fname field. | |
26614 | (IF_STACK_FRAME): Rename to IF_STACK. | |
26615 | ||
26616 | * cpperror.c (print_containing_files): Trust that there are no | |
26617 | macro buffers below the top file buffer. | |
26618 | * cppfiles.c: Replace all references to 'struct include_hash' | |
26619 | with 'IHASH'. Rename initialize_input_buffer to | |
26620 | init_input_buffer. Don't set or reference cpp_buffer->fname, | |
26621 | use buffer->ihash->name instead. | |
26622 | * cpphash.c (special_symbol): Use cpp_file_buffer. Use NULL | |
26623 | not CPP_NULL_BUFFER. | |
26624 | * cppinit.c: Use NULL not CPP_NULL_BUFFER, IF_STACK not | |
26625 | IF_STACK_FRAME, IHASH not struct include_hash. | |
26626 | * cpplib.c: Rename eval_if_expression to eval_if_expr. Remove | |
26627 | null_underflow. Use IF_STACK not IF_STACK_FRAME, IHASH not | |
26628 | struct include_hash, NULL not CPP_NULL_BUFFER. Remove all | |
26629 | references to cpp_buffer->fname (delete entirely, or use | |
26630 | ->ihash->name instead) and IF_STACK->fname. | |
26631 | (cpp_push_buffer): Don't set new->underflow. | |
26632 | (do_include): Use cpp_file_buffer. | |
26633 | ||
26634 | * cpphash.c (collect_formal_parameters): Remove duplicate | |
26635 | increment of argslen. Pedwarn in C99 mode if __VA_ARGS__ is | |
26636 | used as a macro argument name. Don't append "..." to namebuf | |
26637 | for varargs macros. After we're done scanning, go through | |
26638 | namebuf and make it NUL separated, not comma separated. | |
26639 | (_cpp_compare_defs): Remove register tag from variables. | |
26640 | Expect defn->argnames to be NUL separated. | |
26641 | (_cpp_dump_definition): Expect defn->argnames to be NUL | |
26642 | separated and in forward order. | |
26643 | * cpphash.h: Update documentation of argnames field. | |
26644 | ||
26645 | 2000-03-08 Richard Henderson <rth@cygnus.com> | |
26646 | ||
26647 | * builtins.c (expand_builtin_strlen): Be prepared for strlensi | |
26648 | to fail. Don't pre-expand the source operand. | |
26649 | ||
26650 | * i386.md (strlensi): Initialize eoschar and align before use. | |
26651 | ||
26652 | 2000-03-08 Jason Merrill <jason@casey.cygnus.com> | |
26653 | ||
26654 | * expr.c (expand_expr, case ARRAY_REF): Still check for missing | |
26655 | CONSTRUCTOR element. | |
26656 | ||
26657 | 2000-03-08 Gavin Romig-Koch <gavin@cetus.cygnus.com> | |
26658 | ||
26659 | * mips.c (mips_expand_prologue): If the last | |
26660 | named argument is the vararg marker "va_list", treat it as | |
26661 | an unnamed argument. | |
26662 | ||
26663 | 2000-03-08 Clinton Popetz <cpopetz@cygnus.com> | |
26664 | ||
26665 | * dbxout.c (dbxout_parms): When correcting for promoted | |
26666 | big-endian parameters, use the mode of the DECL_RTL rather | |
26667 | than UNITS_PER_WORD. | |
26668 | ||
26669 | 2000-03-08 Nathan Sidwell <nathan@codesourcery.com> | |
26670 | ||
26671 | * c-common.h (make_fname_decl): Declare. | |
26672 | * c-common.c (make_fname_decl): Define. | |
26673 | (declare_hidden_char_array): Remove. | |
26674 | (declare_function_name): Use make_fname_decl. | |
26675 | * c-decl.c (c_make_fname_decl): New function. | |
26676 | (init_decl_processing): Set make_fname_decl. | |
26677 | ||
26678 | Tue Mar 7 23:50:31 2000 Jeffrey A Law (law@cygnus.com) | |
26679 | ||
26680 | * cccp.c (handle_directive): Initialize backslash_newlines_p. | |
26681 | ||
26682 | 2000-03-07 Philipp Thomas <pthomas@suse.de> | |
26683 | ||
26684 | * po/POTFILES.in: Remove cppalloc.c from file list. | |
26685 | ||
26686 | 2000-03-07 Steve Chamberlain <sac@pobox.com> | |
26687 | ||
26688 | * pj.c (pj_expand_prologue): current_function->args_info is | |
26689 | now current_function_args_info. | |
26690 | ||
26691 | * pj.h (STORE_FLAG_VALUE, USER_LABEL_PREFIX, | |
26692 | LOCAL_LABEL_PREFIX, ASM_GENERATE_INTERNAL_LABEL, | |
26693 | ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Define. | |
26694 | ||
26695 | 2000-03-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
26696 | ||
26697 | * config/c4x/c4x.h (PUT_SDB_TYPE): Define so that the type info is | |
26698 | output as hexadecimal rather than the default octal. | |
26699 | ||
26700 | 2000-03-07 Zack Weinberg <zack@wolery.cumb.org> | |
26701 | ||
26702 | * cpphash.c (special_symbol): Fix thinko in previous commit. | |
26703 | ||
26704 | 2000-03-07 Neil Booth <NeilB@earthling.net> | |
26705 | ||
26706 | * cppexp.c (struct operation, left_shift, right_shift, | |
26707 | cpp_parse_expr): Change some "char"s to "U_CHAR"s, and some | |
26708 | "int"s to "unsigned int"s. | |
26709 | * cpplib.c (detect_if_not_defined, do_assert, do_unassert): | |
26710 | Similarly. | |
26711 | * cpplib.h: Update for above. | |
26712 | * mkdeps.c (deps_init, deps_calc_target): Cast pointers | |
26713 | returned from allocations. | |
26714 | ||
26715 | * cppinit.c (opt_comp, parse_options): New functions. | |
26716 | (handle_option): Use parse_option to parse a single command | |
26717 | line option, that possibly takes an argument. | |
26718 | (cpp_handle_options): Sort the array of command line options on | |
26719 | first invocation (non-ASCII hosts only). | |
26720 | (print_help): Update. | |
26721 | ||
26722 | 2000-03-07 Zack Weinberg <zack@wolery.cumb.org> | |
26723 | ||
26724 | * mkdeps.c (munge): Fix off-by-one bug and inconsistencies in | |
26725 | backslash counting loops. Problem noted by Matt Kraai <kraai@ghs.com>. | |
26726 | ||
26727 | * cppfiles.c (_cpp_find_include_file): Make sure ih->name is | |
26728 | initialized. | |
26729 | * cppinit.c (cpp_cleanup): Free imp->nshort also. | |
26730 | ||
26731 | * cpperror.c (cpp_print_containing_files, | |
26732 | cpp_print_file_and_line, v_cpp_message): Rename to | |
26733 | print_containing_files, print_file_and_line, and v_message. | |
26734 | * cppexp.c (cpp_parse_expr, cpp_parse_escape, cpp_lex): Rename | |
26735 | to _cpp_parse_expr, parse_escape, and lex. | |
26736 | (parse_charconst): Remove broken multibyte support. | |
26737 | * cppfiles.c (include_hash): Make static. | |
26738 | (cpp_included): New function. | |
26739 | (merge_include_chains, find_include_file, finclude, | |
26740 | simplify_pathname): Rename to _cpp_merge_include_chains, | |
26741 | _cpp_find_include_file, _cpp_read_include_file, and | |
26742 | _cpp_simplify_pathname. | |
26743 | * cpphash.c (cpp_lookup, free_definition, delete_macro, | |
26744 | cpp_install, create_definition, macroexpand, compare_defs, | |
26745 | dump_definition): Rename to _cpp_lookup, _cpp_free_definition, | |
26746 | _cpp_delete_macro, _cpp_install, _cpp_create_definition, | |
26747 | _cpp_macroexpand, _cpp_compare_defs, and _cpp_dump_definition. | |
26748 | * cppinit.c (cpp_handle_option): Rename to handle_option, make | |
26749 | static. | |
26750 | * cpplib.c: Remove extern prototype of cpp_parse_expr. | |
26751 | ||
26752 | * cpphash.h: Update prototypes. | |
26753 | * cpplib.h: Likewise. Prototype _cpp_parse_expr here. | |
26754 | ||
26755 | 2000-03-07 Andrew Haley <aph@cygnus.com> | |
26756 | ||
26757 | * config/mips/mips.h (PTRDIFF_TYPE): Revert broken change; | |
26758 | PTRDIFF_TYPE should be based solely on Pmode. | |
26759 | (SIZE_TYPE): ditto. | |
26760 | ||
26761 | 2000-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
26762 | ||
26763 | * rtl.h (rtunion_def): Constify member `rtstr'. | |
26764 | (emit_line_note_after, emit_line_note, emit_line_note_force, | |
26765 | emit_note, decode_asm_operands): Constify. | |
26766 | ||
26767 | * cse.c (canon_hash): Likewise. | |
26768 | ||
26769 | * dbxout.c (dbxout_block): Likewise. | |
26770 | ||
26771 | * diagnostic.c (file_and_line_for_asm, v_error_for_asm, | |
26772 | v_warning_for_asm): Likewise. | |
26773 | ||
26774 | * dwarfout.c (function_start_label): Likewise. | |
26775 | ||
26776 | * emit-rtl.c (emit_line_note_after, emit_line_note, emit_note, | |
26777 | emit_line_note_force): Likewise. | |
26778 | ||
26779 | * final.c (last_filename, asm_insn_count, final_scan_insn, | |
26780 | output_source_line): Likewise. | |
26781 | ||
26782 | * function.h (struct emit_status): Likewise. | |
26783 | ||
26784 | * gcse.c (hash_expr_1): Likewise. | |
26785 | ||
26786 | * genattr.c (gen_attr, main): Likewise. | |
26787 | ||
26788 | * genattrtab.c (struct function_unit, current_alternative_string, | |
26789 | write_attr_valueq, n_comma_elts, next_comma_elt, attr_eq, | |
26790 | attr_numeral, check_attr_test, check_attr_value, | |
26791 | convert_set_attr_alternative, convert_set_attr, | |
26792 | compute_alternative_mask, simplify_by_exploding, gen_attr, | |
26793 | gen_unit): Likewise. | |
26794 | ||
26795 | * genflags.c (gen_insn): Likewise. | |
26796 | ||
26797 | * gengenrtl.c (type_from_format): Likewise. | |
26798 | ||
26799 | * genopinit.c (gen_insn): Likewise. | |
26800 | ||
26801 | * genoutput.c (n_occurrences, process_template, process_template): | |
26802 | Likewise. | |
26803 | ||
26804 | * ggc-page.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size): | |
26805 | Likewise. | |
26806 | ||
26807 | * ggc-simple.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size): | |
26808 | Likewise. | |
26809 | ||
26810 | * ggc.h (ggc_mark_string, ggc_mark, ggc_mark_if_gcable, | |
26811 | ggc_set_mark, ggc_get_size): Likewise. | |
26812 | ||
26813 | * objc/objc-act.c (build_module_descriptor, finish_objc): Likewise. | |
26814 | ||
26815 | * optabs.c (init_one_libfunc): Likewise. | |
26816 | ||
26817 | * output.h (assemble_start_function): Likewise. | |
26818 | ||
26819 | * recog.c (decode_asm_operands): Likewise. | |
26820 | ||
26821 | * toplev.c (rest_of_compilation): Likewise. | |
26822 | ||
26823 | * tree.h (emit_line_note_after, emit_line_note, | |
26824 | emit_line_note_force): Likewise. | |
26825 | ||
26826 | * varasm.c (asm_output_bss, asm_output_aligned_bss, | |
26827 | asm_emit_uninitialised, assemble_start_function, | |
26828 | assemble_variable, const_hash, compare_constant_1, | |
26829 | find_pool_constant, mark_constant_pool, assemble_alias): Likewise. | |
26830 | ||
26831 | * xcoffout.h (DBX_FINISH_SYMBOL): Likewise. | |
26832 | ||
26833 | * alpha/alpha.md (call_vms, call_value_vms): Likewise. | |
26834 | ||
26835 | * arm/aof.h (ASM_OUTPUT_ASCII): Likewise. | |
26836 | ||
26837 | * arm/aout.h (ASM_OUTPUT_ASCII): Likewise. | |
26838 | ||
26839 | * arm/arm-protos.h (output_ascii_pseudo_op, arm_dllexport_name_p, | |
26840 | arm_dllimport_name_p): Likewise. | |
26841 | ||
26842 | * arm/arm.c (arm_encode_call_attribute, output_ascii_pseudo_op): | |
26843 | Likewise. | |
26844 | ||
26845 | * arm/arm.h (ASM_OUTPUT_MI_THUNK): Likewise. | |
26846 | ||
26847 | * arm/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise. | |
26848 | ||
26849 | * arm/pe.c (arm_dllexport_name_p, arm_dllimport_name_p, | |
26850 | arm_mark_dllexport, arm_mark_dllimport, | |
26851 | arm_pe_encode_section_info): Likewise. | |
26852 | ||
26853 | * arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS, | |
26854 | ASM_FINISH_DECLARE_OBJECT): Likewise. | |
26855 | ||
26856 | * arm/thumb.c (thumb_function_prologue): Likewise. | |
26857 | ||
26858 | * arm/thumb.h (ASM_OUTPUT_ASCII): Likewise. | |
26859 | ||
26860 | * avr/avr.h (ASM_FINISH_DECLARE_OBJECT): Likewise. | |
26861 | ||
26862 | * clipper/clix.h (ASM_OUTPUT_ASCII): Likewise. | |
26863 | ||
26864 | * fx80/fx80.h (ASM_OUTPUT_ASCII): Likewise. | |
26865 | ||
26866 | * i386/cygwin.h (ASM_OUTPUT_SECTION_NAME): Likewise. | |
26867 | ||
26868 | * i386/freebsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise. | |
26869 | ||
26870 | * i386/i386-interix.h (ASM_OUTPUT_LIMITED_STRING, | |
26871 | ASM_OUTPUT_ASCII, ASM_OUTPUT_SECTION_NAME): Likewise. | |
26872 | ||
26873 | * i386/i386-protos.h (asm_output_function_prefix): Likewise. | |
26874 | ||
26875 | * i386/i386.c (asm_output_function_prefix): Likewise. | |
26876 | ||
26877 | * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise. | |
26878 | ||
26879 | * i386/osfrose.h (ASM_FINISH_DECLARE_OBJECT): Likewise. | |
26880 | ||
26881 | * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise. | |
26882 | ||
26883 | * i386/sco5.h (ASM_FINISH_DECLARE_OBJECT, | |
26884 | ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII, | |
26885 | ASM_OUTPUT_SECTION_NAME): Likewise. | |
26886 | ||
26887 | * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise. | |
26888 | ||
26889 | * i860/paragon.h (ASM_OUTPUT_ASCII): Likewise. | |
26890 | ||
26891 | * i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise. | |
26892 | ||
26893 | * m32r/m32r.c (m32r_encode_section_info): Likewise. | |
26894 | ||
26895 | * mcore-elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise. | |
26896 | ||
26897 | * mcore/mcore.c (mcore_encode_section_info): Likewise. | |
26898 | ||
26899 | * mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise. | |
26900 | ||
26901 | * mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Likewise. | |
26902 | ||
26903 | * mips/iris6.h (ASM_FINISH_DECLARE_OBJECT): Likewise. | |
26904 | ||
26905 | * mips/mips.h (ASM_OUTPUT_IDENT): Likewise. | |
26906 | ||
26907 | * mips/mips.md (movdi, movsi): Likewise. | |
26908 | ||
26909 | * mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise. | |
26910 | ||
26911 | * netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise. | |
26912 | ||
26913 | * openbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise. | |
26914 | ||
26915 | * ptx4.h (ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING, | |
26916 | ASM_OUTPUT_ASCII): Likewise. | |
26917 | ||
26918 | * rs6000/rs6000.c (rs6000_allocate_stack_space, output_epilog, | |
26919 | output_mi_thunk, output_toc): Likewise. | |
26920 | ||
26921 | * rs6000/rs6000.md (movsi): Likewise. | |
26922 | ||
26923 | * rs6000/sysv4.h (ASM_OUTPUT_INT, ASM_OUTPUT_SECTION_NAME): Likewise. | |
26924 | ||
26925 | * tahoe/harris.h (ASM_OUTPUT_ASCII): Likewise. | |
26926 | ||
26927 | * v850/v850.c (print_operand, print_operand_address, | |
26928 | v850_encode_data_area): Likewise. | |
26929 | ||
26930 | 2000-03-07 Clinton Popetz <cpopetz@cygnus.com> | |
26931 | ||
26932 | * config/mips/mips.md (zero_extendsidi2): Always force operand | |
26933 | one to memory for mips16. | |
26934 | ||
26935 | Mon Mar 6 15:22:29 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
26936 | ||
26937 | * tree.h (INT_CST_LT, INT_CST_LT_UNSIGNED): Remove unneeded casts. | |
26938 | (struct tree_int_cst): int_cst_low is now unsigned HOST_WIDE_INT. | |
26939 | (attribute_hash_list, type_hash_canon): hashcode is now unsigned. | |
26940 | (type_hash_lookup, type_hash_add, type_hash_list): Likewise. | |
26941 | (min_precision): Result is unsigned. | |
26942 | (add_double, neg_double, mul_double): Low word is unsigned. | |
26943 | (lshift_double, rshift_double, lrotate_double): Likewise. | |
26944 | (rrotate_double, div_and_round_double): Likewise. | |
26945 | (tree_floor_log2, compare_tree_int): New functions. | |
26946 | (preserve_rtl_expr_temps): New declaration. | |
26947 | * c-common.c (declare_hidden_char_array): Use compare_tree_int. | |
26948 | (decl_attributes): Use tree_log2 to find alignment. | |
26949 | Check for TREE_INT_CST_HIGH for format args. | |
26950 | (min_precision): Now unsigned. | |
26951 | Use tree_floor_log2. | |
26952 | (truthvalue_conversion): Delete long-disabled code. | |
26953 | * c-decl.c (finish_struct): Clean up tests on field width. | |
26954 | (finish_function): Use compare_tree_int. | |
26955 | * c-pragma.c (handle_pragma_token): Use tree_log2 for alignment. | |
26956 | * c-typeck.c (comptypes): Use tree_int_cst_equal. | |
26957 | (default_conversion, digest_init): Use compare_tree_int. | |
26958 | (build_binary_op): Use integer_all_onesp and compare_tree_int. | |
26959 | Fix type errors in forming masks. | |
26960 | * calls.c (initialize_argument_information): Use compare_tree_int. | |
26961 | * dbxout.c (dbxout_type): Cast TREE_INT_CST_LOW to HOST_WIDE_INT. | |
26962 | * except.c (expand_eh_region_start_tree): Use compare_tree_int. | |
26963 | * expr.c (is_zeros_p, case INTEGER_CST): Use integer_zerop. | |
26964 | (store_field): Use compare_tree_int. | |
26965 | (expand_expr, case CONSTRUCTOR): Use TYPE_SIZE_UNIT. | |
26966 | (expand_expr, case ARRAY_REF): Use compare_tree_int. | |
26967 | (do_jump, case BIT_AND_EXPR): Use tree_floor_log2. | |
26968 | (do_store_flag): Use compare_tree_int. | |
26969 | * fold-const.c (encode, decode): Low part is always unsigned. | |
26970 | (force_fit_type, add_double, neg_double, mul_double): Likewise. | |
26971 | (lshift_double, rshift_double, lrotate_double): Likewise. | |
26972 | (rrotate_double, div_and_round_double, int_const_binop): Likewise. | |
26973 | (fold_convert): Use compare_tree_int. | |
26974 | (operand_equal_p, case INTEGER_CST): Use tree_int_cst_equal. | |
26975 | (invert_truthvalue, case INTEGER_CST): Likewise. | |
26976 | (fold): Use compare_tree_int; add casts for unsigned TREE_INT_CST_LOW. | |
26977 | * mkdeps.c (deps_dummy_targets): Make I unsigned. | |
26978 | * rtl.h (add_double, neg_double, mul_double): Low words are unsigned. | |
26979 | (lshift_double, rshift_double, lrotate_double, rrotate_double): | |
26980 | Likewise. | |
26981 | * stmt.c (expand_decl): Use compare_tree_int and mode_for_size_tree. | |
26982 | (expand_end_case): Use compare_tree_int. | |
26983 | (estimate_case_costs): Cast TREE_INT_CST_LOW to HOST_WIDE_INT. | |
26984 | * stor-layout.c (mode_for_size_tree): Use compare_tree_int. | |
26985 | (layout_decl): Likewise. | |
26986 | (layout_record, layout_union): Make sizes unsigned. | |
26987 | (layout_type, case VOID_TYPE): TYPE_SIZE must be bitsizetype. | |
26988 | (layout_type, case QUAL_UNION_TYPE): Use compare_tree_int. | |
26989 | * tree.c (struct type_hash): hashcode is unsigned. | |
26990 | (build_type_attribute_variant, type_hash_list): Likewise. | |
26991 | (type_hash_lookup, type_hash_add, type_hash_canon): Likewise. | |
26992 | (attribute_hash_list, build_array_type, build_method_type): Likewise. | |
26993 | (build_complex_type): Likewise. | |
26994 | (real_value_from_int_cst): Remove unneeded casts. | |
26995 | (integer_all_onesp): Add casts. | |
26996 | (tree_floor_log2, compare_tree_int): New functions. | |
26997 | (build_index_type): Use tree_int_cst_sgn. | |
26998 | * varasm.c (assemble_variable): Use compare_tree_int. | |
26999 | ||
27000 | 2000-03-06 Jason Merrill <jason@casey.cygnus.com> | |
27001 | ||
27002 | * cpphash.c (collect_expansion): Also catch ## at start of macro. | |
27003 | ||
27004 | * varasm.c (make_decl_rtl): Don't add a number to members of | |
27005 | local classes. | |
27006 | (make_function_rtl): Likewise. | |
27007 | ||
27008 | 2000-03-06 Alexandre Oliva <oliva@lsd.ic.unicamp.br> | |
27009 | ||
27010 | * gcse.c (compute_can_copy): Adjust if/else blocks from rth's | |
27011 | patch from 2000-01-28. | |
27012 | ||
27013 | 2000-03-06 Clinton Popetz <cpopetz@cygnus.com> | |
27014 | ||
27015 | * config/sh/sh.c: (barrier_align): Handle a delay slot that is | |
27016 | filled with an insn from the jump target. | |
27017 | ||
27018 | 2000-03-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
27019 | ||
27020 | * config/c4x/c4x-protos.h (c4x_global_name): Constify char *. | |
27021 | (c4x_external_ref): Likewise. | |
27022 | * config/c4x/c4x.c (struct name_list): Likewise. | |
27023 | ||
27024 | 1999-12-16 Ben Collins <bcollins@debian.org> | |
27025 | ||
27026 | * Makefile.in: Pass a new MULTILIB_EXCLUSIONS option as the sixth | |
27027 | argument to genmultilib. | |
27028 | * genmultilib: accept new MULTILIB_EXCLUSIONS option and output | |
27029 | the contents into the multilib.h header. | |
27030 | * gcc.c: Declare multilib_exclusions for the specs file. | |
27031 | (set_multilib_dir): Use it. | |
27032 | (print_multilib_info): Likewise. | |
27033 | * t-linux64: Declare arguments for new MULTILIB_EXCLUSIONS option | |
27034 | to pass to genmultilib. | |
27035 | ||
27036 | 2000-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
27037 | ||
27038 | * builtins.c (built_in_class_names, built_in_names): Constify a | |
27039 | char*. | |
27040 | ||
27041 | * gmon-sol2.c (monstartup, moncontrol): Cast ptrs to long, not | |
27042 | int. | |
27043 | (_mcleanup): Ensure value matches format specifier in sprintf. | |
27044 | ||
27045 | * cpphash.c (special_symbol): Don't needlessly cast away | |
27046 | const-ness. | |
27047 | ||
27048 | * cppinit.c (base_name): Delete unused prototype. | |
27049 | ||
27050 | * mkdeps.c (deps_init): Make definition K&R safe. | |
27051 | ||
27052 | * tree.h (built_in_class_names, built_in_names): Constify a | |
27053 | char*. | |
27054 | ||
27055 | 2000-03-06 Jakub Jelinek <jakub@redhat.com> | |
27056 | ||
27057 | * config/sparc/sparc.c (eligible_for_epilogue_delay): Accept | |
27058 | floating point instructions for epilogue delay. | |
27059 | ||
27060 | * config/sparc/sparc.h (ASM_ARCH64_SPEC): Pass -no-undeclared-regs | |
27061 | to gas if it supports .register pseudo. | |
27062 | ||
27063 | * real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Define to | |
27064 | LONG_DOUBLE_TYPE_SIZE if not defined. | |
27065 | Use MAX_LONG_DOUBLE_TYPE_SIZE instead of | |
27066 | LONG_DOUBLE_TYPE_SIZE in preprocessor if clauses. | |
27067 | * real.c: Likewise. | |
27068 | * gengenrtl.c: Likewise. | |
27069 | * print-rtl.c: Likewise. | |
27070 | * rtl.c: Likewise. | |
27071 | * config/sparc/sol2-sld-64.h (TARGET_DEFAULT): Set | |
27072 | MASK_LONG_DOUBLE_128. | |
27073 | * config/sparc/sol2.h (TARGET_DEFAULT): Likewise. | |
27074 | * config/sparc/sp64-elf.h (TARGET_DEFAULT): Likewise. | |
27075 | * config/sparc/linux64 (TARGET_DEFAULT): Likewise. | |
27076 | (SUBTARGET_SWITCHES): Define. | |
27077 | (CPP_ARCH32_SPEC): Define __LONG_DOUBLE_128__ if compiling | |
27078 | with -mlong-double-128. | |
27079 | (LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags. | |
27080 | (MAX_LONG_DOUBLE_TYPE_SIZE): Define. | |
27081 | (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros. | |
27082 | (CC1_SPEC): Include -mlong-double-{64,128} as needed. | |
27083 | * config/sparc/linux.h (SUBTARGET_SWITCHES): Define. | |
27084 | (CPP_SUBTARGET_SPEC): Define __LONG_DOUBLE_128__ if compiling | |
27085 | with -mlong-double-128. | |
27086 | (LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags. | |
27087 | (MAX_LONG_DOUBLE_TYPE_SIZE): Define. | |
27088 | (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros. | |
27089 | * config/sparc/sparc.h (MASK_LONG_DOUBLE_128, | |
27090 | TARGET_LONG_DOUBLE_128): Define. | |
27091 | * config/sparc/linux-aout.h (LONG_DOUBLE_TYPE_SIZE): Remove. | |
27092 | * config/sparc/sparc.c (sparc_override_options): Disallow 64bit | |
27093 | long double on TARGET_ARCH64. | |
27094 | ||
27095 | 2000-03-06 Mark Mitchell <mark@codesourcery.com> | |
27096 | ||
27097 | * function.c (free_temps_for_rtl_expr): Don't free slots | |
27098 | that have been pushed into a higher level. | |
27099 | ||
27100 | Revert this patch: | |
27101 | 2000-03-05 Mark Mitchell <mark@codesourcery.com> | |
27102 | ||
27103 | 2000-03-05 Mark Mitchell <mark@codesourcery.com> | |
27104 | ||
27105 | * basic-block.h (ALLOCA_REG_SET): Remove. | |
27106 | (INITIALIZE_REG_SET): New macro. | |
27107 | * flow.c (update_life_info): Use it. | |
27108 | (calculate_global_regs_live): Likewise. | |
27109 | (propagate_block): Likewise. | |
27110 | * global.c (build_insn_chain): Likewise. | |
27111 | * haifa-sched.c (schedule_region): Likewise. | |
27112 | ||
27113 | 2000-03-05 Stephane Carrez <stcarrez@worldnet.fr> | |
27114 | ||
27115 | * dwarf2out.c (UNALIGNED_WORD_ASM_OP): Support 2 bytes pointer. | |
27116 | (ASM_OUTPUT_DWARF_ADDR_CONST): Use UNALIGNED_WORD_ASM_OP. | |
27117 | (DWARF_ARANGES_PAD_SIZE): New define. | |
27118 | (output_aranges): Use it to pad the address range header. | |
27119 | (DWARF_ROUND): Fix for non power of 2 rounding. | |
27120 | ||
27121 | 2000-03-05 Jason Merrill <jason@casey.cygnus.com> | |
27122 | ||
27123 | * mkdeps.c (deps_calc_target): Remove incorrect 'const'. | |
27124 | ||
27125 | 2000-03-05 Mark Mitchell <mark@codesourcery.com> | |
27126 | ||
27127 | * tree.def (RTL_EXPR): Update documentation. | |
27128 | * tree.h (RTL_EXPR_HAS_NO_SCOPE): New macro. | |
27129 | * expr.c (expand_expr): Handle RTL_EXPR_HAS_NO_SCOPE. | |
27130 | * function.c (preserve_rtl_expr_temp): New function. | |
27131 | (preserve_rtl_expr_temps): Likewise. | |
27132 | (preserve_rtl_expr_result): Use it. | |
27133 | ||
27134 | Revert this patch: | |
27135 | 2000-03-04 Mark Mitchell <mark@codesourcery.com> | |
27136 | ||
27137 | 2000-03-04 Thomas Schuster <Thomas.Schuster@gmx.net> | |
27138 | ||
27139 | * regmove.c (copy_src_to_dest) Do not create src->dest move | |
27140 | for unchanging destination. | |
27141 | ||
27142 | 2000-03-04 Mark Mitchell <mark@codesourcery.com> | |
27143 | ||
27144 | * function.h (struct sequence_stack): Remove rtl_expr. | |
27145 | (struct emit_staus): Likewise. | |
27146 | (seq_rtl_expr): Remove. | |
27147 | * tree.h (free_temps_for_rtl_expr): Don't declare. | |
27148 | (start_sequence_for_rtl_expr): Likewise. | |
27149 | * rtl.h (preserve_rtl_expr_result): Likewise. | |
27150 | * emit-rtl.c (start_sequence): Don't set sequence_rtl_expr. | |
27151 | (start_sequence_for_rtl_expr): Remove. | |
27152 | (push_topmost_sequence): Don't save sequence_rtl_expr. | |
27153 | (pop_topmost_sequence): Remove comment about not restoring it. | |
27154 | (end_sequence): Don't set seq_rtl_expr. | |
27155 | (init_emit): Don't initialize it. | |
27156 | (mark_sequence_stack): Don't mark it. | |
27157 | (mark_emit_status): Likewise. | |
27158 | * except.c (protect_with_terminate): Use | |
27159 | start_sequence_for_rtl_expr, not start_sequence. | |
27160 | * expr.c (expand_expr, case RTL_EXPR): Don't call | |
27161 | preserve_rtl_expr_result or free_temps_for_rtl_expr. | |
27162 | * function.c (assign_stack_temp_for_type): Don't set rtl_expr. | |
27163 | (preserve_rtl_expr_result): Remove. | |
27164 | (free_temps_for_rtl_expr): Likewise. | |
27165 | (pop_temp_slots): Likewise. | |
27166 | (mark_temp_slot): Don't mark the rtl_expr. | |
27167 | * stmt.c (expand_start_stmt_expr): Use start_sequence, not | |
27168 | start_sequence_for_rtl_expr. | |
27169 | ||
27170 | 2000-03-04 Zack Weinberg <zack@wolery.cumb.org> | |
27171 | ||
27172 | * mkdeps.c, mkdeps.h: New files. | |
27173 | * po/POTFILES.in: Add them. | |
27174 | * Makefile.in (LIBCPP_OBJS): Add mkdeps.o. | |
27175 | (cpplib.o, cppinit.o): Depend on mkdeps.h. | |
27176 | (mkdeps.o): New target. | |
27177 | ||
27178 | * cppfiles.c: Delete deps_output. | |
27179 | * cppinit.c: Include mkdeps.h. Delete known_suffixes, | |
27180 | OBJECT_SUFFIX, and base_name. | |
27181 | (cpp_cleanup): Use deps_free. Free ihash->name when clearing | |
27182 | the include hash. | |
27183 | (initialize_dependency_output): Use deps_init, | |
27184 | deps_add_target, deps_calc_target, and deps_add_dep. Remove | |
27185 | all the unnecessary string bashing. | |
27186 | (cpp_finish): Use deps_write. Remove an unnecessary nesting | |
27187 | level. | |
27188 | * cpplib.c (do_include): Use deps_add_dep. | |
27189 | * cpplib.h (struct cpp_reader): Replace deps_buffer, | |
27190 | deps_allocated_size, deps_size, deps_column members with | |
27191 | single pointer to a struct deps. Delete prototype of | |
27192 | deps_output. | |
27193 | ||
27194 | * cppinit.c: Fix thinko in previous patch. | |
27195 | ||
27196 | Sat Mar 4 11:32:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
27197 | ||
27198 | * machmode.h (mode_for_size, smallest_mode_for_size): SIZE now signed. | |
27199 | * stor-layout.c (mode_for_size, smallest_mode_for_size): Likewise. | |
27200 | (mode_for_size_tree): New function. | |
27201 | (layout_decl, layout_type): Call it and clean up BLKmode checks. | |
27202 | * tree.h (mode_for_size_tree): New declaration. | |
27203 | ||
27204 | * toplev.c (debug_ignore_block): Mark arg BLOCK as possibly unused. | |
27205 | ||
27206 | 2000-03-04 Jason Merrill <jason@casey.cygnus.com> | |
27207 | ||
27208 | * stmt.c (is_body_block): Move... | |
27209 | * dwarfout.c, dwarf2out.c: ...from here. | |
27210 | * tree.h: Declare it. | |
a1f300c0 | 27211 | * emit-rtl.c (remove_unnecessary_notes): Don't remove the body block. |
c30d43bf JL |
27212 | * final.c (final_start_function): Do call remove_unnecessary_notes |
27213 | when scheduling. | |
27214 | ||
27215 | 2000-03-03 Zack Weinberg <zack@wolery.cumb.org> | |
27216 | ||
27217 | * config/vax/xm-vms.h: Define OBJECT_SUFFIX and EXECUTABLE_SUFFIX. | |
27218 | ||
27219 | * cpplib.h (_dollar_ok): New macro. | |
27220 | (is_idchar, is_idstart): Use it. | |
27221 | (IStable): Rename to _cpp_IStable. Declare it const if | |
27222 | gcc >=2.7 or C99. Delete all references to FAKE_CONST. | |
27223 | (is_idchar, is_idstart, is_numchar, is_numstart, is_hspace, | |
27224 | is_space): Update for renamed IStable. | |
27225 | ||
27226 | * cppinit.c: Delete all references to FAKE_CONST and CAT | |
27227 | macros. Define init_IStable as empty macro if gcc >=2.7 or | |
27228 | C99. Change TABLE() to ISTABLE and hardcode name of table. | |
27229 | (cpp_start_read): Don't change the IStable based on | |
27230 | dollars_in_ident. | |
27231 | ||
27232 | * cpphash.c (unsafe_chars): Add pfile argument. All callers | |
27233 | changed. Handle '$' for char1 correctly. | |
27234 | * cpplib.c (cpp_get_token): Use is_numchar when parsing numbers. | |
27235 | ||
27236 | * cppexp.c (tokentab2): Make const. | |
27237 | (cpp_lex): Make toktab const. | |
27238 | * cppinit.c (include_defaults_array): Make const. | |
27239 | (initialize_standard_includes): Make default_include const. | |
27240 | ||
27241 | 2000-03-03 Jason Merrill <jason@casey.cygnus.com> | |
27242 | ||
27243 | * dwarf2out.c (dwarf2out_frame_debug): Add cast to silence warning. | |
27244 | (dwarf2out_decl): Functions can now have DECL_IGNORED_P. | |
27245 | (gen_decl_die): Likewise. | |
27246 | * dwarfout.c (dwarfout_file_scope_decl): Likewise. | |
27247 | (output_decl): Likewise. | |
27248 | ||
27249 | * varasm.c (make_function_rtl): If we change the name used in the | |
27250 | rtl, update DECL_ASSEMBLER_NAME accordingly. | |
27251 | (make_decl_rtl): Likewise. | |
27252 | ||
27253 | * toplev.c (rest_of_compilation): Tweak formatting. | |
27254 | ||
27255 | * toplev.c (rest_of_compilation): find_loop_tree_blocks before | |
27256 | remove_unnecessary_notes. | |
27257 | (debug_ignore_block): New fn. | |
27258 | * toplev.h: Declare it. | |
a1f300c0 | 27259 | * emit-rtl.c (remove_unnecessary_notes): Call it. |
c30d43bf JL |
27260 | * dwarf2out.c (dwarf2out_ignore_block): New fn. |
27261 | * dwarf2out.h: Declare it. | |
27262 | * final.c (final_start_function): Don't call remove_unnecessary_notes | |
27263 | if we did insn scheduling. | |
27264 | ||
27265 | 2000-03-03 Zack Weinberg <zack@wolery.cumb.org> | |
27266 | ||
27267 | * cppinit.c (cpp_handle_option): Set opts->pedantic directly. | |
27268 | * cpplib.h: Delete SET_CPP_PEDANTIC. | |
27269 | ||
27270 | Fri Mar 3 14:56:12 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
27271 | ||
27272 | * expr.c (expand_expr, case COMPONENT_REF): Use bitfield case if | |
27273 | result is a RECORD_TYPE. | |
27274 | ||
27275 | 2000-03-03 Jonathan Larmour <jlarmour@cygnus.co.uk> | |
27276 | ||
27277 | * mips/elf.h (CTOR_LISTS_DEFINED_EXTERNALLY): Added. | |
27278 | ||
27279 | 2000-03-03 Richard Henderson <rth@cygnus.com> | |
27280 | ||
27281 | * alpha.c (alpha_emit_set_const_1): Re-order cases to prefer | |
27282 | addition over compliments over shifts. | |
27283 | ||
27284 | Fri Mar 3 12:49:28 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
27285 | ||
27286 | * reload1.c (reload_combine_note_use): Handle return register USEs. | |
27287 | REG case: Handle multi-hard-register hard regs. | |
27288 | ||
27289 | Fri Mar 3 07:38:34 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
27290 | ||
27291 | * md.texi: Document use of '*' in insn pattern name. | |
27292 | ||
27293 | 2000-03-03 Jason Merrill <jason@casey.cygnus.com> | |
27294 | ||
27295 | * calls.c (special_function_p): operator new may not be malloc-like. | |
27296 | ||
27297 | * gcse.c (dump_hash_table): Really fix error in last change. | |
27298 | ||
27299 | 2000-03-02 Denis Chertykov <denisc@overta.ru> | |
27300 | ||
27301 | * avr.c (print_operand): Use print_operand_address instead of | |
27302 | output_addr_const. | |
27303 | * avr/libgcc.S: Cleanup code. | |
27304 | ||
27305 | 2000-03-02 Richard Henderson <rth@cygnus.com> | |
27306 | ||
27307 | * alpha.c (alpha_emit_set_const_1): Also try c + small constant. | |
27308 | ||
27309 | 2000-03-02 Mark Mitchell <mark@codesourcery.com> | |
27310 | ||
27311 | * tree.h (TYPE_ALIGN_UNIT): New macro. | |
27312 | ||
27313 | 2000-03-02 Clinton Popetz <cpopetz@cygnus.com> | |
27314 | ||
27315 | * i386.c: (constant_call_address_operand): Reject CONST_INT. | |
27316 | ||
27317 | 2000-03-02 Jason Merrill <jason@casey.cygnus.com> | |
27318 | ||
27319 | * cpplib.h (CPP_PEDANTIC): Only true if system_header_p is not set | |
27320 | for the buffer. | |
27321 | (SET_CPP_PEDANTIC): New macro. | |
27322 | * cpplib.c (do_include): Don't bother checking system_header_p. | |
27323 | (do_warning, do_ident, do_assert, do_unassert): Likewise. | |
27324 | * cppinit.c (cpp_handle_option): Use SET_CPP_PEDANTIC. | |
27325 | ||
27326 | * function.h (struct expr_status): Add x_arg_space_so_far. | |
27327 | (arg_space_so_far): New macro. | |
27328 | * expr.c (init_expr): Initialize it. | |
27329 | * calls.c (emit_call_1): Reset it. | |
27330 | (compute_argument_block_size, expand_call): Use it. | |
27331 | (expand_call, store_one_arg): Increment it. | |
27332 | ||
27333 | Thu Mar 2 17:27:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
27334 | ||
27335 | * varasm.c (output_constant): Strip off a CONVERT_EXPR to | |
27336 | a UNION_TYPE. | |
27337 | ||
27338 | 2000-03-02 Zack Weinberg <zack@wolery.cumb.org> | |
27339 | ||
27340 | * cppfiles.c (cpp_read_file): New function. | |
27341 | ||
27342 | * cpphash.c (collect_expansion): Make sure to reset last_token | |
27343 | to NORM when we hit a string. Handle trailing whitespace | |
27344 | properly when the expansion is empty. | |
27345 | (create_definition): Disable line commands while parsing the | |
27346 | directive line. | |
27347 | (dump_definition): If pfile->lineno == 0, output a line | |
27348 | command ahead of the dump, and add a trailing newline. | |
27349 | ||
27350 | * cppinit.c (append_include_chain): Add fifth argument, which | |
27351 | indicates whether or not system headers are C++ aware. | |
27352 | (initialize_standard_includes): New function, | |
27353 | broken out of read_and_prescan. Pass 'cxx_aware' value from | |
27354 | the include_defaults_array on to append_include_chain. | |
27355 | (dump_special_to_buffer): Const-ify char array. | |
27356 | (builtin_array): Don't dump __BASE_FILE__. | |
27357 | (cpp_start_read): Use cpp_read_file. Reorder code for | |
27358 | clarity. Don't output line commands here for -D/-A/-U | |
27359 | switches. Don't call deps_output for files included with | |
27360 | -include or -imacros. | |
27361 | ||
27362 | * cpplib.c (do_define): Don't pay any attention to the second | |
27363 | argument. | |
27364 | (cpp_expand_to_buffer): Disable line commands while scanning. | |
27365 | (output_line_command): Work in the file buffer. | |
27366 | * cpplib.h: Remove no_record_file flag from struct cpp_reader. | |
27367 | Fix formatting of comments. Prototype cpp_read_file. | |
27368 | ||
27369 | Thu Mar 2 13:29:46 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
27370 | ||
27371 | * c-common.c (c_common_nodes_and_builtins): Make sizetype_endlink | |
27372 | reference the language-equivalent of sizetype. | |
27373 | * c-typeck.c (comptypes): Treat sizetype like its language equivalent. | |
27374 | * fold-const.c (size_binop, size_diffop): Put back checks. | |
27375 | * gcse.c (dump_hash_table): Fix minor error in last change. | |
27376 | * stor-layout.c (set_sizetype): Set TYPE_DOMAIN of sizetype. | |
27377 | Clear TYPE_{NEXT,MAIN}_VARIANT and TYPE_{POINTER,REFERENCE}_to of | |
27378 | all sizetypes. | |
27379 | ||
27380 | Thu Mar 2 12:48:45 MET 2000 Jan Hubicka <jh@suse.cz> | |
27381 | ||
27382 | * calls.c (expand_call) Do not attempt to combine stack adjustments | |
27383 | with inhibit_defer_pop set. | |
27384 | ||
27385 | 2000-03-01 Mark Mitchell <mark@codesourcery.com> | |
27386 | ||
27387 | * stor-layout.c (layout_decl): Allow front-ends to explicitly set | |
27388 | the DECL_SIZE for a FIELD_DECL. | |
27389 | ||
27390 | 2000-03-01 Bruce Korb <bkorb@gnu.org> | |
27391 | ||
27392 | * fixinc/inclhack.tpl: remove unused symlinks | |
27393 | * fixinc/README: GCC Maintainer info | |
27394 | * fixinc/inclhack.sh: regen | |
27395 | * fixinc/fixincl.sh: regen | |
27396 | ||
27397 | 2000-03-01 Zack Weinberg <zack@wolery.cumb.org> | |
27398 | ||
27399 | * cpphash.c (collect_expansion): Trim trailing white space | |
27400 | from macro definitions, but don't go past the last insertion | |
27401 | point. | |
27402 | ||
27403 | Wed Mar 1 12:14:31 MET 2000 Jan Hubicka <jh@suse.cz> | |
27404 | ||
27405 | * i386.md (mulqi3): New pattern. | |
27406 | ||
27407 | 2000-02-29 Zack Weinberg <zack@wolery.cumb.org> | |
27408 | ||
27409 | * cpplib.h (CPP_ASSERTION, CPP_STRINGIZE, CPP_TOKPASTE): New | |
27410 | token types. | |
27411 | (struct cpp_reader): Add parsing_if_directive and | |
27412 | parsing_define_directive flags. | |
27413 | (struct cpp_options): Remove output_conditionals flag. | |
27414 | (check_macro_name): Delete prototype. | |
27415 | ||
27416 | * cpphash.h (struct macrodef): Delete. | |
27417 | (struct reflist): Separate from struct definition. | |
27418 | (struct definition): Remove unused fields. Add column number. | |
27419 | (create_definition): Returns a DEFINITION *. Takes a | |
27420 | cpp_reader * and an int. | |
27421 | ||
27422 | * cpphash.c (SKIP_WHITE_SPACE): Delete. | |
27423 | (PEEKC): Copy defn from cpplib.c. | |
27424 | (rest_extension, REST_EXTENSION_LENGTH): Delete. | |
27425 | (struct arg): New. | |
27426 | (struct arglist): Simplify. | |
27427 | (collect_expansion): Rewrite. Get tokens by calling | |
27428 | cpp_get_token. Add more error checking. | |
27429 | (collect_formal_parameters): New function, broken out of | |
27430 | create_definition and reworked to use get_directive_token. | |
27431 | (create_definition): All real work is now in collect_expansion | |
27432 | and collect_formal_parameters. do_define handles finding the | |
27433 | macro name. Return a DEFINITION, not a MACRODEF. | |
27434 | (macroexpand): Replace bcopy with memcpy throughout. Replace | |
27435 | character-at-a-time copy loop with memcpy and pointer increments. | |
27436 | (compare-defs): d1->argnames / d2->argnames might be null. | |
27437 | ||
27438 | * cpplib.c (copy_rest_of_line): Delete function. | |
27439 | (skip_rest_of_line): Do all the work ourselves. | |
27440 | (skip_string): New function. | |
27441 | (parse_string): Use skip_string. | |
27442 | (get_macro_name): New function. | |
27443 | (check_macro_name): Delete. | |
27444 | (copy_comment): Use CPP_RESERVE and CPP_PUTC_Q. | |
27445 | (cpp_skip_hspace): Use CPP_BUMP_LINE. | |
27446 | (handle_directive): ICE if we're called on a macro buffer. | |
27447 | (do_define): Determine macro name and type (funlike/objlike) | |
27448 | here. Expunge all uses of MACRODEF. | |
27449 | (cpp_push_buffer): Set line_base to NULL. | |
27450 | (do_undef, read_line_number): Don't worry about getting a POP token. | |
27451 | (eval_if_expression): Set/reset parsing_if_directive around | |
27452 | cpp_parse_expr. Don't clear only_seen_white. | |
27453 | (skip_if_group): Remove output_conditionals logic. Use | |
27454 | skip_rest_of_line. | |
27455 | (cpp_get_token): Return ASSERTION, STRINGIZE, and TOKPASTE | |
27456 | tokens under appropriate conditions. | |
27457 | (cpp_unassert): Call do_unassert not do_assert. Oops. | |
27458 | ||
27459 | * cppexp.c (parse_defined): New function, break out of | |
27460 | cpp_lex. | |
27461 | (cpp_lex): We now get CPP_ASSERTION tokens and can check them | |
27462 | ourselves, with cpp_defined. | |
27463 | * cppinit.c (cpp_handle_option, print_help): Delete -ifoutput. | |
27464 | ||
27465 | * gcc.dg/20000209-2.c: Turn off -pedantic-errors. | |
27466 | * gcc.dg/strpaste-2.c: New. | |
27467 | ||
27468 | 2000-02-29 Mark Mitchell <mark@codesourcery.com> | |
27469 | ||
27470 | * fold-const.c (size_binop): Don't asert inputs are the same and | |
27471 | have TYPE_IS_SIZETYPE set. | |
27472 | (size_diffop): Likewise. | |
27473 | ||
27474 | 2000-02-29 Jason Merrill <jason@casey.cygnus.com> | |
27475 | ||
27476 | * dwarfout.c (output_block): Output abstract blocks even if they | |
27477 | don't have TREE_ASM_WRITTEN set. | |
27478 | ||
27479 | * calls.c (emit_library_call): Check for null REG. | |
27480 | ||
719bb4e3 | 27481 | 2000-03-01 Martin von Löwis <loewis@informatik.hu-berlin.de> |
c30d43bf JL |
27482 | |
27483 | * c-decl.c (current_function_decl): Move to toplev.c. | |
27484 | (init_decl_processing): Don't add current_function_decl as a ggc | |
27485 | root here. | |
27486 | * dbxout.c (dbxout_symbol): Change return type to int. | |
27487 | (dbxout_symbol_location, dbxout_syms): Likewise. | |
27488 | (dbxout_block): Don't emit LBRAC/RBRAC pairs for blocks without | |
27489 | any locals. Use current_function_func_begin_label if set. | |
27490 | * dbxout.h (dbxout_symbol, dbxout_syms): Change return type. | |
27491 | * dwarf2out.c (dwarf2out_begin_prologue): Set | |
27492 | current_function_func_begin_label. | |
27493 | * final.c (final_start_function): Reset it. | |
27494 | * toplev.c (current_function_decl): Define it here. | |
27495 | (current_function_func_begin_label): New variable. | |
27496 | (main): Add both as ggc roots. | |
27497 | * tree.h (current_function_func_begin_label): Declare. | |
27498 | ||
27499 | Tue Feb 29 14:07:04 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
27500 | ||
27501 | * gcse.c: Cleanups throughout: mostly white-space, but also | |
27502 | some minor rearrangement of code. | |
27503 | ||
27504 | Tue Feb 29 10:45:59 2000 Jeffrey A Law (law@cygnus.com) | |
27505 | ||
27506 | * calls.c (emit_library_call): Do not abort if FUNCTION_ARG | |
27507 | returns a PARALLEL. Use emit_group_load and use_group_regs | |
27508 | as needed. | |
27509 | (emit_library_call_value): Similarly. | |
27510 | ||
27511 | * pa/t-pa: Use quadlib.c instead of quadlib.asm. | |
27512 | * pa/quadlib.asm: Remove. | |
27513 | * pa/quadlib.c: New file. | |
27514 | ||
27515 | * configure.in (hpux10, hpux11, PA32 mode): Use i128 float format. | |
27516 | * configure: Rebuilt. | |
27517 | ||
27518 | 2000-02-29 Philip Blundell <pb@futuretv.com> | |
27519 | ||
27520 | * config/arm/conix-elf.h: New file. | |
27521 | * configure.in (arm*-*-conix*): New configuration. | |
27522 | * configure: Regenerate. | |
27523 | ||
27524 | 2000-02-28 Jason Merrill <jason@casey.cygnus.com> | |
27525 | ||
27526 | * dwarf2out.c (gen_block_die): Output abstract blocks even if they | |
27527 | don't have TREE_ASM_WRITTEN set. | |
27528 | ||
27529 | Mon Feb 28 21:07:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
27530 | ||
27531 | * Eliminate DECL_FIELD_SIZE. | |
27532 | * builtins.c (built_in_class_names, built_in_names): New variables. | |
27533 | * c-decl.c (finish_struct): Set specified size in DECL_SIZE. | |
27534 | * expr.c (expand_expr, case COMPONENT_REF): Get field size from | |
27535 | DECL_SIZE, not DECL_FIELD_SIZE. | |
27536 | * print-tree.c (print_node): Remove code that prints extra blank | |
27537 | lines in some cases. | |
27538 | Properly handle inline and builtin function cases. | |
27539 | * stor-layout.c (layout_decl): Get specified size from DEC_SIZE. | |
27540 | * tree.h (built_in_class_named, built_in_names): New declarations. | |
27541 | (union tree_decl): Rename internal unions to u1 and u2 and change | |
27542 | some of their components. | |
27543 | Add new field built_in_class. | |
27544 | (DECL_ALIGN, DECL_INCOMING_RTL, DECL_SAVED_INSNS, DECL_FRAME_SIZE): | |
27545 | Reflect above changes. | |
27546 | (DECL_FUNCTION_CODE, DECL_BUILT_IN_CLASS): Likewise. | |
27547 | (DECL_SET_FUNCTION_CODE, DECL_FIELD_SIZE): Deleted. | |
27548 | * objc/objc-act.c (objc_copy_list): Use DECL_SIZE, not DECL_FIELD_SIZE. | |
27549 | (encode_field_decl): Likewise; also remove obsolete test for bitfield. | |
27550 | ||
27551 | 2000-02-28 Dmitri Makarov <dim@windriver.com> | |
27552 | ||
27553 | * extend.texi: Document ARM's support for long/short calls. | |
27554 | ||
27555 | * invoke.texi: Document ARM's -mlong-calls command line switch. | |
27556 | ||
27557 | * config/arm/arm-protos.h (arm_is_longcall_p): Add prototype. | |
27558 | (arm_encode_call_attribute): Add prototype. | |
27559 | (arm_set_default_type_attribute): Add prototype. | |
27560 | (arm_strip_name_encoding): Add prototype. | |
27561 | ||
27562 | * config/arm/arm.c (arm_init_cumulative_args): replace | |
27563 | initialisation og 'long_calls' field with initialisation of | |
27564 | 'call_cookie' field. | |
27565 | (enum arm_pragma_enum): New enum. | |
27566 | (arm_pragma_long_calls): New static variable. | |
27567 | (arm_process_pragma): Also process "#pragma long_calls_off". | |
27568 | (arm_valid_type_attribute_p): Accept short_call attribute. | |
27569 | (arm_comp_type_attributes): Check long/short call attributes. | |
27570 | (arm_encode_call_attribute): New function: Encode long_call | |
27571 | or short_call attribute in function name. | |
27572 | (arm_set_default_type_attributes): New function: Assign | |
27573 | default attributes to newly defined type. | |
27574 | (current_file_function_operand): New function: Return true if | |
27575 | the symbol is a function which has already been compiled. | |
27576 | (arm_is_longcall_p): New function: Return true if the | |
27577 | indicated function should be called via a long call. | |
27578 | (arm_get_strip_length): New function. Returns number of | |
27579 | prefix characters to be stripped from a function's name. | |
27580 | (arm_strip_name_encoding): New function. Strip prefix characters | |
27581 | from a function's name. | |
27582 | ||
27583 | * config/arm/arm.h (CUMULATIVE_ARGS): Replace 'long_call' field | |
27584 | with 'call_cookie'. | |
27585 | (SHORT_CALL_FAG_CHAR): Define. | |
27586 | (LONG_CALL_FAG_CHAR): Define. | |
27587 | (ENCODED_SHORT_CALL_ATTR_P): Define. | |
27588 | (ENCODED_LONG_CALL_ATTR_P): Define. | |
27589 | (ARM_NAME_ENCODING_LENGTHS): Define. | |
27590 | (STRIP_NAME_ENCODING): Define. | |
27591 | (ASM_OUTPUT_LABELREF): Define, and use to strip name encoding. | |
27592 | (ARM_ENCODE_CALL_TYPE): Define. | |
27593 | (ENCODE_SECTION): Invoke ARM_ENCODE_CALL_TYPE. | |
27594 | (ARM_DECLARE_FUNCTION_SIZE): Define. | |
27595 | (SET_DEFAULT_TYPE_ATTRIBUTES): Define. | |
27596 | ||
27597 | * config/arm/arm.md (call): Call arm_is_longcall_p to decide | |
27598 | if a long call is needed. | |
27599 | (call_value): Ditto. | |
27600 | (call_symbol): Ditto. | |
27601 | ||
27602 | * config/arm/elf.h (ASM_DECLARE_FUNCTION_SIZE): Add invocation of | |
27603 | ARM_DECLARE_FUNCTION_SIZE. | |
27604 | ||
27605 | * config/arm/pe.h (ARM_PE_FLAG_CHAR): Define. | |
27606 | (SUBTARGET_NAME_ENCODING_LENGTHS): Define. | |
27607 | (ARM_STRIP_NAME_ENCODING): Undefine. | |
27608 | (STRIP_NAME_ENCODING): Undefine. | |
27609 | (ASM_OUTPUT_LABELREF): Use arm_strip_name_encoding. | |
27610 | (ASM_DECLARE_FUNCTION_NAME): Ditto. | |
27611 | (ASM_OUTPUT_COMMON): Ditto. | |
27612 | (ASM_DECLARE_OBJECT_NAME): Ditto. | |
27613 | ||
27614 | * config/arm/pe.c (arm_dllexport_name_p): Check for | |
27615 | ARM_PE_FLAG_CHAR. | |
27616 | (arm_dllimport_name_p): Ditto. | |
27617 | (arm_mark_dllexport): Use ARM_PE_FLAG_CHAR. | |
27618 | (arm_mark_dllimport): Ditto. | |
27619 | ||
27620 | Mon Feb 28 22:11:12 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
27621 | ||
27622 | * sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Define. | |
27623 | ||
27624 | 2000-02-28 Mark Mitchell <mark@codesourcery.com> | |
27625 | ||
27626 | * xcoffout.c (xcoffout_begin_function): Fix typo in previous change. | |
27627 | ||
27628 | 2000-02-28 Zack Weinberg <zack@wolery.cumb.org> | |
27629 | ||
27630 | * tm.texi: Document new target switch, NO_BUILTIN_WCHAR_TYPE. | |
27631 | * cppinit.c (builtin_array): Define __WCHAR_TYPE__ only if | |
27632 | NO_BUILTIN_WCHAR_TYPE is not defined. | |
27633 | (CPP_WCHAR_TYPE): Delete. | |
27634 | * cccp.c (main): Don't change wchar_type if cplusplus. | |
27635 | (special_symbol, initialize_builtins): Honor NO_BUILTIN_WCHAR_TYPE. | |
27636 | ||
27637 | 2000-02-28 Nick Clifton <nickc@cygnus.com> | |
27638 | ||
27639 | * config/arm/arm-wince-pe.h (SIZE_TYPE): Define to "unsigned long". | |
27640 | ||
27641 | Mon Feb 28 14:21:15 2000 Catherine Moore <clm@cygnus.com> | |
27642 | ||
27643 | * config/pa/som.h (MAKE_DECL_ONE_ONLY): Define. | |
27644 | (ASM_WEAKEN_LABEL): Define. | |
27645 | ||
27646 | Mon Feb 28 13:07:19 MET 2000 Jan Hubicka <jh@suse.cz> | |
27647 | ||
27648 | * expr.c (store_constructor): Do not emit USE. | |
27649 | * rtl.h (stupid_life_analysis): Remove. | |
27650 | ||
27651 | Mon Feb 28 07:03:27 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
27652 | ||
27653 | * function.c (number_blocks): Reset next_block_index based on | |
27654 | what debugging format is used, not what is defined. | |
27655 | ||
27656 | * lcm.c: Minor reformatting throughout. | |
27657 | (reg_dies, reg_becomes_live): Properly handle multiple hard regs. | |
27658 | ||
27659 | * toplev.c (rest_of_compilation): Account for time in | |
27660 | optimize_mode_switching. | |
27661 | ||
27662 | * jump.c (jump_optimize_1): Don't call delete_barrier_successors | |
27663 | if only marking labels. | |
27664 | ||
27665 | Mon Feb 28 12:53:57 MET 2000 Jan Hubicka <jh@suse.cz> | |
27666 | ||
27667 | * calls.c (expand_call): Attempt to combine stack adjustments with | |
27668 | pending stack adjustments. | |
27669 | ||
27670 | Mon Feb 28 11:34:43 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
27671 | ||
27672 | * loop.c (reg_in_basic_block_p): Don't abort when falling through | |
27673 | to the end of the function. | |
27674 | ||
27675 | 2000-02-27 Mark Mitchell <mark@codesourcery.com> | |
27676 | ||
a1f300c0 | 27677 | * emit-rtl.c (remove_unnecessary_notes): Remove notes for empty |
c30d43bf JL |
27678 | blocks. |
27679 | * final.c (next_block_index): Remove. | |
27680 | (max_block_depth): Likewise. | |
27681 | (pending_blocks): Likewise. | |
27682 | (init_final): Don't initialize them. | |
27683 | (final_start_function): Don't set next_block_index. Set up | |
27684 | BLOCK_NUMBER. | |
27685 | (final_scan_insn): Use BLOCK_NUMBER, not next_block_index. | |
27686 | * function.h (number_blocks): New function. | |
27687 | * function.c (get_block_vector): New function. | |
27688 | (identify_blocks): Use it. | |
27689 | (reorder_blocks): Set NOTE_BLOCK. | |
27690 | (number_blocks): New function. | |
27691 | * tree.def (BLOCK): Add documentation for TREE_ASM_WRITTEN flag. | |
27692 | * tree.h (BLOCK_NUMBER): New macro. | |
27693 | (tree_block): Add block_num field. | |
27694 | * dbxout.c (next_block_number): Remove. | |
27695 | (dbxout_init): Don't set it. | |
27696 | (dbxout_block): Only output blocks that have TREE_ASM_WRITTEN | |
27697 | set. Use BLOCK_NUMBER, rather than next_block_num, to determine | |
27698 | block numbers. | |
27699 | * toplev.c (rest_of_compilation): Always call | |
27700 | find_loop_tree_blocks. Fix indentation. | |
27701 | * dwarf2out.c (next_block_number): Remove. | |
27702 | (gen_lexical_block_die): Use BLOCK_NUMBER, not next_block_number, | |
27703 | to determine block numbers. | |
27704 | (gen_inlined_subroutine_die): Likewise. | |
27705 | (gen_block_die): Only output blocks that have TREE_ASM_WRITTEN set. | |
27706 | (decls_for_scope): Don't increment next_block_number. | |
27707 | * dwarfout.c (next_block_number): Remove. | |
27708 | (output_lexical_block_die): Use BLOCK_NUMBER, not next_block_number, | |
27709 | to determine block numbers. | |
27710 | (output_inlined_subroutine_die): Likewise. | |
27711 | (output_block): Only output blocks that have TREE_ASM_WRITTEN set. | |
27712 | (output_decls_for_scope): Don't increment next_block_number. | |
27713 | * sdbout.c (next_block_number): Remove. | |
27714 | (sdbout_block): Use BLOCK_NUMBER. | |
27715 | (sdbout_begin_block): Simplify. | |
27716 | * xcoffout.c (next_block_number): Remove. | |
27717 | (xcoffout_block): Use BLOCK_NUMBER, not next_block_number. | |
27718 | (xcoffout_begin_block): Don't set next_block_number. | |
27719 | (xcoffout_begin_function): Likewise. Use BLOCK_NUMBER, not | |
27720 | next_block_number. | |
27721 | ||
27722 | Sun Feb 27 16:40:33 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
27723 | ||
27724 | * builtins.c (c_strlen): Use size_diffop and return ssizetype value. | |
27725 | (expand_builtin_strcpy): Pass correct type to size_binop. | |
27726 | (expand_builtin_strcmp): Likewise. | |
27727 | Clean up conditional structure. | |
27728 | * c-decl.c (init_decl_processing): Don't call set_sizetype twice. | |
27729 | (complete_array_type): Don't use size_binop for MAXINDEX. | |
27730 | * c-typeck.c (c_sizeof): Use size_one_node and TYPE_SIZE_UNIT. | |
27731 | (c_sizeof_nowarn, c_size_in_bytes): Likewise. | |
27732 | (c_alignof): Use size_one_node. | |
27733 | (build_unary_op): Pass arg of proper type to size_binop. | |
27734 | (really_start_incremental_init, push_init_level): Use sizetype for | |
27735 | constructor{,_bit,_unfilled}_index. | |
27736 | (pop_init_label, output_init_element): Likewise. | |
27737 | (output_pending_init_elements, process_init_element): Likewise. | |
27738 | * calls.c (compute_argument_block_size): Field VAR is ssizetype. | |
27739 | * expr.c (store_expr): Use size_int. | |
27740 | (store_constructor): Use proper types for size_binop args. | |
27741 | (get_inner_reference, expand_expr, case ARRAY_REF): Likewise. | |
27742 | (expand_expr_unaligned): Likewise. | |
27743 | (string_contant): Return object of sizetype. | |
27744 | * expr.h (SUB_PARM_SIZE): Call size_diffop and pass proper types. | |
27745 | (ARGS_SIZE_RTX): Call ARGS_SIZE_TREE. | |
27746 | (ARGS_SIZE_TREE): Pass proper types to size_binop. | |
27747 | * fold-const.c (int_const_binop): Refine when size_int is called. | |
27748 | (fold_convert): Likewise. | |
27749 | (size_int_wide): Rework to take KIND as arg, only take low order | |
27750 | bits, handle new sizetype_tab datatype, and chain entries in | |
27751 | size_table. | |
27752 | (size_int_type_wide): New function. | |
27753 | (size_binop): Validate types of arguments. | |
27754 | (ssize_binop): Deleted. | |
27755 | (size_diffop): New function. | |
27756 | (extract_muldiv): Only fold division into multiplication for sizetypes. | |
27757 | * function.c (assign_parms): Use size_diffop and make sure | |
27758 | VAR field is of ssizetype; also pass proper type to size_binop. | |
27759 | (locate_and_pad_parm, pad_to_arg_alignment): Likewise. | |
27760 | (round_down): Deleted from here. | |
27761 | * store-layout.c (sizetype_tab): Now an array. | |
27762 | (sizetype_set, early_root_list): New variables. | |
27763 | (variable_size): Use size_one_node. | |
27764 | (round_up): Pass proper type to size_binop. | |
27765 | (round_down): Moved to here and corrected as above. | |
27766 | (layout_record): Pass proper arg types to size_binop. | |
27767 | (layout_type): Likewise. | |
27768 | If sizetype_set is zero, record the type just laid out. | |
27769 | (make_unsigned_type): Don't call set_sizetype; | |
27770 | (make_signed_type): Likewise; also, call fixup_signed_type. | |
27771 | (initialize_sizetypes): New function. | |
27772 | (set_sizetype): Make copy of types, set TYPE_IS_SIZETYPE, and | |
27773 | set name of bitsizetype to "bit_size_type". | |
27774 | Fix up type of sizes of all types made before call. | |
27775 | * tm.texi (ROUND_TYPE_SIZE_UNIT): New macro. | |
27776 | * tree.c (fix_sizetype): Deleted. | |
27777 | (build_common_tree_nodes): Call initialize_sizetypes. | |
27778 | (build_common_tree_nodes_2): Don't call fix_sizetype. | |
27779 | * tree.h (TYPE_IS_SIZETYPE): New macro. | |
27780 | (initialize_sizetype): New declaration. | |
27781 | (enum size_type_kind): New type. | |
27782 | (struct sizetype_tab): Deleted. | |
27783 | (sizetype_tab): Now array; adjust sizetype macros. | |
27784 | (size_diffop, size_int_type_wide): New functions. | |
27785 | (size_int_wide): Change number of args and type; access macros changed. | |
27786 | (ssize_int, sbitsize_int): New macros. | |
27787 | * config/i960/i960.h (ROUND_TYPE_SIZE): Use size_int. | |
27788 | (ROUND_TYPE_SIZE_UNIT): New macro. | |
27789 | ||
27790 | 2000-02-27 Zack Weinberg <zack@wolery.cumb.org> | |
27791 | ||
27792 | * c-lex.c (putback_buffer): Make 'buffer' an unsigned char *. | |
27793 | ||
27794 | Sun Feb 27 07:44:17 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
27795 | ||
27796 | * gcov-io.h (__fetch_long, __store_long, __read_long, __write_long): | |
27797 | Mark as possibly unused. | |
27798 | ||
27799 | * cse.c (cse_insn): Delete dead code involving tablejump. | |
27800 | Pass CODE_LABEL, not LABEL_REF to gen_jump and reset INSN_CODE. | |
27801 | ||
27802 | * Makefile.in (libcpp.a): Start by deleting it. | |
27803 | ||
27804 | 2000-02-27 Alexandre Oliva <oliva@lsd.ic.unicamp.br> | |
27805 | ||
27806 | * cpplib.h (enum file_change_code): Added rename_file. | |
27807 | * cpplib.c (do_line): If a filename is given, set file_change to | |
27808 | rename_file. | |
27809 | (output_line_command): If file_change is rename_file, always | |
27810 | output a # directive with the file name. | |
27811 | ||
27812 | * cpplib.c (do_pragma): Accept #pragma without consecutive token. | |
27813 | ||
27814 | 2000-02-26 Mark Mitchell <mark@codesourcery.com> | |
27815 | ||
27816 | * integrate.c (copy_decl_for_inlining): Preserve TREE_ADDRESSABLE | |
27817 | when copying a PARM_DECL or RESULT_DECL. | |
27818 | ||
27819 | 2000-02-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
27820 | ||
27821 | * fix-header.c (recognized_function): Also fix prototypes for | |
27822 | functions taking "void". | |
27823 | ||
27824 | 2000-02-26 Geoff Keating <geoffk@cygnus.com> | |
27825 | ||
27826 | * reload1.c (do_output_reload): Check reg_reloaded_valid before | |
27827 | looking at reg_reloaded_contents. | |
27828 | ||
27829 | 2000-02-26 Zack Weinberg <zack@wolery.cumb.org> | |
27830 | ||
27831 | * Makefile.in (STMP_FIXINC): New toggle. | |
27832 | (LIBGCC2_DEPS): Delete all references. | |
27833 | (stmp-headers): Delete target. All references either deleted | |
27834 | or changed to stmp-int-headers. | |
27835 | (all.cross): Don't depend on stmp-headers or STMP_FIXPROTO. | |
27836 | (LIBCPP_OBJS): Take out cppalloc.o. | |
27837 | (cppalloc.o): Delete target. | |
27838 | (stmp-int-hdrs): Depend on $(STMP_FIXINC). | |
27839 | (gen-protos, fix-header): Link with libiberty.a. | |
27840 | * build-make: Don't change FIXINCLUDES. Override STMP_FIXINC | |
27841 | to empty. | |
27842 | ||
27843 | * configure.in: Remove refs to strerror. | |
27844 | * acconfig.h: Take out NEED_DECLARATION_STRERROR. | |
27845 | * system.h: Take out strerror stanza. | |
27846 | ||
27847 | * cpperror.c (my_strerror): Delete function. | |
27848 | (cpp_error_from_errno, cpp_notice_from_errno): Use xstrerror. | |
27849 | * cppmain.c (main): Call xmalloc_set_program_name first thing. | |
27850 | * cppalloc.c: Delete file. | |
27851 | * gen-protos.c: Don't provide xrealloc. | |
27852 | ||
27853 | * fixinc/fixincl.c, fixinc/fixlib.c, fixinc/procopen.c: Use | |
27854 | xstrerror throughout. | |
27855 | ||
27856 | 2000-02-26 Bruce Korb <bkorb@gnu.org> | |
27857 | ||
27858 | * fixinc/inclhack.def (undefine_null): the bypass pattern needs to | |
27859 | match for DOS headers, too. | |
27860 | * fixinc/inclhack.sh,fixincl.x: Regenerate. | |
27861 | ||
27862 | 2000-02-26 Geoff Keating <geoffk@cygnus.com> | |
27863 | ||
27864 | * config/elfos.h (ASM_OUTPUT_LABELREF): Don't define. The default | |
27865 | is right for most ELF targets. | |
27866 | * config/ns32k/ns32k.h (ASM_OUTPUT_LABELREF): Don't define. | |
27867 | Let the default file use %U properly. | |
27868 | * config/sh/elf.h (ASM_OUTPUT_LABELREF): Don't define. Use the | |
27869 | default. | |
27870 | ||
27871 | * config/fp-bit.c (pack_d): Properly handle rounding of denormal | |
27872 | numbers. | |
27873 | ||
27874 | Sat Feb 26 09:39:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
27875 | ||
27876 | * toplev.c (documented_lang_options): Correct spelling error. | |
27877 | (decode_d_option, decode_f_option, main): Likewise. | |
27878 | ||
27879 | * toplev.c (print_time): Avoid SIGFPE when all_time is zero. | |
27880 | ||
27881 | * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Use .set at | |
27882 | to tell assembler it is permitted to expand large constants. | |
27883 | ||
27884 | 2000-02-25 Mumit Khan <khan@xraylith.wisc.edu> | |
27885 | ||
27886 | * protoize.c: (AUX_INFO_SUFFIX): New macro. | |
27887 | (aux_info_suffix): Use. | |
27888 | (SAVE_SUFFIX): New macro. | |
27889 | (save_suffix): Use. | |
27890 | (munge_compile_parms): Fix typo in NUL. DJGPP supports /dev/null. | |
27891 | (gen_aux_info_file): Use aux_info_suffix instead of ".X". | |
27892 | (edit_file): Handle 8.3 restriction for DOS/DJGPP filenames. | |
27893 | ||
27894 | * invoke.texi (Running Protoize): Update documentation. | |
27895 | ||
27896 | 2000-02-25 Mark Elbrecht <snowball3@bigfoot.com> | |
27897 | ||
27898 | * i386/djgpp.h (CPP_PREDEFINES): Remove Unix defines. | |
27899 | ||
27900 | 2000-02-25 John Wehle (john@feith.com) | |
27901 | ||
27902 | * rtlanal.c (find_last_value): Allow NULL_RTX for valid_to. | |
27903 | ||
27904 | 2000-02-25 Anthony Green <green@cygnus.com> | |
27905 | ||
27906 | * toplev.c (rest_of_compilation): Rebuild jump labels if | |
27907 | combine_instructions has created a new direct jump. | |
27908 | * combine.c (try_combine): Add new_direct_jump_p argument. Set it | |
27909 | when appropriate. | |
27910 | (combine_instructions): Call try_combine with new argument. | |
27911 | Return non-null value when new direct jump instruction is created. | |
27912 | * rtl.h: combine_instructions returns an int. | |
27913 | ||
27914 | Fri Feb 25 19:49:08 2000 Jeffrey A Law (law@cygnus.com) | |
27915 | ||
27916 | * cse.c (cse_insn): Replace the PATTERN of the insn with an new | |
27917 | jump when changing a computed jump into a jump to a known | |
27918 | target. | |
27919 | ||
27920 | Fri Feb 25 19:22:44 2000 Graham Stott <grahams@rcp.co.uk> | |
27921 | ||
27922 | * resource.c (mark_referenced_resources): Changed use SET_DEST (...) | |
27923 | to XEXP (..., 0) on RTL nodes which are not SET or CLOBBER. | |
27924 | ||
27925 | * i386.md (define_expand "clrstrsi"): Fix typo. | |
27926 | ||
27927 | Fri Feb 25 18:49:39 2000 "K. Richard Pixley" <rich@microunity.com> | |
27928 | ||
27929 | * rtl.texi: Fix typo. | |
27930 | ||
27931 | Fri Feb 25 20:02:35 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
27932 | ||
27933 | * sh.c (calc_live_regs): Multiply value assigned to *COUNT_PTR by | |
27934 | UNITS_PER_WORD. Change caller initial_elimination_offset. | |
27935 | (rounded_frame_size): Take into account that argument pushed has | |
27936 | changed. Fix TARGET_ALIGN_DOUBLE problem. | |
27937 | ||
27938 | 2000-02-25 Geoff Keating <geoffk@cygnus.com> | |
27939 | ||
27940 | * haifa-sched.c (schedule_block): Explain the real reason | |
27941 | we delete REG_SAVE_NOTEs on the first insn of a block. | |
27942 | Don't delete REG_SAVE_NOTES for NOTE_INSN_SETJMP. | |
27943 | ||
27944 | 2000-02-24 Mark Mitchell <mark@codesourcery.com> | |
27945 | ||
27946 | * input.h (push_srcloc): New function. | |
27947 | (pop_srcloc): Likewise. | |
27948 | * toplev.c (push_srcloc): Define it. | |
27949 | (pop_srcloc): Likewise. | |
27950 | ||
27951 | 2000-02-24 Richard Henderson <rth@cygnus.com> | |
27952 | ||
27953 | * flow.c (life_analysis): When collecting reg info, clear | |
27954 | regs_ever_live. | |
27955 | ||
27956 | Thu Feb 24 22:06:52 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
27957 | ||
27958 | Fix bug exposed by reload.c no longer rounding the frame | |
27959 | size to BIGGEST_ALIGNMENT: | |
27960 | * sh.c (rounded_frame_size): New function. | |
27961 | (sh_expand_prologue, sh_expand_epilogue): Use it. | |
27962 | (initial_elimination_offset): Likewise. | |
27963 | ||
27964 | Thu Feb 24 20:04:11 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
27965 | ||
27966 | Fix breakage from 6th Feb thread_prologue_and_epilogue_insns change: | |
27967 | * sh-protos.h (sh_need_epilogue): Declare. | |
27968 | * sh.c (sh_need_epilogue_known): New static variable. | |
27969 | (sh_need_epilogue): New function. | |
27970 | (function_epilogue): Clear need_epilogue_known. | |
27971 | * sh.md (return): Split into expander / insn pattern. | |
27972 | Make the expander conditional on ! sh_need_epilogue (). | |
27973 | ||
27974 | 2000-02-24 Nathan Sidwell <nathan@codesourcery.com> | |
27975 | ||
27976 | * machmode.h (get_mode_alignment): Declare. | |
27977 | (GET_MODE_ALIGNMENT): Call it. | |
27978 | * stor-layout.c (get_mode_alignment): New function. Make | |
27979 | sure alignment is always power of 2. | |
27980 | ||
27981 | 2000-02-23 Zack Weinberg <zack@wolery.cumb.org> | |
27982 | ||
27983 | * i386.h: Remove useless definition of "I386" and misleading | |
27984 | comment above it. | |
27985 | ||
27986 | 2000-02-23 Zack Weinberg <zack@wolery.cumb.org> | |
27987 | ||
27988 | * tree.h (TREE_SET_PERMANENT): New macro. Document conditions | |
27989 | under which TREE_PERMANENT will be set. | |
27990 | * tree.c (make_node, copy_node, make_tree_vec, tree_cons, | |
27991 | build1): Use TREE_SET_PERMANENT. | |
27992 | * print-tree.c (print_node): Don't report value of | |
27993 | TREE_PERMANENT if ggc_p is true. | |
27994 | ||
27995 | * c-common.c (c_get_alias_set): Don't use TREE_PERMANENT to | |
27996 | decide whether to give a type a new alias set. | |
27997 | * objc/objc-act.c (build_objc_string_object): Never copy the string. | |
27998 | * tree.c (make_node): Set DECL_IN_SYSTEM_HEADER irrespective | |
27999 | of value of 'obstack'. | |
28000 | ||
28001 | ||
28002 | 2000-02-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
28003 | ||
28004 | * config/c4x/c4x.c (c4x_process_after_reload): Split all insns. | |
28005 | ||
28006 | 2000-02-23 Alexandre Oliva <oliva@lsd.ic.unicamp.br> | |
28007 | ||
28008 | * cpplib.h (enum cpp_token): Added CPP_WCHAR and CPP_WSTRING. | |
28009 | * cpplib.c (cpp_get_token): Produce them. | |
28010 | * cppexp.c (cpp_lex): Handle them. | |
28011 | ||
28012 | 2000-02-23 Nick Clifton <nickc@cygnus.com> | |
28013 | ||
28014 | * config/arm/arm.c (arm_comp_type_attributes): Simply and | |
28015 | comment tests on type attributes. | |
28016 | ||
28017 | Wed Feb 23 16:42:21 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
28018 | ||
28019 | * final.c (shorten_branches): Make value passed to LOOP_ALIGN | |
28020 | conform to documentation. | |
28021 | * sh.h (LOOP_ALIGN): If aligning loops, call sh_loop_align | |
28022 | to check for special cases. | |
28023 | * sh-protos.h (sh_loop_align): Declare. | |
28024 | * sh.c (sh_loop_align): Define. | |
28025 | ||
28026 | 2000-02-22 Andrew Haley <aph@cygnus.com> | |
28027 | ||
28028 | * config/mips/mips.h (GAS_ASM_SPEC): Pass -mgp32/-mgp64 to gas. | |
28029 | (SIZE_TYPE): Is 32 bits when using -mgp32. | |
28030 | (PTRDIFF_TYPE): Ditto. | |
28031 | ||
28032 | Wed Feb 23 07:26:27 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
28033 | ||
28034 | * diagnostic.c (init_output_buffer): Handle case of null PREFIX. | |
28035 | ||
28036 | 2000-02-23 Zack Weinberg <zack@wolery.cumb.org> | |
28037 | ||
28038 | * config/i386/i386.h: If IN_TARGET_LIBS is defined, make | |
28039 | BIGGEST_FIELD_ALIGNMENT a constant. | |
28040 | ||
28041 | 2000-02-21 Jason Merrill <jason@casey.cygnus.com> | |
28042 | ||
28043 | * dwarf2out.c (output_line_info): Put the marker for the end of | |
28044 | the line number info at the actual end. | |
28045 | (gen_struct_or_union_type_die): Use decl_function_context | |
28046 | to check for local classes. | |
28047 | * dwarfout.c (output_type): Likewise. | |
28048 | ||
28049 | Tue Feb 22 01:38:57 2000 Jeffrey A Law (law@cygnus.com) | |
28050 | ||
28051 | * pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Handle pass-by-reference | |
28052 | for arguments with a mode, but no type. | |
28053 | (FUNCTION_ARG_CALLEE_COPIES): Similarly. | |
28054 | * t-pa (LIB2FUNCS_EXTRA): Add quadlib.asm. | |
28055 | * pa/long_double.h: New file. | |
28056 | * configure.in (hpux10, hpux11 configurations): hpux10 and hpux11 | |
28057 | both have 128bit wide long doubles. | |
28058 | * configure: Rebuilt. | |
28059 | ||
28060 | 2000-02-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
28061 | ||
28062 | * defaults.h (ASM_OUTPUT_ASCII): Constify a char*. | |
28063 | ||
28064 | * flow.c (get_common_dest, chain_reorder_blocks, make_reorder_chain, | |
28065 | fixup_reorder_chain, skip_insns_between_block): Add static prototypes. | |
28066 | (life_analysis): Wrap variable `i' with macro ELIMINABLE_REGS. | |
28067 | ||
28068 | * haifa-sched.c (rank_for_schedule): Don't cast away const-ness. | |
28069 | ||
28070 | * integrate.c (compare_blocks, find_block): Likewise. | |
28071 | ||
28072 | * rtl.c (fatal_with_file_and_line): Add ATTRIBUTE_PRINTF_2. | |
28073 | ||
28074 | * rtl.h (set_file_and_line_for_stmt): Constify a char*. | |
28075 | ||
28076 | * stmt.c (stmt_status, set_file_and_line_for_stmt, | |
28077 | expand_asm_operands): Likewise. | |
28078 | ||
28079 | Mon Feb 21 17:06:27 2000 Jason Eckhardt <jle@cygnus.com> | |
28080 | ||
28081 | * predict.c (estimate_probability): Added the pointer heuristic to | |
28082 | the collection of static branch predictors. | |
28083 | ||
28084 | 2000-02-21 Catherine Moore <clm@cygnus.com> | |
28085 | ||
28086 | * config/mips/mips.h (ASM_SPEC): Add -mfix700. | |
28087 | * invoke.texi (-mfix7000): Document. | |
28088 | ||
28089 | 2000-02-21 Gabriel Dos Reis <gdr@codesourcery.com> | |
28090 | ||
28091 | * diagnostic.c (init_output_buffer): Make it possible to output at | |
28092 | least 32 characters if we're given a too long prefix. | |
28093 | ||
28094 | 2000-02-20 Mark Mitchell <mark@codesourcery.com> | |
28095 | ||
28096 | * varasm.c (initializer_constant_valid_p): Call | |
28097 | lang_expand_constant to simplify the constant. | |
28098 | ||
28099 | 2000-02-20 Bruce Korb <bkorb@gnu.org> | |
28100 | ||
28101 | * fixinc/inclhack.def(stdio_va_list): | |
28102 | typedef needs to be disabled. | |
28103 | * fixinc/inclhack.sh: regen | |
28104 | * fixinc/fixincl.x: regen | |
28105 | ||
28106 | 2000-02-20 Geoff Keating <geoffk@cygnus.com> | |
28107 | ||
28108 | * print-rtl.c (print_rtx): Don't print addresses when | |
28109 | flag_dump_unnumbered. | |
28110 | ||
28111 | 2000-02-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
28112 | ||
28113 | * sparc.c (sparc_output_scratch_registers): Mark parameter with | |
28114 | ATTRIBUTE_UNUSED. | |
28115 | (sparc_va_arg, sparc_flat_output_function_prologue, | |
28116 | sparc_flat_output_function_epilogue): Cast value to unsigned in | |
28117 | comparison. | |
28118 | (sparc_emit_float_lib_cmp): Remove unused variable `cmp'. | |
28119 | ||
28120 | * sparc.md: Add default case in switch. | |
28121 | ||
28122 | 2000-02-19 Richard Henderson <rth@cygnus.com> | |
28123 | ||
28124 | * c-typeck.c (add_pending_init): Don't abort for multiple | |
28125 | fields at the same offset. | |
28126 | (pending_init_member): Test the correct member. | |
28127 | ||
28128 | 2000-02-19 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | |
28129 | ||
28130 | * except.c (start_dynamic_handler) : Use TYPE_MODE (integer_type_node) | |
28131 | instead of SImode. | |
28132 | (start_catch_handler) : Same. | |
28133 | ||
28134 | 2000-02-19 Brad Lucier (lucier@math.purdue.edu) | |
28135 | ||
28136 | * Makefile.in: Have flow.o depend on $(EXPR_H) | |
28137 | ||
28138 | Sat Feb 19 18:43:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
28139 | ||
28140 | * c-common.c (decl_attributes): Set DECL_SIZE_UNIT. | |
28141 | * c-decl.c (duplicate_decls, finish_enum): Likewise. | |
28142 | (finish_decl): Remove -Wlarger-than code from here. | |
28143 | * flags.h (id_clash_len): Now int. | |
28144 | (larger_than_size): Now HOST_WIDE_INT. | |
28145 | * fold-const.c (size_int_wide): No more HIGH parm; NUMBER is signed. | |
28146 | Clean up checking to see if in table. | |
28147 | (make_bit_field_ref): Remove extra parm to bitsize_int. | |
28148 | * ggc-common.c (ggc_mark_tree_children): Mark DECL_SIZE_UNIT. | |
28149 | * print-tree.c (print_node): Print DECL_SIZE_UNIT and TYPE_SIZE_UNIT. | |
28150 | * stmt.c (expand_decl): Use DECL_SIZE_UNIT for stack checking size | |
28151 | and for computing size of decl. | |
28152 | * stor-layout.c (layout_decl): Set DECL_SIZE_UNIT. | |
28153 | Move -Wlarger-than code to here. | |
28154 | (layout_record): Remove extra arg to bitsize_int. | |
28155 | Set TYPE_BINFO_SIZE_UNIT. | |
28156 | (layout_union): Remove extra arg to bitsize_int. | |
28157 | Use proper type for size of QUAL_UNION. | |
28158 | (layout_type): Remove extra arg to bitsize_int. | |
28159 | * toplev.c (id_clash_len): Now int. | |
28160 | (larger_than_size): Now HOST_WIDE_INT. | |
28161 | (decode_W_option): Clean up id-clash and larger-than- cases. | |
28162 | * tree.c (get_identifier, maybe_get_identifier): Remove unneeded casts. | |
28163 | (expr_align, case FUNCTION_DECL): DECL_ALIGN is not defined. | |
28164 | * tree.h (BINFO_SIZE_UNIT, TYPE_BINFO_SIZE_UNIT, DECL_SIZE_UNIT): New. | |
28165 | (struct tree_decl): New field size_unit. | |
28166 | (size_int_wide): No HIGH operand; NUMBER is now signed. | |
28167 | (size_int_2): Deleted. | |
28168 | (size_int, bitsize_int): Don't use it and rework args. | |
28169 | * varasm.c (assemble_variable, output_constructor): Use DECL_SIZE_UNIT. | |
28170 | ||
28171 | Fri Feb 18 20:01:58 2000 Jeffrey A Law (law@cygnus.com) | |
28172 | ||
28173 | * pa/quadlib.asm (_U_QFgt, _U_Qfge): Fix flags for _U_Qfcmp call. | |
28174 | ||
28175 | 2000-02-18 Geoff Keating <geoffk@cygnus.com> | |
28176 | ||
28177 | * invoke.texi (Warning Options): Add an explanation of why | |
28178 | you might want the -Wfloat-equal flag. | |
28179 | ||
28180 | Fri Feb 18 20:08:57 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
28181 | ||
28182 | * bitmap.c (bitmap_operation): Avoid using -1 for index since unsigned. | |
28183 | * cppinit.c (new_pending_define): Add cast to avoid warning. | |
28184 | * expmed.c (extract_bit_field): Likewise. | |
28185 | * flow.c (enum reorder_skip_type): New type. | |
28186 | (skip_insns_between_blcok): New it. | |
28187 | Rework to avoid warning about possibly undefined variable. | |
28188 | * function.c (assign_parms): Make thisparm_boundary unsigned. | |
28189 | * genrecog.c (write_switch): Cast XWINT result to int. | |
28190 | * lcm.c: Many static fcns and vars now #ifdef OPTIMIZE_MODE_SWITCHING. | |
eaec9b3d | 28191 | * mips-tfile.c (init_file): Make two versions of FDR initializer: |
c30d43bf JL |
28192 | one for MIPS and one for Alpha. |
28193 | (get_tag, copy_object): Add casts to avoid warnings. | |
28194 | * optabs.c (init_one_libfunc): Cast NAME to (char *). | |
28195 | * reload.c (find_reloads): Make TYPE enum reload_type. | |
28196 | * sbitmap.c (dump_sbitmap): J is unsigned; don't use "1L". | |
28197 | * unroll.c (unroll_loop): Initialize UNROLL_NUMBER. | |
28198 | * varasm.c (compare_constant_1): Add cast to avoid warning. | |
28199 | * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Cast FUNC | |
28200 | to (char *). | |
28201 | (alpha_expand_unaligned_load, alpha_expand_unaligned_store): | |
28202 | Cast switch operand of size to int. | |
28203 | (alpha_expand_epilogue): Always initialize fp_offset and sa_reg. | |
28204 | * config/alpha/alpha.h (INITIAL_ELIMINATION_OFFSET): Add abort | |
28205 | in unhandled case. | |
28206 | ||
28207 | 2000-02-18 Nick Clifton <nickc@cygnus.com> | |
28208 | ||
28209 | * config/arm/elf.h (ASM_OUTPUT_ALIGN): Do not generate | |
28210 | anything for an alignment of zero. | |
28211 | ||
28212 | * config/arm/thumb.h (ASM_OUTPUT_ALIGN): Do not generate | |
28213 | anything for an alignment of zero. | |
28214 | ||
719bb4e3 | 28215 | 2000-02-18 Martin von Löwis <loewis@informatik.hu-berlin.de> |
c30d43bf JL |
28216 | |
28217 | * gcc.texi (Bug Reporting): Refer to bugs.html. | |
28218 | (Bug Lists): Likewise. | |
28219 | * system.h (GCCBUGURL): New preprocessor define. | |
28220 | * rtl.c (fancy_abort): Use it. | |
28221 | * gcc.c (main): Likewise. | |
28222 | ||
28223 | 2000-02-18 Richard Henderson <rth@cygnus.com> | |
28224 | ||
28225 | * flow.c (INSN_VOLATILE, SET_INSN_VOLATILE, uid_volatile): Remove. | |
28226 | (life_analysis_1): Subsume into ... | |
28227 | (life_analysis): ... here. Force PROP_REG_INFO off after reload. | |
28228 | Use update_life_info for the relaxation. | |
28229 | (update_life_info): Update REG_BASIC_BLOCK for registers live on | |
28230 | entry and regs_live_at_setjmp. | |
28231 | (set_noop_p): Simplify. | |
28232 | (notice_stack_pointer_modification_1): Renamed from s/_1//. | |
28233 | (record_volatile_insns): Split into ... | |
28234 | (delete_noop_moves): ... here, | |
28235 | (notice_stack_pointer_modification): ... here, | |
28236 | (insn_dead_p): ... and here. | |
28237 | (propagate_block): Don't query INSN_VOLATILE. | |
28238 | (mark_used_regs): Mind !PROP_REG_INFO. | |
28239 | * toplev.c (rest_of_compilation): Call mark_constant_function here, | |
28240 | not in life_analysis. | |
28241 | ||
28242 | Fri Feb 18 01:29:22 EST 2000 John Wehle (john@feith.com) | |
28243 | ||
28244 | * loop.c (canonicalize_condition): New function, | |
28245 | broken out of get_condition. | |
28246 | (get_condition): Use it. | |
28247 | * expr.h (canonicalize_condition): Prototype it. | |
28248 | ||
28249 | * tree.h (tree_int_cst_msb): Declare. | |
28250 | * tree.c (tree_int_cst_msb): New function. | |
28251 | ||
28252 | 2000-02-17 Mark Mitchell <mark@codesourcery.com> | |
28253 | ||
28254 | * stmt.c (set_file_and_line_for_stmt): Don't crash if cfun->stmt | |
28255 | isn't set. | |
28256 | ||
28257 | * invoke.texi (-fmessage-length=n): Document. | |
28258 | ||
28259 | 2000-02-17 Jason Merrill <jason@casey.cygnus.com> | |
28260 | ||
28261 | * bitmap.c (bitmap_operation): Don't leak bitmap elements. | |
28262 | ||
28263 | 2000-02-17 Mark Mitchell <mark@codesourcery.com> | |
28264 | ||
28265 | * function.c (thread_prologue_and_epilogue_insns): Put a line note | |
28266 | after the prologue. | |
28267 | ||
28268 | 2000-02-17 Nick Clifton <nickc@cygnus.com> | |
28269 | ||
28270 | * config/arm/thumb.c: Replace includes of system headers with | |
28271 | #include "system.h". | |
28272 | ||
28273 | 2000-02-16 Richard Henderson <rth@cygnus.com> | |
28274 | ||
28275 | * configure.in (alpha-linux*, alpha-netbsd) [extra_parts]: | |
28276 | Add crtbeginS.o and crtendS.o. | |
28277 | * alpha/elf.h (STARTFILE_SPEC): Use crtbeginS.o. | |
28278 | (ENDFILE_SPEC): Use crtendS.o. | |
28279 | * alpha/t-crtbe (crtbeginS.o, crtendS.o): New targets. | |
28280 | ||
28281 | * alpha/crtbegin.asm (__do_frame_takedown): Merge into ... | |
28282 | (__do_global_dtors_aux): ... here. Call __cxa_finalize if | |
28283 | shared and present. | |
28284 | (__dso_handle): New variable. | |
28285 | * alpha/crtend.asm (__do_global_ctors_aux): Remove runtime | |
28286 | bias to __CTOR_END__. | |
28287 | ||
28288 | 2000-02-16 Richard Henderson <rth@cygnus.com> | |
28289 | ||
28290 | * Makefile.in (s-crtS, crtbeginS, crtendS): Prefix usage with $(T). | |
28291 | ||
28292 | Wed Feb 16 21:40:04 2000 Hans-Peter Nilsson <hp@bitrange.com> | |
28293 | ||
28294 | * longlong.h (__clz_tab): Declare as static to match definition. | |
28295 | ||
28296 | 2000-02-16 Mark Elbrecht <snowball3@bigfoot.com> | |
28297 | ||
28298 | * i386/xm-djgpp.h (LIBSTDCXX): Delete. Moved to config/i386/djgpp.h. | |
28299 | (XREF_FILE_NAME): Define. | |
28300 | ||
28301 | * i386/djgpp.h (DATA_SECTION_ASM_OP): Define. | |
28302 | (EH_FRAME_SECTION_ASM_OP): Define. | |
28303 | (IDENT_ASM_OP): Define. | |
28304 | (TEXT_SECTION_ASM_OP): Define. | |
28305 | (CPP_SPEC): Define. | |
28306 | (CTORS_SECTION_ASM_OP): Define. | |
28307 | (CTOR_SECTION_FUNCTION): Use it. | |
28308 | (DTORS_SECTION_ASM_OP): Define. | |
28309 | (DTOR_SECTION_FUNCTION): Use it. | |
28310 | ||
28311 | 2000-02-16 Zack Weinberg <zack@wolery.cumb.org> | |
28312 | ||
28313 | * reg-stack.c (emit_swap_insn): Do not put a new insn before a | |
28314 | NOTE_BASIC_BLOCK. | |
28315 | ||
28316 | * flow.c (dump_regset, debug_regset, dump_bb, debug_bb, | |
28317 | debug_bb_n): New functions. | |
28318 | (dump_flow_info, print_rtl_with_bb): Use dump_regset. | |
28319 | * basic-block.h: Prototype new functions. | |
28320 | ||
28321 | Wed Feb 16 21:07:53 2000 Denis Chertykov <denisc@overta.ru> | |
28322 | ||
28323 | * configure.in: Add support for avr target. | |
28324 | * configure: Rebuilt. | |
28325 | ||
28326 | * invoke.texi: Add AVR invocation docs. | |
28327 | * install.texi: Add information about AVR. | |
28328 | * md.texi: Add AVR constraint letters description. | |
28329 | * extend.texi: Add description for AVR specific attributes. | |
28330 | ||
28331 | 2000-02-16 Jason Merrill <jason@casey.cygnus.com> | |
28332 | ||
28333 | * fixinc/fixinc.svr4: Wrap byteorder.h with extern "C". | |
28334 | ||
28335 | 2000-02-16 Nick Clifton <nickc@cygnus.com> | |
28336 | ||
28337 | * emit-rtl.c (emit_insn): Move RTL check into make_insn_raw. | |
28338 | (make_insn_raw): Move RTL check here. | |
28339 | ||
28340 | 2000-02-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
28341 | ||
28342 | * version.c: Include gansidecl.h and version.h. | |
28343 | ||
28344 | * version.h: Wrap entire file in macro __GCC_VERSION_H__. | |
28345 | ||
28346 | * configure.in (gcc_version): When setting, narrow search to | |
28347 | lines containing `version_string'. | |
28348 | ||
28349 | * Makefile.in (mainversion): Likewise. | |
28350 | (GCC_H): New variable. | |
28351 | (gcc.h): Delete target. | |
28352 | (gcc.o, gccspec.o, cppspec.o): Depend on $(GCC_H), not gcc.h. | |
28353 | (version.o): Depend on version.h. | |
28354 | (dbxout.o): Don't depend on gcc.h. | |
28355 | ||
28356 | Wed Feb 16 15:04:49 2000 Hans-Peter Nilsson <hp@bitrange.com> | |
28357 | Michael Meissner <meissner@cygnus.com> | |
28358 | ||
28359 | * md.texi (Simple Constraints): Add item about whitespace. | |
28360 | * genoutput.c (strip_whitespace): New. | |
28361 | (scan_operands) [MATCH_OPERAND, MATCH_SCRATCH]: Call | |
28362 | strip_whitespace for constraints. | |
28363 | Test pointer using NULL, not 0. | |
28364 | ||
28365 | 2000-02-16 Alexandre Oliva <oliva@lsd.ic.unicamp.br> | |
28366 | ||
28367 | * cpplib.c (do_line): Pedwarn for #line > 32767. | |
28368 | ||
28369 | * c-lex.c (readescape): Warn about '\x', but do not reject it. | |
28370 | ||
28371 | 2000-02-15 Jonathan Larmour <jlarmour@redhat.co.uk> | |
28372 | ||
28373 | * gcc.c (default_compilers): Add new __GNUC_PATCHLEVEL__ define | |
28374 | to default cpp spec. | |
28375 | (do_spec_1): Add support for %v3 spec used by __GNUC_PATCHLEVEL__. | |
28376 | * cpp.texi: Document __GNUC_PATCHLEVEL__. | |
28377 | * cpp.1: Likewise. | |
28378 | ||
28379 | * objc/lang-specs.h: Add new __GNUC_PATCHLEVEL__ define to | |
28380 | default spec. | |
28381 | ||
28382 | 2000-02-15 Denis Chertykov <denisc@overta.ru> | |
28383 | ||
28384 | * configure.in: Add support for avr target. | |
28385 | ||
28386 | Wed Feb 16 03:21:43 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
28387 | ||
28388 | * sh.h (OVERRIDE_OPTIONS): Don't set sh_addr_diff_vec_mode. | |
28389 | (sh_addr_diff_vec_mode): Don't declare. | |
28390 | * sh.c (sh_addr_diff_vec_mode): Delete. | |
28391 | ||
28392 | Wed Feb 16 01:27:52 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
28393 | ||
28394 | * sh.md (mulsi3_highpart): Add REG_EQUAL note to last insn. | |
28395 | ||
28396 | Wed Feb 16 00:58:06 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
28397 | ||
28398 | * sh.md (udivsi3_i1, divsi3_i1, umulhisi3_i, mulhisi3_i): Name. | |
28399 | (smulsi3_highpart_i): Name. | |
28400 | (udivsi3): Wrap emitted insns in REG_LIBCALL / REG_RETVAL notes. | |
28401 | (divsi3, mulhisi3, umulhisi3, mulsidi3, umulsidi3): Likewise. | |
28402 | (smulsi3_highpart, umulsi3_highpart): Likewise. | |
28403 | ||
28404 | (mulsidi3_i, umulsidi3_i): Make rtl describe operation | |
28405 | correctly independent of endianness. | |
28406 | (mulsidi3, umulsidi3): Now define_insn. Hide details that | |
28407 | confuse the optimizers. | |
28408 | (mulsidi3+1, umulsidi3+1): New define_split. | |
28409 | ||
28410 | Tue Feb 15 23:22:26 2000 Andrew Haley <aph@cygnus.com> | |
28411 | ||
28412 | * config/sh/sh.md: Guard insn splits against illegal registers. | |
28413 | * config/sh/sh.h: Correct comment about macros. | |
28414 | ||
28415 | Tue Feb 15 22:30:36 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
28416 | Andrew MacLeod <amacleod@cygnus.com> | |
28417 | ||
28418 | * Makefile.in (lcm.o): Depend on insn-attr.h. | |
28419 | * basic-block.h (optimize_mode_switching): Declare. | |
28420 | * lcm.c (tm_p.h, insn-attr.h): #include. | |
28421 | (seginfo, bb_info): New structs. | |
28422 | (antic, transp, comp, delete, insert) : New file-scope static variables. | |
28423 | (new_seginfo, add_seginfo, make_preds_opaque, reg_dies): New functions. | |
28424 | (reg_becomes_live, optimize_mode_switching): Likewise. | |
28425 | * tm.texi: Add description of mode switching macros. | |
28426 | * toplev.c (rest_of_compilation): Call optimize_mode_switching. | |
28427 | ||
28428 | * sh-protos.h (remove_dead_before_cse): Remove prototype. | |
28429 | (fldi_ok, fpscr_set_from_mem): New prototypes. | |
28430 | * sh.h (OPTIMIZATION_OPTION): Remove sh_flag_remove_dead_before_cse set. | |
28431 | (CONST_DOUBLE_OK_FOR_LETTER_P, SECONDARY_INPUT_RELOAD_CLASS): | |
28432 | Disable fldi for (TARGET_SH4 && ! TARGET_FMOVD). | |
28433 | (sh_flag_remove_dead_before_cse): Remove declaration. | |
28434 | (NUM_MODES_FOR_MODE_SWITCHING, OPTIMIZE_MODE_SWITCHING): New macros. | |
28435 | (MODE_USES_IN_EXIT_BLOCK, MODE_NEEDED, MODE_AT_ENTRY): Likewise. | |
28436 | (MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise. | |
28437 | * sh.c (broken_move): Disable fldi for (TARGET_SH4 && ! TARGET_FMOVD). | |
28438 | (barrier_align): Allow for JUMP_INSNS containing a parallel. | |
28439 | (machine_dependent_reorg): Remove sh_flag_remove_dead_before_cse set. | |
28440 | (fldi_ok): New function. | |
28441 | (get_fpscr_rtx): Add fpscr_rtx as GC root. | |
28442 | (emit_sf_insn): Only generate fpu switches when optimize < 1. | |
28443 | (emit_df_insn): Likewise. | |
28444 | (expand_fp_branch, emit_fpscr_use, remove_dead_before_cse): Delete. | |
28445 | (sh_flag_remove_dead_before_cse): Delete. | |
28446 | (get_free_reg, fpscr_set_from_mem): New functions. | |
28447 | * sh.md (movdf, movsf): Remove no_new_pseudos code. | |
28448 | (return): Remove emit_fpscr_use / remove_dead_before_cse calls. | |
28449 | ||
28450 | 2000-02-15 Loren Rittle <ljrittle@acm.org> | |
28451 | ||
28452 | * ginclude/stddef.h: Correct usage of _BSD_RUNE_T_ for FreeBSD. | |
28453 | ||
28454 | 2000-02-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
28455 | ||
28456 | * Makefile.in (TREE_H, collect2.o, gcc.h, mips-tfile.o, cccp.o, | |
28457 | cpphash.o, cppinit.o, protoize.o, unprotoize.o): Depend on version.h. | |
28458 | ||
28459 | * cccp.c: Include version.h and/or don't declare `version_string'. | |
28460 | * collect2.c: Likewise. | |
28461 | * alpha.c: Likewise. | |
28462 | * arm/aof.h: Likewise. | |
28463 | * arm/coff.h: Likewise. | |
28464 | * arm/elf.h: Likewise. | |
28465 | * arm/pe.h: Likewise. | |
28466 | * arm/tcoff.h: Likewise. | |
28467 | * arm/telf.h: Likewise. | |
28468 | * arm/tpe.h: Likewise. | |
28469 | * arm/vxarm.h: Likewise. | |
28470 | * convex/convex.c: Likewise. | |
28471 | * i386/dgux.c: Likewise. | |
28472 | * i386/sun386.h: Likewise. | |
28473 | * m88k/m88k.c: Likewise. | |
28474 | * mcore/mcore-pe.h: Likewise. | |
28475 | * mips/mips.h: Likewise. | |
28476 | * romp/romp.h: Likewise. | |
28477 | * sh/sh.c: Likewise. | |
28478 | * cpphash.c: Likewise. | |
28479 | * cppinit.c: Likewise. | |
28480 | * dwarf2out.c: Likewise. | |
28481 | * dwarfout.c: Likewise. | |
28482 | * gcc.c: Likewise. | |
28483 | * gcc.h: Likewise. | |
28484 | * mips-tfile.c: Likewise. | |
28485 | * protoize.c: Likewise. | |
28486 | * toplev.c: Likewise. | |
28487 | * tree.h: Likewise. | |
28488 | ||
28489 | * version.c (version_string): Constify a char*. | |
28490 | ||
28491 | * version.h: New file. | |
28492 | ||
28493 | 2000-02-14 Nick Clifton <nickc@cygnus.com> | |
28494 | ||
28495 | * configure.in: Add mcore-elf and mcore-pe targets. | |
28496 | * configure: Regenerate. | |
28497 | ||
28498 | * NEWS: Add note that MCore port has been contributed. | |
28499 | ||
28500 | * invoke.texi: Document command line switches for MCore port. | |
28501 | * install.texi: Add MCore to list of supported targets. | |
28502 | ||
28503 | 2000-02-14 Geoff Keating <geoffk@cygnus.com> | |
28504 | ||
28505 | * collect2.c (main) [COLLECT_EXPORT_LIST]: If we have frames, | |
28506 | then we will need to import the frame handling functions. | |
28507 | (scan_prog_file) [COLLECT_EXPORT_LIST]: We will also need | |
28508 | to import the frames themselves. | |
28509 | ||
28510 | Mon Feb 14 13:31:01 2000 Stan Cox <scox@cygnus.com> | |
28511 | Jason Eckhardt <jle@cygnus.com> | |
28512 | ||
28513 | * basic_block.h: Added prototype for reorder_basic_blocks. | |
28514 | * toplev.c: Changes to add -freorder-blocks and graph dump after | |
28515 | block reordering is done. | |
28516 | * flow.c (reorder_block_def): New structure for use during block | |
28517 | reordering. | |
28518 | (REORDER_BLOCK_*): New macros to access members of above structure. | |
28519 | (skip_insns_between_block, get_common_dest, chain_reorder_blocks, | |
28520 | make_reorder_chain, fixup_reorder_chain, reorder_basic_blocks): New | |
28521 | functions for block reordering. | |
28522 | ||
28523 | Mon Feb 14 11:24:44 2000 Hans-Peter Nilsson <hp@bitrange.com> | |
28524 | ||
28525 | * gcc.texi (Passes): Fix typo. | |
28526 | * md.texi (Standard Names): Ditto. | |
28527 | * tm.texi (Storage Layout): Ditto. | |
28528 | ||
28529 | 2000-02-13 Zack Weinberg <zack@wolery.cumb.org> | |
28530 | ||
28531 | * cpplib.c (do_define): Only free the old definition if it | |
28532 | actually had one. | |
28533 | ||
28534 | 2000-02-13 Neil Booth <NeilB@earthling.net> | |
28535 | ||
28536 | * cppfiles.c (read_and_prescan): When emitting deferred | |
28537 | newlines, test speccase[] again instead of checking each | |
28538 | possible whitespace character in turn. When we encounter \r, | |
28539 | look behind for \n first, then ahead. | |
28540 | ||
28541 | 2000-02-13 Zack Weinberg <zack@wolery.cumb.org> | |
28542 | ||
28543 | * cse.c (cse_altered): New internal flag. | |
28544 | (cse_insn): Set it if we changed an insn. | |
28545 | (cse_main): Clear cse_altered before each basic block. | |
28546 | Only garbage collect if cse_altered is true afterward. | |
28547 | ||
28548 | Sun Feb 13 14:12:28 2000 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
28549 | ||
28550 | * sparc/sol2.h (LIB_SPEC): Link -ldl if profiling. | |
28551 | ||
28552 | Sun Feb 13 13:21:55 2000 Jeffrey A Law (law@cygnus.com) | |
28553 | ||
28554 | * combine.c (simplify_comparison): Fix typo. | |
28555 | ||
28556 | Sun Feb 13 12:57:52 2000 Neil Booth <NeilB@earthling.net> | |
28557 | ||
28558 | * prefix.c (concat, lookup_key): Use xmalloc and xrealloc | |
28559 | consistently. | |
28560 | ||
28561 | 2000-02-13 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
28562 | ||
28563 | * flow.c (flow_loop_tree_node_add): Use better algorithm by passing | |
28564 | previously inserted node instead of root node. Caller changed. | |
28565 | ||
28566 | 2000-02-13 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
28567 | ||
28568 | * basic-block.h (FLOW_LOOP_FIRST_BLOCK, FLOW_LOOP_LAST_BLOCK): Delete. | |
28569 | ||
28570 | 2000-02-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
28571 | ||
28572 | * crtstuff.c (__do_global_ctors_aux, __reg_frame_ctor, | |
28573 | __dereg_frame_dtor): Add prototype argument. | |
28574 | ||
28575 | * gthr-dce.h (__gthread_active_p, __gthread_once): Likewise. | |
28576 | ||
28577 | * gthr-posix.h (__gthread_active_p, __gthread_once): Likewise. | |
28578 | ||
28579 | * gthr-solaris.h (__gthread_active_p, __gthread_once): Likewise. | |
28580 | ||
28581 | * gthr-vxworks.h (__gthread_once): Likewise. | |
28582 | ||
28583 | * gthr-win32.h (__gthread_active_p, __gthread_once): Likewise. | |
28584 | ||
28585 | Sat Feb 12 01:44:26 MET 2000 Jan Hubicka <jh@suse.cz> | |
28586 | ||
28587 | * i386.c (ix86_emit_restore_regs_using_mov): Break out from ... | |
28588 | (ix86_expand_epilogue): ... here. Use mov instead of add to restore | |
28589 | stack pointer in functions w/o saved registers, output LEAVE more often | |
28590 | on TARGET_USE_LEAVE machines. | |
28591 | ||
28592 | 2000-02-07 Dmitri Makarov <dim@wrs.com> & Bernd Schmidt <bernds@redhat.com> | |
28593 | ||
28594 | * config/arm/arm.c (arm_init_cumulative_args); New function: | |
28595 | Initlaise the CUMULATIE_ARGS strcuture for a function | |
a1f300c0 | 28596 | definition. |
c30d43bf JL |
28597 | (arm_function_arg): New function: Determine where to place a |
28598 | function's argument. Also handles deciding the function's | |
28599 | call cookie. | |
28600 | (current_file_function_operand): New function: Return true if | |
28601 | the symbol is a function which has already been compiled. | |
28602 | (arm_is_long_call_p): New function: Return true if the | |
28603 | indicated function should be called via a long call. | |
28604 | (arm_valid_type_attribute_p): New function: Return true if the | |
28605 | attribute is a valid, arm specific, attribute. | |
28606 | (arm_comp_type_attribute): New function: Return true if the | |
f63d1bf7 | 28607 | two types have compatible, arm specific, attributes. |
c30d43bf JL |
28608 | |
28609 | * config/arm/arm.h (CUMULATIVE_ARGS): Redefine to be a | |
28610 | structure. | |
28611 | (FUNCTION_ARG): Redefine to call arm_function_arg. | |
28612 | (FUNCTION_ARG_PARTIAL_NREGS): Redefine to use correct | |
28613 | structure field. | |
28614 | (INIT_CUMULATIVE_ARGS): Redefine to call | |
28615 | arm_init_cumulative_args. | |
28616 | (FUNCTION_ARG_ADVANCE): Redefine to use correct structure | |
28617 | field. | |
28618 | (SETUP_INCOMING_VARARGS): Redefine to use correct structure | |
28619 | field. | |
28620 | (ARM_MARK_NEARBY_FUNCTION): New macro: Mark already compiled | |
28621 | functions. | |
28622 | (ENCODE_SECTION): Add call to ARM_MARK_NEARBY_FUNCTION. | |
28623 | (VALID_MACHINE_TYPE_ATTRIBUTE): Define. | |
28624 | (COMP_TYPE_ATTRIBUTES): Define. | |
28625 | ||
28626 | * config/arm/arm.md (call): Call arm_is_long_call_p to decide | |
28627 | if a long call is needed. | |
28628 | (call_value): Call arm_is_long_call_p to decide if a long call | |
28629 | is needed. | |
28630 | (call_symbol): Call arm_is_long_call_p to decide if a long call | |
28631 | is needed. | |
28632 | ||
28633 | * config/arm/arm-protos.h: Add prototype for arm_is_long_call_p. | |
28634 | ||
28635 | 2000-02-11 Denis Chertykov <denisc@overta.ru> | |
28636 | ||
28637 | * README.AVR: New file with information about the avr ports. | |
28638 | * config/avr: New directory with avr port files. | |
28639 | ||
28640 | 2000-02-11 Andreas Jaeger <aj@suse.de> | |
28641 | ||
28642 | * fixinc/Makefile.in (FIXINC_DEFS): Remove unneeded @fixinc_defs@. | |
28643 | ||
28644 | 2000-02-11 Zack Weinberg <zack@wolery.cumb.org> | |
28645 | ||
28646 | * cpphash.c: Fix formatting, update commentary. | |
28647 | (dump_definition): Take three separate arguments instead of a | |
28648 | MACRODEF structure argument. | |
28649 | * cpphash.h: Update prototype of dump_definition. | |
28650 | * cppinit.c (cpp_finish): Update call of dump_definition. | |
28651 | ||
28652 | * cpplib.c (do_define): Always create new hash entry with | |
28653 | T_MACRO type. Remove redundant check for redefinition of | |
28654 | poisoned identifier. Update call of dump_definition. | |
28655 | (do_undef): Don't call check_macro_name. Rename sym_length to | |
28656 | len. | |
28657 | (do_error, do_warning): Don't use copy_rest_of_line or | |
28658 | SKIP_WHITE_SPACE. | |
28659 | (do_warning): Don't use pedwarn for the actual warning, | |
28660 | only the notice about its not being in the standard. (Fixes | |
28661 | bug with #warning in system headers.) | |
28662 | (do_ident): Stricter argument checking - accept only a single | |
28663 | string after #ident. Also, macro-expand the line. | |
28664 | (do_xifdef): Use cpp_defined. De-obfuscate. | |
28665 | ||
28666 | (do_pragma): Split out specific pragma handling to separate | |
28667 | functions. Use get_directive_token. Update commentary. Do | |
28668 | not pass on #pragma once or #pragma poison to the front end. | |
28669 | (do_pragma_once, do_pragma_implementation, do_pragma_poison, | |
28670 | do_pragma_default): New. | |
28671 | ||
28672 | Feb 11 12:30:53 2000 Jeffrey A Law (law@cygnus.com) | |
28673 | ||
28674 | * jump.c (jump_optimize_1): The first operand in a relational | |
28675 | can be a CONST_INT. | |
28676 | * optabs.c (emit_conditional_move): Handle relationals which | |
28677 | have a known true/false result. | |
28678 | ||
28679 | 2000-02-11 Geoff Keating <geoffk@cygnus.com> | |
28680 | ||
28681 | * function.c (thread_prologue_and_epilogue_insns): Don't insert | |
28682 | a RETURN insn into a block which already ends with a jump. | |
28683 | ||
28684 | 2000-02-11 Geoff Keating <geoffk@cygnus.com> | |
28685 | ||
28686 | * haifa-sched.c (BUF_LEN): Increase a lot. | |
28687 | ||
28688 | 2000-02-11 Nick Clifton <nickc@cygnus.com> | |
28689 | ||
28690 | * configure.in: Add tm_p_file specification for thumb targets. | |
28691 | * configure: Regenerate. | |
28692 | ||
28693 | * config/arm/thumb-protos.h: New file: Prototypes for exported | |
28694 | functions defined in thumb.c. | |
28695 | ||
28696 | 2000-02-11 Robert Lipe <robertl@sco.com> | |
28697 | ||
28698 | * Makefile.in (bootstrap-lean): Remove additional files. | |
28699 | (bootstrap2-lean): Likewise. | |
28700 | (VOL_FILES): List of files for above. | |
28701 | ||
28702 | 2000-02-11 Nathan Sidwell <nathan@acm.org> | |
28703 | ||
28704 | * cpphash.c (special_symbol): Remove spurious argument to | |
28705 | cpp_lookup. | |
28706 | ||
28707 | 2000-02-11 Joel Sherrill (joel@OARcorp.com> | |
28708 | ||
28709 | * configure.in: (i*86-*-rtems*): Swapped elf and coff | |
28710 | stanzas. | |
28711 | * configure: Rebuilt. | |
28712 | ||
28713 | 2000-02-11 Rodney Brown <RodneyBrown@pmsc.com> | |
28714 | ||
28715 | * pa-protos.h: Wrap function_arg_padding in TREE_CODE #ifdef. | |
28716 | ||
28717 | Fri Feb 11 02:59:05 2000 Jeffrey A Law (law@cygnus.com) | |
28718 | ||
28719 | * pa.c, pa.h: Remove trigraph sequences within comments. | |
28720 | ||
28721 | Fri Feb 11 02:51:56 2000 Pavel Roskin <pavel_roskin@geocities.com> | |
28722 | ||
28723 | * invoke.texi (PPC Options): -mno-new-mnenomics -> -mold-mnemonics. | |
28724 | ||
28725 | Fri Feb 11 02:48:30 2000 Brad Lucier (lucier@math.purdue.edu) | |
28726 | ||
28727 | * sbitmap.h: Make SBITMAP_ELT_BITS unsigned. | |
28728 | ||
28729 | 2000-02-11 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
28730 | ||
28731 | * config/c4x/c4x.c (fp_zero_operand): Check for CONST_DOUBLE. | |
28732 | ||
28733 | 2000-02-11 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
28734 | ||
28735 | * config/c4x/c4x.h (ASM_GLOBALIZE_LABEL): Use c4x_global_label. | |
28736 | (ASM_OUTPUT_EXTERNAL): Use c4x_external_ref. | |
28737 | (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise. | |
28738 | (ASM_FILE_END): Use c4x_file_end. | |
28739 | * config/c4x/c4x.c (c4x_global_label): New function. | |
28740 | (c4x_external_ref, c4x_file_end): Likewise. | |
28741 | ||
28742 | * config/c4x/c4x-protos.h (c4x_global_label): Add prototype. | |
28743 | (c4x_external_ref, c4x_end_file): Likewise. | |
28744 | ||
28745 | 2000-02-10 Zack Weinberg <zack@wolery.cumb.org> | |
28746 | ||
28747 | * cppexp.c: Don't include cpphash.h. | |
28748 | (parse_charconst, cpp_lex): Use cpp_defined. | |
28749 | (cpp_lex): Use get_directive_token throughout. Remove | |
28750 | unnecessary cases from switch. Move assertion-handling code | |
28751 | down to OTHER case. | |
28752 | (cpp_parse_expr): If we see '+' or '-', check the context to | |
28753 | determine if they are unary or binary operators. Streamline | |
28754 | the jumps a bit. Do not call skip_rest_of_line. | |
28755 | ||
28756 | * cpplib.c: Make skip_rest_of_line and cpp_skip_hspace | |
28757 | static. Export get_directive_token. Update commentary. | |
28758 | (cpp_defined): New function. | |
28759 | (do_define): Remove reference to T_PCSTRING. Call | |
28760 | free_definition to release memory for old definition, when | |
28761 | redefining a macro. | |
28762 | (eval_if_expression): Set only_seen_white to 0 before calling | |
28763 | cpp_parse_expr. Call skip_rest_of_line after it returns. | |
28764 | (cpp_read_check_assertion): Don't preserve a pointer into the | |
28765 | token buffer across a call to cpp_get_token. | |
28766 | ||
28767 | * Makefile.in (cppexp.o): Don't depend on cpphash.h. | |
28768 | * cppfiles.c (redundant_include_p): Use cpp_defined. | |
28769 | * cpphash.c (free_definition): New function. | |
28770 | (delete_macro): Use it. Update commentary. | |
28771 | * cpphash.h: Typedef HASHNODE here. Prototype cpp_lookup and | |
28772 | free_definition. | |
28773 | * cpplib.h: Don't typedef HASHNODE here. Delete T_PCSTRING | |
28774 | from enum node_type. Prototype cpp_defined and get_directive_token. | |
28775 | Don't prototype cpp_lookup, skip_rest_of_line, or cpp_skip_hspace. | |
28776 | ||
28777 | * fix-header.c (check_macro_names): Use cpp_defined. | |
28778 | (read_scan_file): Set inhibit_warnings and inhibit_errors in | |
28779 | the options structure. | |
28780 | ||
28781 | 2000-02-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | |
28782 | ||
28783 | * c-pragma.c (maximum_field_alignment): Remove duplicate declaration. | |
28784 | ||
28785 | 2000-02-10 Jason Merrill <jason@casey.cygnus.com> | |
28786 | ||
28787 | * dwarf2out.c (add_abstract_origin_attribute): Check TREE_CODE (origin) | |
28788 | rather than die->die_tag. | |
28789 | ||
28790 | Thu Feb 10 16:26:49 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
28791 | ||
28792 | * combine.c (make_extraction, force_to_mode): Avoid warning on | |
28793 | mixed-signedness conditionals. | |
28794 | (make_field_assignment, nonzero_bits): Likewise. | |
28795 | * expmed.c (store_fixed_bit_field): ALIGN arg now unsigned. | |
28796 | (store_split_bit_field, extract_split_bit_field): Likewise. | |
28797 | (extract_fixed_bit_field, store_bit_field, | |
28798 | * expr.c: Change alignment to be unsigned everywhere. | |
28799 | (move_by_pieces, store_constructor_field, store_constructor): | |
28800 | Alignment parm is unsigned. | |
28801 | (emit_block_move, emit_group_load, emit_group_store): Likewise. | |
28802 | (clear_storage, emit_push_insn, compare_from_rtx): Likewise. | |
28803 | (do_compare_rtx_and_jump): Likewise. | |
28804 | (move_by_pieces_ninsns, clear_by_pieces): Likewise. | |
28805 | Compare align with GET_MODE_ALIGNMENT. | |
28806 | (expand_expr_unaligned): Pointer to alignment is pointer to unsigned. | |
28807 | (get_inner_reference): Likewise. | |
28808 | (copy_blkmode_from_reg, emit_push_insn): Remove unneeded casts. | |
28809 | (expand_assignment): Local vars for alignment now unsigned. | |
28810 | (store_constructor, store_field, expand_expr, do_jump): Likewise. | |
28811 | (do_compare_and_jump): Likewise. | |
28812 | (store_field): Call new function expr_align. | |
28813 | * expr.h (emit_block_move, emit_group_load, emit_group_store): | |
28814 | Alignment arg now unsigned. | |
28815 | (clear_storage, emit_push_insn, compare_from_rtx): Likewise. | |
28816 | (do_compare_rtx_and_jump, store_bit_field): Likewise. | |
28817 | (extract_bit_field): Likewise. | |
28818 | * fold-const.c (add_double): Add cast to eliminate signedness warning. | |
28819 | * machmode.h (GET_MODE_ALIGNMENT): Result is unsigned. | |
28820 | (get_best_mode): Alignment arg is unsigned. | |
28821 | * rtl.h (move_by_pieces): Likewise. | |
28822 | * store-layout.c (maximum_field_alignment, set_alignment): | |
28823 | Now unsigned. | |
28824 | (layout_decl): Alignment arg is now unsigned. | |
28825 | Remove unneeded casts. | |
28826 | (layout_record, layout_union, layout_type): Remove unneeded casts. | |
28827 | Local alignment variables now unsigned. | |
28828 | (get_best_mode): Alignment arg now unsigned. | |
28829 | * tree.c (expr_align): New function. | |
28830 | * tree.h (expr_align): Likewise. | |
28831 | (maximum_field_alignment, set_alignment): Now unsigned. | |
28832 | (get_inner_reference): Alignment argument is now pointer to unsigned. | |
28833 | * varasm.c (assemble_variable): Add cast to eliminate warning. | |
28834 | ||
28835 | Thu Feb 10 12:56:47 2000 Jim Wilson <wilson@cygnus.com> | |
28836 | ||
28837 | * expmed.c (store_bit_field): If op0 and fieldmode are the same size, | |
28838 | then store directly into op0. | |
28839 | ||
28840 | * calls.c (expand_call): When emitting a NOTE_INSN_SETJMP, search for | |
28841 | the CALL_INSN, and emit the note immediately after it. | |
28842 | ||
28843 | 2000-02-10 Nick Clifton <nickc@cygnus.com> | |
28844 | ||
28845 | * config/arm/thumb.md (epilogue): Include a (return) in the | |
28846 | generated insn, and emit it using emit_jump_insn not | |
28847 | emit_insn. | |
28848 | ||
28849 | Thu Feb 10 18:28:59 MET 2000 Jan Hubicka <jh@suse.cz> | |
28850 | ||
28851 | * function.c (assign_temp): Change zero-sized arrays to size 1. | |
28852 | * integrate.c (expand_inline_function): Do not update | |
28853 | stack_alignment_needed | |
28854 | * i386.c (compute_frame_size): Remove #ifdef PREFERRED_FRAME_BOUNDARY, | |
28855 | add some sanity checking, remove optimization for function with | |
28856 | zero frame size. | |
28857 | ||
28858 | 2000-02-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
28859 | ||
28860 | * flow.c (mark_regs_live_at_end): Delete unused variables. | |
28861 | ||
28862 | * ggc-page.c (ggc_page_print_statistics): bzero -> memset. | |
28863 | ||
28864 | * integrate.c (copy_rtx_and_substitute): Wrap variable `alignment' | |
28865 | in macro FRAME_GROWS_DOWNWARD. | |
28866 | ||
28867 | * stmt.c (expand_end_bindings): Delete unused variable. | |
28868 | ||
28869 | * unroll.c (iteration_info): Mark parameter `loop' with | |
28870 | ATTRIBUTE_UNUSED. | |
28871 | ||
28872 | 2000-02-10 Alexandre Oliva <oliva@lsd.ic.unicamp.br> | |
28873 | ||
28874 | * fixinc/server.c (load_data): Return NULL if the marker line is | |
28875 | not found. | |
28876 | (run_shell): If load_data returns NULL, retry the command once, in | |
28877 | a new shell. | |
28878 | ||
28879 | * configure: Rebuilt. | |
28880 | ||
28881 | 2000-02-09 Bruce Korb <bkorb@gnu.org> | |
28882 | ||
28883 | * gcc/fixincludes: ** DELETED ** | |
28884 | * gcc/fixcpp: ** DELETED ** | |
28885 | * gcc/fixinc-nt.sed: ** DELETED ** | |
28886 | * gcc/just-fixinc: ** DELETED ** | |
28887 | * gcc/Makefile.in: Removed out-dated commentary | |
28888 | * gcc/configure.in: Removed fast-fixincludes disablement. | |
28889 | * MAINTAINERS(Ian Taylor) moved to "Write after approval" group. | |
28890 | ||
28891 | 2000-02-09 Clinton Popetz <cpopetz@cygnus.com> | |
28892 | * function.c (thread_prologue_and_epilogue_insns): Uncomment | |
28893 | last change. | |
28894 | ||
28895 | 2000-02-09 Richard Henderson <rth@cygnus.com> | |
28896 | ||
28897 | * jump.c (delete_insn): Don't delete user labels at -O0. | |
28898 | ||
28899 | 2000-02-09 Robert Lipe <robertl@sco.com> | |
28900 | ||
28901 | * Makefile.in (gen-protos): Don't depend on HOST_LIBDEPS. | |
28902 | Don't link with HOST_LIBS. | |
28903 | ||
28904 | 2000-02-09 Zack Weinberg <zack@wolery.cumb.org> | |
28905 | ||
28906 | * configure.in: Correct --help text for --with-dwarf2. | |
28907 | Put tm-dwarf2.h after other tm files, if it's requested. | |
28908 | * configure: Regenerate. | |
28909 | * config/tm-dwarf2.h: #undef PREFERRED_DEBUGGING_TYPE before | |
28910 | defining it. | |
28911 | ||
28912 | 2000-02-09 Zack Weinberg <zack@wolery.cumb.org> | |
28913 | ||
28914 | * cpplib.h: Provide HASHNODE typedef and forward decl of | |
28915 | struct hashnode only. Kill cpp_hashnode typedef. MACRODEF, | |
28916 | DEFINITION, struct hashnode, struct macrodef, struct | |
28917 | definition, scan_decls prototype, default defn of | |
28918 | INCLUDE_LEN_FUDGE moved elsewhere. | |
28919 | ||
28920 | * cpphash.h: MACRODEF, DEFINITION, struct macrodef, struct | |
28921 | definition, and struct hashnode moved here. Remove the unused | |
28922 | 'predefined' field from struct definition. Replace the 'args' | |
28923 | union with its sole member. All users updated (cpphash.c). | |
28924 | Delete HASHSTEP and MAKE_POS macros, and hashf prototype. Add | |
28925 | multiple include guard. | |
28926 | ||
28927 | * cpphash.c (hashf): Make static; use better algorithm; drop | |
28928 | HASHSIZE parameter; return an unsigned int. | |
28929 | (cpp_lookup): Drop HASH parameter. PFILE parameter is | |
28930 | used. Calculate HASHSIZE modulus here. | |
28931 | (cpp_install): Drop HASH parameter. Calculate HASHSIZE modulus | |
28932 | here. | |
28933 | (create_definition): Drop PREDEFINITION parameter. | |
28934 | * cpplib.c (do_define): Don't calculate a hash value here. | |
28935 | Don't pass (keyword == NULL) to create_definition. | |
28936 | ||
28937 | * scan.h: Prototype scan_decls here. | |
28938 | * cppfiles.c: Move INCLUDE_LEN_FUDGE default defn here. | |
28939 | * cppexp.c, cppfiles.c, cppinit.c, cpplib.c, fix-header.c: All | |
28940 | callers of cpp_lookup and cpp_install updated. | |
28941 | ||
28942 | * cpphash.c (macarg): Hoist all the flag diddling out of the | |
28943 | function... | |
28944 | (macroexpand): ... and out of the loop that calls macarg. | |
28945 | Skip over the initial paren before macro arguments with | |
28946 | cpp_get_non_space_token; point may be some distance before | |
28947 | that paren. Abort if it's not there. | |
28948 | ||
28949 | * cpplib.c (parse_clear_mark): Delete function. | |
28950 | (parse_set_mark, parse_goto_mark): Make static. | |
28951 | (ACTIVE_MARK_P): New macro. | |
28952 | (skip_block_comment, skip_line_comment): Do not bump the line | |
28953 | if ACTIVE_MARK_P is true. | |
28954 | (cpp_pop_buffer): The buffer to be popped may not have an | |
28955 | active mark. | |
28956 | (cpp_get_token): When looking for the initial paren before | |
28957 | macro arguments, only set a mark in a file buffer, Always | |
28958 | return to that mark before proceeding to call macroexpand or | |
28959 | return a NAME token. | |
28960 | ||
28961 | * cpplib.h: Remove prototypes of parse_set_mark, | |
28962 | parse_clear_mark, parse_goto_mark. | |
28963 | (struct cpp_options): Rename 'put_out_comments' to | |
28964 | 'discard_comments' and invert its sense. | |
28965 | * cppinit.c, cpphash.c, cpplib.c: All users of | |
28966 | put_out_comments changed to use discard_comments, with | |
28967 | opposite sense. | |
28968 | ||
28969 | 2000-02-09 Clinton Popetz <cpopetz@cygnus.com> | |
28970 | ||
28971 | * function.c (thread_prologue_and_epilogue_insns): Don't delete | |
28972 | the edge from a block that both jumps and falls through to the | |
28973 | fallthru block. | |
28974 | ||
28975 | 2000-02-09 Scott Bambrough <scottb@netwinder.org> | |
28976 | ||
28977 | * config/arm/arm.md (movsi): In PIC mode, make sure that a | |
28978 | constant source address is legitimate. | |
28979 | ||
28980 | 2000-02-09 Philip Blundell <pb@futuretv.com> | |
28981 | ||
28982 | * config/arm/arm.c (legitimize_pic_address): Handle LABEL_REF | |
28983 | correctly. | |
28984 | ||
28985 | * config/arm/arm.h (LEGITIMATE_CONSTANT_P): Allow anything when | |
28986 | generating PIC. | |
28987 | (LEGITIMATE_PIC_OPERAND): Disallow references to labels. | |
28988 | ||
28989 | 2000-02-09 Zack Weinberg <zack@wolery.cumb.org> | |
28990 | ||
28991 | * cpplib.c (cpp_define, cpp_undef): Make sure the stacked buffer | |
28992 | ends with a newline and a NUL. Don't be so clever manipulating | |
28993 | strings. | |
28994 | ||
28995 | Wed Feb 9 14:18:08 MET 2000 Jan Hubicka <jh@suse.cz> | |
28996 | ||
28997 | * reload1.c (reload) Align stack frame to cfun->stack_alignment_needed, | |
28998 | not to BIGGEST_ALIGNMENT. | |
28999 | ||
29000 | 2000-02-08 Geoff Keating <geoffk@cygnus.com> | |
29001 | ||
29002 | * dwarf2.h (DW_CFA_GNU_negative_offset_extended): New constant. | |
29003 | * dwarf2out.c (dwarf_cfi_name): Print name of new constant. | |
29004 | (reg_save): Use DW_CFA_GNU_negative_offset_extended when needed. | |
29005 | (output_cfi): Handle output of DW_CFA_GNU_negative_offset_extended. | |
29006 | * frame.c (execute_cfa_insn): Handle | |
29007 | DW_CFA_GNU_negative_offset_extended. | |
29008 | ||
29009 | 2000-02-08 Richard Henderson <rth@cygnus.com> | |
29010 | ||
29011 | * flow.c (tidy_fallthru_edges): Split out from ... | |
29012 | (delete_unreachable_blocks): ... here. | |
29013 | (find_basic_blocks): Use it. | |
29014 | ||
29015 | Tue Feb 8 15:51:50 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
29016 | ||
29017 | * stmt.c (expand_decl): Do set RTX_UNCHANGING_P for TREE_READONLY. | |
29018 | ||
29019 | 2000-02-08 Zack Weinberg <zack@wolery.cumb.org> | |
29020 | ||
29021 | * Makefile.in (GEN_PROTOS_OBJS): Remove libcpp.a. | |
29022 | (gen_protos.o): Don't depend on cpplib.h or cpphash.h. | |
29023 | (fix-header.o): Don't depend on cpphash.h. | |
29024 | ||
29025 | * scan.c (hashstr): New function. | |
29026 | * scan.h: Prototype it. | |
29027 | * fix-header.c: Don't include cpphash.h. Use hashstr. | |
29028 | * gen-protos.c: Don't include cpphash.h or cpplib.h. Use | |
29029 | hashstr. Report hash table statistics. Add private | |
29030 | definition of xrealloc. | |
29031 | ||
29032 | 2000-02-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
29033 | ||
29034 | * i386.h (TARGET_SWITCHES): Fix typo in option name. | |
29035 | ||
29036 | 2000-02-08 Clinton Popetz <cpopetz@cygnus.com> | |
29037 | ||
29038 | * function.c (thread_prologue_and_epilogue_insns): Don't replace | |
29039 | jumps with returns unless they are jumps to the fallthru block. | |
29040 | ||
29041 | Tue Feb 8 07:53:55 2000 Jan Hubicka <jh@suse.cz> | |
29042 | ||
f63d1bf7 | 29043 | * i386.md (addqi3_cc): Fix constraints. |
c30d43bf JL |
29044 | |
29045 | Tue Feb 8 01:39:45 2000 Hans-Peter Nilsson <hp@bitrange.com> | |
29046 | ||
29047 | * function.c (emit_return_into_block): Wrap in #ifdef HAVE_return. | |
29048 | ||
29049 | 2000-02-07 Mark Mitchell <mark@codesourcery.com> | |
29050 | ||
29051 | * cpplib.c (cpp_get_token): Call CPP_BUMP_LINE after reading a | |
29052 | carriage return after a macro name. | |
29053 | ||
29054 | 2000-02-07 Fred Fish <fnf@be.com> | |
29055 | ||
29056 | * i386/beos-elf.h: (ASM_IDENTIFY_GCC): Define to nothing | |
29057 | so the gcc2_compiled symbol doesn't confuse BeOS debuggers. | |
29058 | ||
29059 | 2000-02-07 Zack Weinberg <zack@wolery.cumb.org> | |
29060 | ||
29061 | * cppfiles.c (deps_output): Count spacers in deps_column. | |
29062 | ||
29063 | 2000-02-07 Neil Booth <NeilB@earthling.net> | |
29064 | ||
29065 | * cppinit.c (initialize_dependency_output): If there is no | |
29066 | suffix, don't try to look for known suffixes. Use strrchr. | |
29067 | (cpp_start_read): Remove duplicate initialization. | |
29068 | ||
29069 | Mon Feb 7 18:36:41 MET 2000 Jan Hubicka <jh@suse.cz> | |
29070 | ||
29071 | * calls.c (compute_argument_block_size): New argument | |
29072 | preferred_stack_boundary. | |
29073 | (expand_call): update cfun->preferred_stack_boundary, update call of | |
29074 | compute_argument_block_size | |
29075 | (emit_library_call): Increate cfun->preferred_stack_boundary | |
29076 | to PREFERRED_STACK_BOUNDARY | |
29077 | (emit_library_call_value): Likewise. | |
29078 | * explow.c (allocate_dynamic_stack_spave): Likewise. | |
29079 | * function.c (prepare_function_start): Set | |
29080 | cfun->preferred_stack_boundary | |
29081 | * function.h (struct function): Add preferred_stack_boundary field. | |
29082 | * integrate.c (expand_inline_function): Update | |
29083 | cfun->preferred_stack_boundary and cfun->stack_alignment_needed. | |
29084 | (copy_rtx_and_substitute): Align frame to stack_alignment_needed only. | |
29085 | * i386.c (compute_frame_size): Use cfun->preferred_stack_boundary. | |
29086 | ||
29087 | 2000-02-06 Zack Weinberg <zack@wolery.cumb.org> | |
29088 | ||
29089 | * cpplib.c (my_strerror, cpp_error, cpp_error_with_line, | |
29090 | cpp_error_from_errno, cpp_warning, cpp_warning_with_line, | |
29091 | cpp_pedwarn, cpp_pedwarn_with_line, | |
29092 | cpp_pedwarn_with_file_and_line): Move to cpperror.c. | |
29093 | (cpp_print_file_and_line, v_cpp_error, v_cpp_warning, | |
29094 | v_cpp_error_with_line, v_cpp_warning_with_line, | |
29095 | cpp_message_from_errno, cpp_perror_with_name): Delete. | |
29096 | ||
29097 | * cpperror.c (cpp_print_containing_files): Take starting | |
29098 | buffer as argument. | |
29099 | (cpp_file_line_for_message): Rename to cpp_print_file_and_line. | |
29100 | (v_cpp_message): Now called directly by all entry points. | |
29101 | Remove -1 case. | |
29102 | (cpp_pfatal_with_name, cpp_message): Delete. | |
29103 | (cpp_notice_from_errno, cpp_ice): New functions. | |
29104 | (cpp_notice): Is now for reporting error conditions, just | |
29105 | without an associated file. | |
29106 | (cpp_error, cpp_error_with_line): Don't do anything if | |
29107 | opts->inhibit_errors is on. | |
29108 | (cpp_pedwarn_with_file_and_line): Take column argument also. | |
29109 | ||
29110 | * cpplib.h: Update prototypes of exported functions. | |
29111 | (struct cpp_options): Add inhibit_errors. | |
29112 | ||
29113 | * cppalloc.c, cppfiles.c: Use fprintf not cpp_notice for | |
29114 | non-error messages. Include intl.h. | |
29115 | ||
29116 | * cppinit.c, cppmain.c: Likewise. Also, use | |
29117 | cpp_notice_from_errno instead of cpp_perror_with_name or | |
29118 | cpp_pfatal_with_name, and cpp_notice instead of cpp_message. | |
29119 | ||
29120 | * cppexp.c, cpphash.c, cppinit.c, cpplib.c: Use cpp_ice to | |
29121 | report internal errors. | |
29122 | ||
29123 | * cpplib.c (do_define): Switch bcopy to memcpy. | |
29124 | Give cpp_pedwarn_with_file_and_line a dummy column argument. | |
29125 | ||
29126 | * cpplib.c (copy_rest_of_line): Revert previous change: don't | |
29127 | bail out early if we hit a line comment. | |
29128 | ||
29129 | 2000-02-06 Richard Henderson <rth@cygnus.com> | |
29130 | ||
29131 | * flow.c (flow_delete_insn, make_edge, remove_edge): Export. | |
29132 | * basic-block.h: Declare them. | |
29133 | * emit-rtl.h (active_insn_p): New. | |
29134 | (next_active_insn, prev_active_insn): Use it. | |
29135 | * rtl.h: Declare it. | |
29136 | * function.c (emit_return_into_block): New. | |
29137 | (thread_prologue_and_epilogue_insns): Insert return insns instead | |
29138 | of epilogues when possible. | |
29139 | * jump.c (jump_optimize_1): Remove code to insert a return insn | |
29140 | on the fallthru to the exit block. | |
29141 | ||
29142 | * i386.c (ix86_can_use_return_insn_p): Fail for large poped args | |
29143 | and for non-empty stack frames. | |
29144 | * i386.md (return): Expand to return-pop as needed. | |
29145 | ||
29146 | 2000-02-06 Richard Henderson <rth@cygnus.com> | |
29147 | ||
29148 | * simplify-rtx.c (simplify_relational_operation): Canonicalize | |
29149 | constant to op1 for testing. | |
29150 | ||
29151 | 2000-02-06 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
29152 | ||
29153 | * config/c4x/c4x.md (*ldi_on_overflow): New pattern. | |
29154 | (fixuns_truncqfqi2): Use it. | |
29155 | ||
29156 | 2000-02-06 Richard Henderson <rth@cygnus.com> | |
29157 | ||
29158 | * i386.c (ix86_agi_dependant): Handle pro_epilogue_adjust_stack | |
29159 | as a TYPE_LEA insn. | |
29160 | ||
29161 | * i386.md (widening and peepholes): Mask the constant instead of | |
29162 | using gen_lowpart. | |
29163 | ||
29164 | 2000-02-05 Zack Weinberg <zack@wolery.cumb.org> | |
29165 | ||
29166 | * cppfiles.c (read_and_prescan) [case SPECCASE_QUESTION]: Bump | |
29167 | input pointer before possibly branching off to the backslash | |
29168 | code. | |
29169 | * cpphash.c (macroexpand): Correctly delete \r escapes when | |
29170 | stringifying parameters. | |
29171 | * cpplib.c (copy_rest_of_line): Go directly to skip_block_comment | |
29172 | if we can; bail out early if we hit a line comment. | |
29173 | (handle_directive): Treat '# 123' in an .S file just like | |
29174 | '# <punctuation>'. Discard the shifted '#' if we hit '#\n'. | |
29175 | Return 1 for '# not_a_directive'. | |
29176 | (get_directive_token): Pop macro buffers here, so that | |
29177 | cpp_get_token can't sneakily move past a newline. | |
29178 | Add sanity checks. | |
29179 | (cpp_get_token): goto randomchar if handle_directive returns 0. | |
29180 | ||
29181 | * cppalloc.c: Update copyright. | |
29182 | * cpplib.c: Merge all the static function prototypes into one | |
29183 | block. | |
29184 | * cpplib.h: Remove #if 0 block. | |
29185 | ||
29186 | * cpperror.c: Remove #ifdef EMACS block. | |
29187 | * cppmain.c: Likewise. | |
29188 | * cpphash.c: Remove #if 0 blocks. | |
29189 | * cppinit.c: Remove #if 0 blocks, and the -lint option. | |
29190 | * cpplib.c: Remove #if 0 blocks and code referencing | |
29191 | pcp_inside_if or for_lint. Remove duplicate error message. | |
29192 | Fix error messages for #else after #else or #elif. Reformat. | |
29193 | Remove archaic TODO list. | |
29194 | * cpplib.h: Remove pcp_inside_if and for_lint flags. | |
29195 | ||
29196 | 2000-02-05 Zack Weinberg <zack@wolery.cumb.org> | |
29197 | ||
29198 | * i386/osf1elf.h: Add missing backslash to multiline string. | |
29199 | ||
29200 | 2000-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
29201 | ||
29202 | * longlong.h [sparc] (udiv_qrnnd): Avoid stringifying macro arg. | |
29203 | ||
29204 | 2000-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
29205 | ||
29206 | * Makefile.in (c-common.o): Depend on $(EXPR_H). | |
29207 | ||
29208 | * c-common.c: Include expr.h. | |
29209 | ||
29210 | * c-pragma.c (mark_align_stack): Add prototype. | |
29211 | ||
29212 | * caller-save.c (add_stored_regs): Likewise. | |
29213 | ||
29214 | * combine.c (record_promoted_value): Likewise. | |
29215 | ||
29216 | * i386.c (ix86_sched_reorder_pentium, ix86_sched_reorder_ppro): | |
29217 | Likewise. | |
29218 | ||
29219 | * cppinit.c (new_pending_define): Likewise. | |
29220 | ||
29221 | * cpplib.c (skip_block_comment, skip_line_comment): Likewise. | |
29222 | ||
29223 | * dwarf2out.c (save_rtx, splice_child_die, reverse_die_lists, | |
29224 | AT_class, AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, AT_loc, | |
29225 | AT_addr, AT_lbl, get_AT_ref, free_AT, free_die, local_scope_p, | |
29226 | class_scope_p): Likewise. | |
29227 | ||
29228 | * dwarf2out.h (dwarf2out_set_demangle_name_func, | |
29229 | dwarf2out_add_library_unit_info): Likewise. | |
29230 | ||
29231 | * ggc.h (ggc_page_print_statistics): Likewise. | |
29232 | ||
29233 | * haifa-sched.c (propagate_deps): Likewise. | |
29234 | ||
29235 | * reg-stack.c (next_flags_user, record_label_references): Likewise. | |
29236 | ||
29237 | * rtl.h (set_stack_check_libfunc): Likewise. | |
29238 | ||
29239 | * toplev.h (set_fatal_function): Likewise. | |
29240 | ||
29241 | * toplev.c (set_fatal_function): Delete prototype. | |
29242 | ||
29243 | * diagnostic.c: Deconstify functions returning malloc'ed ptrs. | |
29244 | ||
29245 | 2000-02-05 Geoff Keating <geoffk@cygnus.com> | |
29246 | ||
29247 | * ginclude/ppc-asm.h (FUNC_START): Use USER_LABEL_PREFIX. | |
29248 | (FUNC_END): Likewise. | |
29249 | ||
29250 | 2000-02-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
29251 | ||
29252 | * caller-save.c: Include tm_p.h. | |
29253 | ||
29254 | 2000-02-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
29255 | ||
29256 | * Makefile.in (libgcc.a): Add $(LIBGCC1) to libgcc.a after $(LIBGCC2). | |
29257 | ||
29258 | 2000-02-04 Neil Booth <NeilB@earthling.net> | |
29259 | ||
29260 | * cccp.c (main): Check 'dir' for a NULL pointer before passing | |
29261 | it to strcmp. | |
29262 | ||
29263 | 2000-02-04 Zack Weinberg <zack@wolery.cumb.org> | |
29264 | ||
29265 | * recog.h: Remove NO_MD_PROTOTYPES ifdefs. | |
29266 | * genflags.c: Use the max_operand_1 logic from genemit.c to | |
29267 | calculate how many arguments gen_insn prototypes have. Remove | |
29268 | NO_MD_PROTOTYPES ifdefs from the generated file. | |
29269 | * genoutput.c: Don't define NO_MD_PROTOTYPES in the generated | |
29270 | file. Cast gen_insn initializers to insn_gen_fn. | |
29271 | * config/alpha/vms.h: Don't define NO_MD_PROTOTYPES. | |
29272 | * gcc.texi: Remove documentation of NO_MD_PROTOTYPES. | |
29273 | ||
29274 | 2000-02-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
29275 | ||
29276 | * fixinc/Makefile.in (HDR): Add machname.h. | |
29277 | (clean): Likewise. | |
29278 | ||
29279 | 2000-02-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
29280 | ||
29281 | * config/c4x/c4x.h (c4x_compare_op0, c4x_compare_op1): Move ... | |
29282 | (c4x_regclass_map, c4x_caller_save_map, c4x_rpts_cycles): Ditto. | |
29283 | (c4x_cpu_version): Ditto. | |
29284 | * config/c4x/c4x-protos.h: ... here. | |
29285 | ||
29286 | 2000-02-04 Jason Merrill <jason@casey.cygnus.com> | |
29287 | ||
29288 | * dwarf2out.c (add_abstract_origin_attribute): Don't call | |
29289 | gen_abstract_function on our context if we're a nested function. | |
29290 | ||
29291 | 2000-02-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
29292 | ||
29293 | * config/c4x/c4x.md (fixuns_truncqfqi2): Rewrite. | |
29294 | * config/c4x/libgcc.S (ufix_truncqfhi2n): Fix. | |
29295 | ||
29296 | 2000-02-04 Bruce Korb <bkorb@gnu.org> | |
29297 | ||
29298 | * fixinc/genfixes(machname.h): | |
29299 | Move the functionality from gen-machine.h into this file. | |
29300 | UNdef MN_NAME_PAT if there are no names to change. | |
29301 | Also, be a little kinder when AutoGen is not present. | |
29302 | ||
29303 | * fixinc/Makefile.in(machname.h): | |
29304 | Change the generation rule to use genfixes. | |
29305 | ||
29306 | * fixinc/fixfixes.c(machine_name): | |
29307 | machine_name_fix's functionality now dependent upon whether | |
29308 | MN_NAME_PAT is defined. | |
29309 | ||
29310 | * fixinc/fixtests.c(machine_name): | |
29311 | ditto. | |
29312 | ||
29313 | * fixinc/fixlib.c(mn_get_regexps): conditional on definition | |
29314 | of MN_NAME_PAT. | |
29315 | ||
29316 | * fixinc/fixlib.h(mn_get_regexps): | |
29317 | ditto | |
29318 | ||
29319 | * fixinc/gen-machine.h: DELETED | |
29320 | ||
29321 | 2000-02-04 Jan Hubicka <jh@suse.cz> | |
29322 | Richard Henderson <rth@cygnus.com> | |
29323 | ||
29324 | * i386.c (SAVE_REGS_FIRST): Remove. | |
29325 | (ix86_initial_elimination_offset): Handle only SAVE_REGS_FIRST mode. | |
29326 | (ix86_compute_frame_size): Likewise. | |
29327 | (ix86_expand_prologue): Likewise. Use pro_epilogue_adjust_stack. | |
29328 | (ix86_emit_restore_regs): Remove. | |
29329 | (ix86_emit_epilogue_esp_adjustment): Use pro_epilogue_adjust_stack | |
29330 | when a frame pointer is in use. | |
29331 | (ix86_expand_epilogue): Handle only SAVE_REGS_FIRST mode. Use mov | |
29332 | instead of pop to restore a register when profitable; emit leave | |
29333 | when profitable. | |
29334 | (ix86_attr_length_default): Handle pro_epilogue_adjust_stack | |
29335 | as a TYPE_LEA insn. | |
29336 | (ix86_adjust_cost): Handle pro_epilogue_adjust_stack as TYPE_ALU. | |
29337 | * i386.md (prologue_allocate_stack): Remove. | |
29338 | (epilogue_deallocate_stack): Remove. | |
29339 | (pro_epilogue_adjust_stack): New. | |
29340 | ||
29341 | 2000-02-04 Richard Henderson <rth@cygnus.com> | |
29342 | ||
29343 | * function.c (diddle_return_value): Rework to use a callback function. | |
29344 | Use current_function_return_rtx if it's been set up. | |
29345 | (do_clobber_return_reg, clobber_return_register): New. | |
29346 | (do_use_return_reg, use_return_register): New. | |
29347 | (expand_function_end): Use them. | |
29348 | * stmt.c (expand_null_return): Likewise. | |
29349 | * function.h: Declare them. | |
29350 | * flow.c (mark_regs_live_at_end): Use diddle_return_value. | |
29351 | (mark_reg): Change arguments as appropriate for callback. | |
29352 | * integrate.c (expand_inline_function): Revert 19 Jan change. | |
29353 | ||
29354 | Fri Feb 4 20:25:42 2000 Hans-Peter Nilsson <hp@bitrange.com> | |
29355 | ||
29356 | * tm.texi (Values in Registers): Fix typo: "fo" "for". | |
29357 | (Misc): Say the scheduler, not the Haifa scheduler. | |
29358 | ||
29359 | 2000-02-04 Clinton Popetz <cpopetz@cygnus.com> | |
29360 | ||
29361 | * jump.c (mark_jump_label): Add in_mem param, check SYMBOL_REFs | |
29362 | when in_mem is set. Update all callers. | |
29363 | ||
29364 | 2000-02-04 Richard Henderson <rth@cygnus.com> | |
29365 | ||
29366 | * i386/openbsd.h (INT_ASM_OP): Define. | |
29367 | ||
29368 | Fri Feb 4 10:51:30 2000 Hans-Peter Nilsson <hp@bitrange.com> | |
29369 | ||
29370 | * tm.texi: Fix various typos. | |
29371 | ||
29372 | Thu Feb 3 17:17:32 2000 Steve Ellcey <sje@cup.hp.com> | |
29373 | ||
29374 | * config/pa/pa-hpux11.h (LIB_SPEC): Correct typo in !p case. | |
29375 | (MD_STARTFILE_PREFIX_1): New macro. | |
29376 | ||
29377 | Thu Feb 3 15:08:13 MET 2000 Jan Hubicka <jh@suse.cz> | |
29378 | ||
29379 | * i386.md (movstrsi, clrstrsi): Support variable sized copies, align | |
29380 | destination when needed. | |
29381 | (strmovsi, strsetsi): New expander. | |
29382 | (strmovsi_1, strsetsi_1): New pattern. | |
29383 | * i386.h (MASK_NO_ALIGN_STROP, MASK_INLINE_ALL_STROP, | |
29384 | TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS): New macros. | |
29385 | (TARGET_SWITCHES) Add align-stringops and inline-all-stringops. | |
29386 | * invoke.texi (align-stringops, inline-all-stringops): Document. | |
29387 | ||
29388 | Wed Feb 2 23:04:47 2000 Krister Walfridsson <cato@df.lth.se> | |
29389 | ||
29390 | * i386/netbsd.h (INT_ASM_OP): Define. | |
29391 | ||
29392 | 2000-02-02 Zack Weinberg <zack@wolery.cumb.org> | |
29393 | ||
29394 | * cpplib.h (cpp_reader): Add new flag, no_directives. | |
29395 | * cpphash.c (macarg): Set it. | |
29396 | * cpplib.c (handle_directive): If no_directives is on and we | |
29397 | find a directive, issue an error and discard the line. | |
29398 | ||
29399 | Wed Feb 2 13:07:10 2000 Jim Wilson <wilson@cygnus.com> | |
29400 | ||
29401 | * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Delete 'E' check for | |
29402 | FP constants. Add ! TARGET_FPU check for FP constants. | |
29403 | ||
29404 | 2000-02-02 Clinton Popetz <cpopetz@cygnus.com> | |
29405 | ||
29406 | * flow.c (find_basic_blocks): Don't kill label_value_list | |
29407 | here. | |
29408 | (cleanup_cfg): Kill it here. | |
29409 | ||
29410 | Wed Feb 2 08:12:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
29411 | ||
29412 | * expr.c (store_field): Ensure ALIGN is no stricter than the | |
29413 | alignment of EXP. | |
29414 | ||
29415 | 2000-02-02 Richard Henderson <rth@cygnus.com> | |
29416 | ||
29417 | * jump.c (delete_insn): Partially revert 19 Jan change; | |
29418 | don't convert unused code labels to notes at -O0. | |
29419 | ||
29420 | 2000-02-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | |
29421 | ||
29422 | * toplev.c (rest_of_compilation): Run rebuild_jump_labels after | |
29423 | split_all_insns to recreate REG_LABEL notes for flow2 pass. | |
29424 | ||
29425 | 2000-02-01 Richard Henderson <rth@cygnus.com> | |
29426 | ||
29427 | * i386.c (general_no_elim_operand): New. | |
29428 | (nonmemory_no_elim_operand): New. | |
29429 | (ix86_expand_move): Copy eliminable operands before a push. | |
29430 | * i386-protos.h: Declare new functions. | |
29431 | * i386.h (CAN_ELIMINATE): Simplify. | |
29432 | (PREDICATE_CODES): Update. | |
29433 | * i386.md (push insns): Don't allow eliminable register operands. | |
29434 | ||
29435 | 2000-02-01 Richard Henderson <rth@cygnus.com> | |
29436 | ||
29437 | * flow.c (mark_regs_live_at_end): Follow expand_function_end and | |
29438 | replace BLKmode with DECL_RTL's mode. | |
29439 | ||
29440 | 2000-02-01 Zack Weinberg <zack@wolery.cumb.org> | |
29441 | ||
29442 | * frame.c (find_fde): Convert for loop to do-while so compiler | |
29443 | sees it's always executed at least once. | |
29444 | * libgcc2.c (BBINBUFSIZE): Kill. | |
29445 | (__bb_init_prg): Use fgets. | |
29446 | (__bb_exit_trace_func): Don't paste strings. | |
29447 | * unroll.c (unroll_loop): Initialize unroll_type, not | |
29448 | unroll_number, and tweak logic to match. | |
29449 | ||
29450 | * i386.c (ix86_expand_int_movcc): Add explicit 'return 0' in | |
29451 | all failure paths. | |
29452 | (ix86_flags_dependant): Likewise. Disentangle control flow. | |
29453 | (ix86_sched_reorder): Break guts out to | |
29454 | ix86_sched_reorder_pentium and ix86_sched_reorder_ppro. | |
29455 | (ix86_sched_reorder_ppro): Initialize pair2 and insnp before | |
29456 | any possible use. | |
29457 | ||
29458 | * i386.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Don't | |
29459 | use string concatenation. Don't save and restore esi. | |
29460 | ||
29461 | * fixinc/Makefile.in (fixincl.sh): Don't depend on inclhack.def. | |
29462 | (machname.h): Remove script to separate file. Use two-step | |
29463 | sequence so target is not created if script fails. | |
29464 | * fixinc/gen-machname.h: New file. Handle case where no non-reserved | |
29465 | identifiers are defined. | |
29466 | * fixinc/fixlib.c (mn_get_regexps): Return a flag: if MN_NAME_PAT is | |
29467 | an empty string, machine_name doesn't need to do anything at | |
29468 | all. | |
29469 | (is_cxx_header): Add more cases to regexp. | |
29470 | * fixinc/fixlib.h: Update prototype. | |
29471 | * fixinc/fixtests.c, fixinc/fixfixes.c: Update callers of | |
29472 | mn_get_regexps. | |
29473 | * fixinc/fixincl.c: Define NO_BOGOSITY. | |
29474 | ||
29475 | * fixinc/inclhack.def (no_double_slash, else_endif_label): Ifdef out. | |
29476 | (hp_sysfile): Add missing comma. | |
29477 | (math_exception): Put the wrapper ifdefs at the beginning and | |
29478 | the end of the file. | |
29479 | * fixinc/fixincl.x, fixinc/inclhack.sh: Regenerate. | |
29480 | ||
29481 | 2000-02-01 Richard Henderson <rth@cygnus.com> | |
29482 | ||
29483 | * sparc.c (fp_zero_operand): Turn into a normal predicate. | |
29484 | Use CONST0_RTX. Update all callers. | |
29485 | * sparc.h, sparc-protos.h: Update accordingly. | |
29486 | * sparc.md (fp mov insns): Use fp_zero_operand directly | |
29487 | where applicable. | |
29488 | ||
29489 | Wed Feb 2 02:59:45 2000 Hans-Peter Nilsson <hp@bitrange.com> | |
29490 | ||
29491 | * tm.texi (Values in Registers): Fix typo in HARD_REGNO_NREGS | |
29492 | example. | |
29493 | ||
29494 | 2000-02-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
29495 | ||
29496 | * Makefile.in (specs.ready): New target. | |
29497 | (fixinc.sh): Depend on `specs.ready' instead of `specs'. | |
29498 | ||
29499 | 2000-02-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
29500 | ||
29501 | * fixinc.irix: Use unique filenames for writing into /tmp, | |
29502 | * fixinc.ptx: Likewise. | |
29503 | * fixinc.sco: Likewise. | |
29504 | * fixinc.svr4: Likewise. | |
29505 | * fixinc.winnt: Likewise. | |
29506 | ||
29507 | 2000-02-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
29508 | ||
29509 | * tsystem.h: New file. | |
29510 | ||
29511 | * Makefile.in (libgcc2.a, stmp-multilib, crtbegin.o, crtend.o, | |
29512 | s-crtS): Depend on tsystem.h. | |
29513 | ||
29514 | * crtstuff.c: Include tsystem.h. | |
29515 | * frame.c: Likewise. | |
29516 | * libgcc2.c: Likewise. | |
29517 | ||
29518 | Tue Feb 1 19:53:27 CET 2000 Jan Hubicka <jh@suse.cz> | |
29519 | ||
29520 | * builtins.c (expand_builtin_memset): Expand for variable sized | |
29521 | lengths too. | |
29522 | ||
29523 | 2000-02-01 David Billinghurst <David.Billinghurst@riotinto.com.au> | |
29524 | ||
29525 | * config/mips/iris6.h (SUBTARGET_ASM_SPEC) : Default ISA based | |
29526 | on ABI. | |
29527 | ||
29528 | Tue Feb 1 00:57:40 2000 Hans-Peter Nilsson <hp@bitrange.com> | |
29529 | ||
29530 | * dwarfout.c (SHORT_TYPE_SIZE): Correct default. | |
29531 | ||
29532 | * tm.texi (Type Layout): Correct entry for CHAR_TYPE_SIZE. | |
29533 | ||
29534 | 2000-01-31 Chandra Chavva <cchavva@cygnus.com> | |
29535 | ||
29536 | * combine.c (try_combine) [HAVE_cc0]: Trying to check the missed | |
29537 | case 3->2 combining (combining with splitting) in which 2 is CC0 | |
29538 | setter/user and 3 is user. The rest of cases 2->1 and 3->2 are | |
29539 | checked at the begining of the function with the aid of calling | |
29540 | function 'can_combine_p'. | |
29541 | ||
29542 | 2000-01-31 Dave Brolley <brolley@redhat.com> | |
29543 | ||
29544 | * cccp.c (struct argdata): Redeclare 'newlines' field as 'int'. | |
29545 | ||
29546 | 2000-01-31 Jason Merrill <jason@casey.cygnus.com> | |
29547 | ||
29548 | * jump.c (redirect_jump): Move a NOTE_INSN_FUNCTION_END to the | |
29549 | new label. | |
29550 | ||
29551 | 2000-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
29552 | ||
29553 | * gansidecl.h (PROTO, VPROTO, PVPROTO): Delete macros. | |
29554 | ||
29555 | * sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit): | |
29556 | PROTO -> PARAMS. | |
29557 | ||
29558 | 2000-01-30 Zack Weinberg <zack@wolery.cumb.org> | |
29559 | ||
29560 | * i386/386bsd.h, i386/beos-pe.h, i386/bsd386.h, i386/crtdll.h, | |
29561 | i386/cygwin.h, i386/dgux.h, i386/djgpp-rtems.h, i386/djgpp.h, | |
29562 | i386/freebsd.h, i386/gnu.h, i386/i386-aout.h, i386/i386-coff.h, | |
29563 | i386/i386-interix.h, i386/i386elf.h, i386/linux.h, i386/lynx-ng.h, | |
29564 | i386/lynx.h, i386/mach.h, i386/mingw32.h, i386/moss.h, | |
29565 | i386/netbsd.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h, | |
29566 | i386/ptx4-i.h, i386/rtems.h, i386/rtemself.h, i386/sco.h, | |
29567 | i386/sequent.h, i386/sun.h, i386/sysv4.h, i386/uwin.h, i386/vsta.h, | |
29568 | i386/vxi386.h, i386/win-nt.h, i386/win32.h: | |
29569 | Remove -Di386 -Acpu(i386) -Amachine(i386) from CPP_PREDEFINES. | |
29570 | ||
29571 | * i386/osf1elf.h, i386/scodbx.h, i386/seq-sysv3.h, i386/sysv5.h: | |
29572 | Add %(cpp_cpu) to CPP_SPEC. | |
29573 | ||
29574 | * i386/osf1elf.h, i386/osfelf.h, i386/osfrose.h: | |
29575 | Add %(cc1_cpu) to CC1_SPEC. | |
29576 | ||
29577 | 2000-01-28 Ulrich Drepper <drepper@redhat.com> | |
29578 | ||
29579 | * c-decl.c (c_decode_option): Accept optional numeric argument to | |
29580 | -Wformat and set warn_format. | |
29581 | * c-common.c: Don't emit warning about non-constant printf format | |
29582 | string unless warn_format > 1. | |
29583 | ||
29584 | 2000-01-30 Richard Henderson <rth@cygnus.com> | |
29585 | ||
29586 | * alpha.md (return_internal): Allow after reload only. | |
29587 | ||
29588 | 2000-01-30 Richard Henderson <rth@cygnus.com> | |
29589 | ||
29590 | * i386.c (ix86_compute_frame_size): Omit padding1 if the | |
29591 | local frame size is zero. | |
29592 | ||
29593 | 2000-01-30 Richard Henderson <rth@cygnus.com> | |
29594 | ||
29595 | * alpha.c (alpha_expand_epilogue): Don't emit the return insn. | |
29596 | * alpha.h (EPILOGUE_USES): New. Mark $26 live. | |
29597 | * alpha.md (return): Turn into an expander. | |
29598 | (return_internal): Don't use $26. | |
29599 | (epilogue): Emit the return insn. | |
29600 | ||
29601 | 2000-01-30 Richard Henderson <rth@cygnus.com> | |
29602 | ||
29603 | * alpha.md (negtf2, abstf2): Fix word order thinko. | |
29604 | (extendsftf2): New. | |
29605 | (trunctfsf2): Avoid intermediate rounding errors. | |
29606 | ||
29607 | 2000-01-30 Zack Weinberg <zack@wolery.cumb.org> | |
29608 | ||
29609 | * cppfiles.c (find_position): Drop 'colp' argument, return the | |
29610 | new line base. | |
29611 | (read_and_prescan): Adjust to match. Don't ever manipulate | |
29612 | line or line_base except via find_position. | |
29613 | ||
29614 | 2000-01-29 Zack Weinberg <zack@wolery.cumb.org> | |
29615 | ||
29616 | * c-parse.in: Apply Ulrich's changes from c-parse.y. | |
29617 | * c-parse.y, objc/objc-parse.y, c-parse.c, objc/objc-parse.c: | |
29618 | Regenerate. | |
29619 | ||
29620 | 2000-01-29 Zack Weinberg <zack@wolery.cumb.org> | |
29621 | ||
29622 | * cpperror.c (cpp_file_line_for_message): If 'line' is zero, | |
29623 | just print "<command line>". If 'filename' is null or an | |
29624 | empty string, print "<stdin>" for the filename. | |
29625 | * cpplib.c (do_define): Don't print the 'location of the | |
29626 | previous definition' message if we're still parsing the | |
29627 | command line. | |
29628 | (cpp_pedwarn_with_file_and_line): Always call | |
29629 | cpp_file_line_for_message. | |
29630 | ||
29631 | 2000-01-29 Mark Mitchell <mark@codesourcery.com> | |
29632 | ||
29633 | * flow.c (mark_regs_live_at_end): Fix typo. | |
29634 | ||
29635 | 2000-01-28 Ulrich Drepper <drepper@redhat.com> | |
29636 | ||
29637 | * c-common.c: Adjust variable names, comments, help strings to c99. | |
29638 | * c-lex.c: Likewise. | |
29639 | * c-parse.y: Likewise. | |
29640 | * c-tree.h: Likewise. | |
29641 | * cccp.c: Likewise. | |
29642 | * cpplib.h: Likewise. | |
29643 | * c-decl.c: Likewise. Recognize options with names "*99" as well. | |
29644 | * cppinit.c: Likewise. | |
29645 | ||
29646 | 2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | |
29647 | ||
29648 | * c4x.h (INIT_TARGET_OPTABS): Add all missing local optab entries. | |
29649 | * c4x.c: Define the optab rtx values. | |
29650 | (c4x_add_gc_roots): Add the ggc roots for these optab rtx values. | |
29651 | (c4x_emit_libcall): Use new optab rtx values. | |
29652 | (c4x_emit_libcall3): Likewise. | |
29653 | (c4x_emit_libcall_mulhi): Likewise. | |
29654 | * c4x-protos.h: Add prototypes for optab rtx values and change | |
29655 | prototypes for above c4x_emit_libcall functions. | |
29656 | ||
29657 | 2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | |
29658 | ||
29659 | * c4x.c (c4x_output_ascii): Restrict line length of output when TI | |
29660 | syntax is used. | |
29661 | (c4x_function_prologue): Use regnames intead of float_reg_names when | |
29662 | TI syntax is used. | |
29663 | (c4x_function_epilogue): Likewise. | |
29664 | (c4x_print_operand): Likewise. | |
29665 | * c4x.h (HOST_WIDE_INT_PRINT_HEX): Redefine. | |
29666 | * c4x.md (set_high): Disable for TARGET_TI. | |
29667 | ||
29668 | 2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | |
29669 | ||
29670 | * c4x.h (PREFERRED_RELOAD_CLASS): Change to restrict the reloading | |
29671 | of framepointer + constant to ADDR_REGS class. | |
29672 | * c4x.md (addqi3, addqi3_noclobber_reload): Update. | |
29673 | * c4x.c (std_or_reg_operand): New function. | |
29674 | * c4x-protos.h (std_or_reg_operand): Prototype it. | |
29675 | ||
29676 | 2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | |
29677 | ||
29678 | * t-c4x: Change qi,qf,di,df into si,sf,hi,hf to generate same | |
29679 | object names as libgcc2.c. | |
29680 | * libgcc.S: Use newly defined names. | |
29681 | ||
29682 | Fri Jan 7 19:48:04 CET 2000 Jan Hubicka <jh@suse.cz> | |
29683 | * sbitmap.c (sbitmap_first_set_bit, sbitmap_last_set_bit): New | |
29684 | function. | |
29685 | * sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit): Declare. | |
29686 | * basic_block.h (FLOW_LOOP_FIRST_BLOCK): New macro. | |
29687 | (FLOW_LOOP_LAST_BLOCK): Likewise. | |
29688 | ||
29689 | 2000-01-21 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
29690 | ||
29691 | * basic-block.h (struct loop): New fields 'first' and 'last'. | |
29692 | * flow.c (flow_loops_find): Compute loop->first and loop->last. | |
29693 | (flow_loops_dump): Use loop->first to check for NOTE_INSN_LOOP_BEG | |
29694 | and loop->last to check for NOTE_INSN_LOOP_END. | |
29695 | ||
29696 | Fri Jan 28 10:57:58 2000 Jason Eckhardt <jle@cygnus.com> | |
29697 | ||
29698 | * predict.c (estimate_probability): Use the new FIRST and LAST fields | |
29699 | of the loop descriptor rather than HEADER and LATCH. Also added | |
29700 | missing break statements as well making some coding style modifications | |
29701 | as suggested by Michael Hayes. | |
29702 | ||
29703 | 2000-01-28 Richard Henderson <rth@cygnus.com> | |
29704 | ||
29705 | * flow.c (find_basic_blocks): Remove do_cleanup argument. | |
29706 | Break out that code ... | |
29707 | (cleanup_cfg): ... here. | |
29708 | (commit_one_edge_insertion): Detect a return instruction being | |
29709 | emitted to an edge. Emit a barrier following; clear fallthru. | |
29710 | (commit_edge_insertions): Verify CFG consistency. | |
29711 | * function.c (expand_function_start): Kill unused variable. | |
29712 | (expand_function_end): Likewise. | |
29713 | (thread_prologue_and_epilogue_insns): Use insert_insn_on_edge | |
29714 | to insert the epilogue. | |
29715 | ||
29716 | * gcse.c (gcse_main): Adjust for find_basic_blocks change. | |
29717 | (delete_null_pointer_checks): Likewise. | |
29718 | * output.h: Likewise. | |
29719 | * reg-stack.c (reg_to_stack): Likewise. | |
29720 | * toplev.c (rest_of_compilation): Likewise. Run | |
29721 | thread_prologue_and_epilogue_insns after rebuilding the CFG. | |
29722 | ||
29723 | 2000-01-28 Richard Henderson <rth@cygnus.com> | |
29724 | ||
29725 | * Makefile.in (flow.o): Revert 24 Jan change. | |
29726 | * flow.c (mark_regs_live_at_end): Likewise. Force BLKmode | |
29727 | FUNCTION_VALUE result to DECL_RESULT's mode. | |
29728 | ||
29729 | * haifa-sched.c (schedule_insns): Don't recompute reg info | |
29730 | after reload. | |
29731 | ||
29732 | 2000-01-28 Zack Weinberg <zack@wolery.cumb.org> | |
29733 | ||
29734 | * configure.in: Make --enable-cpplib the default. | |
29735 | * configure: Regenerate. | |
29736 | * gcc.dg/990119-1.c: No longer expected to fail. | |
29737 | ||
29738 | 2000-01-28 Bernd Schmidt <bernds@cygnus.co.uk> | |
29739 | ||
29740 | * jump.c (jump_optimize_1): Delete an optimization that is also done | |
29741 | by merge_blocks in flow. | |
29742 | ||
29743 | 2000-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
29744 | ||
29745 | * diagnostic.c (build_message_string, output_printf, | |
29746 | line_wrapper_printf): Add ATTRIBUTE_PRINTF_*. | |
29747 | (build_location_prefix): Fix non-literal format string. | |
29748 | ||
29749 | 2000-01-27 Richard Henderson <rth@cygnus.com> | |
29750 | ||
29751 | * alpha.md (trunctfsf2): New. | |
29752 | ||
29753 | 2000-01-27 Andrew Hobson <ahobson@eng.mindspring.net> | |
29754 | ||
29755 | * configure.in (alpha-dec-osf5): Enable MASK_SUPPORT_ARCH. | |
29756 | ||
29757 | 2000-01-27 Zack Weinberg <zack@wolery.cumb.org> | |
29758 | ||
29759 | * cppinit.c (cpp_handle_option): Recognize C++ comments under | |
29760 | -std=gnu89. | |
29761 | * cpplib.c (skip_block_comment, skip_line_comment): Split code | |
29762 | out of... | |
29763 | (skip_comment) ... here. Permit C++ comments in system | |
29764 | headers always. Warn about C++ comments in user code under | |
29765 | -std=gnu89 -pedantic. | |
29766 | (copy_comment): Use skip_comment. | |
29767 | (cpp_skip_hspace, cpp_get_token): skip_comment can no longer | |
29768 | return EOF. | |
29769 | (consider_directive_while_skipping, do_else, do_endif): Call | |
29770 | validate_else unconditionally. | |
29771 | (validate_else): Check CPP_PEDANTIC here. Accept non-comment | |
29772 | text after the conditional in a system header. | |
29773 | * cpplib.h (struct cpp_buffer): Add flag | |
29774 | warned_cplusplus_comments. | |
29775 | ||
29776 | 2000-01-27 Geoffrey Keating <geoffk@cygnus.com> | |
29777 | ||
29778 | * emit-rtl.c (unshare_all_rtl): Unshare virtual parameters too. | |
29779 | Use unshare_all_rtl_1. | |
29780 | (unshare_all_rtl_again): New function. | |
29781 | (unshare_all_rtl_1): New function split out of unshare_all_rtl. | |
29782 | ||
29783 | * function.c (purge_addressof_1): Use unshare_all_rtl_again | |
29784 | rather than resetting the 'used' flags ourself. | |
29785 | ||
29786 | * toplev.c (rest_of_compilation): Add current_function_decl | |
29787 | to the unshare_all_rtl call. | |
29788 | * tree.h: Prototype unshare_all_rtl. | |
29789 | * rtl.h: Prototype unshare_all_rtl_again here. | |
29790 | ||
29791 | 2000-01-27 Geoffrey Keating <geoffk@cygnus.com> | |
29792 | ||
29793 | * genoutput.c (output_prologue): Include ggc.h in generated | |
29794 | files. | |
29795 | * Makefile.in (insn-output.o): Depends on ggc.h. | |
29796 | ||
29797 | 2000-01-27 Ian Dall <ian@sibyl.beware.dropbear.id.au> | |
29798 | Hans-Peter Nilsson <hp@bitrange.com> | |
29799 | ||
29800 | * ns32k/xm-ns32k.h (memcpy, memset, memcmp): Delete. | |
29801 | Remove redundant include of xm-ns32k.h. | |
29802 | * ns32k/xm-genix.h (memcpy, memset, memcmp): Add definitions. | |
29803 | Remove redundant include of xm-ns32k.h. | |
29804 | * ns32k/xm-netbsd.h (memcpy, memset, memcmp): No longer undefine. | |
29805 | Remove redundant include of xm-ns32k.h. | |
29806 | * ns32k/netbsd.h (TARGET_DEFAULT): Enable multiply-add instructions. | |
29807 | ||
29808 | * ns32k/ns32k.h: Update comment on multiply-add instructions. | |
29809 | (TARGET_SWITCHES): Add documentation strings. | |
29810 | (DWARF_FRAME_REGNUM): Override default definition. | |
29811 | (REG_CLASS_CONTENTS): Add comments. | |
29812 | (SUBSET_P): Format to reduce line length. | |
29813 | (SMALL_REGISTER_CLASSES): Make a run time option. | |
29814 | (GO_IF_NONINDEXED_ADDRESS): Reformat. | |
29815 | (GO_IF_LEGITIMATE_ADDRESS): Ensure that cfun is non NULL before | |
29816 | dereferencing it. Braces to avoid "ambiguous else" were misplaced. | |
29817 | (regclass_map): fix typo in comment. | |
29818 | * ns32k/ns32k.c: Add spaces before parentheses for consistant style. | |
29819 | Prefer gen_rtx_FOO(...) to gen_rtx(FOO,...). | |
29820 | (trace, reg_or_mem_operand): Delete, unused function. | |
29821 | (calc_address_cost): Small offsets are cheaper than large ones. | |
29822 | (expand_block_move): Generate more efficient code when bytes is a | |
29823 | known at compile time. | |
29824 | * ns32k/ns32k.md: Alternate constraints for multiply-add instructions. | |
29825 | (udivmodsi4, udivmodhi4, udivmodqi4): Use nonimmediate_operand | |
29826 | instead of reg_or_mem_operand. | |
29827 | ||
29828 | * ns32k/ns32k.md: Use nonimmediate_operand or stricter for outputs, | |
29829 | not general_operand. Similarly use "=rm" or stricter, not "=g". | |
29830 | For input operands, use stricter constraints than "g" if not | |
29831 | general_operand. Similarly use stricter predicate than | |
29832 | "general_operand" when stricter constraints than "g" are present, | |
29833 | except for matching constraints. | |
29834 | (movstrsi): Use "memory_operand" for operands 0 and 1. | |
29835 | (truncsiqi2, truncsihi2, trunchiqi2): Remove. | |
29836 | (udivmoddisi4_internal): Use nonimmediate_operand for operand 0, | |
29837 | not reg_or_mem_operand. | |
29838 | (udivmoddisi4): Ditto. | |
29839 | Use nonimmediate_operand for operand 1, not reg_or_mem_operand. | |
29840 | Use nonimmediate_operand for operand 3, not register_operand. | |
29841 | (udivmoddiqi4_internal): Use register_operand for operand 1, not | |
29842 | reg_or_mem_operand. | |
29843 | ||
29844 | 2000-01-27 Fred Fish <fnf@be.com> | |
29845 | ||
29846 | * gthr-posix.h: Fix typo; compatibily -> compatibility. | |
29847 | * gthr-single.h: Likewise. | |
29848 | * gthr-solaris.h: Likewise. | |
29849 | * gthr-vxworks.h: Likewise. | |
29850 | * gthr-win32.h: Likewise. | |
29851 | * gthr.h: Likewise. | |
29852 | ||
29853 | 2000-01-27 Zack Weinberg <zack@wolery.cumb.org> | |
29854 | ||
29855 | * cppinit.c: Add " (cpplib)" to end of string printed by | |
29856 | -v / --version. | |
29857 | ||
29858 | 2000-01-27 Richard Henderson <rth@cygnus.com> | |
29859 | ||
29860 | * alpha.c (alpha_emit_conditional_move): Use VOIDmode when | |
29861 | testing for a signed comparison. | |
29862 | (alpha_emit_floatuns): New. | |
29863 | * alpha-protos.h: Declare it. | |
29864 | * alpha.md (floatunsdisf2, floatunsdidf2): New. | |
29865 | (extendsfdf2): Tidy. | |
29866 | ||
29867 | 2000-01-27 Jakub Jelinek <jakub@redhat.com> | |
29868 | ||
29869 | * config/sparc/linux64.h (CC1_SPEC): If compiling -m32 with -g but | |
29870 | no -g option specifying debugging format, default to -gstabs+. | |
29871 | ||
29872 | Wed Jan 26 22:19:14 1999 J"orn Rennecke <amylaar@cygnus.co.uk> | |
29873 | ||
29874 | * calls.c (special_function_p): New argument fork_or_exec. | |
29875 | (expand_call): When profile_arc_flag is set and the function | |
29876 | is in the fork_or_exec group, call __bb_fork_func first. | |
29877 | * libgcc2.c, _bb module (__bb_fork_func): New function. | |
29878 | (__bb_exit_func): If fcntl F_SETLKW is available, use it to lock | |
29879 | output file. | |
29880 | * config/svr4.h (TARGET_HAS_F_SETLKW): Define. | |
29881 | * tree.h (special_function_p): Update prototype. | |
29882 | ||
29883 | 2000-01-26 Richard Henderson <rth@cygnus.com> | |
29884 | ||
29885 | * alpha.c (alpha_split_tfmode_pair): New. | |
29886 | * alpha-protos.h: Declare it. | |
29887 | * alpha.md (abstf2, negtf2): New. | |
29888 | (movtf insn): Add input G constraint. | |
29889 | (movtf splitter): Use alpha_split_tfmode_pair. | |
29890 | ||
29891 | 2000-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
29892 | ||
29893 | * i386/cygwin.h: PROTO -> PARAMS. | |
29894 | ||
29895 | 2000-01-26 Jakub Jelinek <jakub@redhat.com> | |
29896 | ||
29897 | * config/sparc/sparc.c (sparc_emit_float_lib_cmp): Handle | |
29898 | TARGET_ARCH32 again. Handle ORDERED, UN* and LTGT comparisons | |
29899 | using _Qp_cmp/_Q_cmp and testing the return value. | |
29900 | (print_operand): Call reverse_condition_maybe_unordered if | |
29901 | we are handling CCFPmode or CCFPEmode. | |
29902 | Handle ORDERED, UN* and LTGT comparisons. | |
29903 | * config/sparc/sparc.md (cmptf): Use even on TARGET_ARCH32 | |
29904 | if not TARGET_HARD_QUAD. | |
29905 | (seq, sne, sgt, slt, sge, sle, beq, bne, bgt, blt, bge, ble, | |
29906 | bunordered, bordered, bungt, bunlt, buneq, bunge, bunle, bltgt): | |
29907 | Call sparc_emit_float_lib_cmp even on TARGET_ARCH32. | |
29908 | Adjust gen_b* calls so that they reflect return comparison of | |
29909 | sparc_emit_float_lib_cmp. | |
29910 | ||
29911 | 2000-01-26 Alexandre Oliva <oliva@lsd.ic.unicamp.br> | |
29912 | ||
29913 | * config/alpha/alpha.c (alpha_emit_xfloating_cvt): Do not assume | |
29914 | incoming operands array is large enough for one more operand. | |
29915 | (alpha_emit_xfloating_arith): Likewise. | |
29916 | ||
29917 | 2000-01-25 Zack Weinberg <zack@wolery.cumb.org> | |
29918 | ||
29919 | * fixinc/Makefile.in (machname.h): SunOS 4 sed can't handle a | |
29920 | file with one line and no trailing newline. | |
29921 | Patch by Kaveh Ghazi <ghazi@caip.rutgers.edu>. | |
29922 | * fixinc/fixtests.c (machine_name_test): Fix fencepost error | |
29923 | checking if the match is on the line. | |
29924 | * fixinc/gnu-regex.c: Provide regerror not __regerror. | |
29925 | ||
29926 | 2000-01-25 Richard Henderson <rth@cygnus.com> | |
29927 | ||
29928 | * sparc.c (output_cbranch): Fix accidental squashing of the | |
29929 | fp branch pre-delay nop. | |
29930 | ||
29931 | 2000-01-25 Richard Henderson <rth@cygnus.com> | |
29932 | ||
29933 | * tree.def (UNNE_EXPR): Remove. | |
29934 | * c-typeck.c (build_binary_op): Don't handle it. | |
29935 | * expr.c (expand_expr, do_jump, do_store_flag): Likewise. | |
29936 | ||
29937 | * rtl.def (UNNE): Remove. | |
29938 | (LTGT): Add. | |
29939 | * jump.c (reverse_condition): Update accordingly. | |
29940 | (swap_condition): Likewise. | |
29941 | (comparison_dominates_p): Handle unordered comparisons. | |
29942 | (reverse_condition_maybe_unordered): New. | |
29943 | * rtl.h (reverse_condition_maybe_unordered): Declare. | |
29944 | ||
29945 | * sparc.c (select_cc_mode): Update for UNNE/LTGT. | |
29946 | (output_cbranch): Use reverse_condition_maybe_unordered and LTGT. | |
29947 | * sparc.h (REVERSIBLE_CC_MODE): Always true. Update docs. | |
29948 | * sparc.md (bltgt): New. | |
29949 | ||
29950 | 2000-01-25 Nick Clifton <nickc@redhat.com> | |
29951 | ||
29952 | * emit-rtl.c (emit_insn): Only check machine class insns for | |
29953 | improper emission of a RETURN. | |
29954 | ||
29955 | 2000-01-25 Richard Henderson <rth@cygnus.com> | |
29956 | ||
29957 | * Makefile.in (flow.o): Depend on $(EXPR_H). | |
29958 | * flow.c (mark_regs_live_at_end): Use hard_function_value, i.e. | |
29959 | duplicate the structure of diddle_return_value for keeping regs live. | |
29960 | ||
29961 | 2000-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
29962 | ||
29963 | * loop.c (current_loop_info): Delete. | |
29964 | (consec_sets_invariant_p): Add loop argument, update callers. | |
29965 | (get_condition_for_loop): Likewise. | |
29966 | (count_nonfixed_reads, update_giv_derive): Likewise. | |
29967 | (simplify_giv_expr, general_induction_var): Likewise. | |
29968 | (consec_sets_giv, recombine_givs): Likewise. | |
29969 | (move_movables): Delete loop_start and loop_end arguments, | |
29970 | add loop argument, and update callers. | |
29971 | (find_mem_givs, check_final_value): Likewise. | |
29972 | (record_giv, maybe_eliminate_biv, maybe_eliminate_biv_1): Likewise. | |
29973 | (loop_invariant_p): Rename from invariant_p, add loop argument, and | |
29974 | update callers. | |
29975 | (basic_induction_var): Add loop argument, delete loop_level argument, | |
29976 | and update callers. | |
29977 | * unroll.c (iteration_info): Delete loop_start and loop_end arguments, | |
29978 | add loop argument, and update callers. | |
29979 | (find_splittable_regs, find_splittable_givs): Likewise. | |
29980 | (reg_dead_after_loop, loop_find_equiv_value): Likewise. | |
29981 | (final_biv_value, final_giv_value, back_branch_in_range_p): Likewise. | |
29982 | (biv_total_increment): Delete loop_start and loop_end arguments; | |
29983 | update callers. | |
29984 | (precondition_loop_p): Delete loop_start and loop_info arguments; | |
29985 | update callers. | |
29986 | * loop.h (get_condition_for_loop): Add loop argument. | |
29987 | (biv_total_increment): Delete loop_start and loop_end arguments. | |
29988 | (precondition_loop_p): Delete loop_start and loop_info arguments; | |
29989 | add loop argument. | |
29990 | (final_biv_value): Delete loop_start and loop_end arguments; | |
29991 | add loop argument. | |
29992 | (final_giv_value, back_branch_in_range_p): Likewise. | |
29993 | ||
29994 | 2000-01-25 Gavin Romig-Koch <gavin@cygnus.com> | |
29995 | ||
29996 | * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Fix for mips16. | |
29997 | ||
29998 | 2000-01-25 Gavin Romig-Koch <gavin@cygnus.com> | |
29999 | ||
30000 | * Makefile.in (c-gperf.h) : Change the "See" pointer to | |
30001 | point to the new "generated_files" doc. | |
30002 | ||
30003 | 2000-01-25 Clinton Popetz <cpopetz@cygnus.com> | |
30004 | ||
30005 | * config/fp-bit.c (_unord_f2): Fix typo. | |
30006 | ||
30007 | 2000-01-25 Zack Weinberg <zack@wolery.cumb.org> | |
30008 | ||
30009 | * c-common.c, c-decl.c, c-lang.c, c-lex.c, c-parse.in, c-pragma.c, | |
30010 | c-typeck.c, objc/objc-act.c: Remove all references to obstack | |
30011 | functions obsoleted by GC, such as push_obstacks_nochange, | |
30012 | end_temporary_allocation, savealloc, saveable_tree_cons, etc. | |
30013 | and code which existed only to decide whether or not to call | |
30014 | them. Remove now-unused NESTED argument from start_function; | |
30015 | all callers changed. Do not change behavior based on ggc_p. | |
30016 | The use of the ixp_obstack in c-iterate.c and the util_obstack | |
30017 | in objc/objc-act.c remain; these are not obsoleted by garbage | |
30018 | collection. | |
30019 | * c-tree.h: Update prototype for start_function. | |
30020 | ||
30021 | * c-parse.y, c-parse.c, objc/objc-parse.c, objc/objc-parse.y: Rebuild. | |
30022 | ||
30023 | 2000-01-25 Clinton Popetz <cpopetz@cygnus.com> | |
30024 | ||
30025 | * config/mips/mips.md (zero_extendsidi2_internal): Disable for | |
30026 | mips16. | |
30027 | ||
30028 | 2000-01-25 Richard Henderson <rth@cygnus.com> | |
30029 | ||
30030 | * sparc-protos.h (select_cc_mode): Declare. | |
30031 | * sparc.c (select_cc_mode): New. Handle unordered compares. | |
30032 | (output_cbranch): Always reverse via code change. Handle | |
30033 | unordered compares. Factor tests and string updates. | |
30034 | * sparc.h (SELECT_CC_MODE): Split out to select_cc_mode. | |
30035 | (REVERSIBLE_CC_MODE): Also exclude CCFPmode. | |
30036 | * sparc.md (bunordered, bordered): New. | |
30037 | (bungt, bunlt, buneq, bunge, bunle): New. | |
30038 | ||
30039 | 2000-01-25 Richard Henderson <rth@cygnus.com> | |
30040 | ||
30041 | * dwarf2out.c (dwarf2out_init): Use ggc_add_rtx_varray_root. | |
30042 | * ggc-common.c (ggc_add_rtx_varray_root): New. | |
30043 | (ggc_mark_rtx_varray): New. | |
30044 | (ggc_mark_rtx_varray_ptr): New. Shift all ggc_mark_foo_ptr | |
30045 | functions down below ggc_mark_foo. | |
30046 | * ggc.h (ggc_add_rtx_varray_root, ggc_mark_rtx_varray): Declare. | |
30047 | ||
30048 | 2000-01-25 Richard Henderson <rth@cygnus.com> | |
30049 | ||
30050 | * alpha.c (secondary_reload_class): Don't allocate a secondary | |
30051 | for integral mode memories into FLOAT_REGS. Rearrange the more | |
30052 | complicated memory expression inward. | |
30053 | ||
30054 | 2000-01-25 Zack Weinberg <zack@wolery.cumb.org> | |
30055 | ||
30056 | * inclhack.def: Fixes to play nicer with FreeBSD, and | |
30057 | corrections to comments. | |
30058 | (cxx_unready): Add select expression. | |
30059 | (irix_sockaddr): Add bypass expression. | |
30060 | (machine_ansi_h_va_list): New fix. | |
30061 | (stdio_va_list): No need to edit _BSD_VA_LIST_. | |
30062 | Split out addition of "#include <stdarg.h>" to... | |
30063 | (stdio_stdarg_h): ... here. | |
30064 | (systypes_for_aix): Rename to systypes_stdlib_size_t. Apply | |
30065 | to stdlib.h also. Do not munge _BSD_SIZE_T_. | |
30066 | (sysz_stdlib_for_sun): Delete duplicate fix for unprotected | |
30067 | size_t. | |
30068 | (ultrix_ifdef): Tighten up select expression. | |
30069 | ||
30070 | * fixincl.tpl: Exorcise 'exesel'. Rewrite calculations of | |
30071 | re_ct and max_mach to avoid use of shell. Make printed names | |
30072 | match names in inclhack.def. Use static copyright date. | |
30073 | Don't count c_test and test expressions as requiring regex_t | |
30074 | slots. Add some commentary. | |
30075 | * inclhack.tpl: Do not include the 'This script contains N | |
30076 | fixup scripts' line if PROGRAM is defined. Use static | |
30077 | copyright date. | |
30078 | ||
30079 | 2000-01-24 Jason Merrill <jason@casey.cygnus.com> | |
30080 | ||
30081 | * dwarf2out.c: include "varray.h", not dyn-string.h. | |
30082 | (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_NAME_TO_STRING): Lose. | |
30083 | (addr_const_to_string, addr_to_string): Lose. | |
30084 | (ASM_OUTPUT_DWARF_ADDR_CONST): Copy from dwarfout.c. | |
30085 | (struct dw_val_struct): val_addr is now an rtx. | |
30086 | (add_AT_addr, AT_addr, free_AT, output_aranges): Adjust. | |
30087 | (used_rtx_varray): New varray. | |
30088 | (dwarf2out_init): Initialize it. | |
30089 | (save_rtx): New fn. | |
30090 | (mem_loc_descriptor, add_const_value_attribute): Call it instead of | |
30091 | addr_to_string. | |
30092 | * arm/telf.h, arm/unknown-elf.h, mn10200.h, mn10300.h, | |
30093 | sparc/sp64-elf.h: Remove definition of ASM_OUTPUT_DWARF2_ADDR_CONST. | |
30094 | * Makefile.in (dwarf2out.o): Update dependencies. | |
30095 | ||
30096 | 2000-01-24 Richard Henderson <rth@cygnus.com> | |
30097 | ||
30098 | * i386.c (i386_dwarf_output_addr_const): New. | |
30099 | * i386.h (ASM_OUTPUT_DWARF_ADDR_CONST): New. | |
30100 | ||
30101 | * dwarf2out.c (mem_loc_descriptor): Call ASM_SIMPLIFY_DWARF_ADDR | |
30102 | if defined. | |
30103 | * dwarfout.c (output_mem_loc_descriptor): Likewise. | |
30104 | * i386.c (i386_simplify_dwarf_addr): New. | |
30105 | * i386.h (ASM_SIMPLIFY_DWARF_ADDR): New. | |
30106 | ||
30107 | Mon Jan 24 16:56:10 2000 Jim Wilson <wilson@cygnus.com> | |
30108 | ||
30109 | * dwarf2out.c (gen_struct_or_union_type_die): Set complete if | |
30110 | TYPE_STUB_DECL is NULL. | |
30111 | ||
30112 | 2000-01-24 Richard Henderson <rth@cygnus.com> | |
30113 | ||
30114 | * builtins.c (expand_tree_builtin): Move ... | |
30115 | * c-common.c (expand_tree_builtin): ... here. | |
30116 | ||
30117 | 2000-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
30118 | ||
30119 | * loop.h (LOOP_INFO): New accessor macro. | |
30120 | * basic-block.h (struct loop): Rename field `info' to `aux'. | |
30121 | * loop.c (scan_loop): Replace loop->info with LOOP_INFO (loop). | |
30122 | (prescan_loop, strength_reduce, check_dbra_loop, insert_bct): Likewise. | |
30123 | * unroll.c (loop_iterations, unroll_loop): Likewise. | |
30124 | ||
30125 | 2000-01-24 Christopher Faylor <cgf@cygnus.com> | |
30126 | ||
f63d1bf7 | 30127 | * config/i386/t-cygwin: Accommodate new winsup directory layout |
c30d43bf JL |
30128 | when searching for include files. |
30129 | ||
30130 | 2000-01-24 Richard Henderson <rth@cygnus.com> | |
30131 | ||
67f63f32 | 30132 | * rtl.def: Add unordered fp comparisons. |
c30d43bf | 30133 | * tree.def: Likewise. |
67f63f32 | 30134 | * tree.h: Add ISO C 9x unordered fp comparison builtins. |
c30d43bf JL |
30135 | |
30136 | * builtins.c (expand_tree_builtin): New function. | |
30137 | * c-typeck.c (build_function_call): Use it. | |
30138 | (build_binary_op): Support unordered compares. | |
30139 | * c-common.c (c_common_nodes_and_builtins): Add unordered compares. | |
30140 | ||
30141 | * combine.c (known_cond): Handle reverse_condition returning UNKNOWN. | |
30142 | (reversible_comparison_p): Allow UNORDERED/ORDERED to be reversed. | |
30143 | * cse.c (fold_rtx): Check FLOAT_MODE_P before reversing. | |
30144 | (record_jump_equiv): Handle reverse_condition returning UNKNOWN. | |
30145 | * jump.c (reverse_condition): Don't abort for UNLE etc, but | |
30146 | return UNKNOWN. | |
30147 | (swap_condition): Handle unordered compares. | |
30148 | (thread_jumps): Check can_reverse before reversing. | |
30149 | * loop.c (get_condition): Likewise. Allow UNORERED/ORDERED to be | |
30150 | reversed for FP. | |
30151 | ||
30152 | * optabs.c (can_compare_p): New argument CODE. Verify branch or | |
30153 | setcc is present before acking for cmp_optab. Update all callers. | |
30154 | (prepare_float_lib_cmp, init_optabs): Handle UNORDERED. | |
30155 | * expmed.c (do_cmp_and_jump): Update for can_compare_p. | |
30156 | * expr.c (expand_expr): Likewise. Support unordered compares. | |
30157 | (do_jump, do_store_flag): Likewise. | |
30158 | * expr.h (enum libfunc_index): Add unordered compares. | |
30159 | ||
30160 | * Makefile.in (FPBIT_FUNCS): Add _unord_sf. | |
30161 | (DPBIT_FUNCS): Add _unord_df. | |
30162 | * config/fp-bit.c (_unord_f2): New. | |
30163 | * fp-test.c (main): Try unordered compare builtins. | |
30164 | ||
30165 | * alpha-protos.h (alpha_fp_comparison_operator): Declare. | |
30166 | * alpha.c (alpha_comparison_operator): Check mode properly. | |
30167 | (alpha_swapped_comparison_operator): Likewise. | |
30168 | (signed_comparison_operator): Likewise. | |
30169 | (alpha_fp_comparison_operator): New. | |
30170 | (alpha_emit_conditional_branch): Handle unordered compares. | |
30171 | * alpha.h (PREDICATE_CODES): Update. | |
30172 | * alpha.md (fp compares): Use alpha_fp_comparison_operator. | |
30173 | (bunordered, bordered): New. | |
30174 | ||
30175 | 2000-01-24 Richard Henderson <rth@cygnus.com> | |
30176 | ||
30177 | * alpha.c (alpha_emit_xfloating_cvt): Thinko in operand manipulation. | |
30178 | * alpha.md (movtf): New expander, insn, and splitter. | |
30179 | ||
30180 | Mon Jan 24 19:49:47 MET 2000 Jan Hubicka <jh@suse.cz> | |
30181 | ||
30182 | * reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of | |
30183 | dead registers. | |
30184 | ||
30185 | Mon Jan 24 17:37:31 MET 2000 Jan Hubicka <jh@suse.cz> | |
30186 | ||
30187 | * i386.h (FIRST_PSEUDO_REGISTER): Set to 21. | |
30188 | (FIXED_REGISTERS, CALL_USED_REGISTERS, | |
30189 | REG_ALLOC_ORDER): Add frame pointer | |
30190 | (FRAME_POINTER_REGNUM): Set to 20 | |
30191 | (HARD_FRAME_POINTER_REGNUM): New macro. | |
30192 | (ELIMINABLE_REGS): Eliminate ARG_POINTER and FRAME_POINTER | |
30193 | to HARD_FRAME_POINTER. | |
30194 | (REGNO_OK_FOR_BASE_P): Accept FRAME_POINTER_REGNUM | |
30195 | (REG_OK_FOR_INDEX_NONSTRICT_P): Likewise. | |
30196 | (REG_OK_FOR_BASE_NONSTRICT_P): Likewise. | |
30197 | (HI_REGISTER_NAMES): Add "frame". | |
30198 | (CAN_ELIMINATE): Handle FRAME_POINTER_REGNUM elimination. | |
30199 | (debug_reg): Handle FRAME_POINTER_REGNUM. | |
30200 | (reg_class): Add arg pointer and frame pointer to NON_Q_REGS, | |
30201 | GENERAL_REGS and INDEX_REGS. | |
30202 | * i386.c (SAVED_REGS_FIRST): new macro. | |
30203 | (AT_BP): Use hard_frame_pointer_rtx instead of frame_pointer_rtx | |
30204 | (ix86_decompose_address, memory_address_length): Likewise. | |
30205 | (regclass_map): Add frame pointer. | |
30206 | (call_insn_operand): Handle frame_pointer_rtx. | |
30207 | (reg_no_sp_operand): Likewise. | |
30208 | (ix86_decompose_address): Handle frame_pointer_rtx as stack_pointer_rtx. | |
30209 | (print_operand, legitimize_pic_address): Fix formating. | |
30210 | (ix86_compute_frame_size): Make static, update prototype, new | |
30211 | parameters padding1, padding2, use ix86_nsaved_regs, use | |
30212 | stack_alignment_needed. | |
30213 | (ix86_initial_elimination_offset): Handle FRAME_POINTER_REGNUM | |
30214 | to HARD_FRAME_POINTER_REGNUM conversions. | |
30215 | (ix86_expand_prologue): Handle SAVED_REGS_FIRST prologues. | |
30216 | (ix86_expand_epilogue): Handle SAVED_REGS_FIRST epilogues. | |
30217 | (print_reg): Abort on FRAME_POINTER_REGNUM | |
30218 | ||
30219 | Mon Jan 24 16:50:08 MET 2000 Jan Hubicka <jh@suse.cz> | |
30220 | ||
30221 | * i386.h (PREDICATE_CODES): Add aligned_operand. | |
30222 | * i386.c (aligned_operand): New function. | |
30223 | (ix86_aligned_p): Kill. | |
30224 | * i386.md (movhi_1): Emit mov for aligned operands. | |
30225 | (promoting peep2s): Use aligned_operand. | |
30226 | ||
30227 | 2000-01-23 Zack Weinberg <zack@wolery.cumb.org> | |
30228 | ||
30229 | * fixinc/fixfixes.c (fix_char_macro_uses): Correct regular | |
30230 | expression to allow underscores in macro names. | |
30231 | (fix_char_macro_defines): Increment scanning pointer. | |
30232 | ||
30233 | 2000-01-23 Richard Henderson <rth@cygnus.com> | |
30234 | ||
30235 | * alpha/osf.h (TARGET_HAS_XFLOATING_LIBS): Define. | |
30236 | * alpha/osf5.h: New file. | |
30237 | * configure.in (alpha-*-osf5): Add it to tm_file. | |
30238 | ||
30239 | * emit-rtl.c (operand_subword): Support TFmode on a 64-bit target. | |
30240 | ||
30241 | * alpha-protos.h (alpha_emit_xfloating_arith): Declare. | |
30242 | (alpha_emit_xfloating_cvt, function_arg): Declare. | |
30243 | * alpha.c (alpha_emit_conditional_branch): Call | |
30244 | alpha_emit_xfloating_compare for TFmode compares. | |
30245 | (alpha_lookup_xfloating_lib_func): New. | |
30246 | (alpha_compute_xfloating_mode_arg): New. | |
30247 | (alpha_emit_xfloating_libcall): New. | |
30248 | (alpha_emit_xfloating_arith): New. | |
30249 | (alpha_emit_xfloating_compare): New. | |
30250 | (alpha_emit_xfloating_cvt): New. | |
30251 | (print_operand): Add default abort case. | |
30252 | (function_arg): Mind FUNCTION_ARG_PASS_BY_REFERENCE. | |
30253 | * alpha.h (TARGET_HAS_XFLOATING_LIBS): New. | |
30254 | (BIGGEST_ALIGNMENT): Increase to 128 bits. | |
30255 | (RETURN_IN_MEMORY): True for TF/TCmode. | |
30256 | (ALPHA_ARG_SIZE): TF/TCmode is passed indirect. | |
30257 | (FUNCTION_ARG): Move to function_arg. | |
30258 | (FUNCTION_ARG_PASS_BY_REFERENCE): New. | |
30259 | (ASM_OUTPUT_LONG_DOUBLE): New. | |
30260 | (ASM_OUTPUT_DOUBLE): Always output bits. | |
30261 | * alpha.md (addtf3, divtf3, multf3, subtf3, cmptf): New. | |
30262 | (fix_trunctfdi2, floatditf2, floatunsditf2): New. | |
30263 | (extenddftf2, trunctfdf2): New. | |
30264 | ||
30265 | 2000-01-23 Alexandre Oliva <oliva@lsd.ic.unicamp.br> | |
30266 | ||
30267 | * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Moved... | |
30268 | * config/sparc/sol2.h: ... here. | |
30269 | ||
30270 | 2000-01-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
30271 | ||
30272 | * basic-block.h (struct loops): New field `levels'. | |
30273 | * flow.c (flow_loops_level_compute): Traverse all outer loops. | |
4912a07c | 30274 | (flow_loop_level_compute): Initialize level to 1. |
c30d43bf JL |
30275 | (flow_loops_find): Set loops->levels. |
30276 | (flow_loops_dump): Print loops->levels. | |
30277 | ||
30278 | 2000-01-23 Richard Henderson <rth@cygnus.com> | |
30279 | ||
30280 | * libgcc2.c (dwarf_reg_size_table): Size with DWARF_FRAME_REGISTERS. | |
30281 | (throw_helper): Iterate over DWARF_FRAME_REGISTERS. | |
30282 | ||
30283 | 2000-01-23 Richard Henderson <rth@cygnus.com> | |
30284 | ||
30285 | * i386.c (dbx_register_map, svr4_dbx_register_map): New. | |
30286 | * i386.h (DBX_REGISTER_NUMBER): Use them. | |
30287 | * i386/beos-elf.h, i386/freebsd-elf.h, i386/i386elf.h: Likewise. | |
30288 | * i386/linux.h, i386/osfrose.h, i386/ptx4-i.h: Likewise. | |
30289 | * i386/rtemself.h, i386/sco5.h, i386/sysv4.h: Likewise. | |
30290 | * i386/sequent.h: Kill incorrect comment. | |
30291 | ||
30292 | 2000-01-23 Mark Mitchell <mark@codesourcery.com> | |
30293 | ||
30294 | * ggc-page.c (struct page_entry): Make `context_depth' an | |
30295 | `unsigned short'. | |
30296 | (struct globals): Likewise. | |
30297 | ||
30298 | 2000-01-23 Clinton Popetz <cpopetz@cygnus.com> | |
30299 | ||
30300 | * loop.c (check_dbra_loop): When checking a loop for | |
30301 | reversability, check the source of any stores to ensure | |
30302 | they don't depend on an initial value. | |
30303 | ||
30304 | 2000-01-23 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
30305 | ||
30306 | * config/c4x/c4x.h (ASM_OUTPUT_BSS): Redefine. | |
30307 | ||
30308 | 2000-01-22 Zack Weinberg <zack@wolery.cumb.org> | |
30309 | ||
30310 | * fixinc/fixincl.c: Move declarations of 'pz_fname' and | |
30311 | 'pz_scan' into scope of entire function. Only affects | |
30312 | compiles with -DDEBUG. | |
30313 | ||
30314 | 2000-01-22 Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au> | |
30315 | ||
4912a07c | 30316 | * config/elfos.h (UNIQUE_SECTION): Restore uninitialized data |
c30d43bf JL |
30317 | section naming to that prior to 2000-01-07 patch. |
30318 | * config/mips/elf.h (UNIQUE_SECTION): Ditto. | |
30319 | * config/mips/elf64.h (UNIQUE_SECTION): Ditto. | |
30320 | * config/mips/iris6gld.h (UNIQUE_SECTION): Ditto. | |
30321 | * config/i386/interix.c (UNIQUE_SECTION): Ditto. | |
30322 | * config/i386/winnt.c (UNIQUE_SECTION): Ditto. | |
30323 | ||
30324 | 2000-01-22 Bernd Schmidt <bernds@cygnus.co.uk> | |
30325 | ||
30326 | * config/arm/arm.c (soft_df_operand): Reject SUBREGs containing a | |
30327 | constant. | |
30328 | ||
30329 | 2000-01-21 Jim Wilson <wilson@cygnus.com> | |
30330 | ||
30331 | * fixinc/inclhack.tpl: Test for directory before trying to cd into it. | |
30332 | * fixinc/fixincl.sh, fixinc/inclhack.sh: Regenerate. | |
30333 | ||
30334 | 2000-01-21 Zack Weinberg <zack@wolery.cumb.org> | |
30335 | ||
30336 | * cpphash.c (change_newlines): Delete function. | |
30337 | (struct argdata): Delete 'newlines' and 'use_count' fields. | |
30338 | (macroexpand): Remove code referencing those fields. | |
30339 | ||
30340 | 2000-01-22 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
30341 | ||
30342 | * loop.c (loops_info): New variable. | |
30343 | (loop_optimize): Allocate loops->array and free it on exit. | |
30344 | Allocate memory for loops_info and assign to each loop, | |
30345 | replacing alloca. | |
30346 | (find_and_verify_loops): Do not allocate loops->array. | |
30347 | ||
30348 | 2000-01-21 Zack Weinberg <zack@wolery.cumb.org> | |
30349 | ||
30350 | * fixinc/fixfixes.c (machine_name_fix): Don't free 'scratch'. | |
30351 | ||
30352 | 2000-01-21 Jakub Jelinek <jakub@redhat.com> | |
30353 | ||
30354 | * config/sparc/sparc.md (movsi_pic_label_ref): Avoid creating new | |
30355 | pseudos if expanded after first flow. | |
30356 | (movdi_pic_label_ref): Likewise. | |
30357 | ||
30358 | 2000-01-20 Richard Henderson <rth@cygnus.com> | |
30359 | ||
30360 | * jump.c (jump_optimize_1): Don't do addr_vec optimizations at -O0. | |
30361 | ||
30362 | 2000-01-20 Zack Weinberg <zack@wolery.cumb.org> | |
30363 | ||
30364 | * Makefile.in (fixinc.sh): Depend on specs. | |
30365 | * fixinc/Makefile.in: Add rule to create machname.h. | |
30366 | (fixlib.o): Depend on machname.h. | |
30367 | * fixinc/fixtests.c (machine_name): New test. | |
30368 | * fixinc/fixfixes.c (machine_name): New fix. | |
30369 | * fixinc/fixlib.c (mn_get_regexps): New helper function for | |
30370 | the machine_name test and fix. | |
30371 | * fixinc/fixlib.h: Prototype it. | |
30372 | * fixinc/inclhack.def (machine_name): Use the C test and fix. | |
30373 | * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuild. | |
30374 | ||
30375 | * gcc.c (do_spec_1) [case P]: Take care not to create | |
30376 | identifiers with three leading or trailing underscores. | |
30377 | ||
30378 | * fixinc/Makefile.in (FIXINC_DEFS): Add -DIN_GCC. | |
30379 | (fixincl): Don't specify libraries twice on link line. | |
30380 | (gnu-regex.o): Remove special rule. | |
30381 | * fixinc/gnu-regex.c: Define REGEX_MALLOC if C_ALLOCA was | |
30382 | defined by config.h. Do not define _REGEX_RE_COMP. | |
30383 | (regcomp): Allocate and initialize a fastmap. | |
30384 | * fixinc/gnu-regex.h: Do not define _REGEX_RE_COMP. | |
30385 | ||
30386 | 2000-01-20 Brad Lucier <lucier@math.purdue.edu> | |
30387 | ||
30388 | * Makefile.in (predict.o): Depend on $(EXPR_H), not expr.h. | |
30389 | ||
30390 | 2000-01-19 Richard Henderson <rth@cygnus.com> | |
30391 | ||
30392 | * flow.c (propagate_block): Replace FIRST, LAST and BNUM | |
30393 | arguments with BB. Update all callers. Tidy line wrapping. | |
30394 | ||
30395 | 2000-01-19 Clinton Popetz <cpopetz@cygnus.com> | |
30396 | ||
30397 | * emit-rtl.c (try_split): Return last_insn if we split the | |
30398 | last_insn. | |
30399 | ||
30400 | Thu Jan 20 01:01:23 MET 2000 Jan Hubicka <jh@suse.cz> | |
30401 | ||
30402 | * i386-protos.h (ix86_compute_frame_size): Remove prototype. | |
30403 | (ix86_initial_elimination_offset): Declare. | |
30404 | * i386.c (ix86_nsaved_regs): Break out from ... | |
30405 | (ix86_can_use_return_insn_p): ... here. | |
30406 | (ix86_emit_save_regs): Break out from ... | |
30407 | (ix86_expand_prologue): ... here. | |
30408 | (ix86_emit_epilogue_esp_adjustment, ix86_emit_restore_regs): Break | |
30409 | out from ... | |
30410 | (ix86_expand_epilogue): ... here. | |
30411 | (ix86_compute_frame_size): Make static, add prototype. | |
30412 | (ix86_initial_elimination_offset): Break out from ... | |
30413 | * i386.h (INITIAL_ELIMINATION_OFFSET): ... here. | |
30414 | ||
30415 | 2000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30416 | ||
30417 | * recog.h (OUT_FCN): Delete. | |
30418 | ||
30419 | * vax.md: Call `get_insn_template' instead of OUT_FCN. | |
30420 | ||
30421 | 2000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30422 | ||
30423 | * cppalloc.c: PROTO -> PARAMS. | |
30424 | * cpperror.c: Likewise. | |
30425 | * cppfiles.c: Likewise. | |
30426 | * cpplib.c: Likewise. | |
30427 | * cpplib.h: Likewise. | |
30428 | ||
30429 | * config/arm/arm-protos.h: PROTO -> PARAMS. | |
30430 | * config/arm/arm.c: Likewise. | |
30431 | * config/c4x/c4x.c: Likewise. | |
30432 | * config/fr30/fr30-protos.h: Likewise. | |
30433 | * config/nextstep.c: Likewise. | |
30434 | * config/pa/pa.c: Likewise. | |
30435 | * config/pj/pj.c: Likewise. | |
30436 | * config/rs6000/rs6000.c: Likewise. | |
30437 | * config/v850/v850-protos.h: Likewise. | |
30438 | * config/v850/v850.c: Likewise. | |
30439 | ||
30440 | 2000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30441 | ||
30442 | * i370-protos.h: New file. | |
30443 | ||
30444 | * i370.c: Include tm_p.h. Fix compile time warnings. | |
30445 | ||
30446 | * i370.h: Move prototypes to i370-protos.h. Fix compile time | |
30447 | warnings. | |
30448 | ||
30449 | * i370.md: Likewise. | |
30450 | ||
30451 | 2000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30452 | ||
30453 | * real.c (enan, einan, eiisnan, eiisneg, make_nan): Wrap in NANS. | |
30454 | (target_isinf, target_isnan, eisnan): Mark parameter with | |
30455 | ATTRIBUTE_UNUSED. | |
30456 | (eiisinf): Wrap in INFINITY. | |
30457 | (etoe113, etoe64, etoe53, etoe24): Wrap label `nonorm' in INFINITY. | |
30458 | (ibmtoe): Remove unused variable `rndsav'. | |
30459 | ||
30460 | Wed Jan 19 20:23:06 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
30461 | ||
30462 | * sh.h (PASS_IN_REG_P): Remove extraneous paranthesis. | |
30463 | (GO_IF_LEGITIMATE_ADDRESS): Added missing tab. | |
30464 | ||
30465 | 2000-01-19 Zack Weinberg <zack@wolery.cumb.org> | |
30466 | ||
30467 | * fixinc/Makefile.in: Correct dependencies of fixincl and fixincl.o. | |
30468 | * fixinc/fixfixes.c (IO_use, CTRL_use, IO_defn, CTRL_defn): New fixes. | |
30469 | (fix_char_macro_defines, fix_char_macro_uses): New functions. | |
30470 | ||
30471 | * fixinc/fixlib.c (is_cxx_header): Do the text scan with a regexp. | |
30472 | Recognize Emacs mode markers also. | |
30473 | * fixinc/fixtests.c (else_endif_label): Fix bug in recognition of | |
30474 | C++ comments in C++ headers. Call is_cxx_header only if | |
30475 | necessary. | |
30476 | ||
30477 | * fixinc/inclhack.def (avoid_bool): Add select for the problem and | |
30478 | bypass for ncurses. | |
30479 | (bsd43_io_macros, io_def_quotes, ioctl_fix_ctrl): Replace with... | |
30480 | (io_def_quotes, io_use_quotes, ctrl_def_quotes, ctrl_use_quotes): | |
30481 | ... these, which use the new C fixes. | |
30482 | (math_exception): Escape literal '+' in bypass expression. | |
30483 | ||
30484 | * fixinc/fixincl.x, fixinc/fixincl.sh, fixinc/inclhack.sh: | |
30485 | Regenerate. | |
30486 | ||
30487 | 2000-01-19 Geoff Keating <geoffk@cygnus.com> | |
30488 | ||
30489 | * rtlanal.c (reg_referenced_p): A CLOBBER of a MEM uses any REGs | |
30490 | inside the MEM. | |
30491 | ||
30492 | 2000-01-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
30493 | ||
30494 | * loop.c (loop_optimize): Allocate loop_info structure for each loop | |
30495 | prior to calling scan_loop. | |
30496 | ||
30497 | Wed Jan 19 19:54:38 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
30498 | ||
30499 | * sh.c (find_barrier, gen_block_redirect): Fix indentation. | |
30500 | (split_branches, calc_live_regs): Likewise. | |
30501 | ||
30502 | Wed Jan 19 19:12:36 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
30503 | ||
30504 | * sh.md (fpu_single, fp_mode): New attributes. | |
30505 | ||
30506 | 2000-01-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
30507 | ||
30508 | * loop.c (current_loop_info): Renamed from loop_info_data | |
30509 | and changed to a pointer. | |
30510 | (loop_optimize): Allocate loop_info structure for each loop | |
4912a07c | 30511 | and initialize to zero. |
c30d43bf JL |
30512 | (scan_loop): Set current_loop_info. |
30513 | ||
30514 | * unroll.c (loop_iterations): Don't abort if REG_USERVAR_P set | |
30515 | on iteration_var. | |
30516 | ||
30517 | 2000-01-19 Richard Henderson <rth@cygnus.com> | |
30518 | ||
30519 | * stupid.c: Die die die. | |
30520 | * Makefile.in (OBJS): Remove stupid.o. | |
30521 | (stupid.o): Likewise. | |
30522 | ||
30523 | * except.c (emit_eh_context): Don't emit USEs for stupid. | |
30524 | * explow.c (probe_stack_range): Likewise. | |
30525 | * flags.h (obey_regdecls): Remove. | |
30526 | * flow.c (find_basic_blocks): Don't run try_merge_blocks | |
30527 | when not optimizing. | |
30528 | (life_analysis): Limit data collection when not optimizing. | |
30529 | (mark_regs_live_at_end): Always mark the return value registers. | |
30530 | (mark_used_regs): Remove dummy RETURN case. | |
30531 | (print_rtl_with_bb): Don't consult obey_regdecls. | |
30532 | * function.c (use_variable, use_variable_after): Remove. | |
30533 | (assign_parms): Consult optimize not obey_regdecls. | |
30534 | (expand_function_start): Don't emit USEs for stupid. | |
30535 | (expand_function_end): Likewise. | |
30536 | * global.c (build_insn_chain): Export. | |
30537 | * integrate.c (expand_inline_function): Kill return-value USE | |
30538 | handling code. | |
30539 | * jump.c (jump_optimize_1): Do simple jump optimizations and | |
30540 | dead code elimination. | |
30541 | (calculate_can_reach_end): Remove check_deleted argument. | |
30542 | (delete_insn): Patch out insns even when not optimizing. | |
30543 | * local-alloc.c (block_alloc): Don't do tying when not optimizing. | |
30544 | * rtl.h (use_variable, use_variable_after): Remove declarations. | |
30545 | (build_insn_chain): Declare. | |
30546 | * stmt.c (expand_value_return): Don't emit USEs for stupid. | |
30547 | (expand_end_bindings): Likewise. | |
30548 | (expand_decl): Likewise. Consult optimize not obey_regdecls. | |
30549 | * toplev.c (obey_regdecls): Remove. | |
8d9afc4e | 30550 | (rest_of_compilation): Don't set it. Kill stupid in favor of |
c30d43bf JL |
30551 | flow1, local-alloc, and reload. |
30552 | (main): Don't set obey_regdecls. | |
30553 | ||
30554 | * config/nextstep.c (handle_pragma): Likewise. | |
30555 | ||
30556 | * alpha/alpha.md (allocate_stack): Don't emit USEs for stupid. | |
30557 | ||
30558 | * arm/arm.h (CONDITIONAL_REGISTER_USAGE): Don't fix reg 0 for stupid. | |
30559 | ||
30560 | 2000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30561 | ||
30562 | * alpha-protos.h: PROTO -> PARAMS. | |
30563 | * alpha.c: Likewise. | |
30564 | * elf.h: Likewise. | |
30565 | * h8300.c: Likewise. | |
30566 | * i386-protos.h: Likewise. | |
30567 | * i386.c: Likewise. | |
30568 | * m32r-protos.h: Likewise. | |
30569 | * m32r.c: Likewise. | |
30570 | * mips.c: Likewise. | |
30571 | * mips.md: Likewise. | |
30572 | * gmon-sol2.c: Likewise. | |
30573 | * sparc.c: Likewise. | |
30574 | ||
30575 | 2000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30576 | ||
30577 | * ns32k-protos.h: New file. | |
30578 | ||
30579 | * ns32k.c: Fix compile time warnings. | |
30580 | ||
30581 | * ns32k.h: Move prototypes to ns32k-protos.h. Fix compile time | |
30582 | warnings. | |
30583 | ||
30584 | * ns32k.md: Likewise. | |
30585 | ||
30586 | 2000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30587 | ||
30588 | * vax-protos.h: New file. | |
30589 | ||
30590 | * vax.c: Fix compile time warnings. | |
30591 | ||
30592 | * vax.h: Move prototypes to vax-protos.h. Fix compile time | |
30593 | warnings. | |
30594 | ||
30595 | * vax.md: Likewise. | |
30596 | ||
30597 | * vaxv.md: Likewise. | |
30598 | ||
30599 | 2000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30600 | ||
30601 | * romp-protos.h: New file. | |
30602 | ||
30603 | * romp.c: Fix compile time warnings. | |
30604 | ||
30605 | * romp.h: Move prototypes to romp-protos.h. Fix compile time | |
30606 | warnings. | |
30607 | ||
30608 | * romp.md: Likewise. | |
30609 | ||
30610 | 2000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30611 | ||
30612 | * we32k-protos.h: New file. | |
30613 | ||
30614 | * we32k.c: Fix compile time warnings. | |
30615 | ||
30616 | * we32k.h: Move prototypes to we32k-protos.h. Fix compile time | |
30617 | warnings. | |
30618 | ||
30619 | 2000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30620 | ||
30621 | * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED. | |
30622 | ||
30623 | * except.c (eh_regs): Likewise. | |
30624 | ||
30625 | * final.c (output_operand): Likewise. | |
30626 | ||
30627 | * fold-const.c (target_isinf, target_isnan): Likewise. | |
30628 | ||
30629 | Tue Jan 18 16:19:55 MET 2000 Jan Hubicka <hubicka@freesoft.cz> | |
30630 | ||
30631 | * i386.h (BIGGEST_ALIGNMENT): Set to 128. | |
30632 | (BIGGEST_FIELD_ALIGNMENT): Set to (TARGET_ALIGN_DOUBLE ? 64 : 32) | |
30633 | ||
30634 | * i386.md (memstr): Do not use rep stosb for counts divisible by 4 | |
30635 | when optimize_size. | |
30636 | (clrstrsi): Rewrite. | |
30637 | (strsethi, strsetqi): New expanders. | |
30638 | (strsethi_1, strsetqi_1, rep_stossi, rep_stosqi): New insn patterns. | |
30639 | (cmpstrsi): Emit compare insn before cmpstrsi_1 | |
30640 | (cmpstrsi_nz): use flags, set type to str, prefix_length to 1. | |
30641 | (strlensi_1): Likewise. | |
30642 | (cmpstrsi_1): Likewise; do not output compare. | |
30643 | (strlen expander): Do not unroll when optimizing for size. | |
30644 | (*subsi3_carry): Rename to subsi3_carry | |
30645 | (addqi3_cc): New pattern. | |
30646 | * i386.h (processor_costs): Add move_ratio field. | |
30647 | (MOVE_RATIO): Use move_ratio field, set to 3 for OPTIMIZE_SIZE | |
30648 | * i386.c (*_cost): Set move_ratio. | |
30649 | (x86_unroll_strlen): Enable for Athlon, PPro and K6 too. | |
30650 | (x86_expand_strlensi_1): Rewrite the main loop. | |
30651 | ||
30652 | 2000-01-17 Richard Henderson <rth@cygnus.com> | |
30653 | ||
30654 | * combine.c (combine_simplify_rtx): Give FLOAT_STORE_FLAG_VALUE a mode. | |
30655 | * cse.c (find_comparison_args, fold_rtx): Likewise. | |
30656 | * integrate.c (subst_constants): Likewise. | |
30657 | * loop.c (get_condition): Likewise. | |
30658 | ||
30659 | * tm.texi (FLOAT_STORE_FLAG_VALUE): Update docs. | |
30660 | ||
30661 | * alpha.h (FLOAT_STORE_FLAG_VALUE): Use REAL_VALUE_ATOF. | |
30662 | ||
719bb4e3 | 30663 | 2000-01-18 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
c30d43bf JL |
30664 | |
30665 | * c-parse.in (SAVE_WARN_FLAGS): Create an INTEGER_CST. | |
30666 | (RESTORE_WARN_FLAGS): Unpack it. | |
30667 | Change semantic type of extension to ttype. | |
30668 | * c-common.c (split_specs_attrs): Expect an INTEGER_CST. | |
30669 | * c-parse.y, c-parse.c, objc/objc-parse.y, | |
30670 | objc/objc-parse.c: Regenerate. | |
30671 | ||
30672 | 2000-01-17 Zack Weinberg <zack@wolery.cumb.org> | |
30673 | ||
30674 | * fixinc/fixlib.c: Add copyright notice. | |
30675 | (compile_re): New function. | |
30676 | * fixinc/fixlib.h: Prototype compile_re. | |
30677 | ||
30678 | * fixinc/fixfixes.c, fixinc/fixtests.c, fixinc/fixincl.c: | |
30679 | Use compile_re to compile regular expressions. | |
30680 | ||
30681 | * fixinc/fixincl.c (egrep_test): Don't bother asking regexec | |
30682 | where the pattern matched. | |
30683 | ||
30684 | * fixinc/inclhack.def (sun_memcpy): Move to AAB_sun_memcpy, | |
30685 | use 'replace'. | |
30686 | (ultrix_ansi_compat): Likewise. | |
30687 | (interactv_add1): Rename to 'isc_omits_with_stdc', remove shell test, | |
30688 | add egrep test. | |
30689 | (interactv_add2, interactv_add3): Delete. | |
30690 | (x11_sprintf): Don't use filename glob. | |
30691 | * fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixincl.sh: | |
30692 | Regenerate. | |
30693 | ||
30694 | 2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30695 | ||
30696 | * print-rtl.c: PROTO -> PARAMS. | |
30697 | * real.c: Likewise. | |
30698 | * reg-stack.c: Likewise. | |
30699 | * resource.c: Likewise. | |
30700 | * sdbout.h: Likewise. | |
30701 | * simplify-rtx.c: Likewise. | |
30702 | * stor-layout.c: Likewise. | |
30703 | * stupid.c: Likewise. | |
30704 | * xcoffout.c: Likewise. | |
30705 | * xcoffout.h: Likewise. | |
30706 | ||
30707 | 2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30708 | ||
30709 | * toplev.c: PROTO -> PARAMS. | |
30710 | * toplev.h: Likewise. | |
30711 | * tree.c: Likewise. | |
30712 | * tree.h: Likewise. | |
30713 | * unroll.c: Likewise. | |
30714 | * varasm.c: Likewise. | |
30715 | * varray.c: Likewise. | |
30716 | * varray.h: Likewise. | |
30717 | ||
30718 | 2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30719 | ||
30720 | * reload.c: PROTO -> PARAMS. | |
30721 | * reload.h: Likewise. | |
30722 | * reload1.c: Likewise. | |
30723 | * reorg.c: Likewise. | |
30724 | * resource.h: Likewise. | |
30725 | * rtl.c: Likewise. | |
30726 | * rtl.h: Likewise. | |
30727 | * rtlanal.c: Likewise. | |
30728 | * sbitmap.h: Likewise. | |
30729 | * sdbout.c: Likewise. | |
30730 | * stack.h: Likewise. | |
30731 | * stmt.c: Likewise. | |
30732 | * system.h: Likewise. | |
30733 | ||
30734 | 2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30735 | ||
30736 | * machmode.h: PROTO -> PARAMS. | |
30737 | * mbchar.h: Likewise. | |
30738 | * mips-tdump.c: Likewise. | |
30739 | * mips-tfile.c: Likewise. | |
30740 | * optabs.c: Likewise. | |
30741 | * output.h: Likewise. | |
30742 | * prefix.c: Likewise. | |
30743 | * profile.c: Likewise. | |
30744 | * protoize.c: Likewise. | |
30745 | * real.h: Likewise. | |
30746 | * recog.c: Likewise. | |
30747 | * recog.h: Likewise. | |
30748 | * regclass.c: Likewise. | |
30749 | * regmove.c: Likewise. | |
30750 | * regs.h: Likewise. | |
30751 | ||
30752 | 2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30753 | ||
30754 | * ggc-common.c: PROTO -> PARAMS. | |
30755 | * ggc-page.c: Likewise. | |
30756 | * ggc-simple.c: Likewise. | |
30757 | * ggc.h: Likewise. | |
30758 | * global.c: Likewise. | |
30759 | * graph.c: Likewise. | |
30760 | * gthr-win32.h: Likewise. | |
30761 | * haifa-sched.c: Likewise. | |
30762 | * halfpic.h: Likewise. | |
30763 | * integrate.c: Likewise. | |
30764 | * integrate.h: Likewise. | |
30765 | * jump.c: Likewise. | |
30766 | * lcm.c: Likewise. | |
30767 | * local-alloc.c: Likewise. | |
30768 | * loop.c: Likewise. | |
30769 | * loop.h: Likewise. | |
30770 | ||
30771 | 2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30772 | ||
30773 | * genattr.c: PROTO -> PARAMS. | |
30774 | * genattrtab.c: Likewise. | |
30775 | * gencheck.c: Likewise. | |
30776 | * gencodes.c: Likewise. | |
30777 | * genconfig.c: Likewise. | |
30778 | * genemit.c: Likewise. | |
30779 | * genextract.c: Likewise. | |
30780 | * genflags.c: Likewise. | |
30781 | * gengenrtl.c: Likewise. | |
30782 | * genopinit.c: Likewise. | |
30783 | * genoutput.c: Likewise. | |
30784 | * genpeep.c: Likewise. | |
30785 | * genrecog.c: Likewise. | |
30786 | ||
30787 | 2000-01-16 Mark Mitchell <mark@codesourcery.com> | |
30788 | ||
30789 | * tree.h (BINFO_VPTR_FIELD): Augment documentation. | |
30790 | ||
30791 | 2000-01-16 Alexandre Oliva <oliva@lsd.ic.unicamp.br> | |
30792 | ||
30793 | * aclocal.m4 (AC_FUNC_MMAP_ZERO): New macro. | |
30794 | * configure.in (AC_FUNC_MMAP_ZERO): Use instead of AC_FUNC_MMAP. | |
30795 | * ggc-page.c: Replace HAVE_MMAP with HAVE_MMAP_ZERO. | |
30796 | * configure, config.in: Rebuilt. | |
30797 | ||
30798 | 2000-01-16 Zack Weinberg <zack@wolery.cumb.org> | |
30799 | ||
30800 | * config/i386/i386.md: Add peephole to merge successive stack | |
30801 | adjusts. | |
30802 | ||
30803 | Sat Jan 15 15:41:14 EST 2000 John Wehle (john@feith.com) | |
30804 | ||
30805 | * gcse.c (insert_insn_end_bb): Use emit_block_insn_before | |
30806 | instead of emit_insn_before. Also handle NOTE_INSN_BASIC_BLOCK | |
30807 | when walking backwards to find all the parameter loads when | |
30808 | the basic block ends in a call. | |
30809 | ||
30810 | 2000-01-15 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
30811 | ||
30812 | * loop.c (this_loop_info): Delete. | |
30813 | (uid_loop): Add in place of uid_loop_num. All uses updated. | |
30814 | (loop_number_exit_count): Delete and replace with entry in loop | |
30815 | structure. All uses updated. | |
30816 | (loop_number_loop_starts, loop_number_loop_ends): Likewise. | |
30817 | (loop_number_loop_cont, loop_number_cont_dominator): Likewise. | |
30818 | (loop_outer_loop): Likewise. | |
30819 | (loop_invalid, loop_number_exit_labels): Likewise. | |
30820 | (loop_used_count_register): Delete and replace with entry in | |
30821 | loop_info structure. | |
30822 | (find_and_verify_loops): Add loops argument. | |
30823 | (verify_dominator, mark_loop_jump, prescan_loop): Replace loop_start, | |
30824 | loop_end, etc. arguments with loop structure pointer. All callers | |
30825 | changed. | |
30826 | (loop_reg_used_before_p, scan_loop, strength_reduce): Likewise. | |
30827 | (check_dbra_loop, next_insn_in_loop, try_copy_prop): Likewise. | |
30828 | (load_mems_and_recount_loop_regs_set, load_mems): Likewise. | |
30829 | (insert_bct): Likewise. | |
30830 | (basic_induction_var): New argument level. | |
30831 | * loop.h (struct loop_info): Delete fields num, loops_enclosed, | |
30832 | vtop, and cont. Add used_count_register. | |
30833 | (uid_loop): Delete declaration. | |
30834 | (loop_number_exit_count): Likewise. | |
30835 | (loop_number_loop_starts, loop_number_loop_ends): Likewise. | |
30836 | (loop_number_loop_cont, loop_number_cont_dominator): Likewise. | |
30837 | (loop_outer_loop, loop_used_count_register): Likewise. | |
30838 | (loop_invalid, loop_number_exit_labels): Likewise. | |
30839 | (unroll_loop): Replace loop_start and loop_end arguments | |
30840 | with loop structure pointer. | |
30841 | (loop_precondition_p, loop_iterations): Likewise. | |
30842 | Include basic-block.h. | |
30843 | * unroll.c: (unroll_loop): Replace loop_start and loop_end arguments | |
30844 | with loop structure pointer. | |
30845 | (loop_precondition_p, loop_iterations): Likewise. | |
30846 | * basic-block.h (struct loop): New entries vtop, cont, | |
30847 | cont_dominator, start, end, top, scan_start, exit_labels, | |
30848 | exit_count. | |
30849 | * Makefile.in (LOOP_H): Add basic-block.h to dependencies. | |
30850 | ||
30851 | 2000-01-15 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> | |
30852 | ||
30853 | * defaults.h (ASM_OUTPUT_ASCII): Use ISDIGIT. | |
30854 | ||
30855 | 2000-01-14 Nathan Sidwell <sidwell@codesourcery.com> | |
30856 | ||
30857 | * config.in: Rebuilt for 2000-01-13 change to acconfig.h. | |
30858 | ||
30859 | 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30860 | ||
30861 | * pdp11-protos.h: New file. | |
30862 | ||
30863 | * pdp11.c: Include tm_p.h. Add static prototypes. Fix compile | |
30864 | time warnings. | |
30865 | ||
30866 | * pdp11.h: Move prototypes to pdp11-protos.h. Fix compile time | |
30867 | warnings. | |
30868 | ||
30869 | * pdp11.md: Likewise. | |
30870 | ||
30871 | * 2bsd.h: Likewise. | |
30872 | ||
30873 | 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30874 | ||
30875 | * mn10300-protos.h: New file. | |
30876 | ||
30877 | * mn10300.c: Include tm_p.h. Add static prototypes. Fix compile | |
30878 | time warnings. | |
30879 | ||
30880 | * mn10300.h: Move prototypes to mn10300-protos.h. Fix compile time | |
30881 | warnings. | |
30882 | ||
30883 | * mn10300.md: Likewise. | |
30884 | ||
30885 | 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30886 | ||
30887 | * mn10200-protos.h: New file. | |
30888 | ||
30889 | * mn10200.c: Include tm_p.h. Add static prototypes. Fix compile | |
30890 | time warnings. | |
30891 | ||
30892 | * mn10200.h: Move prototypes to mn10200-protos.h. Fix compile time | |
30893 | warnings. | |
30894 | ||
30895 | * mn10200.md: Likewise. | |
30896 | ||
30897 | 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30898 | ||
30899 | * h8300-protos.h: New file. | |
30900 | ||
30901 | * h8300.c: Include tm_p.h. Add static prototypes. Fix compile | |
30902 | time warnings. | |
30903 | ||
30904 | * h8300.h: Move prototypes to h8300-protos.h. Fix compile time | |
30905 | warnings. | |
30906 | ||
30907 | * h8300.md: Likewise. | |
30908 | ||
30909 | 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30910 | ||
30911 | * varasm.c (asm_output_bss): Mark parameters with ATTRIBUTE_UNUSED. | |
30912 | (asm_emit_uninitialised): Likewise. | |
30913 | ||
30914 | 2000-01-13 Gavin Romig-Koch <gavin@cygnus.com> | |
30915 | ||
30916 | * config/mips/mips.h (ISA_HAS_INT_CONDMOVE): New. | |
30917 | * config/mips/mips.md: Use ISA_HAS_INT_CONDMOVE. | |
30918 | ||
30919 | 2000-01-14 Clinton Popetz <cpopetz@cygnus.com> | |
30920 | ||
30921 | * config/mips/mips.c (override_options): Don't turn on extra | |
30922 | alignment for mips16. | |
30923 | ||
30924 | 2000-01-14 Clinton Popetz <cpopetz@cygnus.com> | |
30925 | ||
30926 | * config/mips/mips.c (mips_va_arg): Fix fprv for the 32 bit | |
30927 | eabi, and make sure queued POSTINCREMENT rtl is emitted at | |
30928 | the right point. | |
30929 | ||
30930 | 2000-01-14 Clinton Popetz <cpopetz@cygnus.com> | |
30931 | ||
30932 | * builtins.c (PAD_VARARGS_DOWN): Define. | |
30933 | (std_expand_builtin_va_arg): Use the above macro. | |
30934 | * config/mips/mips.h (PAD_VARARGS_DOWN): Define. | |
30935 | * tm.texi (Register Arguments): Document the above macro. | |
30936 | ||
30937 | 2000-01-14 Nick Clifton <nickc@cygnus.com> | |
30938 | ||
30939 | * emit-rtl.c (emit_insn): If checking is enabled, make sure | |
30940 | that this function has not been used to emit a jump | |
30941 | instruction. | |
30942 | ||
30943 | * jump.c (return_jump_1): Cope with being passed a null rtx. | |
30944 | ||
30945 | 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30946 | ||
30947 | * eh-common.h: PROTO -> PARAMS. | |
30948 | * emit-rtl.c: Likewise. | |
30949 | * errors.c: Likewise. | |
30950 | * errors.h: Likewise. | |
30951 | * except.c: Likewise. | |
30952 | * except.h: Likewise. | |
30953 | * explow.c: Likewise. | |
30954 | * expmed.c: Likewise. | |
30955 | * expr.c: Likewise. | |
30956 | * expr.h: Likewise. | |
30957 | * final.c: Likewise. | |
30958 | * fix-header.c: Likewise. | |
30959 | * flow.c: Likewise. | |
30960 | * fold-const.c: Likewise. | |
30961 | * function.c: Likewise. | |
30962 | * function.h: Likewise. | |
30963 | * gcc.c: Likewise. | |
30964 | * gcov-io.h: Likewise. | |
30965 | * gcov.c: Likewise. | |
30966 | * gcse.c: Likewise. | |
30967 | ||
30968 | 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30969 | ||
30970 | * sh-protos.h: New file. | |
30971 | ||
30972 | * sh.c: Include insn-config.h, toplev.h, recog.h and tm_p.h. | |
30973 | Add static prototypes. Fix compile time warnings. | |
30974 | ||
30975 | * sh.h: Move prototypes to sh-protos.h. Fix compile time warnings. | |
30976 | * sh.md: Likewise. | |
30977 | * elf.h: Likewise. | |
30978 | ||
30979 | 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30980 | ||
30981 | * arc-protos.h: New file. | |
30982 | ||
30983 | * arc.c: Include tm_p.h. Add static prototypes. Fix compile | |
30984 | time warnings. | |
30985 | ||
30986 | * arc.h: Move prototypes to arc-protos.h. Fix compile time | |
30987 | warnings. | |
30988 | ||
30989 | * arc.md: Likewise. | |
30990 | ||
30991 | 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
30992 | ||
30993 | * dsp16xx-protos.h: New file. | |
30994 | ||
30995 | * dsp16xx.c: Include tm_p.h. Add static prototypes. Fix compile | |
30996 | time warnings. | |
30997 | ||
30998 | * dsp16xx.h: Move prototypes to dsp16xx-protos.h. Fix compile time | |
30999 | warnings. | |
31000 | ||
31001 | * dsp16xx.md: Likewise. | |
31002 | ||
31003 | 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31004 | ||
31005 | * convex-protos.h: New file. | |
31006 | ||
31007 | * convex.c: Include tm_p.h. Add static prototypes. Fix compile | |
31008 | time warnings. | |
31009 | ||
31010 | * convex.h: Move prototypes to convex-protos.h. Fix compile time | |
31011 | warnings. | |
31012 | ||
31013 | 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31014 | ||
31015 | * elxsi-protos.h: New file. | |
31016 | ||
31017 | * elxsi.c: Include tm_p.h. Add static prototypes. Fix compile | |
31018 | time warnings. | |
31019 | ||
31020 | * elxsi.h: Move prototypes to elxsi-protos.h. Fix compile time | |
31021 | warnings. | |
31022 | ||
31023 | * elxsi.md: Likewise. | |
31024 | ||
31025 | 2000-01-14 Clinton Popetz <cpopetz@cygnus.com> | |
31026 | ||
31027 | * config/mips/mips.h (REGISTER_MOVE_COST): Remove redundant | |
31028 | case for moving from HI/LO/HI_LO_REG. This makes the behavior | |
31029 | match the comment for MIPS16. | |
31030 | ||
31031 | Fri Jan 14 00:28:06 2000 Jeffrey A Law (law@cygnus.com) | |
31032 | ||
31033 | * flow.c (split_edge): Do not call set_block_for_insn if we | |
31034 | do not have a basic_block_for_insn structure. | |
31035 | ||
31036 | * fr30.h (TRAMPOLINE_TEMPLATE): Use nops to ensure the static chain | |
31037 | and destination functions are 32bit aligned within the trampoline. | |
31038 | (TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Corresponding changes. | |
31039 | (TRAMPOLINE_ALIGNMENT): Define. | |
31040 | ||
31041 | * cse.c (cse_insn): When changing (set (pc) (reg)) to | |
31042 | (set (pc) (label_ref)), verify the change creates a valid insn. | |
31043 | ||
31044 | * fr30.c (call_operand): Tighten and rework to match rules for | |
31045 | call RTL expressions. | |
31046 | * fr30.h (PREDICATE_CODES, case call_operand): Only allow MEMs. | |
31047 | * fr30.md (call patterns): Improve constraints. | |
31048 | ||
31049 | Thu Jan 13 23:44:03 2000 Richard Henderson <rth@cygnus.com> | |
31050 | ||
31051 | * fr30.c (fr30_expand_epilogue): Revert last change. | |
31052 | Use emit_jump_insn for the return insn. | |
31053 | ||
31054 | Thu Jan 13 14:46:03 2000 Jason Eckhardt <jle@cygnus.com> | |
31055 | Stan Cox <scox@cygnus.com> | |
31056 | ||
31057 | * predict.c: New file. Preliminary infrastructure work for static | |
31058 | branch prediction and basic block reordering. | |
31059 | * basic-block.h: Add prototype for estimate_probability. | |
31060 | * Makefile.in: Add rules for predict.o. | |
31061 | ||
31062 | 2000-01-13 Jason Merrill <jason@yorick.cygnus.com> | |
31063 | ||
31064 | * fixincludes (va_list): Use __not_va_list__ for the dummy. | |
31065 | * fixinc/*: Likewise. | |
31066 | ||
31067 | 2000-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31068 | ||
31069 | * cccp.c: PROTO -> PARAMS. | |
31070 | * cexp.y: Likewise. | |
31071 | * collect2.c: Likewise. | |
31072 | * combine.c: Likewise. | |
31073 | * convert.h: Likewise. | |
31074 | * cse.c: Likewise. | |
31075 | * dbxout.c: Likewise. | |
31076 | * dbxout.h: Likewise. | |
31077 | * diagnostic.c: Likewise. | |
31078 | * doprint.c: Likewise. | |
31079 | * dwarf2out.c: Likewise. | |
31080 | * dwarf2out.h: Likewise. | |
31081 | * dwarfout.c: Likewise. | |
31082 | * dwarfout.h: Likewise. | |
31083 | * dyn-string.h: Likewise. | |
31084 | ||
31085 | 2000-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31086 | ||
31087 | * calls.c (emit_call_1): Wrap varaible `struct_value_size_rtx' in | |
31088 | macro conditionals guarding use. | |
31089 | ||
31090 | * dwarf2out.c: Include "tm_p.h". | |
31091 | ||
31092 | * function.c (locate_and_pad_parm): Mark parameter with | |
31093 | ATTRIBUTE_UNUSED. | |
31094 | (expand_function_end): Likewise for variable `context'. | |
31095 | ||
31096 | * reorg.c (make_return_insns): Wrap prototype in macro HAVE_return. | |
31097 | ||
31098 | 2000-01-13 Nick Clifton <nickc@cygnus.com> | |
31099 | ||
31100 | * config/fr30/fr30.c (fr30_expand_epilogue): Emit USEs of pop'ed | |
31101 | register to prevent compile time warnings. | |
31102 | ||
31103 | 2000-01-13 Zack Weinberg <zack@wolery.cumb.org> | |
31104 | ||
31105 | * longlong.h [i386] (udiv_qrnnd): Rename 'd' argument to 'dv' | |
31106 | to avoid -Wtraditional warning. | |
31107 | ||
31108 | 2000-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31109 | ||
31110 | * 1750a-protos.h: New file. | |
31111 | ||
31112 | * 1750a.c: Include tm_p.h. Add static prototypes. Fix compile | |
31113 | time warnings. | |
31114 | ||
31115 | * 1750a.h: Move prototypes to 1750a-protos.h. Fix compile time | |
31116 | warnings. | |
31117 | ||
31118 | * 1750a.md: Likewise. | |
31119 | ||
31120 | 2000-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31121 | ||
31122 | * a29k-protos.h: New file. | |
31123 | ||
31124 | * a29k.c: Include tm_p.h. Add static prototypes. Fix compile | |
31125 | time warnings. | |
31126 | ||
31127 | * a29k.h: Move prototypes to a29k-protos.h. Fix compile time | |
31128 | warnings. | |
31129 | ||
31130 | 2000-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31131 | ||
31132 | * clipper-protos.h: New file. | |
31133 | ||
31134 | * clipper.c: Include tm_p.h. Add static prototypes. Fix compile | |
31135 | time warnings. | |
31136 | ||
31137 | * clipper.h: Move prototypes to clipper-protos.h. Fix compile time | |
31138 | warnings. | |
31139 | ||
31140 | Thu Jan 13 16:03:06 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
31141 | ||
31142 | * reload1.c (reload_combine_note_store): Use HARD_REGNO_NREGS. | |
31143 | ||
31144 | 2000-01-13 Nathan Sidwell <sidwell@codesourcery.com> | |
31145 | ||
31146 | * configure.in (--enable-new-gxx-abi): New option. | |
31147 | * acconfig.h (ENABLE_NEW_GXX_ABI): New define. | |
31148 | * Makefile.in (GXX_ABI_FLAG): New variable. | |
31149 | * configure: Regenerate. | |
31150 | ||
31151 | 2000-01-13 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
31152 | ||
31153 | * stor-layout.c (layout_type): Use FORCE_STRUCT_BLK. | |
31154 | * tm.texi (FORCE_STRUCT_BLK): Document. | |
31155 | * config/c4x/c4x.h (FORCE_STRUCT_BLK): New macro. | |
31156 | ||
31157 | Wed Jan 12 23:12:47 2000 Hans-Peter Nilsson <hp@axis.com> | |
31158 | ||
31159 | * config/ns32k/ns32k.md: Revert Jan 9 change. | |
31160 | ||
31161 | * genrecog.c (maybe_both_true_2): Do not compare a predicate-test | |
31162 | to a mode-test, if the predicate is address_operand. | |
31163 | ||
31164 | Wed Jan 12 22:34:00 2000 Jeffrey A Law (law@cygnus.com) | |
31165 | ||
31166 | * combine.c (if_then_else_cond): Be careful about what kinds | |
31167 | of RTL expressions are passed to operand_subword. | |
31168 | ||
31169 | * flow.c (split_edge): If we have to insert a new jump, make | |
31170 | sure to associate it with a basic block. | |
31171 | ||
31172 | * flow.c (commit_one_edge_insertion): A block with one successor | |
31173 | can end in a JUMP_INSN that is not a simplejump. | |
31174 | ||
31175 | 2000-01-12 Robert Lipe <robertl@sco.com> | |
31176 | ||
31177 | * i386/sco5.h (INIT_SECTION_ASM_OP_COFF): Rename section to "ctor". | |
31178 | (BUILD_VA_LIST_TYPE): Define. | |
31179 | (EH_FRAME_SECTION_ASM_OP): Explictly define to better interact | |
31180 | with crtstuff.c. | |
31181 | ||
31182 | 2000-01-12 Jason Merrill <jason@casey.cygnus.com> | |
31183 | ||
31184 | * cccp.c (do_pragma): Add cast to (char *). | |
31185 | ||
31186 | 2000-01-12 Richard Henderson <rth@cygnus.com> | |
31187 | Fred Fish <fnf@be.com> | |
31188 | Jason Merrill <jason@cygnus.com> | |
31189 | ||
31190 | * configure.in (i?86-*-beos{pe,elf,}*): Recognize. | |
31191 | * i386/t-beos, i386/x-beos, i386/xm-beos.h: New files. | |
31192 | * i386/beos-elf.h, i386/beos-pe.h: New files. | |
31193 | ||
31194 | * Makefile.in (CROSS_SYSTEM_HEADER_DIR): New. | |
31195 | * cross-make (SYSTEM_HEADER_DIR): Define using | |
31196 | CROSS_SYSTEM_HEADER_DIR. | |
31197 | ||
31198 | * gcc.c (LIBRARY_PATH_ENV): Provide default. | |
31199 | (process_command): Use it. | |
31200 | (main): Likewise. Kill trailing = from env vars. | |
31201 | (build_search_list): Put it back. | |
31202 | * collect2.c (main): Use LIBRARY_PATH_ENV. | |
31203 | ||
31204 | * configure.in (GCC_NEED_DECLARATIONS): Add environ. | |
31205 | * toplev.c: Use NEED_DECLARATION_ENVIRON. | |
31206 | ||
31207 | * tm.texi (Frame Layout): Document SMALL_STACK. | |
31208 | * c-common.c (c_common_nodes_and_builtins): Check it. | |
31209 | ||
31210 | * system.h: Undef alloca after including glibc's <stdlib.h>, | |
31211 | if USE_C_ALLOCA is defined. | |
31212 | ||
31213 | * gcc.c (set_input): New fn. | |
31214 | (main): After all input files are compiled, reset the input file | |
31215 | info to the first. | |
31216 | ||
31217 | * aclocal.m4 (rindex, index): If already defined, don't attempt | |
31218 | to redefine. | |
31219 | ||
31220 | * ginclude/varargs.h: (__va_list__): Define ifndef. | |
31221 | * ginclude/stdarg.h: Likewise. | |
31222 | ||
31223 | * ginclude/stddef.h (__WCHAR_TYPE__) [BEOS]: Use int | |
31224 | instead of unsigned char. | |
31225 | ||
31226 | * hash.h (true, false, boolean): Undef before enum. | |
31227 | ||
31228 | * expmed.c (choose_multiplier): Cast &mhigh_lo and &mhigh_hi to be | |
31229 | proper type of "HOST_WIDE_INT *", rather than their natural type of | |
31230 | "unsigned HOST_WIDE_INT *". | |
31231 | ||
31232 | 2000-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31233 | ||
31234 | * svr3.h (ASM_FILE_START): Wrap if-clause in squigly brackets. | |
31235 | ||
31236 | * recog.c (memory_address_p): Mark parameter with ATTRIBUTE_UNUSED. | |
31237 | ||
31238 | * regclass.c (choose_hard_reg_mode): Likewise. | |
31239 | ||
31240 | * reload.c (find_valid_class, strict_memory_address_p): Likewise. | |
31241 | ||
31242 | * reorg.c (optimize_skip): Wrap prototype in macro conditionals. | |
31243 | ||
31244 | 2000-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31245 | ||
31246 | * c-common.c: PROTO -> PARAMS. | |
31247 | * c-common.h: Likewise. | |
31248 | * c-decl.c: Likewise. | |
31249 | * c-iterate.c: Likewise. | |
31250 | * c-lang.c: Likewise. | |
31251 | * c-lex.c: Likewise. | |
31252 | * c-lex.h: Likewise. | |
31253 | * c-parse.in: Likewise. | |
31254 | * c-pragma.c: Likewise. | |
31255 | * c-pragma.h: Likewise. | |
31256 | * c-tree.h: Likewise. | |
31257 | * c-typeck.c: Likewise. | |
31258 | * objc/objc-act.c: Likewise. | |
31259 | * objc/objc-act.h: Likewise. | |
31260 | ||
31261 | 2000-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31262 | ||
31263 | * m88k-protos.h: New file. | |
31264 | ||
31265 | * m88k.c: Include tm_p.h. Add static prototypes. Fix compile | |
31266 | time warnings. | |
31267 | ||
31268 | * m88k.h: Move prototypes to m88k-protos.h. Fix compile time warnings. | |
31269 | ||
31270 | * m88k.md: Likewise. | |
31271 | ||
31272 | * tekXD88.h: Likewise. | |
31273 | ||
31274 | 2000-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31275 | ||
31276 | * m68k-protos.h: New file. | |
31277 | ||
31278 | * m68k.c: Include tm_p.h. Add static prototypes. Fix compile | |
31279 | time warnings. | |
31280 | ||
31281 | * m68k.h: Move prototypes to m68k-protos.h. Fix compile time warnings. | |
31282 | ||
31283 | * mot3300.h: Likewise. | |
31284 | ||
31285 | 2000-01-12 Richard Earnshaw <rearnsha@arm.com> | |
31286 | ||
31287 | * haifa-sched.c (split_edges): Pass edgeset_size as second arg to | |
31288 | extract_bitlst. | |
31289 | (extract_bitlist): Declare bitlen. | |
31290 | ||
31291 | 2000-01-12 Zack Weinberg <zack@wolery.cumb.org | |
31292 | ||
31293 | * cccp.c: Accept and ignore -lang-fortran. | |
31294 | ||
31295 | * c-typeck.c (build_c_cast): Issue -Wcast-qual warnings if the | |
31296 | qualifiers don't match at any level of pointerness. | |
31297 | ||
31298 | 2000-01-12 Robert Lipe <robertl@sco.com> | |
31299 | ||
31300 | * i386/sysv5.h (CPP_SPEC, LIBSPEC): Add -pthreadT. | |
31301 | ||
31302 | 2000-01-12 Bernd Schmidt <bernds@cygnus.co.uk> | |
31303 | ||
31304 | * reload1.c (reload_reg_unavailable): New static variable. | |
31305 | (reload_reg_free_p): Test it. | |
31306 | (reload_reg_free_for_value_p): Test it instead of | |
31307 | reload_reg_used. | |
31308 | (choose_reload_regs_init): Compute it. | |
31309 | ||
31310 | Wed Jan 12 03:24:41 2000 Toshiyasu Morita (toshi.morita@sega.com) | |
31311 | ||
31312 | * reorg.c (fill_slots_from_thread): Check modified_in_p | |
31313 | before replacing. | |
31314 | ||
31315 | Wed Jan 12 03:20:31 2000 John Marshall <john_w_marshall@palm.com> | |
31316 | ||
31317 | * gcc.texi (Funding, GNU/Linux, Copying, Contributors): Format | |
31318 | these nodes even if INTERNALS is not set. | |
31319 | ||
31320 | Wed Jan 12 09:39:22 2000 Nick Burrett <nick.burrett@btinternet.com> | |
31321 | ||
31322 | * gcse.c (delete_null_pointer_checks_1): Cope when | |
31323 | get_condition cannot determine the condition. | |
31324 | ||
31325 | 2000-01-12 Gabriel Dos Reis <gdr@codesourcery.com> | |
31326 | ||
31327 | * toplev.h (set_message_length): Declare. | |
31328 | ||
31329 | * diagnostic.c (obstack_chunk_alloc): Define macro. | |
31330 | (obstack_chunk_free): Likewise. | |
31331 | (struct output_buffer): New data structure. | |
31332 | (vmessage): Remove. | |
31333 | (output_maximum_width): New variable. | |
31334 | (doing_line_wrapping, set_message_length, init_output_buffer, | |
31335 | get_output_prefix, output_space_left, emit_output_prefix, | |
31336 | output_newline, output_append, output_puts, dump_output, | |
31337 | vbuild_message_string, build_message_string, build_location_prefix, | |
31338 | voutput_notice, output_printf, line_wrapper_printf, | |
31339 | vline_wrapper_message_with_location): New functions. Implement | |
31340 | automatic line wrapping. | |
31341 | (v_message_with_decl): Make it handle automatic line wrapping. | |
31342 | (v_error_with_file_and_line): Likewise. | |
31343 | (v_warning_with_file_and_line): Likewise. | |
31344 | (announce_function): Likewise. | |
31345 | (default_print_error_function): Likewise. | |
31346 | ||
31347 | 2000-01-11 16:24 -0800 Zack Weinberg <zack@wolery.cumb.org> | |
31348 | ||
31349 | * cpplib.h (struct cpp_options): Change lang_asm to char. | |
31350 | Add lang_fortran. | |
31351 | * cppinit.c (builtin_array): Take out __STDC_VERSION__, it's | |
31352 | done in cpp_handle_option now. | |
31353 | (initialize_builtins): Take out special case code used only by | |
31354 | __STDC_VERSION__. | |
31355 | (cpp_handle_option): Turn off trigraphs and trigraph warnings | |
31356 | if -traditional. Recognize -lang-fortran and set | |
31357 | lang_fortran, also turn off cplusplus_comments. | |
31358 | (print_help): Document -lang-fortran. | |
31359 | * cpplib.c (handle_directive): Ignore `# 123 "file"' if | |
31360 | lang_asm. Ignore all directives other than `# 123 "file"' if | |
31361 | CPP_PREPROCESSED. | |
31362 | (cpp_get_token): If -traditional, don't recognize directives | |
31363 | unless the # is in column 1. | |
31364 | (parse_string): If lang_fortran or lang_asm, silently | |
31365 | terminate strings ('' or "") at end of line. | |
31366 | Remove unnecessary braces. | |
31367 | ||
31368 | 2000-01-11 Alexandre Oliva <oliva@lsd.ic.unicamp.br> | |
31369 | Richard Henderson <rth@cygnus.com> | |
31370 | ||
31371 | * resource.c (mark_referenced_resources): Mark a set strict_low_part | |
31372 | as used. | |
31373 | * config/i386/i386.c (ix86_expand_setcc): Re-enable clear + set | |
31374 | strict_low_part when possible. | |
31375 | ||
31376 | 2000-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31377 | ||
31378 | * alias.c: PROTO -> PARAMS. | |
31379 | * basic-block.h: Likewise. | |
31380 | * bitmap.c: Likewise. | |
31381 | * bitmap.h: Likewise. | |
31382 | * builtins.c: Likewise. | |
31383 | * c-aux-info.c: Likewise. | |
31384 | * caller-save.c: Likewise. | |
31385 | * calls.c: Likewise. | |
31386 | ||
31387 | 2000-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31388 | ||
31389 | * Makefile.in (toplev.o): Depend on regs.h. | |
31390 | ||
31391 | * output.h (tdesc_section): Prototype. | |
31392 | ||
31393 | * regclass.c (copy_cost): Mark parameters with ATTRIBUTE_UNUSED. | |
31394 | ||
31395 | * sdbout.c: Include "tm_p.h". | |
31396 | ||
31397 | * toplev.c: Include "regs.h". | |
31398 | ||
31399 | Tue Jan 11 11:37:58 2000 Mike Stump <mrs@wrs.com> | |
31400 | ||
31401 | * unroll.c (unroll_loop): Add EH support. | |
31402 | ||
31403 | 2000-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31404 | ||
31405 | * pa-protos.h: New file. | |
31406 | ||
31407 | * pa.c: Include recog.h and tm_p.h. | |
31408 | (compute_zdepwi_operands, compute_movstrsi_length, | |
31409 | remove_useless_addtr_insns, store_reg, load_reg, set_reg_plus_d, | |
31410 | find_addr_reg, import_milli): Add static prototypes. | |
31411 | (pa_cpu_string, pa_arch_string): Constify a char*. | |
31412 | (legitimize_pic_address): Pass argument `mode' to pic_label_operand. | |
31413 | (read_only_operand): Add argument `mode'. | |
31414 | (singlemove_string, output_move_double, output_fp_move_double, | |
31415 | output_block_move, output_and, output_ior, output_ascii, | |
31416 | remove_useless_addtr_insns, milli_names, output_mul_insn, | |
31417 | output_div_insn, output_mod_insn, output_arg_descriptor, | |
31418 | output_cbranch, output_bb, output_bvb, output_dbra, , | |
31419 | output_millicode_call, output_call, hppa_encode_label, | |
31420 | output_parallel_movb, output_parallel_addb): Constify a char*. | |
31421 | (hppa_va_start): Mark parameter `stdarg_p' with ATTRIBUTE_UNUSED. | |
31422 | (output_parallel_addb): Remove extra arg to `constrain_operands' | |
31423 | ||
31424 | * pa.h: Move all prototypes to pa-protos.h. | |
31425 | (pa_cpu_string, pa_arch_string): Constify a char*. | |
31426 | (LEGITIMIZE_ADDRESS): Call `symbolic_operand' with mode argument. | |
31427 | ||
31428 | * pa.md: Call `function_label_operand' with mode argument. | |
31429 | Likewise for `read_only_operand'. | |
31430 | Fix nesting of parens in call to `symbolic_operand'. | |
31431 | ||
31432 | 2000-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31433 | ||
31434 | * i860-protos.h: New file. | |
31435 | ||
31436 | * i860.c: Include tm_p.h. Add static prototypes. Fix compile | |
31437 | time warnings. | |
31438 | ||
31439 | * i860.h: Move prototypes to i860-protos.h. Fix compile time warnings. | |
31440 | ||
31441 | * i860.md: Likewise. | |
31442 | ||
31443 | Tue Jan 11 18:59:35 MET 2000 Jan Hubicka <jh@suse.cz> | |
31444 | ||
31445 | * i386.md (movstrsi expander): Rewrite. | |
31446 | (movstrsi_1 insn): Deleted. | |
31447 | (strmovhi, strmovqi expander): New expanders. | |
31448 | (movshi_1, movsqi_1, rep_movsi, rep_movqi): New patterns. | |
31449 | * i386.c (x86_single_stringop): New global variable. | |
31450 | * i386.h (x86_single_stringop): Declare. | |
31451 | (TARGET_SINGLE_STRINGOP): New macro. | |
31452 | ||
31453 | 2000-01-11 Clinton Popetz <cpopetz@cygnus.com> | |
31454 | ||
31455 | * config/mips/mips.c (mips_va_arg): For EABI, emit the queued | |
31456 | integer vararg POSTINCREMENT before the destination of the jump | |
31457 | for the hard fp case. | |
31458 | (function_arg_pass_by_reference): Pass a copy of CUM to | |
31459 | FUNCTION_ARG. | |
31460 | ||
31461 | * config/mips/mips.h (GO_IF_LEGITIMATE_ADDRESS): Move check | |
31462 | for CONSTANT_ADDRESS_P above while loop for subreg. | |
31463 | ||
31464 | 2000-01-11 Clinton Popetz <cpopetz@cygnus.com> | |
31465 | ||
31466 | * flow.c (propagate_block): When a prologue/epilogue insn | |
31467 | is marked dead, unconditionally clear libcall_is_dead and | |
31468 | insn_is_dead, and only dump rtl if warnings aren't being | |
31469 | suppressed. | |
31470 | ||
31471 | Tue Jan 11 16:26:47 MET 2000 Jan Hubicka <jh@suse.cz> | |
31472 | ||
31473 | * i386.c (ix86_attr_length_default): Handle TYPE_STR and TYPE_CLD. | |
31474 | * i386.md (FIRST_PSEUDO_REGISTER): Set to 20. | |
31475 | (FIXED_REGISTERS): Set dirflag as fixed. | |
31476 | (CALL_USED_REGISTERS): Set dirflag as used. | |
31477 | (REG_ALLOC_ORDER): Set dirflag as last one. | |
31478 | (DIRFLAG_REG): New macro. | |
31479 | (MD_ASM_CLOBBERS): Asm clobber dirflag for backward compatibility. | |
31480 | (HI_REGISTER_NAMES): Add dirflag. | |
31481 | (DEBUF_PRINT_REG): Handle dirflag. | |
31482 | * i386.md (type attribute): New cld and str types. | |
31483 | (length_opcode attribute): Set cld and str to 1. | |
31484 | (memory attribute): Set str to unknown - it is not clear from the | |
31485 | patterns. | |
31486 | (pent_np function unit): Prefixed string operations takes 12 cycles | |
31487 | minimally; cld takes 2 cycles. | |
31488 | (ppro_uops attribute): Str is "many" and cld is "few". | |
31489 | (ppro_p0 unit): Handle cld here. | |
31490 | (k6_alux unit): Handle cld and str types. | |
31491 | (k6_load unit): It is ocupied by str opcodes. | |
31492 | (k6_store unit): It is ocupied by str opcodes. | |
31493 | (athlon_decode): Str is vector decoded. | |
31494 | (athlon_ieu): Handle str and cld. | |
31495 | (cld pattern): New. | |
31496 | (movstrsi, clrstr, cmpstr, strlen expander): Emit cld instruction | |
31497 | (movstrsi_1, clrstrsi_1, cmpstrsi_1, strlensi_1, | |
31498 | cmpstrsi_nz_1 insn): Do not output cld instruction | |
31499 | ||
31500 | Tue Jan 11 06:14:39 2000 David Starner <dstarner98@aasaa.ofe.org> | |
31501 | ||
31502 | * gcc.texi (G++ and GCC): Add Java and Chill. | |
31503 | (Bug Critera): Don't list languages. | |
31504 | ||
31505 | * gcc.texi (Incompatibilities): No longer claim most C compilers | |
31506 | are K&R. | |
31507 | ||
31508 | * gcc.texi (G++ and GCC): Update other front-ends list. | |
31509 | ||
31510 | Tue Jan 11 05:49:01 2000 Jeffrey A Law (law@cygnus.com) | |
31511 | ||
31512 | * i386.c (ix86_expand_setcc): Fix typo. | |
31513 | (ix86_expand_movcc): Similarly. | |
31514 | ||
31515 | * Band-aid until haifa's bitset implementation is nuked. | |
31516 | * haifa-sched.c (extract_bitlst): New parameter for size of the | |
31517 | bitset in bits. All callers changed. Avoid looking at undefined | |
31518 | bits in the bitset. | |
31519 | (edgeset_bitsize): New variable. | |
31520 | (schedule_region): Initialize edgeset_bitsize. | |
31521 | ||
31522 | 2000-01-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31523 | ||
31524 | * Makefile.in (optabs.o): Depend on real.h | |
31525 | (resource.o): Depend on insn-attr.h | |
31526 | ||
31527 | * builtins.c (result_vector): Wrap prototype in macro conditions | |
31528 | governing definition and use. | |
31529 | ||
31530 | * c-common.c: Include tm_p.h. | |
31531 | ||
31532 | * c-lex.c: Likewise. | |
31533 | ||
31534 | * elfos.h: Constify a char*. | |
31535 | ||
31536 | * final.c (align_fuzz): Wrap prototype in macro HAVE_ATTR_length. | |
31537 | (get_attr_length, shorten_branches, profile_after_prologue): Mark | |
31538 | parameter with ATTRIBUTE_UNUSED. | |
31539 | ||
31540 | * fold-const.c (exact_real_inverse): Wrap variable `i' in | |
31541 | CHECK_FLOAT_VALUE. | |
31542 | ||
31543 | * haifa-sched.c (schedule_insns): Mark parameter with | |
31544 | ATTRIBUTE_UNUSED. | |
31545 | ||
31546 | * optabs.c: Include real.h. | |
31547 | ||
31548 | * real.h (ereal_atof): Add prototype arguments. | |
31549 | ||
31550 | * resource.c: Include insn-attr.h. | |
31551 | ||
31552 | * sdbout.c (sdbout_queue_anonymous_type, | |
31553 | sdbout_dequeue_anonymous_types): Wrap in macro | |
31554 | SDB_ALLOW_FORWARD_REFERENCES. | |
31555 | (sdbout_init, sdbout_start_new_source_file): Mark parameter with | |
31556 | ATTRIBUTE_UNUSED. | |
31557 | ||
31558 | * stmt.c (expand_return): Wrap variable `op0' in macro HAVE_return. | |
31559 | ||
31560 | * stupid.c: Include tm_p.h. | |
31561 | ||
31562 | * tree.c (real_value_from_int_cst): Mark parameter with | |
31563 | ATTRIBUTE_UNUSED. | |
31564 | ||
31565 | 2000-01-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31566 | ||
31567 | * i960-protos.h: New file. | |
31568 | ||
31569 | * i960.c: Include tm_p.h. Add static prototypes. Fix compile | |
31570 | time warnings. | |
31571 | ||
31572 | * i960.h: Move prototypes to i960-protos.h. Fix compile time warnings. | |
31573 | ||
31574 | 2000-01-10 Alexandre Oliva <oliva@lsd.ic.unicamp.br> | |
31575 | ||
31576 | * combine.c (expand_field_assignment): Do not discard SUBREGs | |
31577 | while computing nonzero_bits. | |
31578 | ||
31579 | 2000-01-09 Nick Clifton <nickc@cygnus.com> | |
31580 | ||
31581 | * config/arm/arm.c: Fix compile time warnings about signed vs | |
31582 | unsigned constants. | |
31583 | * config/arm/arm.h: Fix compile time warnings about signed vs | |
31584 | unsigned constants. | |
31585 | ||
31586 | 2000-01-09 Philip Blundell <philb@gnu.org> | |
31587 | ||
31588 | * config/arm/arm.c (output_return_instruction): Use `ldr' rather | |
31589 | than `ldm' with only one register. | |
31590 | * config/arm/arm.md (push_multi): Use `str' rather than `stm' with | |
31591 | only one register. | |
31592 | ||
31593 | * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Say that R0 is | |
31594 | clobbered. | |
31595 | ||
31596 | Sun Jan 9 17:50:23 2000 Hans-Peter Nilsson <hp@axis.com> | |
31597 | ||
31598 | * config/ns32k/ns32k.md (load or push effective address): Operand 1 | |
31599 | must have SImode. | |
31600 | ||
31601 | 2000-01-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31602 | ||
31603 | * elfos.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around | |
31604 | assignment used as truth value. | |
31605 | ||
31606 | * function.c (assign_temp): Mark parameter `dont_promote' with | |
31607 | ATTRIBUTE_UNUSED. Wrap variable `unsignedp' with macro | |
31608 | PROMOTE_FOR_CALL_ONLY. | |
31609 | ||
31610 | * genrecog.c (write_subroutine): Mark variable `operands' with | |
31611 | ATTRIBUTE_UNUSED. | |
31612 | ||
31613 | * optabs.c (prepare_cmp_insn): Mark parameter `align' with | |
31614 | ATTRIBUTE_UNUSED. | |
31615 | ||
31616 | * sdbout.c (sdbout_init): Likewise for parameter `asm_file'. | |
31617 | (sdbout_begin_block, sdbout_end_block): Likewise for `file'. | |
31618 | ||
31619 | * toplev.c (note_deferral_of_defined_inline_function): Likewise | |
31620 | for `decl'. | |
31621 | ||
31622 | 2000-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
31623 | ||
31624 | * config/c4x.h: Tidy up comments. | |
31625 | * config/c4x.c: Likewise. | |
31626 | ||
31627 | Sun Jan 9 01:02:55 EST 2000 John Wehle (john@feith.com) | |
31628 | ||
31629 | * fold-const.c (lshift_double, rshift_double): Handle | |
31630 | shifting by 2 * HOST_BITS_PER_WIDE_INT correctly. | |
31631 | ||
31632 | 2000-01-08 Alexandre Oliva <oliva@lsd.ic.unicamp.br> | |
31633 | ||
31634 | * toplev.c (rest_of_compilation): Initialize cse_not_expected as | |
31635 | in prepare_function_start(). | |
31636 | ||
31637 | Sat Jan 8 12:12:46 2000 Nick Clifton <nickc@cygnus.com> | |
31638 | ||
31639 | * config/v850/v850.c (expand_epilogue): Interrupt functions no | |
31640 | longer allocate extra stack for function calls. | |
31641 | ||
31642 | 2000-01-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
31643 | ||
31644 | * config/c4x/c4x.md (*subqf3_set): Fix typo. | |
31645 | ||
31646 | 2000-01-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
31647 | ||
31648 | * config/c4x/c4x.h (CALLER_SAVE_PROFITABLE): Define as 0. | |
31649 | ||
31650 | 2000-01-07 David Edelsohn <edelsohn@gnu.org> | |
31651 | ||
31652 | * rs6000.c (processor_target_table): Add power3 as alias for 630. | |
31653 | * aix43.h: Revert Aug 2 change. | |
31654 | (HAS_INIT_SECTION): Define, not visible yet. | |
31655 | (LD_INIT_SWITCH): Define, not visible yet. | |
31656 | * t-aix43 (MULTILIB_OPTIONS): Revert Aug 2 change. | |
31657 | ||
31658 | * glimits.h (__LONG_MAX__): Recognize 64-bit AIX too. | |
31659 | ||
31660 | * collect2.c (main): Expand ld2 size further. | |
31661 | (export_object_lst): Cast assignment to avoid warning. | |
31662 | (main, LD_INIT_SWITCH): Add AIX 4.2+ -binitfini support. | |
31663 | (scan_prog_file, COFF): Do not collect initialization or | |
31664 | finalization functions generated for entire shared object if | |
31665 | init/fini support present. | |
31666 | ||
31667 | 2000-01-07 Nick Clifton <nickc@cygnus.com> | |
31668 | ||
31669 | * config/elfos.h: Tidy up formatting of marcos. Make sure | |
31670 | that .section directives are always prefixed by a tab. | |
31671 | ||
31672 | * config/svr4.h: Add #include "elfos.h" and remove duplicate | |
31673 | definitions. | |
31674 | ||
31675 | 2000-01-07 Matt Austern <austern@sgi.com> | |
31676 | ||
31677 | * fold-const.c (real_hex_to_f): Remove duplicate declaration of | |
31678 | expon. | |
31679 | ||
31680 | Fri Jan 7 01:55:34 2000 Jeffrey A Law (law@cygnus.com) | |
31681 | ||
31682 | * Makefile.in (crtend.o): Pass @inhibit_libc@ to compilation of | |
31683 | crtstuff.c. | |
31684 | (crtbegin.o, s-crtS): Likewise. | |
31685 | ||
31686 | 2000-01-06 Richard Henderson <rth@cygnus.com> | |
31687 | ||
31688 | * alpha.md (adddi_2+1): Limit offset such that it will be | |
31689 | loadable with a single ldah+lda pair. | |
31690 | (adddi_2+2): Explicitly fail split if we can't make it work. | |
31691 | ||
31692 | 2000-01-06 Mumit Khan <khan@xraylith.wisc.edu> | |
31693 | ||
31694 | * protoize.c: Conditionally include unistd.h. | |
31695 | (IS_SAME_PATH_CHAR): New macro. | |
31696 | (IS_SAME_PATH): New macro. | |
31697 | (CPLUS_FILE_SUFFIX): New macro. | |
31698 | (cplus_suffix): New static variable. | |
31699 | (is_abspath): New static function. | |
31700 | (in_system_include_dir): Handle DOS style pathnames. | |
31701 | (file_could_be_converted): Likewise. | |
31702 | (file_normally_convertible): Likewise. | |
31703 | (directory_specified_p): Likewise. | |
31704 | (file_excluded_p): Likewise. | |
31705 | (abspath): Likewise. | |
31706 | (shortpath): Likewise. | |
31707 | (referenced_file_is_newer): Likewise. | |
31708 | (save_def_or_dec): Likewise. | |
31709 | (do_processing): Likewise. | |
31710 | (main): Likewise. | |
31711 | (edit_file): Likewise. Use rename instead of link. | |
31712 | (rename_c_file): Likewise. Don't rename syscalls file. | |
31713 | (munge_compile_params): Define null device for DOS based systems. | |
31714 | (process_aux_info_file): Use binary mode if appliable. | |
31715 | (edit_file): Likewise. | |
31716 | * invoke.texi (Running Protoize): Document C++ suffixes used. | |
31717 | ||
31718 | * cccp.c: Delete PATH_SEPARATOR, DIR_SEPARATOR and | |
31719 | IS_DIR_SEPARATOR macros. | |
31720 | * collect2.c: Likewise. | |
31721 | * cppinit.c: Likewise. | |
31722 | * dwarf2out.c: Likewise. | |
31723 | * gcc.c: Likewise. | |
31724 | * gcov.c: Likewise. | |
31725 | * prefix.c: Likewise. | |
31726 | * rtl.c: Likewise. | |
31727 | * toplev.c: Likewise. | |
31728 | * system.h: And move to here. | |
31729 | ||
31730 | * prefix.c (update_path): Fix typo in variable name. | |
31731 | ||
31732 | 2000-01-06 Richard Henderson <rth@cygnus.com> | |
31733 | ||
31734 | * flow.c (mark_set_1): Use loop_depth+1 as reference weight. | |
31735 | (find_auto_inc, mark_used_regs, try_pre_increment_1): Likewise. | |
31736 | (count_reg_sets_1, count_reg_references): Likewise. | |
31737 | (flow_loops_level_compute): Start counting actual loop depth at 1. | |
31738 | (flow_loops_find): Likewise. | |
31739 | * local-alloc.c (update_equiv_regs): Likewise. | |
31740 | * regclass.c (regclass): Re-instate Jan 4 0-based loop_depth change. | |
31741 | ||
31742 | 2000-01-06 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr> | |
31743 | ||
31744 | * defaults.h (DWARF_FRAME_REGISTERS): if not defined, default to | |
31745 | FIRST_PSEUDO_REGISTER | |
31746 | * dwarf2out.c: Don't include frame.h | |
31747 | * dwarfout.c: Likewise | |
31748 | * Makefile.in (dwarfout.o, dwarf2out.o): Remove dependence on | |
31749 | frame.h | |
31750 | ||
31751 | Thu Jan 6 13:44:59 CET 2000 Jan Hubicka <jh@suse.cz> | |
31752 | ||
31753 | * reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of | |
31754 | dead registers. | |
31755 | ||
31756 | * i386.c (movsf splitter): Fix typo in my last checkin. | |
31757 | ||
31758 | 2000-01-05 Nick Clifton <nickc@cygnus.com> | |
31759 | ||
31760 | * varasm.c (IN_NAMED_SECTION): Allow targets to provide their | |
31761 | own definition of this macro. | |
31762 | (asm_emit_uninitialised): Invoke UNIQUE_SECTION if either | |
31763 | flag_data_sections or UNIQUE_SECTION_P are true. | |
31764 | ||
31765 | * tm.texi (UNIQUE_SECTION): Document that it can be called for | |
ff7cc307 | 31766 | uninitialized data decls. |
c30d43bf JL |
31767 | |
31768 | * config/i386/winnt.c (i386_pe_unique_section): Cope with | |
4912a07c | 31769 | being called for uninitialized data. |
c30d43bf JL |
31770 | |
31771 | * config/i386/interix.c (i386_pe_unique_section): Cope with | |
4912a07c | 31772 | being called for uninitialized data. |
c30d43bf JL |
31773 | |
31774 | * config/mips/elf.h (UNIQUE_SECTION): Cope with being called | |
4912a07c | 31775 | for uninitialized data. |
c30d43bf JL |
31776 | |
31777 | * config/mips/elf64.h (UNIQUE_SECTION): Cope with being called | |
4912a07c | 31778 | for uninitialized data. |
c30d43bf JL |
31779 | |
31780 | * config/mips/iri6gld.h (UNIQUE_SECTION): Cope with being called | |
4912a07c | 31781 | for uninitialized data. |
c30d43bf JL |
31782 | |
31783 | * config/arm/unknown-elf.h (IN_NAMED_SECTION): Define. | |
31784 | (UNIQUE_SECTION_P): Always generate a unique section if | |
31785 | flag_data_sections is true. | |
31786 | (UNIQUE_SECTION): Also generate unique sections for | |
4912a07c | 31787 | uninitialized data. |
c30d43bf JL |
31788 | (ASM_OUTPUT_ALIGNED_BSS): Redefine to use named_section(). |
31789 | (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Redefine to use | |
31790 | named_section(). | |
31791 | ||
31792 | 2000-01-06 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
31793 | ||
31794 | * config/c4x/t-c4x (TARGET_LIBGCC2_CFLAGS): Don't redefine SF, DF, | |
31795 | SI, or DI. | |
31796 | ||
31797 | 2000-01-06 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
31798 | ||
31799 | * config/c4x/c4x.md (udivqi3, divqi3): Delete. | |
31800 | (umodqi3, modqi3, udivhi3, divhi3, umodhi3, modhi3, ffsqi2): Likewise. | |
31801 | (*smulqi3_highpart_noclobber, *umulqi3_highpart_noclobber): New. | |
31802 | (*lshrqi3_const_noclobber, *lshrqi3_nonconst_noclobber): Likewise. | |
31803 | (*ashrqi3_const_noclobber, *ashrqi3_nonconst_noclobber): Likewise. | |
31804 | ||
31805 | * c4x.h (INIT_TARGET_OPTABS): Define to init libcalls. | |
31806 | ||
31807 | 2000-01-05 11:25 -0800 Zack Weinberg <zack@rabi.columbia.edu> | |
31808 | ||
31809 | * c-decl.c (finish_enum): Simplify code to determine minimum and | |
31810 | maximum values of the enum, and calculate the type. Remove check | |
31811 | for FUNCTION_DECLs in the values list, which cannot happen. Replace | |
31812 | the DECL_INITIAL of each enumeration constant with a copy converted | |
31813 | to the enumeration type. When updating variant types, don't bother | |
31814 | updating the type itself. | |
31815 | ||
31816 | * c-typeck.c (build_binary_op): Simplify conditional expressions | |
31817 | when weeding out spurious signed-unsigned warnings. Add new | |
31818 | spurious warning category: if the unsigned quantity is an enum | |
31819 | and its maximum value fits in signed_type(result_type). Update | |
31820 | commentary. | |
31821 | (build_conditional_expr): Warn here if one alternative is signed | |
31822 | and the other is unsigned. | |
31823 | ||
31824 | 2000-01-05 Nick Clifton <nickc@cygnus.com> | |
31825 | ||
31826 | * config/fr30/fr30.h: Remove extraneous comments. | |
31827 | ||
31828 | 2000-01-05 Bernd Schmidt <bernds@cygnus.co.uk> | |
31829 | ||
31830 | * reload1.c (choose_reload_regs): When disabling a reload, also | |
31831 | set reload_spill_index to -1. | |
31832 | ||
31833 | 2000-01-04 Joel Sherrill (joel@OARcorp.com> | |
31834 | ||
31835 | * configure.in (m68*-*-rtemscoff*): New target, formal name for | |
31836 | old m68*-*-rtems*. | |
31837 | (m68*-*-rtemself*): New target. | |
31838 | (mips64orion-*-rtems*): Remove duplicate definition of tm_file. | |
31839 | (sparc*-*-rtemsaout*): New target, formal name for old sparc*-*-rtems*. | |
31840 | (sparc*-*-rtemself*): New target. | |
31841 | (sparc*-*-rtems*): Now elf not a.out. | |
31842 | * config/i386/rtems.h: Include config/rtems.h. | |
31843 | * config/i386/rtemself.h: Include config/rtems.h. | |
31844 | * config/i960/rtems.h: Include config/rtems.h. | |
31845 | * config/m68k/rtems.h: Include config/rtems.h. | |
31846 | * config/m68k/rtemself.h: Include config/rtems.h. | |
31847 | * config/mips/rtems64.h: Include config/rtems.h. | |
31848 | * config/pa/rtems.h: Include config/rtems.h. | |
31849 | * config/rs6000/rtems.h: Include config/rtems.h. | |
31850 | * config/sh/rtems.h: Include config/rtems.h. | |
31851 | * config/sh/rtemself.h: Include config/rtems.h. | |
31852 | * config/sparc/rtems.h: Include config/rtems.h. | |
31853 | * config/sparc/rtemself.h: Include config/rtems.h | |
31854 | ||
31855 | Tue Jan 4 23:59:26 2000 Denis Chertykov <denisc@overta.ru> | |
31856 | ||
31857 | * final.c (shorten_branches): Correctly compute length of | |
31858 | asms without operands. | |
31859 | ||
31860 | Tue Jan 4 22:55:41 2000 Steve Chamberlain <sac@pobox.com> | |
31861 | ||
31862 | * configure.in: Add pj target. | |
31863 | * configure: Regenerate. | |
31864 | * config/pj: New directory. | |
31865 | * config/pj/lib1funcs.S: New file. | |
31866 | * config/pj/linux.h: New file. | |
31867 | * config/pj/pj.c: New file. | |
31868 | * config/pj/pj.md: New file. | |
31869 | * config/pj/pjl.h: New file. | |
31870 | * config/pj/t-pj: New file. | |
31871 | * config/pj/xm-pj.h: New file | |
31872 | ||
31873 | Tue Jan 4 22:30:16 2000 Jeffrey A Law (law@cygnus.com) | |
31874 | ||
31875 | * toplev.c (rest_of_compilation): Run shorten-branches before | |
31876 | reg-stack for now. | |
31877 | ||
31878 | 2000-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
31879 | ||
8d9afc4e | 31880 | * config/c4x/c4x.h (IS_XXX_REG, IS_XXX_REGNO): Swap behavior of |
c30d43bf JL |
31881 | macros so that they're consistent with their names. |
31882 | * config/c4x/c4x.c (IS_XXX_REG, IS_XXX_REGNO): Likewise. | |
31883 | * config/c4x/c4x.md (IS_XXX_REG, IS_XXX_REGNO): Likewise. | |
31884 | ||
31885 | 2000-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
31886 | ||
31887 | * config/c4x/c4x.md (*addqi3_noclobber_reload): Ensure that CC never | |
31888 | modified inadvertently. | |
31889 | ||
31890 | 2000-01-04 Joel Sherrill <joel@OARcorp.com> | |
31891 | ||
31892 | * configure.in (v850*-*-rtems*): New target. | |
31893 | * configure: Regenerate. | |
31894 | * config/v850/rtems.h: New file. | |
31895 | ||
31896 | 2000-01-04 Mumit Khan <khan@xraylith.wisc.edu> | |
31897 | ||
31898 | * gthr-win32.h (__gthread_active_p): Support Mingw MT runtime. | |
31899 | (__gthread_key_create): Likewise. | |
31900 | (__gthread_key_dtor): Likewise. | |
31901 | (__gthread_once): Fix logic. | |
31902 | (__gthread_key_delete): Cast away constness. | |
31903 | ||
31904 | * i386/cygwin.h (SUBTARGET_SWITCHES): Add -mthreads option. | |
31905 | * invoke.texi: Document. | |
31906 | * i386/mingw32.h (CPP_SPEC): Use. | |
31907 | (LIBGCC_SPEC): Likewise. | |
31908 | * i386/crtdll.h (LIBGCC_SPEC): Likewise. | |
31909 | ||
31910 | 2000-01-04 David Edelsohn <edelsohn@gnu.org> | |
31911 | ||
31912 | * rs6000/sysv4.h (ASM_OUTPUT_DEF): Undefine. | |
31913 | (HANDLE_PRAGMA_PACK): Undefine. | |
31914 | (SLOW_UNALIGNED_ACCESS): Define. | |
31915 | ||
31916 | 2000-01-04 David Edelsohn <edelsohn@gnu.org> | |
31917 | ||
31918 | * expmed.c (SLOW_UNALIGNED_ACCESS): Add mode and align parameters | |
31919 | to default definition. | |
31920 | (store_bit_field): Call SLOW_UNALIGNED_ACCESS with mode and alignment. | |
31921 | (store_fixed_bit_field): Call macro with word_mode and alignment. | |
31922 | (extract_bit_field): Call macro with relevant mode and alignment. | |
31923 | * expr.c (SLOW_UNALIGNED_ACCESS): Add mode and align parameters | |
31924 | to default definition. | |
31925 | (move_by_pieces): Call SLOW_UNALIGNED_ACCESS with word_mode | |
31926 | and alignment. | |
31927 | (move_by_pieces_ninsns): Likewise. | |
31928 | (clear_by_pieces): Likewise. | |
31929 | (emit_push_insn): Likewise. | |
31930 | (store_field): Call macro with relevant mode and alignment. | |
31931 | (expand_expr): Likewise. | |
31932 | (expand_expr_unaligned): Likewise. | |
31933 | ||
31934 | * rs6000.h (HANDLE_PRAGMA_PACK): Define. | |
31935 | (SLOW_UNALIGNED_ACCESS): Define. | |
31936 | (CASE_VECTOR_MODE): Always use 32-bit offsets. | |
31937 | (ASM_FILE_END): Generate 64-bit symbol in 64-bit mode. | |
31938 | (EXTRA_SECTION_FUNCTIONS): Indent .csect pseudo-op. | |
31939 | (toc_section): Likewise and .toc pseudo-op. | |
31940 | (ASM_DECLARE_FUNCTION): Likewise. Align text more strictly in | |
31941 | 64-bit mode. | |
31942 | (TEXT_SECTION_ASM_OP): Likewise. | |
31943 | (ASM_OUTPUT_ADD_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Always use | |
31944 | 32-bit offsets. | |
31945 | ||
31946 | * a29k.h (SLOW_UNALIGNED_ACCESS): Add MODE and ALIGN parameters. | |
31947 | * alpha.h (SLOW_UNALIGNED_ACCESS): Likewise. | |
31948 | * arm/thumb.h (SLOW_UNALIGNED_ACCESS): Likewise. | |
31949 | * gmicro.h (SLOW_UNALIGNED_ACCESS): Likewise. | |
31950 | * fr30.h (SLOW_UNALIGNED_ACCESS): Likewise. | |
31951 | ||
31952 | Tue Jan 4 11:44:13 2000 Jeffrey A Law (law@cygnus.com) | |
31953 | ||
31954 | * regclass.c: Revert my Jan 4 change to loop cost computation. | |
31955 | ||
31956 | Tue Jan 4 19:22:39 MET 2000 Jan Hubicka <hubicka@freesoft.cz> | |
31957 | ||
31958 | * regclass.c (regclass): Do not obey REG_N_REFS in non-optimizing | |
31959 | compilation. | |
31960 | ||
31961 | 2000-01-04 Stan Cox <scox@cygnus.com> | |
31962 | ||
31963 | * haifa-sched.c (build_control_flow): Change unreachable simple | |
31964 | loop test to check if current block has only one predecessor. | |
31965 | (find_rgns): Initialize degree. Use dest as degree index, not src. | |
31966 | ||
31967 | 2000-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
31968 | ||
31969 | * builtins.c (expand_builtin_strlen): Initialize variable `icode'. | |
31970 | ||
31971 | * calls.c (expand_call): Likewise for | |
31972 | `old_stack_arg_under_construction'. | |
31973 | ||
31974 | * cpphash.c (macroexpand): Likewise for `args' and `rest_zero'. | |
31975 | ||
31976 | * function.c (pad_to_arg_alignment): Likewise for `save_var' and | |
31977 | `save_constant'. | |
31978 | ||
31979 | * gcc.c (execute): Likewise for `ut' and `st'. | |
31980 | ||
31981 | * genattrtab.c (attr_rtx): Likewise for `rt_val'. | |
31982 | ||
31983 | * genopinit.c (gen_insn): Likewise for `m1', `m2' and `op'. | |
31984 | ||
31985 | * jump.c (jump_optimize_1): Likewise for `temp2'. | |
31986 | ||
31987 | * local-alloc.c (block_alloc): Likewise for `r1'. | |
31988 | ||
31989 | * loop.c (recombine_givs): Likewise for `life_start' and `life_end'. | |
31990 | ||
31991 | * reg-stack.c (check_asm_stack_operands): Likewise for `clobber_reg'. | |
31992 | (subst_asm_stack_regs): Likewise for `clobber_reg' and `clobber_loc'. | |
31993 | ||
31994 | * regmove.c (fixup_match_1): Likewise for `insn_const', `dst_node' | |
31995 | and `set2'. | |
31996 | ||
31997 | * reload.c (find_reloads): Likewise for `goal_alternative_number' | |
31998 | and `goal_earlyclobber'. | |
31999 | ||
32000 | * scan-decls.c (scan_decls): Likewise for `prev_id_end'. | |
32001 | ||
32002 | * sdbout.c (sdbout_one_type): Likewise for `member_scl'. | |
32003 | ||
32004 | * stupid.c (stupid_life_analysis): Likewise for `chain'. | |
32005 | ||
32006 | * unroll.c (copy_loop_body): Likewise for `copy'. | |
32007 | ||
32008 | * varasm.c (output_constructor): Likewise for `byte'. | |
32009 | ||
32010 | Tue Jan 4 15:34:34 MET 2000 Jan Hubicka <hubicka@freesoft.cz> | |
32011 | ||
32012 | * i386.c (ix86_expand_move): Allow pushes of memory, offload to memory | |
32013 | all FP constants for constant->reg moves. | |
32014 | (ix86_split_to_parts): Try to convert memory address into immediate | |
32015 | when available in the constant pool. | |
32016 | * i386.h (PREFERRED_RELOAD_CLASS): Allow CONST_DOUBLE->integer reg | |
32017 | moves. | |
32018 | (LEGITIMATE_CONSTANT_P): Return 1. | |
32019 | * i386.md (pushsf): New splitter to convert constant pool memory | |
32020 | reference to immediate. | |
32021 | (mov?f): Likewise; do not allow CONST_DOUBLE for reg moves before | |
32022 | reload. | |
32023 | ||
32024 | 2000-01-04 Bernd Schmidt <bernds@cygnus.co.uk> | |
32025 | ||
32026 | * i386.md (ashlsi3_cmpno): Don't accept variables shifts. | |
32027 | (ashlhi3_cmpno, ashlqi3_cmpno, ashrsi3_cmpno, ashrhi3_cmpno, | |
32028 | ashrqi3_cmpno, lshrsi3_cmpno, lshrhi3_cmpno, lshrqi3_cmpno): Likewise. | |
32029 | (rotlsi3_cmpno, rotlhi3_cmpno, rotlqi3_cmpno, rotrsi3_cmpno, | |
32030 | rotrhi3_cmpno, rotrqi3_cmpno): Likewise. | |
32031 | ||
719bb4e3 | 32032 | 2000-01-04 Martin von Löwis <loewis@informatik.hu-berlin.de> |
c30d43bf JL |
32033 | |
32034 | * ginclude/stdbool.h: Support compilation as C++. | |
32035 | ||
32036 | Tue Jan 4 01:35:13 2000 J"orn Rennecke <amylaar@cygnus.co.uk> | |
32037 | ||
32038 | * fold-const.c (make_range): Don't try to reverse an unbounded range. | |
32039 | ||
32040 | Tue Jan 4 00:18:46 2000 Jeffrey A Law (law@cygnus.com) | |
32041 | ||
32042 | * regclass.c (regclass): Properly compute loop_cost. Adjust | |
32043 | comments. | |
32044 | ||
32045 | * regclass.c: Fix minor whitespace problems. | |
32046 | ||
32047 | 2000-01-03 Anthony Green <green@cygnus.com> | |
32048 | ||
32049 | * config/i386/i386.md (builtin_setjmp_receiver): New pattern. | |
32050 | Restore the pic register if required. | |
32051 | ||
32052 | 2000-01-03 Ulrich Drepper <drepper@cygnus.com> | |
32053 | ||
32054 | * c-common.c (format_char_info): Update comment. | |
32055 | (check_format_info): Recognize 'z' modifier in the same way 'Z' | |
32056 | was recognized. Emit warning for formats new in ISO C99 only | |
32057 | if flag_isoc9x is not set. | |
32058 | ||
32059 | Mon Jan 3 12:59:54 2000 Mark P. Mitchell <mark@codesourcery.com> | |
32060 | ||
32061 | * config/mips/iris6gld.h: Fix typo in -mabi=n32 specs. | |
32062 | ||
32063 | Mon Jan 3 15:33:37 MET 2000 Jan Hubicka <hubicka@freesoft.cz> | |
32064 | ||
32065 | * combine.c (expand_compound_operation): Do not convert ZERO_EXTEND to | |
32066 | SIGN_EXTEND, convert SIGN_EXTEND to ZERO_EXTEND. | |
32067 | (make_compound_operation): Choose cheaper alternative between | |
32068 | ZERO_EXTEND and SIGN_EXTEND when sign bit is not set. | |
32069 | ||
32070 | * regclass.c (op_costs): Remove global variable. | |
32071 | (record_reg_classes): New parameter "op_costs" and "reg_pref". | |
32072 | (record_operand_costs): Break out from ... | |
32073 | (scan_one_insn): ... here. | |
32074 | (dump_regclass): Make dumps nicer. | |
32075 | (regclass): Dump preferrences choosed and changes done during passes. | |
32076 | ||
32077 | 2000-01-03 Jakub Jelinek <jakub@redhat.com> | |
32078 | ||
32079 | * config/sparc/sparc.c (gen_df_reg): Fix for 32bit SPARC. | |
32080 | ||
32081 | 2000-01-03 Jakub Jelinek <jakub@redhat.com> | |
32082 | ||
32083 | * config/sparc/sparc.c (gen_df_reg): New function. | |
32084 | * config/sparc/sparc-protos.h (gen_df_reg): Add prototype. | |
32085 | * config/sparc/sparc.md (movtf_no_e_insn_sp64+1, | |
32086 | movtf_no_e_insn_sp64+2, movtf_no_e_insn_sp64+3, movtf_cc_sp64+1, | |
32087 | movtf_cc_reg_sp64+1): Use it. | |
32088 | ||
32089 | 2000-01-02 Mark Mitchell <mark@codesourcery.com> | |
32090 | ||
32091 | * integrate.c (copy_decl_for_inlining): Clear TREE_ADDRESSABLE on | |
32092 | copied LABEL_DECLs. | |
32093 | ||
32094 | Mon Jan 3 02:54:40 2000 Hans-Peter Nilsson <hp@bitrange.com> | |
32095 | ||
32096 | * config/i386/i386.c (ix86_expand_unary_operator): Function | |
32097 | definition made void. | |
32098 | (ix86_expand_binary_operator): Update outdated preceding comment. | |
32099 | * config/i386/i386-protos.h (ix86_expand_unary_operator): Update | |
32100 | prototype. | |
32101 | ||
32102 | * config/i386/i386.c (override_options): Fix option-name typo. | |
32103 | ||
32104 | 2000-01-02 Mark Mitchell <mark@codesourcery.com> | |
32105 | ||
32106 | * system.h (CEIL): Define. | |
32107 | * builtins.c (CEIL): Remove. | |
32108 | * expmed.c (CEIL): Likewise. | |
32109 | * expr.c (CEIL): Likewise. | |
32110 | * stor-layout.c (CEIL): Likewise. | |
32111 | ||
32112 | 2000-01-02 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | |
32113 | ||
32114 | * expr.c (store_constructor_field): Fix typo introduced with last | |
32115 | gcc2 merge. | |
32116 | ||
32117 | 2000-01-01 Mark Mitchell <mark@codesourcery.com> | |
32118 | ||
32119 | * tree.h (BINFO_N_BASETYPES): New macro. | |
32120 | ||
32121 | 2000-01-01 Bernd Schmidt <bernds@cygnus.co.uk> | |
32122 | ||
32123 | * expmed.c (emit_store_flag): Prevent losing a pending stack | |
32124 | adjust the same way we prevent losing queued increments. | |
ad41bd84 JM |
32125 | |
32126 | \f | |
32127 | Copyright (C) 2000 Free Software Foundation, Inc. | |
32128 | ||
32129 | Copying and distribution of this file, with or without modification, | |
32130 | are permitted in any medium without royalty provided the copyright | |
32131 | notice and this notice are preserved. |