OSDN Git Service

Under the "obviously correct" rule, fix the formatting breakage of people
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog.4
1 2000-12-31  Philip Blundell  <philb@gnu.org>
2
3         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Add missing asm
4         operands.
5
6 2000-12-30  Richard Henderson  <rth@redhat.com>
7
8         * dbxout.c (dbxout_block): Invert logic on eliding LBRAC/RBRAC.
9         Initialize variables properly for DBX_LBRAC_FIRST.
10
11 2000-12-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12
13         * expr.c (expand_expr, case COMPONENT_REF): Fix typo in last change.
14
15 2000-12-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16
17         * builtins.c (validate_arglist): New function, use it.
18
19 2000-12-30  Philip Blundell  <philb@gnu.org>
20
21         * config/arm/arm.c (arm_expand_prologue): Fix typos in error
22         message and comment.  Note location of testcase for an unhandled
23         situation.
24
25 2000-12-30  Jeffrey Oldham  <oldham@codesourcery.com>
26
27         * defaults.h (BUILD_VA_LIST_TYPE): New definition.
28         * tree.c (build_common_tree_nodes_2): Ensure the va_list_type_node
29         is a copy, not an alias.
30
31 2000-12-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
32
33         * calls.c (calls_function_1, case CONSTRUCTOR): New case.
34
35         * alias.c (alias_sets_conflict_p): New function.
36         (mems_in_disjoint_alias_sets_p): Use it.
37         (readonly_fields_p): Moved from expr.c; check for record type.
38         (objects_must_conflict_p): New function.
39         * calls.c (expand_call): Use assign_temp as much as possible, use
40         readonly variant if assigned once, and don't set memory attributes.
41         (emit_library_call_value_1, store_one_arg): Likewise.
42         * integrate.c (expand_inline_function): Likewise.
43         * stmt.c (expand_asm_operands, expand_return): Likewise.
44         * expr.c (copy_blkmode_from_reg, store_constructor): Likewise.
45         (store_field, save_noncopied_parts, expand_expr): Likewise.
46         (expand_expr_unaligned): Likewise.
47         (readonly_fields_p): Moved to alias.c.
48         (safe_from_p): Rework handling of SAVE_EXPR.
49         MEMs ony conflict if alias sets conflict; likewise for INDIRECT_REF.
50         * function.c (struct temp_slot): Delete field ALIAS_SET; add TYPE.
51         (assign_stack_for_temp): Use objects_must_confict_p.
52         Set all memory attributes from type, if specified.
53         (mark_temp_slot): Mark TYPE field.
54         * tree.h (alias_sets_conflict_p, readonly_fields_p): New decls.
55         (objects_must_conflict_p): Likewise.
56
57         * stmt.c (expand_decl): Don't use assign_stack_temp in error case.
58         (add_case_node): No need to copy nodes anymore.
59
60 2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
61
62         * config/sh/sh.c (split_branches): Don't dereference re-computed
63         `beyond' before checking it's non-NULL.
64
65 2000-12-29  Robert Lipe <robertl@sco.com>
66
67         Remove COFF support from i?86-pc-sco3.2v5.
68         * i386/sco5.h (PREFERRED_DEBUGGING_TYPE): Change to Dwarf II.
69         (TARGET_ELF): Now always true.
70         (SUBTARGET_SWTICHES: )Remove -mcoff.
71
72         * i386/t-sco5 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
73         MULTILIB_EXCEPTION): Nuke coff.
74         (CRTSTUFF_T_CFLAGS_S):  Deleted.
75         (TARGET_LIBGCC2_CFLAGS): Added.
76
77 2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
78
79         * varasm.c (output_constant_def): Don't ENCODE_SECTION_INFO
80         twice.  Update desc->rtl and ->label, in case ENCODE_SECTION_INFO
81         modifies them.
82
83 2000-12-29  Bernd Schmidt  <bernds@redhat.com>
84
85         * ia64.c (ia64_expand_load_address): Accept additional scratch
86         register argument.  All callers & prototype changed.
87         Use scratch register when generating load_symptr insns.
88         * ia64.md (movdi_symbolic): Clobber a scratch register.  Use it
89         when calling ia64_expand_load_address.
90         (movdi): Generate movdi_symbolic with additional operand.
91         (load_gprel64): Use pic_offset_table_rtx instead of (reg:DI 1).
92         (load_symptr): Likewise.  Use additional operand as a scratch
93         register instead of generating it here.
94
95         * basic-block.h: Add a comment.
96         * flow.c (PROP_POSTRELOAD): New macro.
97         (update_life_info): Add it to prop_flags.
98         (mark_set_1): If it is set, compute REG_N_SETS for the original
99         register number of a hard reg.
100
101         * emit-rtl.c (gen_raw_REG): New function.
102         (gen_rtx_REG, gen_reg_rtx, init_emit_once): Use it instead of
103         gen_rtx_raw_REG.
104         * print-rtl.c (print_rtx): Print ORIGINAL_REGNO.
105         * final.c (alter_subreg): Update it.
106         * regrename.c (do_replace): Likewise.  Use gen_raw_REG.
107         * rtl.def (REG): Update comment.
108         * rtl.h (X0UINT, ORIGINAL_REGNO): New macros.
109         (gen_raw_REG): Declare.
110
111 2000-12-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
112
113         * tree.c (get_set_constructor_bits): Use host_integerp and
114         tree_low_cst.
115
116         * local-alloc.c (update_equiv_regs): Don't use copy_rtx on PATTERN.
117
118         * toplev.c (main): Call xmalloc_set_program_name.
119         * gcc.c (main): Likewise.
120
121 2000-12-29  Philip Blundell  <philb@gnu.org>
122
123         * config/arm/arm.c (arm_override_options): Fix typo in warning
124         message.
125
126 2000-12-29  Richard Henderson  <rth@redhat.com>
127
128         * config/alpha/alpha.c (alpha_expand_block_move): Initialize
129         src_align and dst_align in bits.  Do unaligned quadword loads
130         if possible for BWX too.
131         (alpha_expand_block_clear): Initialize align in bits.  Track
132         small leading offsets into a larger alignment.  Play games with
133         stq_u for large 4-byte aligned blocks.  Use load/mask/store
134         for appropreately aligned heads and tails.
135
136 2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
137
138         * function.c (assign_parms): Convert arguments passed by
139         reference to the right mode.
140
141 2000-12-28  Geoffrey Keating  <geoffk@redhat.com>
142
143         * c-parse.in (select_or_iter_stmt): Use truthvalue_conversion
144         on the condition of a FOR statement, so that it gets typechecked
145         and optimised.
146
147 2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
148
149         * c-decl.c (grokdeclarator): Prevent crash in case of overflow in
150         array size.
151
152         * calls.c (emit_library_call_value_1): Add to call_fusage the
153         stack slot assigned to argument passed by reference.
154
155 2000-12-28  Jeffrey Oldham  <oldham@codesourcery.com>
156
157         * toplev.h (extern really_sorry): Remove extern declaration for
158         nonexistent function.
159
160 2000-12-28  Jeffrey Oldham  <oldham@codesourcery.com>
161
162         * varasm.c (initializer_constant_valid_p): Indicate subtraction of
163         pointers to the same string constant is absolute.
164
165 2000-12-28  Joseph S. Myers  <jsm28@cam.ac.uk>
166
167         * c-common.c (enum format_type): Add strfmon_format_type.
168         (decl_attributes): Handle format attributes strfmon and
169         __strfmon__.
170         (FMT_FLAG_USE_DOLLAR, FMT_FLAG_ZERO_WIDTH_BAD,
171         FMT_FLAG_EMPTY_PREC_OK): Define.
172         (format_char_info): Update comment for flag_chars.
173         (format_flag_spec): Add skip_next_char.
174         (format_kind_info): Add left_precision_char.
175         (printf_flag_specs, scanf_flag_specs, strftime_flag_specs,
176         format_types): Update for these new structure members and flags.
177         (time_char_table): Make const.
178         (strfmon_length_specs, strfmon_flag_specs, strfmon_flag_pairs,
179         monetary_char_table): New.
180         (format_types): Add details of strfmon formats.
181         (init_function_format_info): Create default attribute for strfmon.
182         (check_format_info_main): Check the new flags.  Handle
183         skip_next_char and left precision.
184         * toplev.c (documented_lang_options): Update description of
185         -Wformat.
186         * extend.texi: Document strfmon format attributes.  Document
187         attribute forms such as __printf__.  Clarify format_arg attribute
188         documentation.
189         * invoke.texi (-Wformat): Update for strfmon formats.
190
191 2000-12-28  Andreas Jaeger  <aj@suse.de>
192
193         * expmed.c (store_bit_field): Fix last patch.
194
195 2000-12-28  Alexandre Oliva  <aoliva@redhat.com>
196
197         * config/sh/crt1.asm (start_l): `__SH4_SINGLE_ONLY__' was missing
198         the trailing `__'.
199
200 2000-12-28  Alan Lehotsky  <lehotsky@tiac.net>
201
202         * expmed.c (store_bit_field): Correctly compute smallest mode that
203         is sufficient to contain all bits we are storing.
204
205 2000-12-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
206
207         * builtins.c (build_function_call_expr): New function.  Use it
208         everywhere in lieu of manually constructing a CALL_EXPR.
209
210 2000-12-27  Chandrakala Chavva  <cchavva@redhat.com>
211
212         * calls.c (store_one_arg):  If parm is passed both in stack and in
213         register and offset is greater than reg_parm_stack_space, split
214         the offset and call emit_push_insn().
215
216 2000-12-27  Nick Clifton  <nickc@redhat.com>
217
218         * ifcvt.c (noce_emit_store_flag): Handle jump insns that are
219         PARALLEL.
220
221 2000-12-27  Alexandre Oliva  <aoliva@redhat.com>
222
223         * rtl.c (copy_most_rtx, shallow_copy_rtx): Copy frame_related
224         flag.
225
226 2000-12-27  Bruce Korb  <bkorb@gnu.org>
227
228         * fixinc/Makefile.in: fix for ancient Bourne shell
229         * fixinc/Makefile.BEOS: obsolete
230         * fixinc/Makefile.DOS: obsolete
231         * fixinc/fixincl.sh(LINKS): use `test -d' rather than `ls' for testing
232
233 2000-12-27  Bernd Schmidt  <bernds@redhat.com>
234
235         * sched-deps.c (get_condition, conditions_mutex_p): New functions.
236         (add_dependence): Use them to avoid adding unnecessary dependencies
237         between conditionally executed insns.
238         (sched_analyze_1, sched_analyze_2, sched_analyze_insn): Don't free
239         dependency lists if current insn is a COND_EXEC.
240
241 2000-12-27  Geoffrey Keating  <geoffk@redhat.com>
242
243         * config/rs6000/rs6000.md (define_attr "length"): Correct
244         calculation.
245
246 2000-12-26  Kazu Hirata  <kazu@hxi.com>
247
248         * config/h8300/h8300.c: Fix a comment typo.
249         (get_shift_alg): Fix a typo in the assembly code for 12-bit
250         ASHIFTRT in HImode.  Do not output extra whitespace after one line
251         of assembly code.  Output a tab after an opcode instead of a
252         space.
253         (emit_a_shift): Output a tab after an opcode instead of a space.
254
255 2000-12-23  Marek Michalkiewicz  <marekm@linux.org.pl>
256
257         * config/avr/avr.c (out_movqi_r_mr, out_movhi_r_mr, out_movsi_r_mr,
258         out_movsi_mr_r, out_movqi_mr_r, out_movhi_mr_r): Use %o instead of
259         %4 in output templates, do not modify operands passed by the caller.
260
261 2000-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
262
263         * builtins.def (BUILT_IN_LABS, BUILT_IN_LLABS, BUILT_IN_IMAXABS):
264         Don't define.
265         * builtins.c (expand_builtin): Don't handle BUILT_IN_LABS,
266         BUILT_IN_LLABS and BUILT_IN_IMAXABS.
267         * c-common.c (c_common_nodes_and_builtins): Use BUILT_IN_ABS for
268         builtin labs, llabs and imaxabs.
269         (expand_tree_builtin): Don't handle BUILT_IN_LABS, BUILT_IN_LLABS
270         and BUILT_IN_IMAXABS.
271
272 2000-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
273
274         * c-common.c (builtin_function_2): New function.
275         (c_common_nodes_and_builtins): Use it to define each pair (foo,
276         __builtin_foo) of builtins in one place.
277
278 2000-12-22  Joseph S. Myers  <jsm28@cam.ac.uk>
279
280         * gccbug.in: Add libgcj and preprocessor categories.
281
282 2000-12-22  Bernd Schmidt  <bernds@redhat.com>
283
284         * config/ia64/ia64.c (itanium_reorder): Only schedule stops in
285         the final scheduling pass.
286
287 2000-12-22  Nick Clifton  <nickc@redhat.com>
288
289         * config/arm/arm.h (struct machine_function): Add new field
290         'lr_save_eliminated'.
291         * config/arm/arm.c (arm_compute_save_reg_mask): Do not include the
292         link register if its save has been eliminated.
293         (output_arm_prologue): Mention if the save of the link register
294         has been eliminated.
295         (output_arm_epilogue): Rename 'live_regs_mask' to
296         'saved_regs_mask'.
297         Test 'saved_regs_mask' for the link register, not regs_ever_live.
298         (arm_expand_prologue): If the link register has not been saved set
299         lr_save_eliminated and emit a USE to prevent later passes from
300         scavenging it.
301
302         * dwarf2out_frame_debug_expr: Allow the (scratch) frame
303         pointer to be initialised from the stack pointer plus a
304         constant.
305
306 2000-12-22  Bernd Schmidt  <bernds@redhat.com>
307
308         * regrename.c (struct du_chain): New field "earlyclobber".
309         (enum scan_actions): Remove unused entry "note_reference".
310         (enum scan_actions_name): Likewise.
311         (note_sets, clear_dead_regs, merge_overlapping_regs): New static
312         functions.
313         (regrename_optimize): Use them to compute unavailable regs; get
314         rid of the more simpleminded code we used to have here.
315         Use a tick array to ensure registers are allocated in a more
316         round-robin way.  Disable code that only optimizes registers
317         that were seen more than once.
318         (referenced_regs): Remove variable.
319         (scan_rtx_reg): New arg "earlyclobber".  All callers changed.
320         Store its value in newly generated du_chain structures.
321         Add new du_chains at the end, not the start, of the list.
322         Don't handle the "note_reference" action.
323         (scan_rtx): New arg "earlyclobber".  All callers changed.
324         (build_def_use): Lose code to keep track of referenced regs.
325
326 2000-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
327
328         * Makefile.in (sched-deps.o, sched-rgn.o): Fix dependency typo.
329
330         * fp-bit.h (usi_to_float): Add prototype.
331
332         * i386.c (ix86_expand_builtin): Delete unused label.
333
334         * dwarf2out.c (file_info_cmp): Prototype.
335         (dwarf2out_line): Hide variable `old_in_use'.
336
337         * objc-act.c (objc_fatal): Delete.
338
339         * sched-vis.c (visualize_stall_cycles): Remove unused variable.
340
341         * system.h (getopt): Fix error in last change.
342
343         * varasm.c (assemble_trampoline_template): Constify.
344
345 2000-12-22  Jason Merrill  <jason@redhat.com>
346
347         * collect2.c (main): Use auto_demangling.
348
349 2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
350
351         * function.c (assign_parms): Update parm's DECL_INCOMING_RTL
352         when optimizing PARALLEL to REG.
353
354 2000-12-22  Graham Stott  <grahams@redhat.com>
355
356         * reload.c (update_auto_inc_notes): New, broken out from ...
357         (find_reloads_address_1): ... use here, also correct possible
358         use of uninitialised reloadnum.
359
360 2000-12-21  David O'Brien  <obrien@FreeBSD.org>
361
362         * config/freebsd.h (LIB_SPEC): remove -kthread option.
363
364 2000-12-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
365
366         * resource.c (mark_set_resources): Use MARK_SRC_DEST for
367         PRE_MODIFY and POST_MODIFY cases.
368
369         * rtlanal.c (side_effects_p): Handle PRE_MODIFY and POST_MODIFY.
370
371 2000-12-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
372
373         * md.texi (Looping Patterns): New node.
374
375 2000-12-21  Joseph S. Myers  <jsm28@cam.ac.uk>
376
377         * gcc.texi, cpp.texi: Update last-updated dates.
378
379 2000-12-21  Chandrakala Chavva  <cchavva@redhat.com>
380
381         * varasm.c (output_addressed_constants): Use language specific
382         expander on unknown nodes.
383
384 2000-12-21  Graham Stott  <grahams@redhat.com>
385
386         * combine.c (distribute_notes): Handle REG_NON_LOCAL_GOTO notes.
387
388 2000-12-21  Bernd Schmidt  <bernds@redhat.com>
389
390         * Makefile.in (out_object_file): Depend on sched-int.h.
391         * rtl.h (single_set_1): New macro.
392         (single_set_2): Renamed from single_set_1 and extra argument added.
393         * rtlanal.c (single_set_2): Likewise.
394
395         * config/ia64/ia64-protos.h (get_bundle_name, ia64_issue_rate,
396         ia64_adjust_cost, ia64_sched_init, ia64_sched_finish,
397         ia64_sched_reorder, ia64_sched_reorder2, ia64_variable_issue):
398         Declare.
399         * config/ia64/ia64.c: Include "sched-int.h".
400         (hard_regno_rename_ok): Also disallow renaming from the various
401         reg_save_* regs.
402         (ia64_safe_itanium_requiers_unit0, ia64_safe_itanium_class,
403         ia64_safe_type, init_insn_group_barriers, group_barrier_needed_p,
404         safe_group_barrier_needed_p, fixup_errata): New static functions.
405         (rtx_needs_barrier):  Handle bundle selector and cycle display
406         insns.
407         (emit_insn_group_barriers): Accept additional FILE * arg.  All
408         callers changed.  Rework to only generate stop bits between
409         basic blocks that haven't been inserted by scheduling.
410         (struct bundle, struct ia64_packet): New structures.
411         (NR_BUNDLES, NR_PACKETS): New macros.
412         (bundle, packets, type_names): New static arrays.
413         (ia64_final_schedule): New variable.
414         (ia64_single_set, insn_matches_slot, ia64_emit_insn_before,
415         gen_nop_type, finish_last_head, rotate_one_bundle, rotate_two_bundles,
416         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
417         find_best_packet, itanium_reorder, dump_current_packet, schedule_stop):
418         New static functions.
419         (ia64_issue_rate, ia64_sched_init, ia64_sched_reorder,
420         ia64_sched_finish, ia64_sched_reorder2, ia64_variable_issue): New
421         functions.
422         (ia64_reorg): Perform a final scheduling pass.
423         * config/ia64/ia64.h (CONST_COSTS): Slightly increase SYMBOL_REF costs.
424         (MAX_CONDITIONAL_EXECUTE, ADJUST_COST, ISSUE_RATE, MD_SCHED_INIT,
425         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_FINISH,
426         MD_SCHED_VARIABLE_ISSUE): Define macros.
427         (ia64_final_schedule): Declare variable.
428         * config/ia64/ia64.md (attr itanium_class): Add some more classes.
429         (attr type): Account for them.
430         (itanium_requires_unit0): New attribute.
431         (function units): Rewrite.
432         (some splitters): Don't create scheduling barriers here.
433         (gr_spill_internal, gr_restore_internal): Don't predicate the
434         pseudo-op.
435         (nop_m, nop_i, nop_f, nop_b, nop_x, cycle_display, cycle_display_1,
436         bundle_selector): New patterns.
437         (insn_group_barrier): Now has an operand.
438
439 2000-12-21  DJ Delorie  <dj@redhat.com>
440
441         * dwarf2out.c (simple_decl_align_in_bits): new
442         (field_byte_offset): Try both the type align and the
443         decl align, use whichever works, preferring the type align.
444
445 2000-12-21  Joseph S. Myers  <jsm28@cam.ac.uk>
446
447         * gccbug.in: Fix typo.
448
449 2000-12-20  Benjamin Kosnik  <bkoz@redhat.com>
450
451         * Makefile.in (gcc_gxx_target_include_dir): Use instead of
452         build_tooldir and libstdcxx_incdir.
453
454 2000-12-20  Robert Lipe <robertlipe@usa.net>
455
456         * haifa-sched.c (schedule_block): Provide empty source statement
457         if not MD_SCHED_REORDER2.
458
459 2000-12-20  Richard Henderson  <rth@redhat.com>
460
461         * rtl.h (REG_NON_LOCAL_GOTO): New.
462         * rtl.c (reg_note_name): Update.
463         * stmt.c (expand_goto): Emit a REG_NON_LOCAL_GOTO note.
464         * builtins.c (expand_builtin_longjmp): Likewise.
465         * flow.c (make_edges): Check for REG_NON_LOCAL_GOTO and do
466         not emit an edge.
467
468 2000-12-20  Marek Michalkiewicz  <marekm@linux.org.pl>
469
470         * config/avr/avr.c (out_movsi_r_mr, out_movsi_mr_r, out_movhi_mr_r):
471         Do not output undefined opcodes where source or destination register
472         overlaps with modified pointer register.  Handle (X + d) addresses.
473         * config/avr/avr.md (*movhi, *movsi, *movsf): Correct insn length
474         in alternatives with memory operand.
475
476 2000-12-20  Richard Henderson  <rth@redhat.com>
477
478         * c-typeck.c (build_asm_stmt): New, broken out from ...
479         (c_expand_asm_operands): ... here.  Just do rtl expansion.
480         (c_expand_return): Return the new stmt node.
481         (c_start_case, do_case): Likewise.
482         * c-common.c (c_expand_expr_stmt): Likewise.
483         * c-common.h: Update declarations.
484         * c-tree.h: Likewise.
485         * c-semantics.c (build_stmt): Use STMT_LINENO not TREE_COMPLEXITY.
486         * c-parse.in (fndef): Set DECL_SOURCE_LINE to the open brace.
487         (nested_function, notype_nested_function): Likewise.
488         (compstmt): Return the compound statement not the binding level.
489         (lineno_labeled_stmt): Simplify.
490         (lineno_stmt, lineno_label): Set STMT_LINENO.
491         (stmt, label): Return the new stmt node.
492
493 2000-12-20  Bernd Schmidt  <bernds@redhat.com>
494
495         * Makefile.in (OBJS): Add sched-ebb.o.
496         (sched-ebb.o): New rule.
497         (sched-vis.o): Depend on hard-reg-set.h and $(BASIC_BLOCK_H).
498         (haifa-sched.o): Depend on insn-flags.h.
499         * haifa-sched.c: Include "insn-flags.h".
500         (priority): Don't access BLOCK_NUM, use the new contributes_to_priority
501         callback.
502         * rtl.h (schedule_ebbs): Declare.
503         * sched-int.h (struct sched_info): Add new members
504         contributes_to_priority and compute_jump_reg_dependencies.
505         * sched-rgn.c (contributes_to_priority, compute_jump_reg_dependencies):
506         New functions.
507         (region_sched_info): Add them.
508         * sched-vis.c: Include "hard-reg-set.h" and "basic-block.h".
509         * sched-ebb.c: New file.
510         * sched-deps.c (sched_analyze_insn): Add code to handle JUMP_INSNs.
511
512         * flow.c (ior_reg_cond, and_reg_cond, elim_reg_cond): Properly
513         handle all relational operators.
514
515 2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
516
517         * final.c (output_addr_const): Use ASM_OUTPUT_SYMBOL_REF.
518         * tm.texi: Document it.
519
520 2000-12-19  Benjamin Kosnik  <bkoz@redhat.com>
521
522         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Use build_tooldir
523         instead of gcc_tooldir.
524
525 2000-12-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
526
527         * system.h (getopt): Update prototype to match include/getopt.h.
528
529 2000-12-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
530
531         From Jeff Law.
532         * pa.c (basereg_operand): Simplify.
533
534 2000-12-19  Bernd Schmidt  <bernds@redhat.co.uk>
535
536         * haifa-sched.c (rm_line_notes): Arguments are now head and tail,
537         not block number.  All callers and prototype changed.
538         (set_priorities): Likewise.
539         (save_line_notes): Add head and tail arguments; all callers and
540         prototype changed.
541         (restore_line_notes): Likewise.  Don't crash on insns generated
542         during scheduling.
543         (schedule_block): Don't use BLOCK_HEAD/BLOCK_END macros.
544         Call MD_SCHED_INIT with additional argument.
545         When starting a new cycle, emit cycle_display insns if available.
546         Don't stop scheduling when encountering a JUMP_INSN, but add another
547         call to schedule_more_p in the inner loop.
548         Call MD_SCHED_REORDER2 after scheduling an insn.
549         Call MD_SCHED_FINISH once all insns are scheduled.
550         (sched_init): Compensate for the fact that get_block_head_tail
551         doesn't include leading notes.
552         * sched-deps.c (free_deps): Free vectors here.
553         * sched-rgn.c (compute_block_backward_dependencies): Not here.
554         (last_was_jump): New static variable.
555         (schedule_more_p): Test it.
556         (init_ready_list): Initialize it.
557         (can_schedule_ready_p): Set it if we have a JUMP_INSN.
558
559         * config/i386/i386.h (MD_SCHED_INIT): Add new arg.
560         * config/m32r/m32r.h (MD_SCHED_INIT): Add new arg.
561         * config/sparc/sparc.h (MD_SCHED_INIT): Add new arg.
562
563         * md.texi (cycle_display): Document.
564         * tm.texi (MD_SCHED_INIT): Document new arg.
565         (MD_SCHED_FINISH, MD_SCHED_REORDER2): Document.
566
567         * flow.c (ior_reg_cond, nand_reg_cond, not_reg_cond): Rewrite
568         to use different representation.  All callers changed.
569         (and_reg_cond): Renamed from nand_reg_cond; caller changed.
570         (init_propagate_block_info): Don't test flags to determine
571         whether to compute conditional lifetimes.
572         Adjust code for new representation of conditional lifetimes.
573         (mark_regno_cond_dead): Similar adjustment.
574         (free_reg_cond_life_info): Similar adjustment.
575         (elim_reg_cond): New function.
576         (flush_reg_cond_1): Use it.
577
578 2000-12-19  Catherine Moore  <clm@redhat.com>
579
580         * reload1.c (reload_combine): Take multi-hard-regs into account
581         when processing CALL_INSN_FUNCTION_USAGE.
582
583 2000-12-19  Joseph S. Myers  <jsm28@cam.ac.uk>
584
585         * invoke.texi (-print-search-dirs): Make references to cpp refer
586         to cpp0 instead.
587
588 2000-12-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
589
590         * fold-const.c (tree_expr_nonnegative_p): Treat truth values as
591         non-negative.
592
593 Tue Dec 19 00:37:08 2000  J"orn Rennecke <amylaar@redhat.com>
594
595         * reload.c (push_reload): When using a dying register for the reload
596         register in an in-out reload, use outmode if wider than inmode.
597
598 2000-12-19  Joseph S. Myers  <jsm28@cam.ac.uk>
599
600         * config/d30v/d30v.h (EXIT_BODY): Update comment.
601
602 2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
603
604         * config.gcc (*-*-linux*): Don't define HAVE_ATEXIT or BSTRING.
605         * tm.texi (EXIT_BODY): Update documentation.
606         * config/freebsd.h, config/netware.h, config/arm/coff.h,
607         config/arm/conix-elf.h, config/arm/unknown-elf.h,
608         config/d30v/d30v.h, config/mcore/mcore.h, config/pj/pj.h,
609         sparc/sp86x-aout.h: Remove definitions of HAVE_ATEXIT (some
610         commented out) and associated comments.
611
612 2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
613
614         * c-common.c (STD_C9L, ADJ_STD): Define.
615         (printf_length_specs, scanf_length_specs): Mark "ll" as standard
616         STD_C9L.
617         (T99_LL): Rename to T9L_LL.
618         (T99_ULL): Rename to T9L_ULL.
619         (print_char_table, scan_char_table): Use T9L_LL and T9L_ULL
620         instead of T99_LL and T99_ULL.
621         (check_format_info_main): Use ADJ_STD on all format standard
622         versions being compared.
623         * c-common.h: Declare warn_long_long.
624         * c-tree.h: Don't declare warn_long_long.
625
626 2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
627
628         * COPYING: Update to current
629         ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references
630         to 19yy as example year in copyright notice).
631
632 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
633
634         * c-lex.c (cb_file_change): Treat in_system_header as strictly
635         boolean (0 or 1).
636
637 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
638
639         * cppmain.c: Update print.lineno with -P.
640
641 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
642
643         * c-lex.c: s/change_file/file_change.
644         * cpplib.h: Similarly.
645         * cppmain.c: Similarly.
646         * fix-header.c: Similarly.
647         * cppfiles.c (stack_include_file): Pass the buffer location and
648         size to cpp_push_buffer.  Generate the file_change callback,
649         so that sysp is already set.
650         * cpphash.h: Add _cpp_do_file_change.
651         * cpplib.c (do_line): Set buffer->sysp directly. Generate the
652         file_change callback after setting sysp.
653         (_cpp_do_file_change): Handle FC_ENTER and the FC_RENAME exception
654         here.
655         (cpp_push_buffer): Don't generate a callback.  Clear sysp.
656         (cpp_pop_buffer): Clean up logic.
657
658 2000-12-18  Benjamin Kosnik  <bkoz@redhat.com>
659
660         * configure.in (gcc_gxx_include_dir): Simplify.
661         (libstdcxx_incdir): Export.
662         * configure: Regenerate.
663         * Makefile.in (PREPROCESSOR_DEFINES): Add in
664         GPLUSPLUS_TOOL_INCLUDE_DIR bits here..
665         (libstdcxx_incdir): Add.
666         * cppdefault.c (GPLUSPLUS_TOOL_INCLUDE_DIR): Add search path.
667
668 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
669
670         * c-lex.c (lex_lineno): Remove.
671         (init_c_lex, c_lex): Remove lex_lineno.
672         (cb_change_file): Update lineno correctly, both before calling
673         push_srcloc and before leaving the function.
674         (cb_def_pragma): Set lineno before outputting diagnostics.
675
676 Sun Dec 17 18:45:41 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
677
678         * print-tree.c (print_node): Print DECL_USER_ALIGN and TYPE_USER_ALIGN.
679         Print TYPE_MIN_VALUE and TYPE_MAX_VALUE for REAL_TYPE.
680         Use print_node_brief to print bounds.
681
682 2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
683
684         * cpplib.h (struct cpp_reader): Remove references to string_pool
685         and temp_string_pool.
686         * cppinit.c (cpp_create_reader, cpp_cleanup): Similarly; using
687         ident_pool in place.
688         * cpplex.c (parse_number, unescaped_terminator_p, parse_string,
689         save_comment, cpp_token_as_text): Similarly.
690         * cpplib.c (do_define, glue_header_name, parse_assertion): Similarly.
691         * cppmacro.c (make_number_token, builtin_macro, lock_pools,
692         unlock_pools, stringify_arg, paste_tokens): Similarly.
693
694 Sun Dec 17 12:41:48 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
695
696         * dwarf2out.c (loc_descriptor_from_tree, case NOP_EXPR): New case.
697         (loc_descriptor_from_tree, case CONVERT_EXPR): Likewise.
698         (loc_descriptor_from_tree, case NON_LVALUE_EXPR): Likewise.
699
700 2000-12-17  Richard Earnshaw  <rearnsha@arm.com>
701
702         * Makefile.in (check-po): Use $(MAKE).
703         (risky-stage1, risky-stage2, risky-stage3, risky-stage4): Likewise.
704
705 2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
706
707         * cppmain.c (check_multiline_token): New function.
708         (scan_buffer): Use it.
709         (cb_change_file): Restructure to avoid warning.
710         * cpperror.c (print_location): Initialize col.
711
712 2000-12-14  Philipp Thomas  <pthomas@suse.de>
713
714         * protoize.c (main): Correctly set locale categories.
715         * gcc.c (main): Likewise.
716         * cppmain.c (general_init): Likewise.
717         * toplev.c (main): Likewise.
718         * gcov.c (main): Likewise.
719         * collect2.c (main): Likewise.
720
721 2000-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
722
723         * c-common.c (c_common_nodes_and_builtins): Create a
724         cstring_endlink, use it.  Rename int_ftype_string_string to
725         int_ftype_cstring_cstring, string_ftype_string_int to
726         string_ftype_cstring_int, and string_ftype_string_string to
727         string_ftype_cstring_cstring.  Prefer sizetype_endlink and
728         int_endlink to manually recreating them.  Fix the prototype
729         set for __builtin_strspn/__builtin_strcspn.
730
731 2000-12-12  Marek Michalkiewicz  <marekm@linux.org.pl>
732
733         * config/avr/avr.c (out_set_stack_ptr): Update comment.
734         (print_operand): Add support for %~ and %o.
735
736 2000-12-17 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
737
738         * c4x.h: Add ASM_OUTPUT_DEF definition for bounded pointer code.
739
740 2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
741
742         * c-lex.c: Move main_input_filename handling to FC_ENTER. Clean up.
743         * cpperror.c (print_containing_files): Get right line number.
744         (print_location): Output column of 1 if 0.
745         * cppfiles.c (stack_include_file): cpp_push_buffer handles
746         the callback.
747         * cpphash.h (_cpp_do_file_change): No longer external.
748         * cpplib.c (do_file_change): Now local to cpplib.c.
749         (do_line): Fake a buffer stack for preprocessed files.
750         (cpp_push_buffer): Create a file_change callback.  Handle faked
751         buffers.
752         (cpp_pop_buffer): Similarly.
753         * cpplib.h: BUF_FAKE: New buffer type.
754         * cppmain.c: Update to handle correct file renaming where a
755         #line is the first line of the main file, and produce only
756         the renamed file, not the original file, as output.
757
758 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
759
760         * config/c4x/c4x.md: Remove redundant @s from output patterns.
761
762 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
763             Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
764
765         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Call c4x_init_pragma.
766
767         * config/c4x/c4x-protos.h (c4x_init_pragma): New prototype.
768
769         * config/c4x/c4x.c (c4x_init_pragma): New function.
770         (c_lex_func): New variable.
771         (c4x_parse_pragma): Use c_lex_func.
772
773 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
774             Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
775
776         * config/c4x/c4x.h (MD_INIT_BUILTINS): Add void_list_node argument
777         to c4x_init_builtins.
778
779         * config/c4x/c4x-protos.h (c4x_init_builtins): Add tree argument.
780
781         * config/c4x/c4x.c (c4x_init_builtins): Add tree argument.
782         (c4x_output_ascii):  Fix.
783
784 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
785             Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
786
787         * config/c4x/c4x.h (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Define.
788
789         * config/c4x/c4x-protos.h (c4x_init_builtins): New prototype.
790         (c4x_expand_builtin): Likewise.
791
792         * config/c4x/c4x.c (c4x_init_builtins): New function.
793         (c4x_expand_builtin): Likewise.
794
795         * config/c4x/c4x.md (floatunsqihf2): New pattern.
796         (*floatqihf2_set, *fixhfqi_set, fix_trunchfqi2): Likewise.
797         (fixuns_trunchfqi2, toieee, frieee, *ldhf_conditional): Likewise.
798         (*ldhf_conditional_noov, movhfcc, trap, cond_trap_cc): Likewise.
799         (*toieee_movqf_clobber, *frieee_movqf_clobber): Likewise.
800
801 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
802
803         * libgcc2.h: Use Wtype for SItype and DWtype for DItype in prototypes.
804         * libgcc2.c (__absvsi2): Use Wtype and DWtype.
805         (__absvdi2, __addvsi3, __addvdi3, __subvsi3): Likewise.
806         (__subvdi3, __mulvsi3, __mulvdi3, __negvsi2, __negvdi2): Likewise.
807
808 2000-12-16  Alexandre Oliva  <aoliva@redhat.com>
809
810         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Enclose the block
811         statement in do/while(0).
812
813 Sat Dec 16 19:56:24 MET 2000  Jan Hubicka  <jh@suse.cz>
814
815         * i386.md (ashrsi3_cmpno, ashrhi3_cmpno, ashrqi3_cmpno, lshrsi3_cmpno,
816         lshrhi3_cmpno): Remove redundant '@' from the template.
817
818         * i386.md (cmpstrsi_1): Fix type of the compare.
819
820         * genattrtab.c (attr_rtx_cost): New function.
821         (simplify_test_exp): Avoid overactive inlining; use temporary
822         obstacks for tests.
823
824 Sat Dec 16 10:41:11 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
825
826         * diagnostic.c (finish_abort): Deleted.
827         (fatal): Add code from finish_abort.
828         (error_recursion, fancy_abort): Call fatal, not finish_abort.
829         (trim_filename): Remove leading "../".
830         * diagnostic.h (finish_abort): Deleted.
831         * toplev.c (crash_signal): Call fatal, not finish_abort.
832
833         * stor-layout.c (place_field): Treat overflowing DECL_SIZE_UNIT
834         as if size were variable.
835
836         * expmed.c (expand_mult): Write REG_EQUAL note with proper mode.
837
838 2000-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
839
840         * tradcpp.c: T_WARNING: New.
841         (do_warning): New function.
842         (finclude): Skip past the newline and increase the line number
843         before calling output_line_command.
844         (do_line): Skip the new line after output_line_command.  Don't
845         pre-decrement the line number.
846
847 2000-12-15  Diego Novillo  <dnovillo@redhat.com>
848
849         * i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix references to
850         _GLOBAL_OFFSET_TABLE_ when using Intel syntax.
851
852 2000-12-15  Jakub Jelinek  <jakub@redhat.com>
853
854         * gcc.c (cpp_options): Pass -fno-operator-names.
855         * cpplib.h (struct cpp_options): Add operator_names.
856         * cppinit.c (cpp_create_reader): Initialize it.
857         (initialize_builtins): If -fno-operator-names, don't add
858         C++ alternate operator names.
859         (COMMAND_LINE_OPTIONS): Add -fno-operator-names.
860         (cpp_handle_option): Clear operator_names.
861
862 2000-12-15  Jason Merrill  <jason@redhat.com>
863
864         * jump.c (jump_optimize_1): Don't delete the line note after the
865         prologue even if it seems redundant.
866
867         * config/arm/arm.c (arm_expand_prologue): Set RTX_FRAME_RELATED_P
868         on all insns used to adjust the stack.
869
870 Fri Dec 15 15:32:16 MET 2000  Jan Hubicka  <jh@suse.cz>
871
872         * combine.c (cant_combine_insn_p): Get around SUBREGs when determining
873         hardreg<->reg moves.
874
875 Fri Dec 15 14:48:37 MET 2000  Jan Hubicka  <jh@suse.cz>
876
877         * genrecog.c (add_to_sequence): Remove special case for
878         const_int_operand.
879         (maybe_both_true): Return 1 when falling out of sequence when
880         trying to find common possition in the pattern.
881
882 Fri Dec 15 14:44:51 MET 2000  Jan Hubicka  <jh@suse.cz>
883
884         * integrate.c (copy_rtx_and_substitute): Copy mode too.
885
886 Fri Dec 15 14:11:57 MET 2000  Jan Hubicka  <jh@suse.cz>
887
888         * flow.c (notice_stack_pointer_modification_1): Cleanup.
889
890 2000-12-15  Alexandre Oliva  <aoliva@redhat.com>
891
892         * function.c (adjust_trampoline_addr): New function.
893         (trampoline_address): Call it instead of round_trampoline_addr().
894         * tm.texi (TRAMPOLINE_ADJUST_ADDRESS): Document it.
895
896 2000-12-14  Zack Weinberg  <zack@wolery.stanford.edu>
897
898         * cppfiles.c (hack_vms_include_specification): Delete function
899         (not used since 1998).
900
901 Fri Dec 15 03:37:51 2000  J"orn Rennecke <amylaar@redhat.com>
902
903         * haifa-sched.c (sched_init): Don't put a note in front of any BARRIER.
904
905 2000-12-14  Jim Wilson  <wilson@redhat.com>
906
907         * alias.c (get_alias_set): Call record_component_aliases for
908         COMPLEX_TYPE.
909         (record_component_aliases): Handle COMPLEX_TYPE.
910
911 2000-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
912
913         * fixinc/gnu-regex.c: Disable NLS.
914
915 2000-12-14  Richard Henderson  <rth@redhat.com>
916
917         * config/alpha/alpha.c (alpha_emit_conditional_move): Do not swap
918         comparison operands when that would create non-canonical rtl.
919
920         * config/i386/i386.md (umulsi3_highpart): Remove * from name.
921         (smulsi3_highpart): Likewise.
922
923 2000-12-14  Neil Booth  <neil@daikokuya.demon.co.uk>
924
925         * gcc.c (cpp_options): Add -remap.
926
927 2000-12-14  Neil Booth  <neil@daikokuya.demon.co.uk>
928
929         * gcc.c (cpp_options): Update to use '&'.
930         (struct switchstr): Change type of validated to save space.
931         New member 'ordering'.
932         (handle_braces, validate_switches): Update to handle '&'.
933
934 2000-12-13  Laurynas Biveinis  <lauras@softhome.net>
935
936         * fixinc/inclhack.def: skip stdio_va_list fix if __DJ_va_list
937         found in a header.
938         * fixinc/fixincl.x: regenerated.
939
940 2000-12-13  DJ Delorie  <dj@redhat.com>
941
942         * config.gcc (cygwin, win32, mingw32): Use float-i386.h.
943
944 2000-12-13  Tom Tromey  <tromey@redhat.com>
945
946         * gcc.c (handle_braces): Handle %{<S*} spec correctly.
947
948 2000-12-13  Alexandre Oliva  <aoliva@redhat.com>
949
950         * function.c (assign_parms): Optimize incoming PARALLELs into
951         REGs if possible.
952
953 2000-12-13  Bruce Korb  <bkorb@gnu.org>
954
955         * fixinc/Makefile.in(*): substantial rewrite to accommodate systems
956         that cannot handle bi-directional pipes, viz. BeOS and DOS.
957         * fixinc/fixlib.h(IGNORE_ARG): new macro
958         (STATIC): define for all of fixinc to use
959         * fixinc/fixfixes.c(*): eliminate unused arg warnings
960         * fixinc/fixtests.c(*): ditto
961         * fixinc/fixincl.c(start_fixer): chain_open now uses const arg list
962         * fixinc/gnu-regex.c: reorder some includes to avoid _GNU_SOURCE
963         warning.  Also, eliminate the ``#ifdef emacs'' stuff.
964         (re_syntax_options): make global as it is declared so.
965         * fixinc/mkfixinc.sh: process the argument list more consistently
966         (beos/msdosdjgpp): set TARGETS to twoprocess vs. oneprocess
967         * fixinc/procopen.c(globals): include "fixlib.h" for std defs
968         * fixinc/server.c(globals): ditto
969         * fixinc/server.h(defines): ditto
970
971 2000-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
972
973         * tradcpp.c (special_symbol): Improve test for definedness,
974         though it is still not perfect.
975         (do_define): Don't define illegal macro names.
976
977 2000-12-07  Aldy Hernandez  <aldyh@redhat.com>
978
979         * config/mips/elf.h (ASM_OUTPUT_SECTION_NAME): emit @nobits
980         if changing into .bss section.
981         * config/mips/elf64.h: same.
982         * config/mips/iris6.h: same.
983         * config/mips/netbsd.h: same.
984         * config/mips/openbsd.h: same.
985
986 2000-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
987
988         * cppfiles.c (read_name_map): Return null if open () fails.
989         (remap_filename): Simplify logic.  Add ICE if it doesn't work
990         as expected. Perform secondary lookup attempt on base filename
991         only.
992
993 Wed Dec 13 19:48:04 MET 2000  Jan hubicka  <jh@suse.cz>
994
995         * flow.c (notice_stack_pointer_modification_1): Notice midifications
996         using PRE_MODIFY and POST_MODIFY.
997
998 Wed Dec 13 17:25:32 MET 2000  Jan Hubicka  <jh@suse.cz>
999
1000         * genoutput.c (process_template): Add sanity checking for '@' templates.
1001
1002 2000-12-13  Bernd Schmidt  <bernds@redhat.co.uk>
1003
1004         * simplify-rtx.c (cselib_finish): Free reg_values and used_regs
1005         varrays.
1006
1007 2000-12-12  Mike Stump  <mrs@wrs.com>
1008
1009         * Makefile.in (distclean): Remove safe-ctype.c as well.
1010
1011 2000-12-12  Brad Lucier <lucier@math.purdue.edu>
1012
1013         * tradcpp.c (do_error): Cast difference of pointers to int
1014         for error message.
1015
1016 2000-12-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1017
1018         * config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Move from here...
1019         * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): ...to here.
1020
1021 2000-12-12  Jim Wilson  <wilson@redhat.com>
1022
1023         * rtlanal.c (may_trap_p): Check operand modes of LE, LT, GE, and GT.
1024
1025 2000-12-12  Alexandre Oliva  <aoliva@redhat.com>
1026
1027         * configure.in: Simplify language enabling/disabling code.
1028         * configure: Rebuilt.
1029         * ch/config-lang.in (target_libs): Set.
1030         (build_by_default): Set to no.
1031         * cp/config-lang.in (target_libs): Set.
1032         * f/config-lang.in (target_libs): Set.
1033         * java/config-lang.in (target_libs): Set.
1034         * objc/config-lang.in (target_libs): Set.
1035
1036 2000-12-12  Neil Booth  <neil@daikokuya.demon.co.uk>
1037
1038         * tradcpp.c (enum node_type): Add T_ERROR.
1039         (do_error): New function.
1040         (directive_table): Add #error handler.
1041
1042 2000-12-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1043
1044         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Enable .file/.loc check
1045         for powerpc*-*-*.
1046         * configure: Regenerated.
1047         * config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
1048         * config/rs6000/rs6000.c (rs6000_unique_section): Use
1049         STRIP_NAME_ENCODING.
1050
1051 Mon Dec 11 13:51:09 2000  Jeffrey A Law  (law@cygnus.com)
1052
1053         * pa.c (cmpib_comparison_operator): Remove GEU and LTU.
1054         * pa.h (PREDICATE_CODES, cmpib_comparison_operator): Corresponding
1055         changes.
1056
1057 2000-12-11  Bruce Korb  <bkorb@gnu.org>
1058
1059         * fixinc/fixincl.tpl: initialize all fields for warnings
1060         * fixinc/fixincl.x: regenerate
1061
1062 2000-12-11  Neil Booth  <neilb@earthling.net>
1063
1064         * tradcpp.h: For tradcpp, NUL is not whitespace.
1065
1066 2000-12-11  Neil Booth  <neilb@earthling.net>
1067
1068         * fix-header.c (read_scan_file): Macro expansion is not a file buffer.
1069
1070 2000-12-05  Marek Michalkiewicz  <marekm@linux.org.pl>
1071
1072         * config/avr/avr.c (compare_condition, compare_sign_p): New functions.
1073         (compare_diff_p, compare_eq_p): Call compare_condition.
1074         (out_tsthi, out_tstsi): Call compare_sign_p.
1075         (avr_progmem_p): Check for error_mark_node.
1076
1077 2000-12-11  Neil Booth  <neilb@earthling.net>
1078
1079         * cpperror.c (print_location): New function.
1080         (print_containing_files): Simplify.
1081         (_cpp_begin_message): Simplify and use print_location.
1082         * cppfiles.c (stack_include_file): Update.
1083         (_cpp_pop_file_buffer): Update.
1084         * cpphash.h (struct cpp_buffer): New members
1085         include_stack_listed and type.
1086         * cpplib.c (_cpp_handle_directive): Buffer->inc is not null.
1087         (run_directive): Take buffer type.  cpp_push_buffer cannot fail.
1088         (_cpp_do__Pragma, cpp_define, _cpp_define_builtin, cpp_undef,
1089         handle_assertion): Update.
1090         (cpp_push_buffer): Take a buffer type and file name.
1091         (cpp_pop_buffer): Update.  Clear include_stack_listed.
1092         * cpplib.h (input_stack_listing_current): Remove.
1093         (enum cpp_buffer_type): New.
1094         (cpp_push_buffer): New prototype.
1095         * cppmacro.c (builtin_macro): Simplify; buffer cannot be null.
1096         * fix-header.c (read_scan_file): Update.
1097
1098 2000-12-10  Robert Lipe <robertlipe@usa.net>
1099
1100         * install.texi (i*86-*-sco3.2v5*): Remove information duplicated
1101         in html version.
1102
1103 2000-12-10  Richard Henderson  <rth@redhat.com>
1104
1105         * genrecog.c (find_operand): Handle 'V' format code.
1106         (find_matching_operand): New.
1107         (validate_pattern): Accept '=' for an in-out operand if there
1108         is another operand with a matching constraint.
1109
1110         * config/i386/i386.md (andqi_ext_0_cc): Use matching constraint
1111         for op1 to op0.
1112
1113 2000-12-10  Richard Henderson  <rth@redhat.com>
1114
1115         * genrecog.c (validate_pattern) [STRICT_LOW_PART]: Fix thinko.
1116
1117 2000-12-09  Richard Henderson  <rth@redhat.com>
1118
1119         * genrecog.c (validate_pattern): Verify that ZERO_EXTRACT and
1120         STRICT_LOW_PART as SET_DEST have in-out constraints.
1121
1122 2000-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1123
1124         * c-common.c (check_function_format): Don't suggest adding format
1125         attributes to functions with no parameter to which to add them.
1126
1127 2000-12-09  Nick Clifton  <nickc@redhat.com>
1128
1129         * config/arm/arm.c (arm_expand_prologue): Mark the generated
1130         insn not the set as being DWARF2_FRAME_RELATED_P.
1131
1132 2000-12-09  Laurynas Biveinis  <lauras@softhome.net>
1133
1134         * Makefile.in: use $(build_exeext) for all build
1135         system executable targets.
1136
1137 2000-12-09  Laurynas Biveinis  <lauras@softhome.net>
1138
1139         * install.texi: remove i[345]86-*-winnt3.5 section.
1140         * configur.bat: removed.
1141         * config/msdos: directory removed.
1142
1143 2000-12-09  Neil Booth  <neilb@earthling.net>
1144
1145         * cppfiles.c (NEVER_REREAD, DO_NOT_REREAD): Move from cpphash.h.
1146         * cpphash.h (NEVER_REREAD, DO_NOT_REREAD, ABSOLUTE_PATH): Delete.
1147         * cpplex.c (parse_identifier): Improve diagnostic.
1148         (_cpp_lex_token): Return unconditionally at the end of a directive.
1149         * cpplib.c (read_flag): Verify legality of each flag.
1150         (end_directive): Resotre pfile->skipping before skip_rest_of_line.
1151         (do_line): Use the new read_flag.
1152         * cppmacro.c (struct cpp_macro, parse_arg, replace_args,
1153         check_macro_redefinition, parse_params): Rename var_args to
1154         variadic.
1155
1156 2000-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1157
1158         * .cvsignore: Add info files.
1159
1160 2000-12-08 Laurynas Biveinis <lauras@softhome.net>
1161
1162         * config/winnt: Remove obsolete directory.
1163         * install.texi (Configurations): Remove obsolete documentation for
1164         Windows NT.
1165
1166 2000-12-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1167
1168         * configure.in: Don't define INSTALL_INFO.
1169         * configure: Regenerate.
1170         * Makefile.in (INSTALL_INFO): Remove.
1171         (info): Depend on info files in source directory.
1172         (cpp.info, gcc.info, c-tree.info): Build info files in source
1173         directory.
1174         (distclean): Don't remove info files.
1175         (maintainer-clean): Remove info files from source directory.
1176         (install-normal): Depend on install-info.
1177         (install-info): Install info files from source directory, if they
1178         exist.
1179         * texinfo.tex: Update to version 2000-11-09.08 from ftp.gnu.org.
1180
1181 2000-12-08  Alexandre Oliva  <aoliva@redhat.com>
1182
1183         * lcm.c (optimize_mode_switching): Check whether an insn is a NOTE
1184         before taking its NOTE_LINE_NUMBER.
1185
1186 2000-12-08  Nick Clifton  <nickc@redhat.com>
1187
1188         * config/arm/arm.md (load_indirect_jump): Add pool ranges.
1189
1190         * extend.texi: Document ARM "interrupt" function attribute.
1191         Mention that the ARM also support the "naked" function
1192         attribute.
1193
1194         * config/arm/arm-protos.h (arm_current_func_type): Add
1195         prototype.
1196
1197         * config/arm/arm.h (EXCEPTION_LR_REGNUM): Define.
1198         (struct machine_function): Add 'func_type' field.
1199         Define bit values for 'func_type' field.
1200         (ARM_FUNC_TYPE): New macro.
1201         (IS_INTERRUPT): New macro.
1202         (IS_VOLATILE): New macro.
1203         (IS_NAKED): New macro.
1204         (IS_NESTED): New macro.
1205         (ARM_INITIAL_ELIMINATION_OFFSET): Use IS_VOLATILE.
1206
1207         * config/arm/arm.c (isr_attribute_args): New Structure.  A
1208         list of "interrupt" function attribute modifiers.
1209         (arm_isr_value): New Function: Returns the type of the current
1210         interrupt function.
1211         (arm_compute_func_type): New Function: Computes the type of
1212         the current function.
1213         (arm_current_func_type): New Function: Returns the type of the
1214         current function.
1215         (use_return_insn): Use arm_current_func_type.
1216         (arm_valid_type_attribute_p): Accept "interrupt" function
1217         attribute.
1218         (arm_comp_type_attributes): Check "interrupt" attributes.
1219         (arm_valid_machine_decl): Accept "interrupt" function
1220         attribute.
1221         (arm_function_ok_for_sibcall): Do not allow interrupt
1222         functions to use sibcalls.
1223         (arm_naked_function_p): Delete.
1224         (print_multi_reg): Remove redundant parameter 'hat'.
1225         (arm_compute_save_reg_mask): New Function: Compute a bit mask
1226         of registers saved during the current function's prologue.
1227         (output_arm_return_instruction): Use arm_current_func_type.
1228         Generate return instruction when LR is not poppsed off the
1229         stack.
1230         (arm_volatile_func): Delete.
1231         (output_arm_prologue): Use arm_current_func_type and
1232         arm_compute_save_reg_mask.
1233         Note presernce of interrupt functions.
1234         (arm_output_epilogue): Use arm_current_func_type and
1235         arm_compute_save_reg_mask.
1236         (arm_expand_prologue): Use arm_current_func_type and
1237         arm_compute_save_reg_mask.
1238         (arm_init_machine_status): Initialise func_type field, if
1239         necessary.
1240         (thumb_expand_prologue): Use arm_current_func_type.
1241         (output_thumb_prologue): Use arm_current_func_type.
1242
1243 2000-12-08  Brad Lucier <lucier@math.purdue.edu>
1244
1245         * tradcpp.c (do_include): Make pointer differences 64-bit clean.
1246
1247 Fri Dec  8 08:23:29 2000  J"orn Rennecke <amylaar@redhat.com>
1248
1249         * fp-bit.c (_fpmul_parts): Use USItype variables as inputs
1250         for multiplies.
1251
1252 2000-12-07  Mike Stump  <mrs@wrs.com>
1253
1254         * Makefile.in (distclean): Remove alloca.c hashtab.c.
1255
1256 2000-12-07  Zack Weinberg  <zack@wolery.stanford.edu>
1257
1258         * Makefile.in (HOST_RTL): Add safe-ctype.o.
1259         (safe-ctype.o): New rule.
1260         * system.h: Include safe-ctype.h, not ctype.h.  No need to
1261         wrap ctype macros.
1262
1263         * cpphash.h: Zap IStable and related macros.  Define is_* in
1264         terms of safe-ctype.h macros.
1265         * cppinit.c: Delete the IStable and all related code.
1266
1267         * tradcpp.c: Delete is_idchar, is_idstart, is_hor_space, and
1268         is_space arrays.  Delete initialize_char_syntax.  Change all
1269         references to the above arrays to use macros instead.
1270         * tradcpp.h: Define is_idchar, is_idstart, is_space, and
1271         is_nvspace in terms of safe_ctype.h's macros.
1272         * tradcif.y: is_idchar, is_idstart are macros not arrays.
1273
1274         * config/i370/i370.c, config/winnt/dirent.c,
1275         config/winnt/fixinc-nt.c, config/winnt/ld.c:
1276         Use uppercase ctype macros.  If we included ctype.h,
1277         include safe-ctype.h instead.
1278
1279         * fixinc/fixfixes.c: Use uppercase ctype macros.  Don't test
1280         ISLOWER(c) before calling TOUPPER(c).
1281         * fixinc/fixincl.c (extract_quoted_files): Simplify out some gunk.
1282         * fixinc/gnu-regex.c: Include safe-ctype.h, not ctype.h.  No need to
1283         wrap ctype macros.  Don't test ISUPPER(x) before calling TOLOWER(x).
1284
1285 2000-12-07  DJ Delorie  <dj@redhat.com>
1286
1287         * c-decl.c (grokdeclarator): preserve previous alignments when
1288         rebuilding array types.
1289
1290 2000-12-07  Neil Booth  <neilb@earthling.net>
1291
1292         * cppfiles.c (struct include_file): Move from cpphash.h.
1293         (_cpp_never_reread): New function.
1294         (open_file, read_include_file): Use it.
1295         (stack_include_file): Set the buffer's sysp according to the
1296         path in which the file was found.
1297         (find_include_file): Don't set sysp.
1298         (cpp_make_system_header, actual_directory): Update.
1299         (_cpp_execute_include): Do #include_next lookup handling here,
1300         not in cpplib.c.  Use _cpp_never_reread.
1301         * cpphash.h (struct_include_file): Remove.
1302         (struct cpp_buffer): New member sysp.
1303         (CPP_IN_SYSTEM_HEADER, _cpp_execute_include): Update.
1304         (_cpp_never_reread): New.
1305         * cpplib.c (read_line_number): Rename read_flag.  Rework slightly.
1306         (end_directive): Clear line_extension flag.
1307         (_cpp_handle_directive): Set line_extension flag for #number.
1308         (do_include_next): Handle path lookup in _cpp_execute_include.
1309         (do_line): Cleanup to use read_flag.  Don't allow flags in #line.
1310         (_cpp_do_file_change): Update.
1311         (do_pragma_once): Use cpp_never_reread.  Clean up.
1312         * cpplib.h (struct lexer_state): New member line_extension.
1313
1314 2000-12-07  Richard Henderson  <rth@redhat.com>
1315
1316         * flow.c (calculate_global_regs_live): Force the stack pointer live
1317         after reload as well.
1318
1319 2000-12-07  Bruce Korb  <bkorb@gnu.org>
1320
1321         * fixinc/Makefile.*(exeext): the variables are exeext, the
1322         substitution expression is build_exeext.
1323
1324 2000-12-07  Neil Booth  <neilb@earthling.net>
1325
1326         * c-common.c (parse_in): Make a cpp_reader *.
1327         * cppfiles.c (_cpp_fake_include): Remove.
1328         * cpphash.h: Similarly.
1329         * cpplib.c (do_line): Don't call _cpp_fake_include.  A valid
1330         #line always creates a callback; FC_RENAME if there are no
1331         #line flags.
1332         * fix-header.c (read_scan_file): cpp_push_buffer cannot fail.
1333         The first EOF must be our get_char buffer.
1334
1335 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1336
1337         * c-common.c (warn_format_security): New variable.
1338         (check_format_info): Warn about non-literal formats with no format
1339         arguments if either -Wformat-nonliteral or -Wformat-security is
1340         specified.
1341         (set_Wformat): Set warn_format_security for settings other than 1.
1342         * c-common.h (warn_format_security): Declare.
1343         * c-decl.c (c_decode_option): Decode -Wformat-security and
1344         -Wno-format-security.
1345         * invoke.texi: Document -Wformat-security.
1346         * toplev.c (documented_lang_options): Include -Wformat-security
1347         and -Wno-format-security.
1348
1349 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1350
1351         * c-common.c (check_format_info): Warn for non-constant format
1352         strings with strftime formats if -Wformat-nonliteral.  Where the
1353         format can convert arguments, if the format is not a string
1354         literal and there are no arguments to the format, give a different
1355         warning message from the general non-string-literal case.
1356
1357 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1358
1359         * c-common.c (format_wanted_type): Add reading_from_flag.
1360         (print_char_table): Mark %s and %S formats with flag "R".
1361         (check_format_info_main): Set up reading_from_flag appropriately.
1362         If aflag, always set writing_in_flag rather than relying on the
1363         format used being a scanf format and so having it set.
1364         (check_format_types): Check for formats reading through null
1365         pointers.
1366
1367 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1368
1369         * invoke.texi (-Wformat): Document what format features are
1370         checked.
1371
1372 2000-12-06  Kazu Hirata  <kazu@hxi.com>
1373
1374         * config/h8300/h8300.h: Fix formatting.
1375
1376 2000-12-06      Joel Sherrill <joel@OARcorp.com>
1377
1378         * config.gcc (a29k*-*-rtems*, arm*-*-rtems*, c4x-*-rtems*,
1379         h8300-*-rtems*, hppa1.1-*-rtems, *mips*-*-rtems*): New targets.
1380         * config.gcc (*-rtems*): Add support for gthr-rtems.h.
1381         * gthr-rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
1382         config/h8300/rtems.h, config/mips/rtems.h: New files.
1383
1384 2000-12-06  Mark Kettenis  <kettenis@gnu.org>
1385
1386         * config.gcc: Reorganize handling of *-*-gnu*, to share target
1387         specific make details with Linux.  Update comments to clarify
1388         the distinction between GNU/Linux and GNU/Hurd.
1389
1390 Wed Dec  6 19:22:02 2000  Jeffrey A Law  (law@cygnus.com)
1391
1392         * contrib.texi: Fix my email address.  Update Per's
1393         list of contributions.
1394
1395 2000-12-06  Rodney Brown  <RodneyBrown@mynd.com>
1396
1397         * c-lex.c (cb_indent): Decorate `str' argument, unused on HP-UX.
1398         * collect2.c (scan_libraries): Remove unused `ch'.
1399         (COFF specific stuff): Prototype ldgetname.  Declare and prototype
1400         ldbtread and ldclose.
1401
1402         * config/alpha/osf.h: Standarize copyright statement.
1403         * config/arc/arc.h: Likewise.
1404         * config/arm/elf.h config/arm/coff.h config/arm/aout.h: Likewise.
1405         * config/arm/arm.c config/arm/arm.h: Likewise.
1406         * config/elxsi/elxsi.h: Likewise.
1407         * config/i386/sco.h: Likewise.
1408         * config/m68k/crds.h config/m68k/hp320.h config/m68k/lynx.h: Likewise.
1409         * config/m68k/m68kv4.h config/m68k/next21.h: Likewise.
1410         * config/m68k/sun3.h: Likewise.
1411         * config/m88k/dgux.h config/m88k/dguxbcs.h: Likewise.
1412         * config/pdp11/2bsd.h config/pdp11/pdp11.h: Likewise.
1413         * config/romp/romp.h: Likewise.
1414         * config/rs6000/aix41.h: Likewise.
1415         * config/sparc/sysv4.h: Likewise.
1416         * config/we32k/we32k.c config/we32k/we32k.h: Likewise.
1417         * fixinc/gnu-regex.c fixinc/gnu-regex.h: Likewise.
1418         * cpplib.h cppexp.c cselib.h profile.c: Likewise.
1419         * longlong.h: Likewise.
1420         * libgcc2.c: Likewise.
1421
1422 2000-12-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1423
1424         * machmode.def: Use correct definition for BITSIZE on targets where
1425         BITS_PER_UNIT != 8.
1426
1427 2000-12-06  Bruce Korb  <bkorb@gnu.org>
1428
1429         * fixinc/Makefile.*: Reduce differences to (ultimately) reduce
1430         the number of them.
1431
1432 2000-12-06  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
1433
1434         * pa.c: Include expr.h before c-tree.h.
1435         (remove_useless_addtr_insns): Use reverse_condition_maybe_unordered
1436         instead of reverse_condition.
1437         (print_operand): Correct predicates for GT, GE, LT and LE.  Add
1438         predicates for LTGT, UNLE, UNLT, UNGE, UNGT, UNEQ, UNORDERED and
1439         ORDERED.
1440         (cmpib_comparison_operator): Add GEU and LTU codes.
1441         * pa.h (PREDICATE_CODES): Add codes for cmpib_comparison_operator.
1442         * pa.md (bltgt, bunle, bunlt, bunge, bungt, buneq, bunordered,
1443         bordered): New float conditional branch patterns.
1444
1445 Wed Dec  6 21:03:41 2000  J"orn Rennecke <amylaar@redhat.com>
1446
1447         * final.c (final_addr_vec_align): Fix clipping to BIGGEST_ALIGNMENT.
1448
1449 2000-12-06  Sylvain Pion  <Sylvain.Pion@sophia.inria.fr>
1450
1451         * cpplex.c (skip_escaped_newlines): Don't warn for spaces between
1452         backslash and newline, when inside a comment.
1453
1454 2000-12-06  Joseph S. Myers  <jsm28@cam.ac.uk>
1455
1456         * invoke.texi: Use @table @samp instead of @itemize @minus for
1457         table of language standards.  Fix use of @pxref.  From Zack
1458         Weinberg.  Also exclude specs documentation from generated
1459         manpage, and create separate ENVIRONMENT section.
1460
1461 2000-12-06  Michael Matz  <matzmich@cs.tu-berlin.de>
1462
1463         * gcse.c (compute_pre_data): Kill trapping expressions in
1464         destination blocks of abnormal edges.
1465
1466 2000-12-05  Richard Sandiford  <r.sandiford@redhat.com>
1467
1468         * config/mn10300/mn10300.c (mn10300_print_reg_list): Added.
1469         (mn10300_get_live_callee_saved_regs): Likewise.
1470         (mn10300_gen_multiple_store): Likewise.
1471         (store_multiple_operation): Likewise.
1472         (expand_prologue): Use mn10300_gen_multiple_store().
1473         * config/mn10300/mn10300-protos.h (mn10300_print_reg_list): Added.
1474         (mn10300_get_live_callee_saved_regs): Likewise.
1475         (mn10300_gen_multiple_store): Likewise.
1476         (store_multiple_operation): Likewise.
1477         * config/mn10300/mn10300.md (store_movm): Use a MATCH_PARALLEL
1478         tied to store_multiple_operation().
1479
1480 Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
1481
1482         * builtins.c (expand_builtin_setjmp_setup): Set
1483         current_function_has_nonlocal_label.
1484
1485 2000-12-05  Neil Booth  <neilb@earthling.net>
1486
1487         * cppfiles.c (stack_include_file): Push zero-length buffers
1488         in case of failure.  Return void, as we don't fail any more.
1489         (read_include_file): Check for files we shouldn't re-read.
1490         Don't return an error code; errors are implied by marking the
1491         file NEVER_REREAD.
1492         (_cpp_execute_include): Move the recursion and in-macro checks
1493         here.  Update for stack_include_file not failing.
1494         * cpplib.c (cpp_push_buffer): Always succeed, since
1495         _cpp_execute_include performs the recursion check.  Tidy up.
1496         * cpplib.h (cpp_push_buffer): Update prototype.
1497
1498 2000-12-05  Alexandre Oliva  <aoliva@redhat.com>
1499
1500         * sched-vis.c (visual_tbl_line_length): New variable.
1501         (get_visual_tbl_length): Set it.
1502         (visualize_stall_cycles): Don't let stalls overrun
1503         visual_tbl_line_length.
1504
1505 2000-12-05  Geoffrey Keating  <geoffk@redhat.com>
1506
1507         * global.c (global_conflicts): Allow for a REG_UNUSED note
1508         with a different mode to the REG set in the insn.
1509
1510 2000-12-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1511
1512         * Makefile.in (fixinc.sh): Pass $WARN_CFLAGS into fixinc dir.
1513
1514         * fixinc/Makefile.in (FIXINC_DEFS): Add $(WARN_CFLAGS).
1515
1516 2000-12-05  Bruce Korb  <bkorb@gnu.org>
1517
1518         * fixinc/mkfixinc.sh(*-gnu*): activate fixinc for GNU/Hurd and
1519         GNU/Linux.
1520
1521 2000-12-05  Richard Earnshaw  <rearnsha@arm.com>
1522
1523         * fixinc/mkfixinc.sh: Run fixinc on netbsd.
1524         * fixinc/inclhack.def (machine/ansi.h): Run this rule on all files,
1525         to cope with aliased copies.
1526         * fixinc/fixincl.x: Regenerate.
1527
1528 2000-12-05  Bernd Schmidt  <bernds@redhat.co.uk>
1529
1530         * sched-vis.c: Guard with #ifdef INSN_SCHEDULING.
1531         * sched-rgn.c: Likewise.
1532         (rgn_print_insn): Fix output.
1533
1534 2000-12-05  Bruce Korb  <bkorb@gnu.org>
1535
1536         * fixinc/Makefile.*: make these more consistent
1537         * fixinc/mkfixincl.sh: enable BeOS fixincludes
1538
1539 2000-12-05  Richard Henderson  <rth@redhat.com>
1540
1541         * stmt.c (warn_if_unused_value): Move side effects test earlier.
1542
1543 2000-12-05  Alan Modra <alan@linuxcare.com.au>
1544
1545         * bb-reorder.c (reorder_basic_blocks): Do check for EH edges even
1546         when using sjlj.
1547
1548 2000-12-05  Richard Henderson  <rth@redhat.com>
1549
1550         * flow.c (calculate_global_regs_live): Only force stack pointer
1551         live before reload.  Force pic register live before reload.
1552         (insn_dead_p): Don't protect pic references from deletion.
1553
1554 2000-12-05  Joseph S. Myers  <jsm28@cam.ac.uk>
1555
1556         * invoke.texi: Add support for using texi2pod.pl.  Don't use
1557         @multitable.
1558
1559 2000-12-04  Nick Clifton  <nickc@redhat.com>
1560
1561         * config/arm/arm.c (arm_override_options): Test 'insn_flags' not
1562         'tune_flags' for XScale nature.
1563         Remove spurious test of HARD_FLOAT and XScale flags.
1564
1565         * config/arm/arm.md (umulsidi3adddi): Restore "=&r" register
1566         contraint, accidentally changed during XScale contribution.
1567
1568         * config/arm/lib1funcs.asm (interwork_call_via_, call_via_): Do
1569         not create these functions if the target architecture does not
1570         support Thumb instructions.
1571
1572 2000-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
1573
1574         * ONEWS: New file with the current contents of NEWS up to EGCS
1575         1.1.
1576         * NEWS: Generate automatically from online release notes from EGCS
1577         1.0 to GCC 2.95.2, using ../contrib/gennews.
1578
1579 2000-12-04  Neil Booth  <neilb@earthling.net>
1580
1581         * tradcif.y: Move lexptr to top of file.  Add rule to handle
1582         assertions in conditional expressions.
1583         * tradcpp.c (parse_answer): Assertions do not need to go to
1584         end of line in conditional directives.
1585         (parse_assertion): Get first character of identifiers correct.
1586         (test_assertion): New function.
1587         * tradcpp.h (test_assertion): New prototype.
1588
1589 2000-12-01  Rodney Brown  <RodneyBrown@mynd.com>
1590
1591         * config.gcc: Fix typo for UnixWare 7.
1592
1593 2000-12-03  Phil Edwards  <pme@sources.redhat.com>
1594
1595         * invoke.texi:  Replace `pedwarns' with clearer text.
1596
1597 2000-12-04  Bruce Korb  <bkorb@gnu.org>
1598
1599         * fixinc/Makefile.*(clean):  don't clean autogenerated files.
1600         (mainainer-clean): clean autogenerated files
1601
1602 2000-12-04  DJ Delorie  <dj@redhat.com>
1603
1604         * md.texi: Add overview, clarify match_dup and define_expand.
1605
1606 2000-12-04  DJ Delorie  <dj@redhat.com>
1607
1608         * print-tree.c (print_node): Target-specific builtins print
1609         numbers, not names.
1610
1611 2000-12-04  Jason Merrill  <jason@redhat.com>
1612
1613         * stor-layout.c (int_mode_for_mode): Handle MODE_VECTOR_INT,
1614         MODE_VECTOR_FLOAT.
1615
1616         * diagnostic.c (report_problematic_module): s/function/module/.
1617
1618         * c-lex.h: Remove decl for check_newline.
1619
1620 2000-12-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1621
1622         * README.APOLLO: Remove obsolete file.
1623
1624 2000-12-04  Neil Booth  <neilb@earthling.net>
1625
1626         * cppinternals.texi: New file.
1627
1628 2000-12-04  Neil Booth  <neilb@earthling.net>
1629
1630         * cppfiles.c (cpp_make_system_header): Take 2 booleans,
1631         and operate on current buffer.
1632         (cpp_read_file): Rename _cpp_read_file.
1633         * cpplib.c (do_line, do_pragma_system_header): Update calls to
1634         cpp_make_system_header.
1635         * fix-header.c: Similarly.
1636         * cpphash.h (_cpp_read_file): Move from...
1637         * cpplib.h: ... here.
1638         * cppinit.c (do_includes, cpp_start_read): Update appropriately.
1639
1640 2000-12-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1641
1642         * builtins.c (expand_builtin_strspn, expand_builtin_strcspn):
1643         Handle another transformation.
1644
1645 2000-12-03  Nick Clifton  <nickc@redhat.com>
1646
1647         * config.gcc: Add support for StrongARM targets.
1648         * config/arm/t-strongarm-elf: New file.
1649         * config/arm/t-strongarm-coff: New file.
1650         * config/arm/t-strongarm-pe: New file.
1651         * config/arm/strongarm-pe.h: New file.
1652
1653 2000-12-03  Nick Clifton  <nickc@redhat.com>
1654
1655         * NEWS: Mention XScale has been added.
1656         * config.gcc: Add support for XScale targets.
1657         * config/arm/arm.h: Add support for XScale processor.
1658         * config/arm/arm.c: Add support for XScale processor.
1659         * config/arm/arm.md: Add support for XScale processor.
1660         * config/arm/t-xscale-elf: New file.
1661         * config/arm/t-xscale-coff: New file.
1662         * config/arm/xscale-elf.h: New file.
1663         * config/arm/xscale-coff.h: New file.
1664
1665 2000-12-03  Richard Henderson  <rth@redhat.com>
1666
1667         * bb-reorder.c (reorder_basic_blocks): Don't check for EH edges
1668         unless exception handling is enabled, and if not using sjlj.
1669
1670         * builtins.c (expand_builtin_setjmp_setup): New.
1671         (expand_builtin_setjmp_receiver): New.
1672         (expand_builtin_setjmp): Split out _setup and _receiver functions.
1673         Move argument parsing in from ...
1674         (expand_builtin): ... here.
1675         * except.c (receive_exception_label): Branch around receiver
1676         unless new-style exceptions.  Call expand_builtin_setjmp_receiver.
1677         (start_dynamic_handler): Call expand_builtin_setjmp_setup.
1678         * expr.h: Update builtin setjmp decls.
1679
1680 2000-12-03  Bruce Korb  <bkorb@gcc.org>
1681
1682         * fixinc/mkfixinc.sh(build machine): Sometimes, there is no canonical
1683         build machine name.  Default to the target.
1684
1685 2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
1686
1687         * Makefile.in: use $(build_canonical), not $(canonical_build).
1688
1689 2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
1690
1691         * Makefile.in (OBJS): Add sched-rgn.o.
1692         (sched-rgn.o): New rule.  * haifa-sched.c (sched_verbose): No
1693         longer static.
1694         (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
1695         INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
1696         UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
1697         MAX_BLOCKAGE_COST): Move to sched-int.h.
1698         (MAX_RGN_BLOCKS, MAX_RGN_INSNS, INSN_REF_COUNT, FED_BY_SPEC_LOAD,
1699         IS_LOAD_INSN, struct haifa_edge, edge_table, NEXT_IN, NEXT_OUT,
1700         FROM_BLOCK, TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES,
1701         OUT_EDGES, edgelst, struct region, nr_regions, rgn_table,
1702         rgn_bb_table, block_to_bb, containing_rgn, RGN_NR_BLOCKS,
1703         RGN_BLOCKS, BLOCK_TO_BB, BB_TO_BLOCK, CONTAINING_RGN,
1704         debug_regions, find_single_block_region, find_rgns, too_large,
1705         init_regions, current_nr_blocks, current_blocks, bitset, bitlst,
1706         bitlst_table_last, bitlst_table_size, bitlst_table, bitset_member,
1707         extract_bitlst, bblst, struct candidate, candidate_table,
1708         bblst_table, bblst_size, bblst_last, IS_VALID, IS_SPECULATIVE,
1709         SRC_PROB, target_bb, split_edges, compute_trg_info,
1710         debug_candidate, debug_candidates, bbset, bbset_size, dom,
1711         IS_RGN_ENTRY, IS_DOMINATED, prob, GET_SRC_PROB, edgeset,
1712         rgn_nr_edges, rgn_edges, edgeset_size, edgeset_bitsize,
1713         EDGE_TO_BIT, edge_to_bit, pot_split, ancestor_edges,
1714         compute_dom_prob_ps, ABS_VALUE, INSN_PROBABILITY,
1715         IS_SPECULATIVE_INSN, INSN_BB, MIN_DIFF_PRIORITY, MIN_PROBABILITY,
1716         MIN_PROB_DIFF, check_live_1, update_live_1, check_live,
1717         update_live, set_spec_fed, is_pfree, find_conditional_protection,
1718         is_conditionally_protected, may_trap_exp, haifa_classify_insn,
1719         is_prisky, is_exception_free, add_branch_dependences,
1720         propagate_deps, compute_block_backward_dependences,
1721         debug_dependencies, is_cfg_nonregular, build_control_flow,
1722         new_edge, bb_deps, BITSET_UNION, BITSET_INTER, BITSET_DIFFER,
1723         BITSET_INVERT, BITSET_ADD, BITSET_REMOVE, debug_regions,
1724         UPDATE_LOOP_RELATIONS, INSN_TRAP_CLASS, WORST_CLASS, IS_REACHABLE,
1725         CONST_BASED_ADDRESS_P, free_pending_lists, sched_target_n_insns,
1726         target_n_insns, sched_n_insns, init_ready_list, deaths_in_region,
1727         can_schedule_ready_p, new_ready, schedule_more_p, rgn_print_insn,
1728         rgn_rank, region_sched_info): Move to sched-rgn.c.
1729         (debug_reg_vector): Delete useless function.
1730         (get_bb_head_tail): Likewise.
1731         (insn_issue_delay, insn_cost, ready_add, get_block_head_tail,
1732         no_real_insns_p, rm_line_notes, save_line_notes,
1733         restore_line_notes, rm_redundant_line_notes, sched_init): No
1734         longer static.
1735         (rm_line_notes, save_line_notes, restore_line_notes,
1736         schedule_block, set_priorities): Change argument to be a real
1737         basic block, not one of haifa's "bb"s.  All callers changed
1738         (rm_other_notes): Initialize note_list here, not in
1739         schedule_region.
1740         (sched_finish): New function, called from schedule_insn.  * *
1741         sched-int.h (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
1742         INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
1743         UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
1744         MAX_BLOCKAGE_COST): Moved here from haifa-sched.c.
1745         (get_block_head_tail, no_real_insns_p, rm_line_notes,
1746         save_line_notes, restore_line_notes, rm_redundant_line_notes,
1747         rm_other_notes, insn_issue_delay, set_priorities, schedule_block,
1748         sched_init, sched_finish, ready_add, insn_cost): Declare.
1749
1750 2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
1751             Bruce Korb  <bkorb@gnu.org>
1752
1753         * Makefile.in: pass $(build_canonical) to mkfixinc.sh.
1754         * fixinc/mkfixinc.sh: accept build system name as an argument.
1755         Use it for choosing the fix build method.  Use the target for
1756         selecting special fix rules.
1757
1758 2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
1759
1760         * Makefile.in (OBJS): Add sched-deps.o.
1761         (sched-deps.o): New rule.
1762         * haifa-sched.c (struct deps, struct haifa_insn_data): Moved to
1763         sched-int.h.
1764         (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved to
1765         sched-int.h.
1766         (SIZE_FOR_MODE): Delete unused macro.
1767         (reg_known_equiv_p, reg_known_value, reg_pending_clobbers,
1768         reg_pending_sets, reg_pending_sets_all, true_dependency_cache,
1769         anti_dependency_cache, output_dependency_cache,
1770         forward_dependency_cache): Variables moved to sched-deps.c.
1771         (add_dependence, remove_dependence, find_insn_list,
1772         find_insn_mem_list, add_insn_mem_dependence, flush_pending_lists,
1773         sched_analyze_insn, sched_analyze_1, sched_analyze_2,
1774         sched_analyze, group_leader, compute_forward_dependences,
1775         init_deps, free_deps, init_dependency_caches, free_dependency_caches):
1776         Functions moved to sched-deps.c.
1777         (schedule_region): Call init_deps_global and finish_deps_global
1778         instead of directly manipulating dependency data structures.
1779         * sched-deps.c: New file.
1780         (init_deps_global, finish_deps_global): New functions.
1781         * sched-int.h (struct haifa_insn_data, struct deps): Moved here from
1782         haifa-sched.c.
1783         (h_i_d): Declare.
1784         (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved here
1785         from haifa-sched.c.
1786
1787         * Makefile.in (OBJS): Add sched-vis.o.
1788         (sched-vis.o): New rule.
1789         * haifa-sched.c (get_unit_last_insn): New function.
1790         (sched_dump, insn_unit, actual_hazard_this_instance): No longer
1791         static.
1792         (schedule_block): Call visualize_alloc and visualize_free.  Delete
1793         spurious return statement.
1794         (init_target_units, insn_print_units, get_visual_tbl_length,
1795         init_block_visualization, print_block_visualization, safe_concat,
1796         visualize_scheduled_inns, visualize_no_unit, visualize_stall_cycles,
1797         print_exp, print_value, print_pattern, print_insn, target_units,
1798         MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, visual_tbl,
1799         n_vis_no_unit, vis_no_unit): Move scheduling visualization
1800         functions/variables...
1801         * sched-vis.c: ...here.  New file.
1802         (visualize_alloc, visualize_free): New functions.
1803         (visualize_scheduled_insns, visualize_stall_cycles,
1804         print_block_visualization): Lose basic block argument.  All callers
1805         changed.
1806         (visualize_scheduled_insns): Use new function get_unit_last_insn.
1807         * sched-int.h (current_sched_info, sched_dump): Declare.
1808         (init_target_units, insn_print_units, init_block_visualization,
1809         print_block_visualization, visualize_scheduled_inns,
1810         visualize_no_unit, visualize_stall_cycles, visualize_alloc,
1811         visualize_free): Declare functions.
1812
1813         * sched-int.h: New file.
1814         * Makefile.in (haifa-sched.o): Depend on it.
1815         * haifa-sched.c: Include it.
1816         (no_real_insns_p): New function.
1817         (current_sched_info): New static variable.
1818         (__inline, HAIFA_INLINE): Moved to sched-int.h.
1819         (get_block_head_tail): Minor cleanup.
1820         (init_ready_list, can_schedule_ready_p, new_ready, schedule_more_p,
1821         rgn_print_insn, rgn_rank): New functions, broken out of
1822         rank_for_schedule, schedule_insn and schedule_block, where they
1823         are now called through function pointers in current_sched_info.
1824         (queue_insn, schedule_insn, queue_to_ready, debug_ready_list,
1825         print_insn): To display uid and block number, call the print_insn
1826         function pointer in current_schedule_info.
1827         (region_sched_info): New static variable.
1828         (sched_target_n_insns, sched_n_insns, target_n_insns): New global
1829         variables, moved out of schedule_block.
1830         (schedule_block): Return void.  All callers changed.
1831         Move some of the setup code into schedule_region.  Get head/tail
1832         from current_sched_info, and update it when done.
1833         (schedule_region): Slightly rearranged, some code moved here from
1834         schedule_block.  Call no_real_insns_p to avoid doing work for a
1835         block that consists only of notes and labels.
1836         (schedule_insns): Initialize current_sched_info.
1837
1838 2000-12-03  Neil Booth  <neilb@earthling.net>
1839
1840         * cppmacro.c (funlike_invocation_p): Re-disable macros enabled
1841         by contexts drops AFTER argument pre-expansion, so that they
1842         remain enabled during argument pre-expansion.
1843         (_cpp_pop_context): Unconditionally re-enable a macro when
1844         dropping a context level.
1845
1846 2000-12-03  Manfred Hollstein  <manfredh@redhat.com>
1847
1848         * arm/t-linux (MULTILIB_OPTIONS): Comment.
1849         (MULTILIB_DIRNAMES): Likewise.
1850         (EXTRA_MULTILIB_PARTS): Likewise.
1851         (LIBGCC): Likewise.
1852         (INSTALL_LIBGCC): Likewise.
1853
1854 2000-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1855
1856         * builtins.c (expand_builtin_strcat, expand_builtin_strncat,
1857         expand_builtin_strspn, expand_builtin_strcspn): New functions.
1858         (expand_builtin): Handle BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
1859         BUILT_IN_STRSPN and BUILT_IN_STRCSPN.
1860
1861         * builtins.def (BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
1862         BUILT_IN_STRSPN, BUILT_IN_STRCSPN): New entries.
1863
1864         * c-common.c (c_common_nodes_and_builtins): Declare builtin
1865         strcat, strncat, strspn and strcspn.
1866         (string_ftype_string_cstring): Renamed from `string_ftype_ptr_ptr'.
1867
1868         * extend.texi (strcat, strcspn, strncat, strspn): Document new
1869         builtins.
1870
1871 2000-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1872
1873         * builtins.c (expand_builtin_strcmp): Use const*_rtx when
1874         expanding strcmp at compile-time.  Add another transformation.
1875         (expand_builtin_strncmp): Add more transformations.  Call
1876         expand_builtin_memcmp, not expand_builtin_strcmp, under
1877         appropriate conditions if HAVE_cmpstrsi.
1878
1879 2000-12-02  David Edelsohn  <edelsohn@gnu.org>
1880
1881         * rs6000.md (anddi3_internal[23]): Prefer rldic? over andis
1882         instruction.
1883         (cr logic): Really make operands sequential.
1884
1885 2000-12-02  Geoffrey Keating  <geoffk@redhat.com>
1886
1887         * c-common.c (combine_strings): When the ISO C standard specifies
1888         the maximum length of a string, it doesn't include the trailing
1889         zero byte.
1890
1891         * cpplib.c (do_ifdef): Add check_eol() call.
1892         (do_ifndef): Likewise.
1893
1894 2000-12-02  Daniel Berlin  <dberlin@redhat.com>
1895             Bruce Korb  <bkorb@gnu.org>
1896
1897         * fixinc/*: global substitute /__MSDOS__/SEPARATE_FIX_PROC/
1898         * fixinc/mkfixinc.sh: prepare to use Makefile.BEOS for *-*-beos*
1899         * fixinc/Makefile.DOS: define SEPARATE_FIX_PROC for build
1900         * fixinc/fixfix.c(wrap_fix): avoid wrapping files that
1901         use the "__need_" hackery.  It breaks them.
1902         * fixinc/fixincl.c(process - SEPARATE_FIX_PROC):
1903         Sometimes on DOS and BeOS the temp output file cannot be opened.
1904         Skip the file noisily.  Ought to be fixed instead.
1905
1906 2000-12-02  Bruce Korb  <bkorb@gnu.org>
1907
1908         From: 2000-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1909
1910         * fixfixes.c (emit_gnu_type, format_write): Prototype.
1911         (format_write, char_macro_use_fix, char_macro_def_fix): Use gcc's
1912         custom uppercase ctype macros.
1913         * fixincl.c (do_version): Make static and add ATTRIBUTE_NORETURN.
1914         Use gcc's custom uppercase ctype macros.
1915         (main): Prototype.
1916         (machine_matches): Add static prototype and constify variable.
1917         (create_file, test_test, egrep_test): Add static prototype.
1918         (quoted_file_exists): Likewise, and constify parameters.
1919         (extract_quoted_files, internal_fix, start_fixer, fix_applies,
1920         write_replacement, test_for_changes): Add static prototype.
1921         (write_replacement, test_for_changes): Delete excess argument to
1922         `create_file'.
1923         * fixtests.c (test): Make static.
1924         * server.c (load_data, sig_handler, server_setup, find_shell): Add
1925         static prototype.
1926         (sig_handler): Mark parameter with ATTRIBUTE_UNUSED.
1927
1928 2000-12-02  Bruce Korb  <bkorb@gnu.org>
1929
1930         * fixnc/mkfixinc.sh(msdosdjgpp): remove from fixincludes exception list
1931         (per Laurynas Biveinis  <lauras@softhome.net>)
1932
1933 2000-12-02  Richard Earnshaw  <rearnsha@arm.com>
1934
1935         * arm.h (ARM_REGNO_OK_FOR_BASE_P, THUMB_REGNO_MODE_OK_FOR_BASE_P): New
1936         macros.
1937         (REGNO_MODE_OK_FOR_BASE_P): Define in terms of above.
1938         (REGNO_OK_FOR_FOR_BASE_P): Delete.
1939         (ARM_REG_OK_FOR_BASE_P, THUMB_REG_MODE_OK_FOR_BASE_P): New macros for
1940         both strict and non-strict uses.
1941         (REG_MODE_OK_FOR_BASE_P): Define in terms of above.
1942         (ARM_REG_OK_FOR_INDEX_P, THUMB_REG_OK_FOR_INDEX_P): New macros.
1943         (REG_OK_FOR_INDEX_P): Define in terms of above.
1944         (REG_OK_FOR_BASE_P): Delete.
1945         (REG_OK_FOR_PRE_POST_P): Delete.
1946         (ARM_BASE_REGISTER_RTX_P): Renamed from BASE_REGISTER_RTX_P.
1947         (ARM_INDEX_REGISTER_RTX_P): Renamed from INDEX_REGISTER_RTX_P.
1948         (ARM_GO_IF_LEGITIMATE_INDEX): Renamed from GO_IF_LEGITIMATE_INDEX.
1949         (THUMB_LEGITIMATE_OFFSET): Renamed from LEGITIMATE_OFFSET.
1950         (ARM_GO_IF_LEGITIMATE_ADDRESS): Adjust for name changes.  Use ARM
1951         specific variants rather than general ones.  Use ARM_REG_OK_FOR_BASE_P
1952         in pre/post increment cases.
1953         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Similarly for Thumb.
1954         (ARM_LEGITIMIZE_ADDRESS): Similarly.
1955         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Similarly.
1956         * arm.c (legitimate_pic_address): Similarly.
1957
1958 2000-12-02  Neil Booth  <neilb@earthling.net>
1959
1960         * tradcpp.c (struct answer, parse_assertion, parse_answer,
1961         canonicalize_text, find_answer): New.
1962         (do_assert, do_unassert): Provide appropriate function bodies.
1963         (union hashval): New member answers.
1964
1965 2000-11-23  Marek Michalkiewicz  <marekm@linux.org.pl>
1966
1967         * config/avr/avr.md: Document UNSPEC usage.
1968         (*tablejump_rjmp, *tablejump_lib, *tablejump_enh, *tablejump):
1969         Make operand 0 input only, clobber it.  Use UNSPEC, not a bogus
1970         MEM for program memory word reference.  Do not add the label to
1971         the table index in each of the asm output templates, instead ...
1972         (casesi): ... do it in RTL.  Adjust to match the above change.
1973
1974 2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
1975
1976         * c-common.c (PTRDIFF_TYPE): Provide default here, ...
1977         * c-decl.c: ... not here.
1978
1979         * haifa-sched.c (sched_dump): Renamed from dump.  All users changed.
1980         (old_max_uid): New variable.
1981         (compute_forward_dependences): Renamed from
1982         compute_block_forward_dependences; changed to accept block head and
1983         tail instead of block number.  Caller changed.
1984         (free_deps, init_dependency_caches, free_dependency_caches,
1985         init_regions, sched_init): New functions, split out from
1986         schedule_insns and compute_block_backward_dependences.
1987
1988 2000-12-02  Neil Booth  <neilb@earthling.net>
1989
1990         * cppexp.c (parse_number): Update diagnostic test.
1991
1992 2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
1993
1994         * reload1.c (free_for_value_p): New function, frontend to
1995         reload_reg_free_for_value_p.  All callers of the latter now call
1996         this function with an additional mode argument.
1997
1998 2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1999
2000         * install.texi (Configurations): Remove obsolete documentation for
2001         hppa*-*-*.
2002
2003 2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2004
2005         * install.texi (Installation): Remove obsolete description for
2006         libstdc++ which is now an integral part of GCC.
2007
2008 2000-12-01  Jim Blandy  <jimb@redhat.com>
2009
2010         * dbxout.c (dbxout_parms): Correctly describe parameters passed by
2011         invisible reference in registers, but then spilled to the stack.
2012         Remove code to emit a second stab for such parameters; it attempts
2013         to describe the value's location by introducing a synthetic C++
2014         `reference' type, and then saying the stack slot has that
2015         reference type.  This loses type information (breaking GDB's
2016         `ptype' command, among other things) just to describe a location
2017         which stabs can represent correctly in other ways.
2018
2019 2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
2020
2021         * final.c (output_addr_const) <PLUS>: Don't assume at least one
2022         operand is a CONST_INT.
2023
2024         * config/sh/sh.c (reg_class_from_letter): Assign `k' to SIBCALL_REGS.
2025         (machine_dependent_reorg): Split all insns.
2026         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Compute
2027         reg_class_contents[SIBCALL_REGS].
2028         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add SIBCALL_REGS.
2029         * config/sh/sh.md (calli_pcrel, call_pcrel, call_valuei_pcrel,
2030         call_value_pcrel, call, call_value, sibcall): Match even when
2031         not optimizing.
2032         (sibcalli_pcrel, sibcall_pcrel): Likewise.  Use constraint `k'
2033         for call address.
2034         (sibcalli): Likewise.
2035
2036 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
2037
2038         * c-common.c (warn_format, warn_format_y2k,
2039         warn_format_extra_args, warn_format_nonliteral): Define.
2040         (check_format_info): Check warn_format_nonliteral and
2041         warn_format_extra_args.
2042         (check_format_info_main): Check warn_format_y2k.
2043         (set_Wformat): New function.
2044         * c-common.h (warn_format_y2k, warn_format_extra_args,
2045         warn_format_nonliteral, set_Wformat): Declare.
2046         * c-decl.c (warn_format): Remove definition.
2047         (c_decode_option): Handle -Wformat-nonliteral,
2048         -Wno-format-extra-args and -Wno-format-y2k, and negated versions.
2049         Use set_Wformat.
2050         * invoke.texi: Document these new options and -Wformat=2.
2051         * toplev.c (documented_lang_options): Add these new options.
2052
2053 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
2054
2055         * builtins.def (BUILT_IN_IMAXABS): Add.
2056         * builtins.c (expand_builtin): Also abort on BUILT_IN_IMAXABS.
2057         * c-common.c (c_common_nodes_and_builtins): Create builtin
2058         functions __builtin_imaxabs, and plain imaxabs unless
2059         flag_no_nonansi_builtin outside C99 mode.
2060         (expand_tree_builtin): Handle BUILT_IN_IMAXABS.
2061         * extend.texi: Document builtin imaxabs.
2062
2063 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
2064
2065         * c-common.c: Include "defaults.h".
2066         (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Define.
2067         (c_common_nodes_and_builtins): Create string_type_node,
2068         const_string_type_node, wint_type_node, intmax_type_node,
2069         uintmax_type_node, default_function_type, ptrdiff_type_node and
2070         unsigned_ptrdiff_type_node.
2071         * c-common.h (identifier_global_value): Declare.
2072         * c-decl.c (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Don't define.
2073         (init_decl_processing): Don't 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         (identifier_global_value): New function.
2078
2079 2000-12-01  Neil Booth  <neilb@earthling.net>
2080
2081         * cppinit.c (initialize): Forgotten prototype.
2082         * cpplex.c (_cpp_lex_token): Loop until not skipping.
2083         Always clear PREV_WHITE upon meeting a new line.
2084         * cpplib.c (end_directive): Set pfile->skipping after
2085         skip_rest_of_line.
2086         * cpplib.h (cpp_reader): Remove macro_pos.
2087         * cppmacro.c (cpp_get_line): Don't do anything special inside
2088         macros.
2089         (parse_arg): Add PREV_WHITE if a token appears after new lines.
2090         (funlike_invocation_p): Save and restore the output position
2091         over a successful check for a '('.
2092         (enter_macro_context): Delete uses of macro_pos.
2093         (cpp_get_token): Don't use pfile->skipping.
2094
2095 2000-12-01  Phil Edwards  <pme@sources.redhat.com>
2096
2097         * diagnostic.c:  Fix typos in comments.
2098         * diagnostic.h:  Likewise.
2099
2100 2000-11-30  Phil Edwards  <pme@sources.redhat.com>
2101
2102         * rtl.texi (Machine Modes):  Document BImode and OImode.
2103
2104 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
2105
2106         * gcc.c (default_compilers): Add suffixes .mi, .cp, .ii, .FOR and
2107         .FPP.
2108
2109 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
2110
2111         * c-decl.c (grokdeclarator): If pedantic, warn about arrays with
2112         incomplete element type.
2113         (grokparms): Before checking for incomplete parameter type, check
2114         the type isn't error_mark_node.
2115
2116 2000-12-01  Jakub Jelinek  <jakub@redhat.com>
2117
2118         * builtins.c (target_char_cast): New function.
2119         (expand_builtin_strchr): Use it.
2120         (expand_builtin_strrchr): Use it.
2121         (builtin_memset_read_str): New function.
2122         (expand_builtin_memset): Use target_char_cast.
2123         Try to optimize memset with second argument non-zero using
2124         store_by_pieces.
2125
2126 2000-11-30  Marek Michalkiewicz  <marekm@linux.org.pl>
2127
2128         * install.texi (avr): Replace incomplete list of supported MCU
2129         types with a link to the current one ...
2130         * invoke.texi (AVR Options): ... here.  Update -mmcu= to list
2131         all supported MCU types.  Document -minit-stack= default.
2132         Document new options -mno-tablejump, -mtiny-stack.
2133         * md.texi (AVR family):  Fix typo in 'w' constraint letter
2134         description.  Document 'q'.  Update 'O'.
2135
2136 2000-12-01  Bernd Schmidt  <bernds@redhat.co.uk>
2137
2138         * combine.c (cant_combine_insn_p): Only disallow insns involving
2139         hard regs if they are reg-reg moves.
2140         (try_combine, can_combine_p, combinable_i3pat): Delete old
2141         SMALL_REGISTER_CLASSES tests.
2142
2143 2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
2144
2145         * config/sh/sh.c (shiftcosts): Don't get INTVAL before testing
2146         whether X is a CONST_INT.
2147         (addsubcosts): Likewise.
2148
2149         * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Use INTVAL instead of
2150         mis-used XINT.
2151         (ARG_POINTER_REGNUM): Set to AP_REG.
2152
2153 2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
2154
2155         * config/sh/sh.md (fpu_switch0, fpu_switch1, movpsi, fpu_switch,
2156         splits): Only match on TARGET_SH4.
2157
2158         * combine.c (try_combine): Disregard USEs when updating LOG_LINKS
2159         of subsequent insns.
2160
2161 2000-11-30  Richard Henderson  <rth@redhat.com>
2162
2163         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Disable.
2164         * config/alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
2165
2166 2000-11-30  Richard Henderson  <rth@redhat.com>
2167
2168         * config/alpha/elf.h (ASM_OUTPUT_SECTION_NAME): Copy elfos.h defn.
2169         (DO_SELECT_SECTION): New.
2170         (SELECT_SECTION): Use it.
2171         (UNIQUE_SECTION_P): New.
2172         (UNIQUE_SECTION): New.
2173
2174 2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
2175
2176         * c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status
2177         from va_list before using it.
2178
2179 2000-11-30  Michael Matz  <matzmich@cs.tu-berlin.de>
2180
2181         * flow.c (make_edge): Early out, if no flags to set.
2182         (calculate_global_regs_live): Clear out garbage only when necessary.
2183
2184         * simplify-rtx.c (varray_type used_regs): New.
2185         (clear_table): Use it to only clear necessary items.
2186         (cselib_lookup, cselib_record_set): Remember newly set items.
2187         (cselib_update_varray_sizes, cselib_init): Initialize and grow
2188         used_regs.
2189
2190         * local-alloc.c (update_equiv_regs): New local `cleared_regs'.
2191         Move clearing of dead regs out of insn-loop.
2192
2193 2000-11-30  Richard Henderson  <rth@redhat.com>
2194
2195         * calls.c (expand_call): Emit queued insns before creating
2196         the tail recursion sequence.
2197
2198 2000-11-30  J. David Anglin  <dave.anglin@nrc.ca>
2199             Bruce Korb  <bkorb@gnu.org>
2200
2201         * fixinc/inclhack.def(): prevent dual double definition protection
2202         * fixinc/fixincl.x: regenerate
2203
2204 2000-11-29  Loren J. Rittle  <ljrittle@acm.org>
2205
2206         * fixinc/Makefile.in (fixincl.x): Explicitly state the
2207         location of the generated file.
2208
2209 2000-11-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2210
2211         * README.FRESCO: Remove obsolete file.
2212
2213 2000-11-30  Mark Kettenis  <kettenis@gnu.org>
2214
2215         * config/t-gnu (LIBGCC1, CROSS_LIBGCC1, CRTSTUFF_T_CFLAGS,
2216         TARGET_LIBGCC2_CFLAGS): Remove.  We now use the settings from
2217         config/t-linux for the Hurd.
2218
2219 2000-11-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2220
2221         * config/mn10200/udivmod.c, config/mn10200/divmod.c,
2222         config/mn10200/udivmodsi4.c: Moved from here.
2223         * config/udivmod.c, config/divmod.c, config/udivmodsi4.c: To here.
2224         * config/mn10200/t-mn10200 (LIB2FUNCS_EXTRA): Use the generic
2225         C division functions.
2226         * config/m68hc11/t-m68hc11-gas (LIB2FUNCS_EXTRA): Likewise.
2227
2228 Thu Nov 30 01:12:52 2000  Jeffrey A Law  (law@cygnus.com)
2229
2230         * pa.md (conditional moves): Avoid holes in operand list.
2231         (mod, umod patterns): Similarly.
2232         (variable extract/shift patterns): Similarly.
2233
2234 2000-11-30  Neil Booth  <neilb@earthling.net>
2235
2236         * objc/objc-act.c (lang_init, finish_file, maybe_objc_comptypes,
2237         maybe_objc_check_decl, build_objc_string_object,
2238         objc_declare_alias, objc_declare_class, build_message_expr,
2239         build_protocol_expr, build_selector_expr, build_encode_expr,
2240         get_class_ivars, start_class, start_protocol): Remove
2241         redundant code, assuming doing_objc_thang is true.
2242
2243 2000-11-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2244
2245         * pa.c (restore_unscaled_index_insn_codes): Delete procedure.
2246         (record_unscaled_index_insn_codes): Likewise.
2247         (unscaled_index_insn_codes): Delete.
2248         (max_unscaled_index_insn_codes_uid): Delete.
2249         (output_function_prologue, output_function_epilogue, pa_reorg):
2250         Don't use the unscaled index insn hack.
2251
2252         * pa.md: Remove hack from all index insns to reverse the operand
2253         order of frame and stack pointer references incorrectly created
2254         in the reload pass.
2255
2256         * function.h (emit_status): Delete member regno_pointer_flag and
2257         rename regno_pointer_flag_length to regno_pointer_align_length.
2258         Delete define for REGNO_POINTER_FLAG.
2259         * integrate.h (inline_remap): Delete member regno_pointer_flag.
2260         Add member x_regno_reg_rtx.
2261         * rtl.h (rtx_def): Use frame_related bit to indicate register is
2262         a pointer in REG expressions.  Define REG_POINTER macro.
2263         * alias.c (find_base_value, find_base_term): Use REG_POINTER
2264         instead of REGNO_POINTER_FLAG.
2265         * combine.c (nonzero_bits, num_sign_bit_copies): Likewise.
2266         * emit-rtl.c (gen_reg_rtx): Use regno_pointer_align_length instead
2267         of regno_pointer_flag_length.  Remove code which refers to
2268         regno_pointer_flag.
2269         (mark_reg_pointer): Use REG_POINTER.
2270         (free_emit_status): Remove code which refers to regno_pointer_flag.
2271         (init_emit, mark_emit_status): Likewise.
2272         * flow.c (dump_flow_info): Likewise.
2273         * function.c (preserve_temp_slots): Likewise.
2274         * integrate.c (expand_inline_function, copy_rtx_and_substitute):
2275         Use x_regno_reg_rtx instead of regno_pointer_flag for function
2276         pointer determination in map.
2277         * loop.c (strength_reduce, maybe_eliminate_biv_1): Use REG_POINTER.
2278         * predict.c (estimate_probability): Likewise.
2279         * regclass.c (record_address_regs, reg_scan_mark_refs): Likewise.
2280         * unroll.c (unroll_loop): Use x_regno_reg_rtx instead of
2281         regno_pointer_flag for function pointer determination in map.
2282         * convex.h (RTX_COSTS): Don't test regno_pointer_flag and use
2283         REG_POINTER.
2284         * pa.c (hppa_legitimize_address, emit_move_sequence, basereg_operand):
2285         Use REG_POINTER.
2286         (restore_unscaled_index_insn_codes): Revise comment.
2287
2288         * expr.c (do_compare_and_jump): Add missing TYPE_MODE in statement.
2289
2290 2000-11-30  Joseph S. Myers  <jsm28@cam.ac.uk>
2291
2292         * extend.texi: Update documentation for attributes.
2293
2294 2000-11-29  David O'Brien  <obrien@FreeBSD.org>
2295
2296         * config/alpha/elf.h (IDENT_ASM_OP): Protect the #define.
2297         (ASM_DECLARE_OBJECT_NAME): Same.
2298         (ASM_FILE_END): Same.
2299         (ASM_FINISH_DECLARE_OBJECT): Same.
2300         (ASM_IDENTIFY_GCC): Same.
2301         (ASM_IDENTIFY_LANGUAGE): Same.
2302         (ASM_OUTPUT_CONSTRUCTOR): Same.
2303         (ASM_OUTPUT_DEF): Same.
2304         (ASM_OUTPUT_DESTRUCTOR): Same.
2305         (ASM_OUTPUT_EXTERNAL_LIBCALL): Same.
2306         (ASM_OUTPUT_SECTION_NAME): Same.
2307         (ASM_WEAKEN_LABEL): Same.
2308         (BSS_SECTION_ASM_OP): Same.
2309         (COMMON_ASM_OP): Same.
2310         (CONST_SECTION_ASM_OP): Same.
2311         (CONST_SECTION_FUNCTION): Same.
2312         (CTORS_SECTION_ASM_OP): Same.
2313         (DTORS_SECTION_ASM_OP): Same.
2314         (ESCAPES): Same.
2315         (FINI_SECTION_ASM_OP): Same.
2316         (IDENT_ASM_OP): Same.
2317         (IDENT_ASM_OP): Same.
2318         (INIT_SECTION_ASM_OP): Same.
2319         (INT_ASM_OP): Same.
2320         (MAX_OFILE_ALIGNMENT): Same.
2321         (SBSS_SECTION_ASM_OP): Same.
2322         (SDATA_SECTION_ASM_OP): Same.
2323         (SECTION_FUNCTION_TEMPLATE): Same.
2324         (SELECT_SECTION): Same.
2325         (SE_CONST_SECTION): Same.
2326         (SIZE_ASM_OP): Same.
2327         (SKIP_ASM_OP): Same.
2328         (STRING_ASM_OP): Same.
2329         (STRING_LIMIT): Same.
2330         (TYPE_ASM_OP): Same.
2331         (TYPE_OPERAND_FMT): Same.
2332
2333 2000-11-29  Neil Booth  <neilb@earthling.net>
2334
2335         * c-decl.c (c_decode_option): Don't handle -lang-objc.
2336         * objc/lang-options.h: Remove -lang-objc.
2337         * objc/lang-specs.h: Don't pass -lang-objc to cc1obj.
2338         * objc/objc-act.c (lang_init_options): Set c_language.
2339
2340 2000-11-29  Jakub Jelinek  <jakub@redhat.com>
2341
2342         * expr.c (can_store_by_pieces): Reinitialize max_size for reverse
2343         tests.
2344
2345 2000-11-29  Neil Booth  <neilb@earthling.net>
2346
2347         * c-pragma.c (init_pragma): Update for parse_in type change.
2348
2349 2000-11-29  Laurynas Biveinis  <lauras@softhome.net>
2350
2351         * configure.in: recognize DOS-style absolute paths.
2352
2353 2000-11-29  Jakub Jelinek  <jakub@redhat.com>
2354
2355         * expr.h (store_by_pieces): Add prototype.
2356         (can_store_by_pieces): Likewise.
2357         * expr.c (struct store_by_pieces): Renamed from clear_by_pieces.
2358         (can_store_by_pieces): New.
2359         (store_by_pieces): New.
2360         (clear_by_pieces): New.
2361         (clear_by_pieces_1): New.
2362         (store_by_pieces_1): Renamed from clear_by_pieces, handle storing
2363         arbitrary compiler generated constants into memory block.
2364         (store_by_pieces_2): Renamed from clear_by_pieces_1, likewise.
2365         * builtins.c (c_readstr): New.
2366         (builtin_memcpy_read_str): New.
2367         (expand_builtin_memcpy): If src is string constant and
2368         emit_block_move would move it by pieces, compute integer constants
2369         from the string and store it into memory block instead.
2370         (builtin_strncpy_read_str): New.
2371         (expand_builtin_strncpy): If N is not constant zero and c_strlen does
2372         not return INTEGER_CST, don't optimize.
2373         If N is larger than strlen(src) + 1, try to copy the string
2374         including padding with store_by_pieces.
2375         (expand_builtin_strcmp): If both arguments have side effects, don't
2376         optimize.
2377         (expand_builtin_fputs): If STR has side effects, don't optimize.
2378
2379 2000-11-29  Richard Earnshaw  <rearnsha@arm.com>
2380
2381         * arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
2382         Add use of link register.
2383
2384 2000-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2385
2386         * extend.texi: Update documentation for default format attributes.
2387
2388 Tue Nov 28 21:56:45 2000  Jeffrey A Law  (law@cygnus.com)
2389
2390         * pa/pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
2391         a list, to keep track of the sections.
2392
2393 2000-11-28  Nick Clifton  <nickc@redhat.com>
2394
2395         * config/arm/arm.md (pic_load_addr): Split into
2396         pic_load_addr_arm and pic_load_addr_thumb.
2397
2398         * config/arm/arm.c (legitimize_pic_address): Generate either
2399         ARM or Thumb versions of pic_load_addr.
2400         (arm_finalize_pic): Generate either ARM or Thumb versions of
2401         pic_load_addr.
2402
2403 2000-11-28  Richard Henderson  <rth@redhat.com>
2404
2405         * calls.c (expand_call): Defer const/pure NO_DEFER_POP until
2406         after sibcall do_pending_stack_adjust.
2407
2408 Wed Nov 29 00:08:23 2000  J"orn Rennecke <amylaar@redhat.com>
2409
2410         * jump.c (delete_insn): Check that REG_LABEL note actually contains
2411         a CODE_LABEL.
2412
2413 2000-11-28  Neil Booth  <neilb@earthling.net>
2414
2415         * c-common.h: Remove flag_digraphs.
2416         * c-decl.c: Remove flag_digraphs.
2417         (c_decode_option): Don't set it.
2418         * c-lex.c (init_c_lex): Don't do anything for digraphs.
2419
2420 2000-11-28  Richard Henderson  <rth@redhat.com>
2421
2422         * c-parse.in (finish_parse): Update for parse_in type change.
2423         (_yylex): Likewise.
2424
2425 2000-11-28  Neil Booth  <neilb@earthling.net>
2426
2427         * cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean
2428         indicating whether to scan all buffers on the stack or
2429         just one.
2430         * cppinit.c (do_includes): Update.
2431         * cppmain.c (main): Update.
2432         * cpplib.h: Update prototype.
2433
2434 2000-11-28  Richard Henderson  <rth@redhat.com>
2435
2436         * genoutput.c (validate_insn_operands): New.
2437         (gen_insn): Call it.
2438
2439         * config/alpha/alpha.md (divmodsi_internal): Renumber operands.
2440         (divmoddi_internal): Likewise.
2441         * config/arm/arm.md (andsi3_compare0_scratch): Likewise.
2442         * config/i960/i960.md (branch patterns): Likewise.
2443         * config/ia64/ia64.md (tbit_and_0): Likewise.
2444         (tbit_and_1, tbit_or_0, tbit_or_1): Likewise.
2445         * config/m68k/m68k.md (zero_extract memory patterns): Likewise.
2446         * config/mips/mips.md (divmodsi4_internal): Likewise.
2447         (divmoddi4_internal): Likewise.
2448         * config/rs6000/rs6000.md (call patterns): Likewise.
2449         * config/sh/sh.md (movsi_y): Likewise.
2450         * config/sparc/sparc.md: Comment out if 0 v8p shift pattern.
2451
2452 2000-11-28  Richard Henderson  <rth@redhat.com>
2453
2454         * config.gcc: Kill residual pyramid support.
2455
2456 2000-11-28  Neil Booth  <neilb@earthling.net>
2457
2458         * c-lex.h (parse_in): Change parse_in to a cpp_reader *.
2459         * c-decl.c (c_decode_option): Update to match.
2460         * c-lex.c (init_c_lex, yyparse): Update to match.
2461         * c-lang.c (lang_init_options): Use cpp_create_reader.
2462         * cppinit.c (cpp_init): Rename initialize.
2463         (cpp_reader_init): Rename cpp_create_reader.  Create the
2464         reader.  Initialize cpplib if appropriate.
2465         * cpplib.h (cpp_create_reader) New prototype.
2466         (cpp_init, cpp_reader_init): Delete prototypes.
2467         * cppmain.c (general_init, setup_callbacks): New functions.
2468         (main): Use them.
2469         * fix-header.c (scan_in): Change type to cpp_reader *.
2470         (read_scan_file): Update for new cpplib interface and scan_in type.
2471
2472         * cp/decl.c (parse_in): Change to cpp_reader *.
2473         (lang_decode_option): Update.
2474         * cp/lex.c (lang_init_options): Use new cpplib interface.
2475         (init_cp_pragma, finish_parse, handle_pragma_implementation): Update.
2476         * cp/spew.c (read_token): Update.
2477         * objc/objc-act.c (lang_init_options): Update new cpplib interface.
2478
2479 2000-11-28  Jakub Jelinek  <jakub@redhat.com>
2480
2481         * loop.c (load_mems): Avoid using next_label to find end_label. If
2482         jumping outside of the loop (other than loop end), don't hoist MEMs
2483         out of loop.
2484
2485 2000-11-28  Jan Hubicka  <jh@suse.cz>
2486
2487         * calls.c (expand_call): Don't disable tail recursion based
2488         on the loop nest.
2489
2490 2000-11-28  Neil Booth  <neilb@earthling.net>
2491
2492         * tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT.
2493         (struct directive): Drop 4th argument from handlers.
2494         (do_define, do_line, do_include, do_undef, do_else, do_elif,
2495         do_endif): Similarly.
2496         (do_assert, do_unassert, do_ifdef, do_ifndef): New handlers.
2497         (do_ifxdef): Update as common handler of do_ifdef and do_ifndef.
2498         (make_definition, make_undef): Take a const char*.
2499         (make_assertion): New function.
2500         (struct directive_table): Update.
2501         (main): Handle -A command line argument.
2502         (handle_directive): Drop fourth handler argument.
2503
2504 2000-11-28  Bernd Schmidt  <bernds@redhat.co.uk>
2505
2506         * simplify-rtx.c (cselib_record_sets): Ignore sets whose destination
2507         is anything but REG or MEM, but look inside STRICT_LOW_PART.
2508
2509 Tue Nov 28 09:53:50 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2510
2511         * system.h (IS_DIR_SEPARATOR): Use uppercase macro name.
2512         (IS_ABSOLUTE_PATHNAME): New macro.
2513         * gcc.c (find_a_file, process_command, do_spec_1, main): Use it.
2514
2515 2000-11-28  Jakub Jelinek  <jakub@redhat.com>
2516
2517         * config/i386/i386.md (truncxfsf2_2): Fix predicate.
2518
2519 2000-11-27  Jim Wilson  <wilson@redhat.com>
2520
2521         * reload1.c (reload): Use HOST_WIDE_INT for old_frame_size.
2522
2523 2000-11-27  Matthias Klose  <doko@cs.tu-berlin.de>
2524
2525         * extend.texi (Nested Functions): Update URL of Usenix paper.
2526
2527 2000-11-27  Mark Mitchell  <mark@codesourcery.com>
2528
2529         * function.c (free_after_compilation): Clear x_clobber_return_insn.
2530
2531 2000-11-27  Neil Booth  <neilb@earthling.net>
2532
2533         * cppinit.c (cpp_reader_init): Remove handling of warn_paste
2534         command line options.
2535         (cpp_handle_option): Similarly.
2536         * cpplib.h (struct cpp_options): Remove warn_paste.
2537         * cppmacro.c (paste_tokens): Apart from assembler, make
2538         unpasteable token warning mandatory.
2539
2540 2000-11-27  Neil Booth  <neilb@earthling.net>
2541
2542         * tradcpp.c (enum pending_dir_t, struct pending_dir): New.
2543         (main): Allocate a pending directive set of these.  Use it.
2544         Merge handling of -D and -U.  Update handling of pending
2545         directives.  Free the memory after use.
2546
2547 2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
2548
2549         * flow.c (entry_exit_blocks): Add entry for cond_local_set.
2550         (struct propagate_block_info): Add new member cond_local_set.
2551         (propagate_block): Accept new arg cond_local_set.  All callers
2552         changed.
2553         (init_propagate_block_info): Likewise.
2554         (calculate_global_regs_live): Allocate & free cond_local_set.  Always
2555         rescan if there's overlap between cond_local_set and new_live_at_end.
2556         (mark_set_1): Set bits either in cond_local_set or local_set, as
2557         appropriate.
2558         * basic-block.h (struct basic_block_def): New field cond_local_set.
2559         (propagate_block, init_propagate_block_info): Update prototypes.
2560
2561 Mon Nov 27 17:29:44 2000  kaz Kojima <kkojima@rr.iij4u.or.jp>
2562
2563         * gcc/config/sh/sh.md (udivsi3_i4, udivsi3_i4_single): Clobber
2564         T register.
2565
2566 2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
2567
2568         * arm.c (select_dominance_cc_mode): Handle new way that combine
2569         canonicalizes conditional compares.
2570         (arm_select_cc_mode): Likewise.
2571         * arm.md: Garbage collect some dead code.
2572         (cmp_and, cmp_ior): New patterns.
2573         (splitter for conditional move with inverted false): Use cond_exec
2574         and handle unordered comparisons.
2575
2576 Mon Nov 27 17:22:56 MET 2000  Jan Hubicka  <jh@suse.cz>
2577
2578         * i386.c (ix86_force_to_memory, ix86_free_from_memory): New.
2579         * i386-protos.h (ix86_force_to_memory, ix86_free_from_memory): Declare
2580         * i386.md (float?i?f, int/fp operations): Rewrite spliters to use
2581         ix86_force_to_memory and ix86_free_from_memory.
2582
2583 2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
2584
2585         * arm.md (arm_adddi3, adddi_sesidi_di, adddi_zesidi_di, arm_addsi3,
2586         arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di,
2587         anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3,
2588         one_cmpldi2): Merge with splitters to create define_insn_and_split
2589         patterns.  Remove redundant splits.
2590         (peephole2 for add:SI of invalid immediate): New.
2591         (peephole2 for minus:SI of invalid immediate): New.
2592         (peephole2 for ior:SI of invalid immediate): New.
2593         (peephole for merge of move and compare): Convert ot peephole2.
2594         (addsf3, adddf3): Mark as commutative.
2595
2596         * arm.md (thumb peephole for merging stack adjustments): Convert to
2597         peephole2.
2598
2599 2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
2600
2601         * haifa-sched.c (print_pattern): Prettier output for COND_EXEC.
2602
2603         * reload1.c (reload_cse_simplify_set): Pass down mode to cselib_lookup.
2604         (reload_cse_simplify_operands): Do nothing about operands where both
2605         the operand and the match_operand fail to give us a mode.
2606         * simplify-rtx.c (wrap_constant): New function.
2607         (entry_and_rtx_equal_p): Except integer constants to come wrapped in a
2608         CONST describing the proper mode.
2609         (rtx_equal_for_cselib_p): Pass down modes to recursive calls of
2610         cselib_lookup.
2611         (cselib_lookup_mem): Call wrap_constant on the rtx that is passed to
2612         htab_find_slot_with_hash.
2613         (cselib_lookup): Likewise.
2614
2615         Based on a patch from Geoff Keating <geoffk@redhat.com>:
2616         * loop.c (basic_induction_var): If a REG is set from something
2617         that is not a biv, then the REG is not a biv.  Even if it is
2618         earlier set from something that is a biv.
2619
2620 2000-11-27  Alexandre Oliva  <aoliva@redhat.com>
2621
2622         * configure.in (extra_objs): Enclose extra_headers in quotes.
2623         * configure: Rebuilt.
2624
2625 2000-11-27  Neil Booth  <neilb@earthling.net>
2626
2627         * c-lex.c (cb_enter_file, cb_leave_file, cb_rename_file):
2628         Combine into the new function cb_change_file.
2629         (init_c_lex): Update.
2630         * cppfiles.c (stack_include_file): Use _cpp_do_file_change.
2631         (cpp_syshdr_flags): Delete.
2632         * cpphash.h (_cpp_do_file_change): New prototype.
2633         Move struct cpp_buffer here from...
2634         * cpplib.h (struct cpp_buffer): ... here.
2635         (enum cpp_fc_reason, struct cpp_file_loc,
2636         struct_cpp_file_change, change_file): New.
2637         (enter_file, leave_file, rename_file, cpp_syshdr_flags): Delete.
2638         * cpplib.c (do_line): Update for new cb_change_file callback.
2639         (_cpp_do_file_change): New function.
2640         (_cpp_pop_buffer): Update to use it.
2641         * cppmain.c (move_printer): Delete.
2642         (main): Set up single callback cb_change_file.
2643         (cb_enter_file, cb_leave_file, cb_rename_file): Delete.
2644         (cb_change_file): New.
2645         * fix-header.c (cur_file, cb_change_file): New.
2646         (recognized_function, read_scan_file): Update.
2647         * scan-decls.c (scan_decls): Update.
2648         * scan.h (recognized_function): Update prototype.
2649
2650 2000-11-26  Mark Mitchell  <mark@codesourcery.com>
2651
2652         * tree.h (mark_tree_hashtable): New function.
2653         * tree.c (mark_tree_hashtable_entry): New function.
2654         (mark_tree_hashtable): Likewise.
2655
2656 2000-11-27  Michael Meissner  <meissner@redhat.com>
2657
2658         * d30v-protos.h (srelational_si_operator): Correctly spell
2659         function.
2660         (urelational_si_operator): Ditto.
2661         (relational_si_operator): Ditto.
2662         (d30v_expand_prologue): Add prototype.
2663         (d30v_expand_epilogue): Ditto.
2664
2665         * d30v.h (OPTIMIZATION_OPTIONS): Undo November 22nd change.
2666
2667         * d30v.md (movcccc_*): Delete now unused patterns.
2668         (64 bit comparison splitters): Rewrite to use COND_EXEC instead of
2669         IF_THEN_ELSE.
2670         (define_cond_exec): Use 'b' to select branch flags.
2671
2672 2000-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2673
2674         * builtins.c (expand_builtin_strncmp, expand_builtin_strncpy): New
2675         functions.
2676         (expand_builtin): Handle BUILT_IN_STRNCPY and BUILT_IN_STRNCMP.
2677
2678         * builtins.def (BUILT_IN_STRNCPY, BUILT_IN_STRNCMP): New entries.
2679
2680         * c-common.c (c_common_nodes_and_builtins): Declare builtin
2681         strncpy and strncmp.
2682
2683         * extend.texi (strncmp, strncpy): Document new builtins.
2684
2685 2000-11-26  Mark Mitchell  <mark@codesourcery.com>
2686
2687         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
2688         a list, to keep track of the sections.
2689         * tm.texi (ASM_OUTPUT_SECTION_NAME): Document the fact that the
2690         parameter provided will always be a canonical string.
2691
2692 2000-11-26  Neil Booth  <neilb@earthling.net>
2693
2694         * cppmacro.c (cpp_scan_buffer_nooutput): Only scan the
2695         current buffer.
2696
2697 2000-11-26  Joseph S. Myers  <jsm28@cam.ac.uk>
2698
2699         * makefile.vms: Remove EGCS references.
2700
2701 2000-11-26  Ulrich Drepper  <drepper@redhat.com>
2702
2703         * dwarf2out.c (output_file_names): New function.  Compute minimal
2704         combination of directory and file name table and emit them.
2705         (output_line_info): Remove code to emit directory and file name
2706         table and call output_file_names instead.
2707         (file_info_cmp): Helper function to sort directory names.
2708
2709 2000-11-26  Neil Booth  <neilb@earthling.net>
2710
2711         * cpplib.h (struct cpp_reader): Remove lang_asm.
2712         (struct cpp_options): Remove c89. New members lang,
2713         extended_numbers.
2714         * cppexp.c (parse_number): Use them.
2715         * cpphash.h (VALID_SIGN): Use them.
2716         * cppinit.c (set_lang, cpp_start_read): Update.
2717         * cpplex.c (parse_string, _cpp_lex_token): Update.
2718         * cpplib.c (_cpp_handle_directive): Update.
2719         * cppmacro.c (parse_args): Update.
2720         * cppmain.c (scan_buffer): Update.
2721
2722 Sun Nov 26 10:02:37 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2723
2724         * fold-const.c (fold, case CONVERT_EXPR): Always return tree of
2725         proper type.
2726
2727 2000-11-26  Neil Booth  <neilb@earthling.net>
2728
2729         * Makefile.in: Remove MAYBE_CPPLIB and maybe_cpplib.
2730         * c-decl.c: Remove parse_in declaration.
2731         * c-lang.c: Similarly.
2732         * c-lex.c: Similarly.
2733         * c-parse.in: Similarly.
2734         * c-pragma.c: Similarly.
2735         * configure.in: Similarly.
2736         * cp/Make-lang.in: Similarly.
2737         * cp/spew.c: Similarly.
2738         * cp/decl2.c: Remove check for lang-c++ option.
2739         * cp/lang-specs.h: Remove -lang-c++ from cc1plus command line.
2740         * cp/lex.c (lang_init_options): With cpp_reader_init, default to C++.
2741         * c-lex.h: Add declaration of parse_in.
2742         * cppinit.c: Call set_lang after allocating pfile->pending.
2743         * configure: Regenerate.
2744
2745 2000-11-25  Zack Weinberg  <zack@wolery.stanford.edu>
2746
2747         * combine.c (try_combine): Remove redundant test.
2748
2749 2000-11-25  Richard Henderson  <rth@redhat.com>
2750
2751         * c-common.h (DECL_C_HARD_REGISTER): New.
2752         * c-decl.c (finish_decl): Set it for asm register variables.
2753         * c-semantics.c (emit_local_var): Test it when instantiating one.
2754
2755 2000-11-25  Richard Henderson  <rth@redhat.com>
2756
2757         * c-decl.c (c_expand_body): Use DECL_SOURCE_LINE rather than
2758         lineno for the start of the function.
2759
2760 2000-11-25  Richard Henderson  <rth@redhat.com>
2761
2762         * dwarf2out.c (file_table, file_table_allocated): Remove.
2763         (file_table_allocated): Remove.
2764         (struct file_table): New.
2765         (decl_file_table, line_file_table): New.
2766         (print_dwarf_line_table): Use them.
2767         (size_of_line_prolog): Likewise.
2768         (output_line_info): Likewise.
2769         (add_src_coords_attributes): Likewise.
2770         (gen_subprogram_die): Likewise.
2771         (gen_variable_die): Likewise.
2772         (dwarf2out_add_library_unit_info): Likewise.
2773         (dwarf2out_line): Likewise.
2774         (lookup_filename): Take a struct file_table argument.
2775         (init_file_table): New.
2776         (dwarf2out_init): Use it.
2777
2778 2000-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
2779
2780         * invoke.texi: Update sequence points references.
2781
2782 2000-11-25  Neil Booth  <neilb@earthling.net>
2783
2784         * c-common.c: Remove USE_CPPLIB conditional inclusions.
2785         * c-common.h: Similarly.
2786         * c-decl.c: Similarly.
2787         * c-lang.c: Similarly.
2788         * c-lex.c: Similarly.
2789         * c-parse.in: Similarly.
2790         * c-pragma.c: Similarly.
2791         * c-pragma.h: Similarly.
2792         * gcc.c: Similarly.
2793         * toplev.c: Similarly.
2794         * cp/cp-tree.h: Similarly.
2795         * cp/decl2.c: Similarly.
2796         * cp/lang-specs.h: Similarly.
2797         * cp/lex.c: Similarly.
2798         * cp/lex.h: Similarly.
2799         * cp/spew.c: Similarly.
2800         * java/lang-options.h: Similarly.
2801         * objc/lang-specs.h: Similarly.
2802         * objc/objc-act.c: Similarly.
2803
2804         * configure.in: Remove configure option.
2805         * config.in: Regenerate.
2806         * configure: Regenerate.
2807
2808 2000-11-25  Richard Henderson  <rth@redhat.com>
2809
2810         * haifa-sched.c (sched_analyze_1, sched_analyze_2, sched_analyze):
2811         Revert 2000-11-22 change.
2812
2813 2000-11-25  Bernd Schmidt  <bernds@redhat.co.uk>
2814
2815         * config/i386/i386.h (FIXED_REGS): Make the three flags registers
2816         fixed.
2817
2818 2000-11-25  Philipp Thomas  <pthomas@suse.de>
2819         * configure.in (ALL_LINGUAS): Remove en_GB and add sv.
2820         * configure: Rebuilt.
2821
2822 2000-11-25  Jakub Jelinek  <jakub@redhat.com>
2823
2824         * config/sparc/sparc.md (muldi3_v8plus): Remove H constraint.
2825         Handle CONST_INT as second argument.
2826         * config/sparc/sparc.c (set_extends): Remove first argument.
2827         Properly handle AND, CONST_INT and CONST_DOUBLE, handle IOR, XOR and
2828         MOV.
2829         (sparc_check_64): Abort if first argument is not REG.
2830         If it is DImode REG, look at the lower register of the register
2831         pair.
2832
2833         * config/sparc/sparc.c (load_pic_register, restore_regs,
2834         output_return, sparc_v8plus_shift, sparc_function_profiler,
2835         sparc_function_block_profiler, sparc_block_profiler): Fix output
2836         formatting.
2837
2838 2000-11-25  Alexandre Oliva  <aoliva@redhat.com>
2839
2840         * config/sh/sh.h (TARGET_NONE): New.
2841         (TARGET_SWITCHES): For all variant-selecting switch, use
2842         TARGET_NONE to reset all other variant-selecting switch.  Added
2843         empty strings to avoid warnings.
2844         (TARGET_DEFAULT): Set to SH1_BIT.
2845
2846         * Makefile.in ($(INTL_TARGETS)): Added $(CONFIG_H) for
2847         insn-codes.h.
2848
2849         * gcc/config/sh/sh.md (sibcalli, sibcalli_pcrel): New insns.
2850         (sibcall_pcrel): New insn_and_split.
2851         (sibcall, sibcall_value, sibcall_epilogue): New expands.
2852
2853         * config/sh/sh.md (GOTaddr2picreg, symGOT2reg, symGOTOFF2reg,
2854         symPLT_label2reg, call, call_value): Don't set
2855         current_function_uses_pic_offset_table.
2856         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't mark
2857         PIC_OFFSET_TABLE_REGNUM as call_used, so that calc_live_regs
2858         takes it into account.
2859         (FINALIZE_PIC): Delete, useless.
2860         (LEGITIMATE_CONSTANT_P): Delete, unused.
2861         * config/sh/sh.c (sh_expand_prologue): Don't use
2862         current_function_uses_pic_offset_table.  Don't special-case
2863         PIC_OFFSET_TABLE_REGNUM.  Initialize it if it's ever live and
2864         PIC is enabled.
2865         (sh_expand_epilogue, initial_elimination_offset): Don't
2866         special case PIC_OFFSET_TABLE_REGNUM.
2867
2868 2000-11-25  Alexandre Oliva  <aoliva@redhat.com>, NIIBE Yutaka  <gniibe@m17n.org>
2869
2870         * config/sh/sh-protos.h (symbol_ref_operand): Declare.
2871         * config/sh/sh.md (UNSPEC_CALLER): New constant.
2872         (calli_pcrel, call_valuei_pcrel): Use PIC_REG.
2873         (call_pcrel, call_value_pcrel): New insn_and_splits.
2874         (call, call_value): Use them.
2875         (call_site): New expand.
2876         (sym_label2reg, symPLT_label2reg): Adjust to hold call_sites.
2877         * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA) [UNSPEC_CALLER]:
2878         Output call_site label.
2879         (PREDICATE_CODES): Added symbol_ref_operand.
2880         * config/sh/sh.c (symbol_ref_operand): Define.
2881         * emit-rtl.c (try_split): Propagate CALL_INSN_FUNCTION_USAGE
2882         to CALL_INSNs in the split sequence.
2883
2884 2000-11-24  Nick Clifton  <nickc@redhat.com>
2885
2886         * config.gcc (v850-*-*): Define c_target_objs and
2887         cxx_target_objs.
2888
2889         * config/v850/t-v850: Define how to build v850-c.o
2890
2891         * config/v850/v850.h (struct data_area_stack_element): Move
2892         definition here from v850.c.
2893
2894         * config/v850v850.c: Include gcc.h to avoid compile time
2895         warning.
2896         (push_data_area): Move to v850-c.c.
2897         (pop_data_area): Move to v850-c.c.
2898         (mark_current_function_as_interrupt): Move to v850-c.c.
2899         (GHS_default_section_names): Allow to be exported.
2900         (GHS_current_section_names): Allow to be exported.
2901         (data_area_stack_elements): Allow to be exported.
2902         (ghs_pragma_section): Move to v850-c.c.
2903         (ghs_pragma_interrupt): Move to v850-c.c.
2904         (ghs_pragma_starttda): Move to v850-c.c.
2905         (ghs_pragma_startsda): Move to v850-c.c.
2906         (ghs_pragma_startzda): Move to v850-c.c.
2907         (ghs_pragma_endtda): Move to v850-c.c.
2908         (ghs_pragma_endsda): Move to v850-c.c.
2909         (ghs_pragma_endzda): Move to v850-c.c.
2910
2911         * config/v850/v850-c.c: New file: Contains v850 specific
2912         pragma parsing functions.
2913
2914 2000-11-24  Nick Clifton  <nickc@redhat.com>
2915
2916         * config.gcc (extra_objs): Remove duplicate description.
2917         (c_target_objs): New variable.  Contains target specific
2918         object files for the gcc C compiler only.
2919         (cxx_target_objs): New variable.  Contains target specific
2920         object files for the gxx C++ compiler only.
2921
2922         * configure.in (c_target_objs): Substitute in the makefile.
2923         (cxx_target_objs): Substitute in the makefile.
2924         * configure: Regenerate.
2925
2926         * Makefile.in (C_TARGET_OBJS): Define and initialise from
2927         c_target_objs.
2928         (CXX_TARGET_OBJS): Define and initialise from
2929         cxx_target_objs.
2930         (C_AND_OBJC_OBJS): Include C_TARGET_OBJS.
2931
2932         * cp/Make-lang.in (CXX_C_OBJS): Include CXX_TARGET_OBJS).
2933
2934         * tm.texi (REGISTER_TARGET_PRAGMAS): Add paragraph explaining
2935         about how the use of the 'c_lex' function requires the use of
2936         the target specific, language specific object files feature of
2937         the configuration mechanism.
2938
2939 Fri Nov 24 18:50:58 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2940
2941         * gcc.c (process_command): Use F_OK, not R_OK.
2942
2943 2000-11-24  Arno J. Klaassen  <arno@heho.snv.jussieu.fr>
2944
2945         * flow.c (print_rtl_and_abort): Remove ANSIism.
2946
2947 Fri Nov 24 19:54:36 2000  Alexandre Oliva  <aoliva@redhat.com>
2948
2949         * config/sh/sh.h (GENERAL_REGISTER_P,
2950         GENERAL_OR_AP_REGISTER_P, FP_REGISTER_P, XD_REGISTER_P,
2951         FP_OR_XD_REGISTER_P, FP_ANY_REGISTER_P): New macros.  Use them
2952         all over.
2953         (SPECIAL_REG): Renamed to SPECIAL_REGISTER_P.
2954         * config/sh/sh.c: Use new macros.
2955         * config/sh/sh.md: Likewise.
2956
2957 Fri Nov 24 19:46:16 2000  Alexandre Oliva  <aoliva@redhat.com>
2958
2959         * config/sh/sh.md: Clobber MACH_REG and MACL_REG in SImode,
2960         instead of just MACH_REG in DImode.  Always refer to FPSCR_REG
2961         in PSImode.
2962
2963 Fri Nov 24 22:37:41 2000  Denis Chertykov  <denisc@overta.ru>
2964
2965         * config/avr/avr.c (out_tsthi,out_tstsi): Test simplification bug
2966         fixed.
2967         (machine_dependent_reorg): Wrong optimization based on
2968         NOTICE_UPDATE_CC removed.
2969
2970 Fri Nov 24 19:48:09 2000  J"orn Rennecke <amylaar@redhat.com>
2971
2972         * jump.c (delete_computation): Re-instate deletion of feeding insn.
2973         (delete_insn): Look for REG_LABEL notes.
2974         (redirect_tablejump): Delete feeding insns.
2975
2976 2000-11-24  Bernd Schmidt  <bernds@redhat.co.uk>
2977
2978         * config/i386/i386.md (call_pop_0, call_pop_1, call_value_pop_0,
2979         call_value_pop_1): Make sure operand numbers are contiguous.
2980
2981         * fold-const.c (fold_range_test): Avoid crash if LHS or RHS is null.
2982
2983         * reload1.c (conflicts_with_override): New function.
2984         (emit_input_reload_insns): Use it to tighten test for validity
2985         of substituting into output of previous insn.
2986
2987         * haifa-sched.c (struct ready_list): New.
2988         (ready_lastpos, ready_add, ready_remove_first, ready_sort): New static
2989         functions.
2990         (schedule_insn): Replace args READY and N_READY with a pointer to a
2991         ready_list; return void.  Use the new functions to access the ready
2992         list.  All callers changed.
2993         (queue_to_ready, debug_ready_list): Likewise.
2994         (schedule_block): Initialize a ready_list structure.  Use new
2995         functions to access it.
2996         (max_priority): Remove unused variable.
2997         (schedule_insn): Don't set it.
2998
2999         * c-common.c (verify_tree): Don't recurse into CONSTRUCTORs.
3000
3001         * combine.c (cant_combine_insn_p): New function.
3002         (try_combine): Use it.
3003
3004         * Makefile.in (c-common.o): Depend on $(OBSTACK_H).
3005         * c-common.c (c-obstack.c): Include "obstack.h".
3006         (struct reverse_tree): Delete.
3007         (reverse_list, reverse_max_depth): Delete.
3008         (build_reverse_tree, common_ancestor, modify_ok): Delete functions.
3009         (struct tlist, struct tlist_cache): New.
3010         (tlist_obstack, tlist_firstobj, warned_ids, save_expr_cache): New.
3011         (add_tlist, merge_tlist, verify_tree, warning_candidate_p,
3012         warn_for_collisions, warn_for_collisions_1, new_tlist): New
3013         static functions.
3014         (verify_sequence_points): Rewritten.
3015         * fold-const.c (fold): Don't lose possibly important sequence
3016         points when removing one arm of TRUTH_ORIF_EXPRs or TRUTH_ANDIF_EXPRs.
3017
3018 2000-11-24  Richard Sandiford  <rsandifo@redhat.com>
3019
3020         * gcc/cse.c (cse_insn): Removed conversion of REG_EQUIV to REG_EQUAL
3021         when reversing a register-to-register copy.  Reversal now disabled
3022         when the previous instruction has a REG_EQUIV.
3023
3024 2000-11-24  Nathan Sidwell  <nathan@codesourcery.com>
3025
3026         * c-parse.in (unary_expr): Move VA_ARG from here ...
3027         (primary): ... to here.
3028
3029 2000-11-23  Graham Stott  <grahams@redhat.com>
3030
3031         * expr.c (store_constructor): If a field is non addressable and
3032         the target is a MEM use MEM_ALIAS_SET otherwise use get_alias_set.
3033
3034 2000-11-23  Bernd Schmidt  <bernds@redhat.co.uk>
3035
3036         * flow.c (print_rtl_and_abort): New function.
3037         (verify_wide_reg, verify_local_live_at_start): Try to dump more
3038         information before aborting.
3039
3040 2000-11-23  Alexandre Oliva  <aoliva@redhat.com>
3041
3042         * emit-rtl.c (gen_lowpart_common): Use word 0 if register mode
3043         is narrower than requested mode.
3044         (gen_highpart): Abort if register mode is narrower than
3045         requested mode.
3046
3047 2000-11-23  Graham Stott  <grahams@redhat.com>
3048
3049         * cse.c (cse_insn): Initialise all regcost variables.
3050         Fix a typo add missing '='.
3051         Only compare costs if there is a replacement insn.
3052
3053 Thu Nov 23 04:33:33 2000  Alexandre Oliva  <aoliva@redhat.com>
3054
3055         * final.c (output_addr_const) [LABEL_REF]: Simplify.
3056         [MINUS]: Enclose non-CONST_INTs in parentheses.
3057         [default]: Try OUTPUT_ADDR_CONST_EXTRA.
3058         * tm.texi (OUTPUT_ADDR_CONST_EXTRA): Document it.
3059         * varasm.c (decode_rtx_const) [CONST]: If it's not something
3060         PLUS or MINUS a CONST_INT, use the whole CONST with offset 0
3061         instead of abort()ing.
3062         * sh.c (output_pic_addr_const): Removed.  Fixed all callers.
3063         * sh.h (OUTPUT_ADDR_CONST_EXTRA): New.  Handle the UNSPECs
3064         formerly handled in output_pic_addr_const.
3065         * sh.md (sym_label2reg, symPLT_label2reg): Enclose UNSPEC
3066         operands of MINUS in CONSTs so that decode_rtx_const() will
3067         accept them.
3068
3069 Thu Nov 23 04:10:30 2000  Alexandre Oliva  <aoliva@redhat.com>
3070
3071         * config/sh/sh.md (mova_const): New pattern.
3072         (GOTaddr2picreg): Use it.
3073         * config/sh/sh.c (broken_move): Match it.
3074         (mova_p): Don't match it.
3075         (machine_dependent_reorg): Adjust it.
3076
3077 Thu Nov 23 02:09:09 2000  Alexandre Oliva  <aoliva@redhat.com>
3078
3079         * config/sh/sh.h (FIRST_GENERAL_REG, LAST_GENERAL_REG): New.
3080         Moved most register-number #defines...
3081         * config/sh/sh.md (define_constants): ... here.  Use macros to
3082         refer to registers and unspecs.
3083         * config/sh/sh.c: Likewise.
3084
3085 Thu Nov 23 01:01:32 2000  J"orn Rennecke <amylaar@redhat.com>
3086
3087         * Makefile.in (HOST_CFLAGS): Add -DGENERATOR_FILE.
3088         (rtl.o, print-rtl.o, bitmap.o, obstack.o): Build with -DGENERATOR_FILE.
3089         (alloca.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
3090         (splay-tree.o, hash.o): Likewise.
3091         GCONFIG_H: New.
3092         (rtl.o, print-rtl.o): Depend on $(GCONFIG_H) instead of $(CONFIG_H).
3093         (bitmap.o, obstack.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
3094         (hashtab.o): Likewise.
3095         (gcov.o): Depend on $(CONFIG_H).
3096         * configure.in: #include insn-codes.h in tm.h.
3097
3098 2000-11-22  Nick Clifton  <nickc@redhat.com>
3099
3100         * config/arm/arm.c (arm_encode_call_attribute): Make 'newstr' a
3101         const char * to avoid a compile time warning.
3102
3103         * config/arm/arm.md (define_constants): Define symbolic names for
3104         the link register, last integer register and the fake CC register.
3105         Update patterns to use these symbolic names.
3106
3107 2000-11-22  Neil Booth  <neilb@earthling.net>
3108
3109         * cpplex.c (trigraph_ok): Ensure we don't warn twice.
3110         * cpplib.h (struct cpp_buffer): New member last_Wtrigraphs.
3111
3112 2000-11-22  Richard Henderson  <rth@redhat.com>
3113
3114         * haifa-sched.c (sched_analyze_1): Don't special-case calls
3115         for clobbering registers.
3116         (sched_analyze_2): Likewise.
3117         (sched_analyze): Zap reg_last_uses and reg_last_sets after calls.
3118
3119 2000-11-22  Chris Demetriou  <cgd@sibyte.com>
3120             Neil Booth  <neilb@earthling.net>
3121
3122         * gcc.c (validate_switches): Validate multiple switches named
3123         in '|' (or) expressions in specs.
3124         (handle_braces): If more than 1 alternative in a '|' spec
3125         matches, call do_spec1 just once.
3126
3127 2000-11-22  Michael Meissner  <meissner@redhat.com>
3128
3129         * d30v.h (TARGET_SWITCHES): Add documentation strings.
3130         (TARGET_OPTIONS): Ditto.
3131         (OPTIMIZATION_OPTIONS): Temporarily turn off -frename-registers if
3132         -O3.
3133
3134 Wed Nov 22 06:40:56 2000  Jeffrey A Law  (law@cygnus.com)
3135
3136         * pa.c (hppa_encode_label): Account for addition of encoding
3137         character when allocating persistent space for the new label
3138         name.
3139
3140 2000-11-22  Zack Weinberg  <zack@wolery.stanford.edu>
3141
3142         * Makefile.in, config.gcc, configure.in: Expunge remaining
3143         traces of facility for running MD files through C preprocessor.
3144
3145 2000-11-22  Joseph S. Myers  <jsm28@cam.ac.uk>
3146
3147         * gcov.texi: Add magic comments for texi2pod.pl.
3148         * Makefile.in: Add rules to generate and install gcov.1.
3149         * gcov.1: New (generated) file.
3150
3151 2000-11-21  Richard Henderson  <rth@redhat.com>
3152
3153         * regrename.c (scan_rtx_reg): Terminate the chain rather than
3154         abort on mark_read with NO_REGS.
3155
3156 2000-11-21  Mike Stump  <mrs@wrs.com>
3157
3158         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Fix to allow
3159         compilation with older compilers, such as /bin/cc on SunOS.
3160         * fixinc/fixfixes.c (FIX_PROC_HEAD): Ditto.
3161
3162 2000-11-21  Richard Henderson  <rth@redhat.com>
3163
3164         * varasm.c (record_constant): Pad the constructed
3165         constant_descriptor appropriately.
3166
3167 Wed Nov 22 00:52:55 2000  J"orn Rennecke <amylaar@redhat.com>
3168
3169         * rtl.h (traverse_md_constants): Declare.
3170         (struct md_constant): Define.
3171         * Makefile.in (HOST_RTL): Add hashtab.o .
3172         (OBJS): Add hashtab.o .
3173         (hashtab.o): New rule.
3174         (rtl.o): Depends on HASHTAB_H.
3175         * rtl.c (hashtab.h): #include.
3176         (md_constants): New static variable.
3177         (def_hash, def_name_eq_p, read_constants): New static functions.
3178         (traverse_md_constants): New function.
3179         (read_name): Do constant expansion.
3180         (read_rtx): Recognize define_constants.
3181         * gencodes.c (print_md_constant): New function.
3182         (main): Emit #defines for all constant definitions encountered.
3183         * md.texi (Constant Definitions): New node.
3184         * gensupport.c (xcalloc): New function.
3185
3186 2000-11-21  Richard Henderson  <rth@redhat.com>
3187
3188         * config/alpha/alpha.c (alpha_split_tfmode_frobsign): New.
3189         * config/alpha/alpha-protos.h: Declare it.
3190         * config/alpha/alpha.md (abstf_internal): Use it.
3191         (negtf_internal): Likewise.
3192         (andnotdi3): Unstar the name.
3193         (movtf_internal): Add o/G alternative.
3194
3195 2000-11-21  Zack Weinberg  <zack@wolery.stanford.edu>
3196
3197         * stringpool.c (stringpool_statistics): Also report number and
3198         percentage of entries which are identifiers.
3199
3200 2000-11-21  Diego Novillo  <dnovillo@redhat.com>
3201
3202         * gcse.c (hoist_expr_reaches_here_p): Do not mark expr_bb as
3203         visited before visiting it.
3204
3205 2000-11-21  Nick Clifton  <nickc@redhat.com>
3206
3207         * config/arm/arm.h: Accept TARGET_CPU_arm9tdmi,
3208         TARGET_CPU_strongarm110 and TARGET_SPU_strongarm1100.
3209
3210         * config.gcc: Accept --with-cpu=arm9 and --with-cpu=arm9tdmi.
3211
3212 2000-11-21  Richard Henderson  <rth@redhat.com>
3213
3214         * c-common.c (c_unsafe_for_reeval): New function.
3215         (add_c_tree_codes): Register it.
3216         * c-common.h: Declare it.
3217         * tree.c (lang_unsafe_for_reeval): New hook.
3218         (unsafe_for_reeval): Call it.
3219         * tree.h: Declare it.
3220
3221 2000-11-21  Richard Henderson  <rth@redhat.com>
3222
3223         * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify @GOT
3224         references as well.
3225
3226 2000-11-21  Neil Booth  <neilb@earthling.net>
3227
3228         * do_includes: Revert to using cpp_read_file.
3229
3230 2000-11-21  Bernd Schmidt  <bernds@redhat.co.uk>
3231
3232         * loop.c (consec_sets_giv): If the reg we're examining is anything
3233         but UNKNOWN_INDUCT, do nothing.
3234         Reset the reg's type to UNKNOWN_INDUCT before returning.
3235
3236         Mostly from Vladimir Makarov (vmakarov@redhat.com)
3237         * ia64.md (attr itanium_class): Define insn types as described in
3238         Itanium docs.
3239         (all insn patterns): Use itanium_class, not type attributes.
3240         Occasionally split alternatives as necessary.
3241         (attr type): Compute from new attr itanium_class.
3242
3243 2000-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3244
3245         * tradcpp.c (output_line_command): Mark system headers as such in
3246         `line' commands.
3247
3248 2000-11-21  Jakub Jelinek  <jakub@redhat.com>
3249
3250         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Sparc has .file/.loc
3251         support in as as well.
3252         * configure: Regenerate.
3253
3254 2000-11-20  Richard Henderson  <rth@redhat.com>
3255
3256         * c-lex.c (orig_filename): New variable.
3257         (init_c_lex): Set it.  Move call to cpp_start_read ...
3258         (yyparse): ... here.  New function.
3259         * c-parse.in (yyparse_1): Rename the parser entry point.
3260         * c-tree.h: Declare it.
3261
3262 2000-11-21  Jakub Jelinek  <jakub@redhat.com>
3263
3264         * expr.c (do_compare_and_jump): If op0 was replaced by promoted
3265         integer constant, use type of op1 for comparison.
3266
3267 2000-11-20  Stan Shebs  <shebs@apple.com>
3268
3269         * config/rs6000/xm-darwin.h: New file, Darwin host definitions.
3270         * config/rs6000/x-darwin: New file, Darwin host fragment.
3271         * config.gcc (powerpc-*-darwin*): New host.
3272         * system.h (HAVE_DESIGNATED_INITIALIZERS):  Allow this to be
3273         overridden by a config file.
3274
3275 2000-11-20  Neil Booth  <neilb@earthling.net>
3276
3277         * cppmacro.c (paste_tokens): Rename from paste_payloads.
3278         Change token type after pasting spellings.
3279         (paste_all_tokens): Use it.
3280         * gcc.dg/cpp/paste2.c: Update test.
3281         * objc/execute/paste.m: New test.
3282
3283 2000-11-20  Richard Henderson  <rth@redhat.com>
3284
3285         * dwarf.h (FMT_CODE): Adjust argument order; fix mapping to
3286         dwarf_subscr_data_formats bits.
3287         * dwarfout.c (simple_type_size_in_bits): Handle a type with
3288         no computed size as size zero.
3289         (field_byte_offset): Likewise.
3290         (subscript_data_attribute): Handle a range with no upper bound.
3291
3292 2000-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3293
3294         * gansidecl.h (const): Check __STDC__ before undef'ing `const'.
3295
3296 2000-11-20  Joseph S. Myers  <jsm28@cam.ac.uk>
3297
3298         * c-typeck.c (build_conditional_expr): When merging type
3299         qualifiers for conditional expressions between a pointer and a
3300         pointer to a void type, merge the qualifiers on the target types
3301         rather than the pointer type.  Remove obsolete conditioned out
3302         code.
3303
3304 2000-11-20  Neil Booth  <neilb@earthling.net>
3305
3306         * c-lang.c (lang_init_options): Update call to
3307         cpp_reader_init.
3308         * cppmain.c (main): Similarly.
3309         * fix-header.c (read_scan_file): Similarly.
3310         * cp/lex.c (lang_init_options): Similarly.
3311         * objc/objc-act.c (lang_init_options): Similarly.
3312         * cppexp.c (parse_number): Only warn for unextended C89.
3313         * cppinit.c (set_lang): New function.
3314         (cpp_reader_init): Take a LANG argument and pass it to set_lang.
3315         (COMMAND_LINE_OPTIONS): New option std=c++98.
3316         (cpp_handle_option): Use set_lang.
3317         * cpplex.c (_cpp_lex_token): Warn pedantically if not C99.
3318         * cppib.h (enum_c_lang): New enumeration.  Update comments.
3319
3320 2000-11-20  Will Cohen  <wcohen@redhat.com>
3321
3322         * calls.c (expand_call): Clear target only when target is in
3323         hard register and current_function_check_memory_usage is set.
3324
3325 2000-11-20  Bernd Schmidt  <bernds@redhat.co.uk>
3326
3327         * toplev.c (rest_of_compilation): Run optimize_mode_switching even
3328         if not optimizing.
3329         * sh.c (emit_sf_insn, emit_df_insn): Just call emit_insn.
3330
3331 2000-11-19  Richard Henderson  <rth@redhat.com>
3332
3333         * crtstuff.c (force_to_data): Use array size 1 not 0.
3334
3335         * dwarf2out.c (simple_type_size_in_bits): Handle a type with
3336         no computed size as size zero.
3337         (field_byte_offset): Likewise.
3338
3339 2000-11-20  Joseph S. Myers  <jsm28@cam.ac.uk>
3340
3341         * config.gcc: Fix another typo.
3342
3343 2000-11-19  Richard Henderson  <rth@redhat.com>
3344
3345         * c-decl.c (grokdeclarator): Support flexible array members.
3346         Use open-ended ranges for these and zero-length arrays.
3347         * c-typeck.c (push_init_level): Validate the context of
3348         initialization of a zero-length array.
3349         * tree.c (int_fits_type_p): Be prepared for missing bounds.
3350         * varasm.c (array_size_for_constructor): New.
3351         (output_constructor): Use it for arrays of unspecified length.
3352         * extend.texi (Zero Length): Mention C99 flexible array members.
3353         Document initialization in a top-level struct as valid.
3354
3355 2000-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
3356
3357         * config.gcc, invoke.texi: Fix errors in spelling of "deprecated".
3358
3359         * alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in
3360         stdarg and varargs functions.
3361
3362 2000-11-19  Zack Weinberg  <zack@wolery.stanford.edu>
3363
3364         * gcc.c (process_command): Define 'j' variable when
3365         MODIFY_TARGET_NAME is defined.
3366
3367 2000-11-19  Richard Henderson  <rth@redhat.com>
3368
3369         * stor-layout.c (variable_size): Only put SAVE_EXPRs on pending_sizes.
3370
3371 2000-11-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3372
3373         * rs6000/rs6000.c (rs6000_encode_section_info): Fix string length
3374         calculation and allocation.
3375
3376 2000-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3377
3378         * builtins.c (c_getstr): Constify variable.
3379         * gmon-sol2.c (_mcleanup): Comment out #endif labels.
3380         * conflict.c (const_conflict_graph_arc): New typedef.
3381         (arc_hash, arc_eq): Avoid needlessly casting away const-ness.
3382         * cppmacro.c (builtin_macro): Likewise.
3383         * dwarf2out.c (output_comp_unit): Constify variable.
3384         * fix-header.c (v_fatal): Add ATTRIBUTE_PRINTF.
3385         * protoize.c (IS_SAME_PATH_CHAR): Use TOUPPER, not toupper.
3386         * ssa.c (ssa_rename_from_hash_function): Avoid needlessly casting
3387         away const-ness.
3388         * tradcpp.c (rescan, do_line, macroexpand, macarg): Use
3389         ISALNUM/ISDIGIT/ISPRINT, not isalnum/isdigit/isprint.
3390         * varasm.c (const_str_htab_hash, const_str_htab_eq,
3391         compare_constant_1, record_constant_1): Constify.
3392
3393 2000-11-18  Richard Henderson  <rth@redhat.com>
3394
3395         * c-decl.c (grokdeclarator): Special case the creation of an
3396         index for a zero-length array.
3397         * tree.c (build_index_type): Revert Oct 20 change.
3398
3399 2000-11-18  Marek Michalkiewicz  <marekm@linux.org.pl>
3400
3401         * config/avr/avr-protos.h (avr_output_addr_vec_elt): Prototype.
3402         * config/avr/avr.c (jump_tables_size): New variable.
3403         (function_prologue): Initialize it as 0.
3404         (function_epilogue): Add it to function_size.
3405         (avr_output_addr_vec_elt): New function.  Count words in jump
3406         tables in jump_tables_size.  Move code ...
3407         * config/avr/avr.h (ASM_OUTPUT_ADDR_VEC_ELT): ... from here.
3408         Call avr_output_addr_vec_elt instead.
3409         * config/avr/avr.md (tablejump): Remove disabled define_expand.
3410
3411 2000-11-18  Mark Mitchell  <mark@codesourcery.com>
3412
3413         * configure.in: Make --enable-new-gxx-abi the default.
3414         * configure: Likewise.
3415
3416 2000-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3417
3418         * Makefile.in (tradcpp.o, tradcif.o): Depend on tradcpp.h.
3419
3420         * tradcif.y: Include tradcpp.h.  Constify.  Make functions static.
3421         Move extern function declarations to tradcpp.h.
3422
3423         * tradcpp.c: Likewise.
3424
3425         * tradcpp.h: New file.
3426
3427 2000-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
3428
3429         * c-decl.c (check_for_loop_decls): New function.
3430         * c-parse.in (for_init_stmt): New.
3431         (select_or_iter_stmt): Use for_init_stmt.
3432         * c-tree.h (check_for_loop_decls): New declaration.
3433
3434 2000-11-18  Neil Booth  <neilb@earthling.net>
3435