OSDN Git Service

080354db9b8cba2a8ac9e87c00b38d04811279fb
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
2         
3         * gcc.c (cpp_options): Set MD file name from output
4         filename, if specified.
5         (suffix_subst): New static variable.
6         (do_spec): Clear it.
7         (do_spec_1, case '.'): Handle new `%.suffix' spec.
8         Clear it.
9         (give_switch): Handle suffix_subst.
10
11 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
12
13         * invoke.texi:  Fix another typo.
14
15 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
16
17         * invoke.texi:  Fix typo.
18
19 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
20
21         * c-lang.c (lang_hooks): Update.
22         (lang_decode_option): Remove.
23         (lang_init_options): Rename c_init_options.
24         * toplev.c (main): Use lang_hooks for lang_init_options
25         and lang_decode_option.
26         * toplev.h (lang_hooks): Add 2 new hooks.
27         * tree.h: Remove lang_init_options and lang_decode_option.
28         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
29         * cp/decl2.c: Similarly.
30         * cp/lex.c (lang_init_options): Rename cxx_init_options.
31         (lang_hooks): Update.   
32         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
33         for consistency.
34         (lang_init_options): Rename ffe_init_options.
35         (lang_hooks): Update.
36         (lang_decode_option): Remove.
37         * java/lang.c (lang_init_options): Rename java_init_options.
38         (lang_decode_option): Rename java_decode_option.
39         (lang_hooks): Update.
40         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
41         (lang_decode_option): Rename objc_decode_option.
42         (lang_hooks): Update.
43
44 2001-01-09  Nick Clifton  <nickc@redhat.com>
45
46         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
47         (d30v_return_addr_rtx): Delete.
48         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
49         cfun->machine structure.
50         (struct machine_function): Move to d30v.h
51         (d30v_save_machine_status): Delete.
52         (d30v_restore_machine_status): Delete.
53         (d30v_init_machine_status): New Function.
54         (d30v_mark_machine_status): New Function.
55         (d30v_free_machine_status): New Function.
56         (d30v_init_expanders): Use new functions.
57         (d30v_return_addr): Use ra_rtx field in cfun->machine.
58         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
59         d30v_return_addr_rtx.
60
61         * config/d30v/d30v.h (struct_machine): Move here.
62         Add eh_epilogue_sp_ofs field.
63
64         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
65         field in cfun->machine structure.
66
67 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
68
69         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
70         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
71         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
72
73 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
74
75         * objc/lang-options.h: Remove bogus reference to
76         Java trademark.
77
78 2001-01-09  Kazu Hirata  <kazu@hxi.com>
79
80         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
81         return the result.
82
83 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
84
85         * reload.c (find_reloads_address): Check for eliminable registers
86                   when substituting a constant expression for a pseudo.
87         
88 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
89
90         * c-common.c (enum format_type): Add format_type_error.
91         (decode_format_type): New function.
92         (decl_attributes): Use it.
93         (format_kind_info): Adjust comment.
94
95 2001-01-09  David O'Brien  <obrien@BSDi.com>
96
97         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
98         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
99         files in tm_file.
100         * config/i386/gnu.h: Don't include required platform specific .h files,
101         tm.h will do it instead.
102         * config/i386/i386elf.h: Likewise.
103         * config/i386/linux.h: Likewise.
104         * config/i386/moss.h: Likewise.
105         * config/mips/gnu.h: Likewise.
106
107 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
108
109         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
110         (rs6000-ibm-aix3.[01]*): Likewise.
111         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
112         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
113         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
114         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
115         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
116         (powerpc-*-eabiaix*): Likewise.
117         (powerpc-*-eabisim*): Likewise.
118         (powerpc-*-elf*): Likewise.
119         (powerpc-*-eabi*): Likewise.
120         (powerpc-*-rtems*): Likewise.
121         (powerpc-*-linux*libc1): Likewise.
122         (powerpc-*-linux*): Likewise.
123         (powerpc-wrs-vxworks*): Likewise.
124         (powerpcle-wrs-vxworks*): Likewise.
125         (powerpcle-*-sysv*): Likewise.
126         (powerpcle-*-elf*): Likewise.
127         (powerpcle-*-eabisim*): Likewise.
128         (powerpcle-*-eabi*): Likewise.
129         (powerpcle-*-solaris2*): Likewise.
130         * config/rs6000/aix31.h: Delete includes.
131         * config/rs6000/aix3newas.h: Likewise.
132         * config/rs6000/aix41.h: Likewise.
133         * config/rs6000/aix43.h: Likewise.
134         * config/rs6000/beos.h: Likewise.
135         * config/rs6000/rtems.h: Likewise.
136         * config/rs6000/sysv4.h: Likewise.
137
138 2001-01-09  Kazu Hirata  <kazu@hxi.com>
139
140         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
141         Change an argument mode of machine_mode to shift_mode of
142         shift_mode.  Remove an extra error check.
143         (emit_a_shift): Adopt to the new calling prototype of
144         get_shift_alg.
145         (function_prologue): Fix code for a monitor
146         function.  Support H8/S.
147         (function_epilogue): Do not output pop for a monitor function.
148
149 2001-01-09  Nick Clifton  <nickc@redhat.com>
150
151         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
152         (setup_incoming_varargs): Use sysv_varargs_p field of the
153         cfun->machine structure.
154         (struct machine_function): Move to rs6000.h
155         (rs6000_save_machine_status): Delete.
156         (rs6000_restore_machine_status): Delete.
157         (rs6000_init_machine_status): New Function.
158         (rs6000_free_machine_status): New Function.
159         (rs6000_init_expanders): Use new functions.
160
161         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
162         export.
163         (struct machine_function): Move here.
164
165         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
166         sysv_varargs_p field of the cfun->machine structure.
167
168         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
169         Remove prototype.
170         (rs6000_restore_machine_status): Remove prototype.
171
172 2001-01-09  Richard Henderson  <rth@redhat.com>
173
174         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
175         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
176         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
177         (sched_analyze_2, sched_analyze_insn): Likewise.
178         (sched_analyze, init_deps): Likewise.
179         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
180         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
181         (compute_block_backward_dependences): Update propagate_deps call.
182
183 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
184
185         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
186
187 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
188
189         * cppinit.c (OPT_MD, OPT_MMD): Restore.
190         (cpp_handle_option): Handle them.
191         (cpp_post_options): Ensure one of -M or -MM is specified with
192         any other -M? option.
193         (init_dependency_output): Suppress output with -MG.
194
195 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
196
197         * cpp.texi: Update.
198         * invoke.texi: Update.
199
200 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
201
202         * sh.md (reload_outsf): Generate recognizable patterns for
203         TARGET_SH3E.
204
205 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
206
207         * c-lang.c (lang_hooks): Update.
208         (lang_init): Rename c_init.
209         (lang_finish): Remove.
210         * toplev.c (compile_file): Use lang_hooks for lang_init ()
211         and lang_finish ().
212         * toplev.h (lang_hooks): Add init () and finish ().
213         * tree.h (lang_init, lang_finish): Remove.
214         * cp/tree.h (lang_init, lang_finish): Remove.
215         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
216         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
217         lang_hooks): New.
218         (lang_init, lang_finish): Remove.
219         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
220         (lang_hooks): Update.
221         * java/lang.c (lang_init): Rename java_init.
222         (lang_finish): Remove.
223         (lang_hooks): Update.
224         * objc/objc-act.c (lang_init): Rename objc_init.
225         (lang_finish): Remove.
226         (lang_hoooks): Update.
227
228 20001-01-09  Graham Stott  <grahams@redhat.com>
229
230         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
231         after `ptr` is initialised.
232
233 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
234
235         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
236         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
237         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
238         stack adjusts, instead of r3.
239
240 2001-01-09  Michael Hayes  <mhayes@redhat.com>
241
242         * flow.c (flow_loop_scan): Break out of ...
243         (flow_loops_find) ... here.
244         * basic-block.h (flow_loop_scan): New.
245         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
246         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
247
248 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
249
250         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
251         macro_buffer_len.
252         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
253         realloc()ing macro_buffer.
254
255         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
256         if it's wider than long and the target's long is wider than the
257         host's.
258
259 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
260
261         Remove support for using UWIN as a host machine.
262         * configure.in: Issue an error message.
263         * configure: Regenerated.
264         * config.gcc: Remove xm_* UWIN configury.
265         * config/i386/xm-uwin.h: Remove.
266
267 2001-01-08  Nick Clifton  <nickc@redhat.com>
268
269         * config/v850/v850.c (ra_rtx): Delete.
270         (v850_save_machine_status): Delete.
271         (v850_restore_machine_status): Delete.
272         (v850_init_machine_status): New function.
273         (v850_mark_machine_status): New function.
274         (v850_free_machine_status): New function.
275         (v850_return_addr): Use ra_rtx field in machine structure.
276         (v850_init_expanders): Use new functions.
277
278         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
279         * config/v850/v850.c: Change arguments to v850_output+* functions
280         to take a const char *, to avoid compile time warning.
281         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
282         (USER_LABEL_PREFIX): Redefine.
283         
284 2000-01-08  Jim Wilson  <wilson@redhat.com>
285
286         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
287         1 to unsigned HOST_WIDE_INT before left shift.
288
289 2001-01-08  Nick Clifton  <nickc@redhat.com>
290
291         * config/arm/arm.c (arm_mark_machine_status): Check to see if
292         the machine structure has been allocated.
293         (arm_free_machine_status): New function: Free the machine
294         specific function structure.
295
296 2001-01-08  Richard Henderson  <rth@redhat.com>
297
298         * jump.c (simplejump_p): Revert last change.
299
300 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
301
302         * cppinit.c (init): Rename init_library.
303         (cpp_create_reader): Update.
304         * gcc.c (cpp_options): If -o given, use it as the target of
305         any -M options.
306
307 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
308
309         * arm.c (arm_arch5e): New variable.
310         (all_cores): XScale is a 5TE device.
311         (arm_override_options): Set arm_arch5e.
312         (arm_init_builtins): __builtin_prefetch is in arch5e.
313         * arm.h (arm_arch5e): Declare it.
314
315         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
316
317         * arm.md (define_constants): Add defines for UNSPEC and
318         UNSPEC_VOLATILE insns.  Update all users.
319         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
320         * arm.c (multi_register_push, note_invalid_constants)
321         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
322         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
323         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
324         
325 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
326
327         * jump.c (jump_optimize_1): Use reversed_comparison_code
328         instead of can_reverse_comparison_p.
329         (jump_back_p): Likewise.
330         (invert_exp_1): Likewise.
331         (thread_jumps): Likewise.
332         * simplify-rtx.c (simplify_unary_operation): Likewise.
333         (simplify_ternary_operation): Likewise.
334         * cse.c (find_comparison_args): Convert to use
335         can_reverse_comparison_p.
336         (record_jump_equiv): Likewise.
337
338 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
339
340         * arm.h (HARD_REGNO_RENAME_OK): Delete.
341         (EPILOGUE_USES): Define.
342         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not 
343         automatically stack the LR if it isn't live.
344
345 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
346
347         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
348         properly.
349
350 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
351
352         * ggc-page.c (max_alignment): New structure.
353         (MAX_ALIGNMENT): New macro.
354         (init_ggc): Use it to round up the sizes in the
355         extra_order_size_table.
356
357 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
358
359         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
360         after reload.
361
362 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
363
364         * builtins.def (BUILT_IN_FPRINTF): New entry.
365
366         * c-common.c (c_expand_builtin_fprintf): New function.
367         (init_function_format_info): Handle __builtin_fprintf.
368         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
369         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
370
371         * c-decl.c (duplicate_decls): Adjust comment.
372
373         * extend.texi (fprintf): Document new builtin.
374
375 2001-01-07  Richard Henderson  <rth@redhat.com>
376
377         * jump.c (simplejump_p): Recognize any single_set jump
378         of the proper form.
379
380 2001-01-07  Richard Henderson  <rth@redhat.com>
381
382         * configure.in (slibdir): Accept an --with-slibdir option.
383         Use "test" not "[" in configure.  Default to $(libdir).
384
385         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
386         fix typo in rm -f.
387         * config/t-aix43 (SHLIB_INSTALL): Likewise.
388         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
389         (SHLIB_LINK): Create links for the soname.
390         * config/mips/t-iris6: Likewise.
391         * config/sparc/t-slibgcc: Likewise.
392         * config/sparc/t-slibgcc-sld: Likewise.
393
394 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
395
396         * config/i386/i386.c (constant_call_address_operand): Accept
397         (const (plus (symbol_ref) (const_int))).
398         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
399         constant_call_address_operand.
400
401 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
402
403         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
404         and LONG_LONG_TYPE_SIZE > 32.
405
406 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
407
408         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
409         the previous change.
410
411 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
412
413         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
414         New.
415         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
416         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
417         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
418         Declare.
419
420 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
421
422         * fix-header.c (read_scan_file): s/pfile/scan_in/.
423
424 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
425
426         * c-lang.c (c_post_options): Call cpp_post_options.
427         * objc/objc-act.c (objc_post_options): Similarly.
428         * cppmain.c (main): Similarly.
429         * fix-header.c (read_scan_file): Similarly.
430         * cppinit.c (cpp_start_read): Move option consistency checks
431         to cpp_post_options.  Don't call init_dependency_output.
432         If needed, add default target and main file dependency.
433         (OPT_MD, OPT_MMD): Remove.
434         (OPT_MF): New.
435         (cpp_handle_option): Update for OPT_* changes.
436         (cpp_post_options): New.
437         (init_dependency_output): Command line -MF overrides environment
438         variables.  Don't set default target etc.  Suppress output
439         if dependencies are going to stdout.
440         (print_help): Update.
441         * cpplib.h (cpp_post_options): New.
442         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
443         
444 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
445
446         * jump.c (comparison_dominates_p): Support unordered compares.
447
448 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
449
450         * simplify-rtx.c (simplify_relational_operation): Always simplify
451         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
452         and UNGE.
453
454 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
455
456         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
457         (nonzero_bits): Likewise.
458         (simplify_comparison): Likewise.
459         (num_sign_bit_copies): Likewise; return more sane value depending
460         on STORE_FLAG_VALUE.
461         (known_cond): Do not assume EQ to be always true for equivalent
462         operands.
463
464 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
465
466         * cse.c (fold_rtx): Handle unordered comparisons.
467
468 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
469
470         * rtlanal.c (set_of_1): New static function.
471         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
472          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
473          reg_set_last_last_regno): Remove.
474         (set_of): New global function.
475         (set_of_data): New structure.
476         (reg_set_p, reg_set_last): Revamp for set_of.
477         * rtl.h (set_of): New.
478
479 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
480
481         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
482         * extend.texi: Document _Exit builtin.
483
484 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
485
486         * (initialize, initialize_builtins,
487         initialize_dependency_output, initialize_standard_includes):
488         Rename s/initialize/init. Update.
489         (init_dependency_output): Move to after
490         cpp_handle_options, the correct location temporally at least.
491         (opt_comp): Move next to init (), its caller.  Fix prototype.
492         (init): Make "initialized" local scope.
493         (cpp_create_reader): Always call init ().
494         (cpp_start_read): Update.
495         (output_deps): New function, broken out of cpp_finish.
496         (cpp_finish): Break out output_deps.
497
498 2001-01-07  Richard Henderson  <rth@redhat.com>
499
500         * collect2.c (COFF specific stuff): Revert 12-06 patch
501         to prototype system functions.
502
503 2001-01-07  Michael Hayes  <mhayes@redhat.com>
504
505         * hard-reg-set.h: Add multiple include guard.
506         * basic-block.h (struct loop): Add `sink' field.
507         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
508         (emit_iv_add_mult): Delete.
509         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
510         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
511         (unroll_loop): Remove end_insert_before argument.
512         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
513         (maybe_eliminate_biv_1): Likewise.
514         (emit_iv_add_mult): Delete.
515         (gen_add_mult, loop_regs_update): New.
516         (loop_insn_emit_after, loop_insn_emit_before): New.
517         (loop_insn_sink, loop_insn_sink_or_swim): New.
518         (emit_iv_add_mult): Delete.
519         (scan_loop): Set loop->sink.
520         (loop_givs_reduce): Use loop_insn_sink and its ilk.
521         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
522         (maybe_eliminate_biv_1): Likewise.
523         (maybe_eliminate_biv_1): Add basic block argument.
524         * unroll.c (unroll_loop): Remove end_insert_before argument.
525         (find_splittable_regs): Likewise.
526         (find_splittable_regs): Use loop_insn_sink and its ilk.
527         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
528
529 2001-01-07  Michael Hayes  <mhayes@redhat.com>
530
531         * loop.h (loop_insn_hoist): New prototype.
532         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
533         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
534         (check_dbra_loop, load_mems): Likewise.
535         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
536         (find_splittable_givs): Likewise.
537
538 2001-01-07  Michael Hayes  <mhayes@redhat.com>
539
540         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
541
542 2001-01-07  Richard Henderson  <rth@redhat.com>
543
544         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
545
546 2001-01-07  Richard Henderson  <rth@redhat.com>
547
548         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
549         NO_SHARED_LIBGCC_MULTILIB as required for the target.
550         * gcc.c (init_spec): Massage the existing libgcc_spec into a
551         variant that handles a shared libgcc.
552         (process_command): Always validate -{static,shared}-libgcc.
553         (do_spec_1): New 'M' case.
554         * invoke.text (Link Options): Document -{static,shared}-libgcc.
555
556 2001-01-07  Richard Henderson  <rth@redhat.com>
557
558         * Makefile.in (slibdir): New variable.
559         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
560         (installdirs): Create slibdir.
561         (install-libgcc, install-multilib): Defer to libgcc.mk.
562         * configure.in (slibdir): Substitute.
563         * mklibgcc.in (install): New target.
564
565         * config/t-linux (SHLIB_LINK): Create links for the soname.
566         (SHLIB_INSTALL): New.
567         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
568         * config/mips/t-iris6 (SHLIB_INSTALL): New.
569         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
570         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
571         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
572
573 2001-01-07  Richard Henderson  <rth@redhat.com>
574
575         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
576         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
577         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
578
579 2001-01-07  Michael Hayes  <mhayes@redhat.com>
580
581         * loop.c (count_loop_regs_set): Delete.
582         (load_mems_and_recount_loop_regs_set): Delete.
583         (loop_regs_scan): Merge common code from count_loop_regs_set,
584         scan_loop, and load_mems_and_recount_loop_regs_set.
585         (scan_loop): Call load_mems directly and loop_regs_scan
586         again if new registers created.
587
588 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
589
590         * toplev.c (main): Call the front-end specific post_options
591         hook if one is given.
592         * toplev.h (struct_lang_hooks, lang_hooks): New.
593         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
594         for the C front end.
595         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
596         lang_hooks for the C++ front end.
597         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
598         lang_hooks for the ObjC front end.
599         * f/com.c (lang_hooks): Hooks for the Fortran front end.
600         * java/lang.c (lang_hooks): Hooks for the Java front end.
601
602 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
603
604         * c-lex.c (init_c_lex): Request #define / #undef callbacks
605         for verbose DWARF[2] debugging.
606         (cb_define, cb_undef): The new callbacks.
607         * toplev.h (debug_define, debug_undef): Make const correct.
608         * toplev.c (debug_define, debug_undef): Similarly.  Do not   
609         perform the verbosity tests here anymore.
610
611 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
612
613         * reload.c (subst_reloads): Take INSN argument.  When
614         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
615         * reload.h (subst_reloads): Adjust prototype.
616         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
617         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
618         present in JUMP_INSNs and copy them to JUMP_LABEL.
619         * flow.c (find_label_refs, find_basic_blocks_1): Skip
620         JUMP_INSNs and insns with REG_LABELs that are followed by
621         JUMP_INSNs with the same REG_LABEL.
622         * sched-rgn.c (is_cfg_nonregular): Likewise.
623         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
624         note is available.
625         * unroll.c (unroll_loop): Look for REG_LABEL notes in
626         JUMP_INSNs too.
627         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
628
629 2001-01-06  Richard Henderson  <rth@redhat.com>
630
631         * loop.c (scan_loop): Use xcalloc for the regs array.
632         (load_mems_and_recount_loop_regs_set): Zero the new memory
633         received from xrealloc.
634
635 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
636
637         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
638
639 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
640
641         * integrate.c (copy_rtx_and_substitute): When copying
642         an ignored return value, strip REG_FUNCTION_VALUE_P.
643
644 2001-01-06  Michael Hayes  <mhayes@redhat.com>
645
646         * loop.c (debug_biv, debug_giv): New.
647         (loop_biv_dump): Break out from ...
648         (record_biv): ... here.
649         (loop_giv_dump): Break out from ...
650         (record_giv): ... here.
651         (loop_bivs_check): Use print_simple_rtl.
652         * unroll.c (loop_iterations): Use print_simple_rtl.
653
654 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
655
656         * pa.md (return, return_internal): Modify patterns to prevent regrename
657         mucking with the return pointer.
658
659 2001-01-05  Mike Stump  <mrs@wrs.com>
660
661         * varasm.c (assemble_name): Ensure we output the stripped name.
662
663 2001-01-05  Richard Henderson  <rth@redhat.com>
664
665         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
666
667 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
668
669         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
670         version supplied by Matteo Frigo.
671
672 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
673
674         * cpp.texi: Update for -MQ.
675         * cppinit.c (cpp_create_reader): Always create pfile->deps.
676         (cpp_cleanup): Always free pfile->deps.
677         (initialize_dependency_output): Don't create pfile->deps.
678         (cpp_handle_option): Similarly.
679         (OPT_MQ): New.
680         * gcc.c (cpp_options): Handle -MQ.
681         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
682         * mkdeps.c (base_name): Remove.
683         (deps_init): Don't allocate vector space until it's needed.
684         (deps_free): Only free vectors if allocated.
685         (deps_add_target, deps_add_dep): Update for initial allocation.
686         (deps_add_default_target): Don't strip to the base_name.
687
688 2001-01-05  DJ Delorie <dj@redhat.com>
689
690         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
691         (INIT_EXPANDERS): Define.
692
693         * config/v850/v850.c (struct machine_function): Define.
694         (v850_save_machine_status): New function.
695         (v850_restore_machine_status): New function.
696         (v850_return_addr): New function.
697         (v850_init_expanders): New function.
698
699         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
700         and v850_init_expanders.
701         
702 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
703
704         * cpplib.h (struct cpp_reader): Add help_only field.
705         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
706         (cpp_handle_option): Set pfile->help_only if we see -h,
707         --help, -target-help, or --version.  Print version string but
708         do not set help_only if we see -v or -version.  Make text
709         printed by -v match that printed by (-)-version.
710
711         * cppmain.c (main): Exit after option parsing if
712         pfile->help_only is true.
713
714         * toplev.c (independent_decode_option): Call print_version,
715         then exit, if we see --version (but not -version).
716         (print_version): Split lengthy message into two lines.
717
718 2001-01-05  Nick Clifton  <nickc@redhat.com>
719
720         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
721         temporary string for initialisation before calling ggc_alloc_string.
722
723 2001-01-06  Michael Hayes  <mhayes@redhat.com>
724
725         * rtl.h (print_simple_rtl): New.
726         * print-rtl.c (print_simple_rtl): New.
727         (flag_simple): New.
728         (print_rtx): Disable printing of flags and modes, etc.,
729         if `flag_simple` nonzero.
730
731 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
732
733         * function.c (fixup_var_refs): Use push_to_full_sequence where
734         possible.
735
736 2001-01-05  Michael Meissner  <meissner@redhat.com>
737
738         * flags.h (flag_reorder_blocks): Add declaration.
739         (flag_rename_block): Ditto.
740
741 2001-01-05  DJ Delorie  <dj@redhat.com>
742
743         * function.c (reorder_blocks): Make sure the flags are all reset
744         before using them to mark blocks, else a second invocation will
745         corrupt the block chain.
746         (reorder_blocks_0): New, resets the flags.
747
748 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
749
750         * cse.c (find_comparison_args): Stop if the argument is known to
751         be constant.
752
753 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
754
755         * config/sh/sh.md (movdf): When splitting load into pair of
756         registers, don't clobber the register used in the address too
757         early.
758
759 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
760
761         * varasm.c (mark_constant_pool): Improve initial comments.
762         (mark_constants): Move marking of constants to mark_constant.
763         (mark_constant): New function to recursively mark all constants
764         referred to by a constant.
765
766 2001-01-05  Catherine Moore  <clm@redhat.com>
767
768         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
769
770 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
771
772         * cp/lang-options.h:  Bring comment in line with reality.
773         * f/lang-options.h:  Likewise.
774         * java/lang-options.h:  Likewise.
775         * objc/lang-options.h:  Likewise.
776         * ch/lang-options.h:  Likewise.
777         * f/g77.texi:  And update the manual.
778
779 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
780             Denis Chertykov  <denisc@overta.ru>
781
782         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
783         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
784         * config/avr/avr.md (all peepholes that request a scratch register):
785         Call it, FAIL the peephole if not safe (in interrupt functions).
786
787 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
788
789         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
790
791 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
792
793         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
794         Define.
795         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
796         BUILT_IN_CREAL and BUILT_IN_CIMAG.
797         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
798         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
799         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
800         BUILT_IN_CIMAG.
801         * extend.texi: Document these builtins.
802
803 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
804
805         * c-common.c (lang_get_alias_set): Say we know nothing of
806         VECTOR_TYPE aliasing. 
807
808         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
809
810 2001-01-05  Bruce Korb  <bkorb@gnu.org>
811
812         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
813         their x* equivalent versions for atexit-less systems
814         * fixinc/fixincl.c(main): do not return from main() on atexit-less
815         systems (or any other system any more).
816
817 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
818
819         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
820         output operands.  Use arm_hard_register_operand for operand 4.
821         (stmsi_postinc): Similarly.
822         (ldmsi): Use arm_hard_register_operand for opernand 2.
823         (stmsi): Similarly.
824         * arm.c (arm_hard_register_operand): New function.
825         * arm-protos.h (arm_hard_register_operand): Prototype it.
826
827         * arm.h (HARD_REGNO_RENAME_OK): Define.
828
829 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
830
831         * simplify-rtx.c (cfc_args): add "unordered" field.
832         (check_fold_consts): Set unordered field.
833         (simplify_relational_operation): Simplify the unordered
834         comparisons.
835
836         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
837         is valid.
838
839         * emit-rtl.c (try_split): Fix code to mark labels.
840         * jump.c (mark_jump_label): Make global.
841         * rtl.h (mark_jump_label): Declare.
842
843         * predict.c (estimate_probability): Handle unordred comparisons.
844
845 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
846
847         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
848         * cppinit.c (initialize_dependency_output):  Update.
849         (cpp_finish): Output dummy targets for -MP.
850         (OPT_MP): New.
851         (cpp_handle_option): Handle -MP.  Don't quote -MT options.  
852         * cpplib.h (struct cpp_options): Add deps_phony_targets.
853         * gcc.c (cpp_options): Update to handle -MP.
854         * mkdeps.c (deps_add_target, deps_add_default_target): Update
855         to quote only the default target.
856         (deps_phony_targets): Insert a preceding newline.  Rename from
857         deps_dummy_targets for consistency.
858         * mkdeps.h: Update
859
860 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
861
862         * calls.c (emit_library_call_value_1): Support
863         INIT_CUMULATIVE_LIBCALL_ARGS.
864         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
865
866 2001-01-04  Richard Henderson  <rth@redhat.com>
867
868         * c-decl.c (finish_struct): Detect flexible array members
869         used in an inappropriate context.
870         * c-typeck.c (really_start_incremental_init): Special case
871         constructor_max_index for zero length arrays.
872         (pop_init_level): Allow initialization of flexible array
873         members.  Deprecate initialization of zero length arrays.
874         Don't issue missing initializer warning for flexible array
875         members or zero length arrays.
876         (process_init_element): Don't dereference null DECL_SIZE.
877         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
878         Don't abort for empty constructors.  Use size_binop
879         (output_constructor): Add commentary regarding zero length 
880         array futures.  Abort if we try to initialize an array of
881         unspecified length with a non-empty constructor in the middle
882         of a structure.
883
884         * extend.texi (Zero Length): Update and clarify documentation
885         on static initialization.
886
887 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
888
889         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
890         with more than 32767 words of local storage.
891
892 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
893
894         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
895         for 'abs', 'labs', and 'fabs'.
896         (c4x_expand_builtin): Likewise.
897         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
898
899 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
900
901         * config/sh/sh.md (prget, prset): New insn types.
902         (return delay slot): Dont' allow prset.
903         (call, sfunc delay slot): Don't allow prget.
904         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
905         for prset and prget.
906
907 2001-01-05  Michael Hayes  <mhayes@redhat.com>
908         
909         * loop.h (struct loop_reg): New.
910         (struct loop_regs): Change to use array of `struct loop_reg'.
911         * loop.c: Replace assortment of varrays with single regs array.
912         (count_one_set): Delete may_not_move array argument
913         and use regs array instead.  All caller's changed.
914         (count_loop_regs_set): Delete may_not_move and single_usage
915         arguments and use regs array instead.  All caller's changed.
916         (find_single_use_in_loop): Replace usage array argument with pointer
917         to regs structure.  All caller's changed.
918         (loop_optimize): Delete `moved_once' array.
919
920 2001-01-05  Michael Hayes  <mhayes@redhat.com>
921         
922         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
923         Use it instead of loop_info->has_call for scanning loop mems.
924         (check_dbra_loop): Replace loop_info->has_call test with
925         loop_info->has_nonconst_call.
926
927 2000-01-04  Matthew Hiller  <hiller@redhat.com>
928
929         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
930         for TARGET_SH3E.
931
932 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
933
934         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
935         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
936
937 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
938
939         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
940         (flag_short_double, flag_short_wchar): Define.
941         (c_common_nodes_and_builtins): Create many tree nodes shared
942         between C and C++ here instead of in cp/decl.c and ...
943         * c-decl.c (init_decl_processing): ... here.
944         (SIZE_TYPE, WCHAR_TYPE): Don't define.
945         (flag_short_double, flag_short_wchar): Don't define.
946         (record_builtin_type): New function.
947         (build_void_list_node): New function.
948         * c-common.h (flag_short_double, flag_short_wchar,
949         record_builtin_type, build_void_list_node): Declare.
950
951 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
952
953         * integrate.c (expand_inline_function): Don't put a virtual
954         register into the reg map.
955
956         * function.c (fixup_var_refs_1): If force_operand didn't put
957         the address into the target, move it there.
958
959 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
960
961         Special-case tree_decl/tree_list allocations.
962         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
963         (OBJECT_SIZE): New macro.
964         (NUM_EXTRA_ORDER): Likewise.
965         (extra_order_size_table): New variable.
966         (NUM_ORDERS): New macro.
967         (objects_per_page_table): New variable.
968         (object_size_table): New variable.
969         (G.pages): Use NUM_ORDERS to bound the array.
970         (G.page_tails): Likewise.
971         (DIV_ROUND_UP): Remove.
972         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
973         (alloc_page): Use OBJECT_SIZE.
974         (size_lookup): Don't make it const.
975         (ggc_alloc): Use OBJECT_SIZE.
976         (ggc_set_mark): Likewise.
977         (ggc_get_size): Likewise.
978         (init_ggc): Set up the object_size_table, objects_per_page_table,
979         and adjust size_lookup.
980         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
981         (ggc_pop_context): Use NUM_ORDERS.
982         (clear_marks): Likewise.
983         (sweep_pages): Likewise.
984         (poison_pages): Likewise.
985         (ggc_print_statistics): Use OBJECT_SIZE.
986
987 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
988
989         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
990         Only call array_size_for_constructor if last field and array type
991         with no upper bound.
992
993 2001-01-04  Philip Blundell  <philb@gnu.org>
994
995         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
996         from bit 31 downwards, if this requires no more insns.
997         (count_insns_for_constant): New helper function for above.
998
999 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
1000
1001         * gencodes.c (output_predicate_decls): Remove empty initializer.
1002
1003 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
1004
1005         * tree.c (copy_node): Remove documentation about obstacks.
1006         (buidl1): Check that nobody tries to build 2-argument nodes this
1007         way.
1008
1009 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1010
1011         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
1012         fp_high_losum_p.
1013
1014         * gencodes.c (output_predicate_decls): Fill empty initializer
1015         braces.
1016
1017 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
1018
1019         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
1020         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
1021         or -MM.
1022         (do_include): Handle missing headers like cpp0.
1023         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
1024         paths with first include pathname.  Don't strcat to uninitialized
1025         string.
1026
1027 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
1028
1029         * regrename.c (regrename_optimize): Don't rename from frame pointer
1030         if frame_pointer_needed.
1031         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
1032         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
1033         (ia64_reorg): Use it instead of scheduling if ! optimize.
1034         (errata_emit_nops): Properly call asm_noperands.
1035         (ia64_sched_reorder): Finish cycle if we see an asm.
1036         (ia64_variable_issue): Clear scheduling state after asms.
1037
1038 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
1039
1040         * cpp.texi: Update for -MT.
1041         * cppinit.c (initialize_dependency_output): Add a default
1042         target if none has been given already.
1043         (no_tgt, OPT_MT): New.
1044         (cpp_handle_option): Handle -MT.  Update -M etc.
1045         * cpplib.h (struct cpp_options): Remove deps_target.
1046         * gcc.c (cpp_options): Handle -MT.
1047         * mkdeps.c (struct deps): Move from mkdeps.h.
1048         (deps_calc_target): Rename deps_add_default_target.  Add a
1049         default target if none has been specified already.
1050         * mkdeps.h (struct deps): Move to mkdeps.c.
1051         (deps_calc_target): Rename deps_add_default_target.
1052
1053 2000-01-03  Richard Henderson  <rth@redhat.com>
1054
1055         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
1056         Remove dead code.
1057         * c-typeck.c (push_init_level): Move checks for flexible array
1058         members and zero length arrays ...
1059         (pop_init_level): ... here.  Silently discard empty initializations.
1060         Remove dead code.
1061         * varasm.c (output_constructor): Update for sizeof change to
1062         zero-length arrays.
1063
1064         * extend.texi (Zero Length): Clarify semantics.
1065
1066 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
1067
1068         * configure.in (tm.h): Include isns-codes.h last.
1069         * configure: Rebuilt.
1070
1071 2001-01-03  Richard Henderson  <rth@redhat.com>
1072
1073         * config/alpha/alpha.md (addvsi3, addvdi3): New.
1074         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
1075         
1076 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1077
1078         * tradcpp.c (main): Make sure finclude() is called with a valid
1079         indepth value while handling -include.
1080
1081 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
1082
1083         * gencodes.c (output_predicate_decls): New function.
1084         (main): Call it.
1085         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
1086         even if it is not the first time machmode.h is #included.
1087         * config/sh/sh.c (fpul_operand): Declare MODE argument.
1088         * tm.texi (PREDICATE_CODES): Document predicate declarations.
1089         * gcc.texi (Copyright): Added 2001.
1090
1091 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
1092
1093         * c-common.c (c_common_lang_init): New function.  Warn if format
1094         warning options which only have effects when used with -Wformat
1095         are used without -Wformat.
1096         * c-common.h (c_common_lang_init): Declare.
1097         * c-lang.c (lang_init): Call c_common_lang_init.
1098         * objc/objc-act.c (lang_init): Call c_common_lang_init.
1099
1100 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
1101
1102         * configure.in: Check for the mktemp command.
1103         * configure: Regenerate.
1104         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
1105         $TEMP.  Create temporary files with mktemp, if available at
1106         configure time; otherwise use set -C.  Remove temporary files
1107         before exit.
1108
1109 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
1110
1111         * configure.in: Require at least texinfo 4.0.  Check for whether
1112         Pod::Man is sufficiently recent to regenerate GCC manpages.
1113         * configure:  Regenerate.
1114         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
1115         on #!.
1116         (GENERATED_MANPAGES): Define.
1117         (generated-manpages): New target.  Depend on cpp.1 as well as
1118         gcov.1.
1119         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
1120         configure to generated-manpages or empty) rather than on the
1121         manpages directly.  Remove execute permission from installed
1122         gcov.1 as well as cpp.1.
1123         * cpp.1, gcov.1: Regenerate.
1124
1125 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1126
1127         * builtins.c (expand_builtin_strncmp): Use host_integerp and
1128         tree_low_cst.  Allow using cmpstrsi in more cases.
1129
1130 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1131
1132         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
1133         sized types.
1134
1135 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
1136
1137         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
1138         * Makefile.in (HOST_CFLAGS): Mention build-make.
1139
1140 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1141
1142         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
1143         as JUMP_INSN.
1144
1145 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
1146
1147         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
1148         a REG rtx.
1149
1150         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
1151         callers changed.
1152
1153         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
1154         reg_base_value and reg_known_value arrays.
1155         (init_alias_analysis): Add more cases to detect known values.
1156         * sched-deps.c (deps_may_trap_p): New function.
1157         (sched_analyze_2): Use it.
1158
1159 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
1160
1161         * combine.c (simplify_shift_const): Even if we're sign-extracting,
1162         don't discard an ASHIFTRT if we're shifting in a wider mode.
1163
1164 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1165
1166         * toplev.c (rest_of_compilation): Don't print basic block information
1167         when CFG isn't up to date.
1168
1169 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
1170
1171         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
1172         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
1173         (UNALIGNED_SHORT_ASM_OP): Define.
1174         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
1175
1176 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
1177
1178         * fold-const.c (fold_convert): Fix typo.
1179
1180 2001-01-02  Richard Henderson  <rth@redhat.com>
1181
1182         * c-common.h (ASM_INPUT_P): New.
1183         * c-parse.in (asm): Set it when needed.
1184         * c-semantics.c (genrtl_asm_stmt): Test it instead of the 
1185         existance of an operand.
1186
1187 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
1188
1189         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
1190         (dwarf2out_frame_debug_expr): Likewise.
1191         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
1192
1193 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
1194
1195         * i386.c (ix86_split_to_parts): Return number of part required;
1196         handle TFmodes.
1197         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
1198         TFmodes.
1199         (ix86_split_long_move): Use number of part returned
1200         by ix86_split_to_parts
1201         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
1202         New macros.
1203         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
1204         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
1205         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
1206         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
1207         (ALIGN_MODE_128): Add TFmode.
1208         (IS_STACK_MODE): Likewise.
1209         (HARD_REGNO_NREGS): TFmode needs 3 registers.
1210         (HARD_REGNO_OK): Support TFmodes.
1211         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
1212         * i386.md (scheduler definitions): Use memory operand to determine
1213         fst/fld instructions; use mode attribute to determine real mode of
1214         the instruction.
1215         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
1216         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
1217
1218 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
1219
1220         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
1221
1222 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
1223
1224         * expr.c (store_constructor_field): Update ALIGN before calling
1225         store_constructor.
1226
1227 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
1228
1229         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
1230         host_integerp.
1231
1232 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
1233
1234         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
1235         incomplete type.
1236
1237 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
1238
1239         * c-decl.c (start_function): Don't warn on third parameter to main.
1240
1241 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1242
1243         * tsystem.h: Define HAVE_DECL_GETOPT.
1244
1245 2001-01-02  Philip Blundell  <pb@futuretv.com>
1246
1247         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber 
1248         of input operand.
1249
1250 2001-01-02  Richard Henderson  <rth@redhat.com>
1251
1252         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
1253
1254 2001-01-02  Andreas Jaeger  <aj@suse.de>
1255
1256         * c-decl.c (c_decode_option): Remove support of
1257         -Wmissing-noreturn.
1258
1259         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
1260         (W_options): Add -Wmissing-noreturn here.
1261
1262         * flow.c: Define lang_missing_noreturn_ok_p.
1263         (check_function_return_warnings): Use it.
1264
1265         * c-common.h: Declare lang_missing_noreturn_ok_p.
1266
1267         * c-lang.c (c_missing_noreturn_ok_p): New function.
1268         (lang_init): Set lang_missing_noreturn_ok_p.
1269
1270         * invoke.texi (Warning Options): Document this.
1271
1272 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
1273
1274         * extend.texi (C++ Extensions):  New node for C++ attributes;
1275           describe init_priority and com_interface.
1276         * invoke.texi:  Remove -finit-priority as it now has zero effect.
1277         * install.texi:  Fix xref syntax.
1278         * md.texi:  Likewise.
1279
1280 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1281
1282         * config.gcc (sparc64-wrs-vxworks*): New case.
1283         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
1284
1285         * config/sparc/sparc.c (sparc_override_options): Do support different
1286         pointer and architecture size.
1287         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
1288         (POINTERS_EXTEND_UNSIGNED): Define.
1289         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
1290         (FUNCTION_MODE): Define to be Pmode.
1291         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
1292
1293         * function.c (expand_function_end): Properly handle DECL_RESULT
1294         and copy when ptr_mode != Pmode.
1295         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
1296
1297 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1298
1299         * c-common.c (c_common_nodes_and_builtins): Set prototype
1300         parameters for __builtin_fputs, __builtin_fputc and
1301         __builtin_fwrite.  Don't declare plain fputc as a builtin.
1302
1303 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1304
1305         * loop.c (add_label_notes): Increment the label usage count when
1306         a note is added to an insn which refers to a CODE_LABEL.
1307         * gcse.c (add_label_notes): Likewise.
1308
1309 2001-01-01  Andreas Jaeger  <aj@suse.de>
1310
1311         * loop.c (scan_loop): Use xmalloc to allocate movables.
1312
1313 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
1314
1315         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
1316         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
1317         * reload1.c (REGISTER_MOVE_COST): Likewise.
1318         * regclass.c (REGISTER_MOVE_COST): Likewise.
1319         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
1320         dimension.  Adjust all users.
1321         (init_reg_sets_1): Iterate on all modes.
1322         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
1323         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
1324         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
1325         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
1326         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
1327         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
1328         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
1329         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
1330         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
1331         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
1332         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
1333         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
1334         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
1335         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
1336         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
1337         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
1338         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
1339         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
1340         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
1341         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
1342         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
1343         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
1344         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
1345         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
1346         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
1347         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
1348         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
1349
1350 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
1351
1352         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
1353         arg VARIES_P.  Call it with extra arg.
1354         (true_dependence): Likewise.
1355         * rtl.h (rtx_addr_can_trap_p): Declare.
1356         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
1357         prototypes.
1358         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
1359         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
1360         pic offset table register if it's zero.  All callers changed.
1361         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
1362
1363 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1364
1365         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
1366         STRING_POOL_ADDRESS_P.
1367
1368         * config/sparc/sparc.c (input_operand): Properly test for short op.
1369
1370         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
1371         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
1372         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
1373         * config/sparc/elf.h: No longer include sol2.h.
1374         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
1375         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
1376
1377         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
1378
1379 2001-01-01  Michael Hayes  <mhayes@redhat.com>
1380
1381         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
1382         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
1383         (record_initial): Likewise.
1384         * unroll.c (copy_loop_body, loop_iterations): Likewise.
1385         (remap_split_bivs): Likewise.
1386
1387 2001-01-01  Michael Hayes  <mhayes@redhat.com>
1388
1389         * loop.c (loop_ivs_free): New function.
1390         (strength_reduce): Break out from...
1391
1392 2001-01-01  Michael Hayes  <mhayes@redhat.com>
1393
1394         * loop.h (struct iv): New.
1395         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
1396         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
1397         'reg_biv_class' fields with 'regs' and 'n_regs'.
1398         (struct ivs): Rename 'loop_iv_list' field to 'list'.
1399         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
1400         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
1401
1402 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
1403
1404         * resource.c (mark_referenced_resources): Abort() before
1405         attempting to mark a pseudo register.
1406         (mark_set_resources): Likewise.
1407
1408 2001-01-01  Michael Hayes  <mhayes@redhat.com>
1409
1410         * loop.h (REG_IV_CLASS): New accessor macro.
1411         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
1412         * unroll.c (REG_IV_CLASS): Likewise.
1413
1414 Sun Dec 31 19:20:51 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1415
1416         * dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR): New.
1417         (loc_descriptor_from_tree, case SAVE_EXPR): New.
1418
1419 2001-01-01  Michael Hayes  <mhayes@redhat.com>
1420
1421         * loop.c (loop_giv_reduce_benefit): Break out from strength_reduce.
1422         (loop_givs_dead_check, loop_givs_reduce, loop_givs_rescan): Likewise.
1423         (prescan_loop): Set pre_header_has_call in loop_info.
1424         * loop.h (struct_iv_class): Add `final_value' and `all_reduced'.
1425         (struct loop_info): Add `pre_header_has_call'.
1426
1427         * loop.c (loop_bivs_find): Break out from strength_reduce.
1428         (loop_bivs_init_find, loop_bivs_check, loop_givs_find): Likewise.
1429         (loop_givs_check, loop_biv_eliminable_p): Likewise.
1430
1431         * loop.c (LOOP_REG_LIFETIME, LOOP_REG_GLOBAL_P): Define.
1432         (scan_loop, record_giv): Use LOOP_REG_LIFETIME and LOOP_REG_GLOBAL_P.
1433
1434         * loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Define.
1435         * loop.c (REGNO_FIRST_LUID, REGNO_LAST_LUID): Use in place of
1436         direct access to uid_luid array.
1437         * unroll.c (REGNO_FIRST_LUID, REGNO_LAST_LUID): Likewise.
1438
1439         * loop.h (struct loop_movables): New.
1440         (LOOP_MOVABLES): New.
1441         (struct loop_info): Add movables field.
1442         * loop.c (struct movables): Delete.  Replace all uses
1443         with struct loop_movables.
1444         (the_movables): Delete.  Replace all uses with movables
1445         field in loop_info.
1446         (loop_movables_add, loop_movables_free): New functions.
1447         (scan_loop): Use xmalloc instead of alloca for movables.
1448         Call loop_movables_free.
1449
1450         * loop.c (debug_loops): New.
1451
1452 2000-12-31  Philip Blundell  <philb@gnu.org>
1453
1454         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Add missing asm
1455         operands.
1456
1457 2000-12-30  Richard Henderson  <rth@redhat.com>
1458
1459         * dbxout.c (dbxout_block): Invert logic on eliding LBRAC/RBRAC.
1460         Initialize variables properly for DBX_LBRAC_FIRST.
1461
1462 2000-12-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1463
1464         * expr.c (expand_expr, case COMPONENT_REF): Fix typo in last change.
1465
1466 2000-12-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1467
1468         * builtins.c (validate_arglist): New function, use it.
1469
1470 2000-12-30  Philip Blundell  <philb@gnu.org>
1471
1472         * config/arm/arm.c (arm_expand_prologue): Fix typos in error
1473         message and comment.  Note location of testcase for an unhandled
1474         situation.
1475
1476 2000-12-30  Jeffrey Oldham  <oldham@codesourcery.com>
1477
1478         * defaults.h (BUILD_VA_LIST_TYPE): New definition.
1479         * tree.c (build_common_tree_nodes_2): Ensure the va_list_type_node
1480         is a copy, not an alias.
1481
1482 2000-12-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1483
1484         * calls.c (calls_function_1, case CONSTRUCTOR): New case.
1485
1486         * alias.c (alias_sets_conflict_p): New function.
1487         (mems_in_disjoint_alias_sets_p): Use it.
1488         (readonly_fields_p): Moved from expr.c; check for record type.
1489         (objects_must_conflict_p): New function.
1490         * calls.c (expand_call): Use assign_temp as much as possible, use
1491         readonly variant if assigned once, and don't set memory attributes.
1492         (emit_library_call_value_1, store_one_arg): Likewise.
1493         * integrate.c (expand_inline_function): Likewise.
1494         * stmt.c (expand_asm_operands, expand_return): Likewise.
1495         * expr.c (copy_blkmode_from_reg, store_constructor): Likewise.
1496         (store_field, save_noncopied_parts, expand_expr): Likewise.
1497         (expand_expr_unaligned): Likewise.
1498         (readonly_fields_p): Moved to alias.c.
1499         (safe_from_p): Rework handling of SAVE_EXPR.
1500         MEMs ony conflict if alias sets conflict; likewise for INDIRECT_REF.
1501         * function.c (struct temp_slot): Delete field ALIAS_SET; add TYPE.
1502         (assign_stack_for_temp): Use objects_must_confict_p.
1503         Set all memory attributes from type, if specified.
1504         (mark_temp_slot): Mark TYPE field.
1505         * tree.h (alias_sets_conflict_p, readonly_fields_p): New decls.
1506         (objects_must_conflict_p): Likewise.
1507
1508         * stmt.c (expand_decl): Don't use assign_stack_temp in error case.
1509         (add_case_node): No need to copy nodes anymore.
1510
1511 2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
1512
1513         * config/sh/sh.c (split_branches): Don't dereference re-computed
1514         `beyond' before checking it's non-NULL.
1515
1516 2000-12-29  Robert Lipe <robertl@sco.com>
1517
1518         Remove COFF support from i?86-pc-sco3.2v5.
1519         * i386/sco5.h (PREFERRED_DEBUGGING_TYPE): Change to Dwarf II.
1520         (TARGET_ELF): Now always true.
1521         (SUBTARGET_SWTICHES: )Remove -mcoff.
1522
1523         * i386/t-sco5 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
1524         MULTILIB_EXCEPTION): Nuke coff.
1525         (CRTSTUFF_T_CFLAGS_S):  Deleted.
1526         (TARGET_LIBGCC2_CFLAGS): Added.
1527
1528 2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
1529
1530         * varasm.c (output_constant_def): Don't ENCODE_SECTION_INFO
1531         twice.  Update desc->rtl and ->label, in case ENCODE_SECTION_INFO
1532         modifies them.
1533
1534 2000-12-29  Bernd Schmidt  <bernds@redhat.com>
1535
1536         * ia64.c (ia64_expand_load_address): Accept additional scratch
1537         register argument.  All callers & prototype changed.
1538         Use scratch register when generating load_symptr insns.
1539         * ia64.md (movdi_symbolic): Clobber a scratch register.  Use it
1540         when calling ia64_expand_load_address.
1541         (movdi): Generate movdi_symbolic with additional operand.
1542         (load_gprel64): Use pic_offset_table_rtx instead of (reg:DI 1).
1543         (load_symptr): Likewise.  Use additional operand as a scratch
1544         register instead of generating it here.
1545
1546         * basic-block.h: Add a comment.
1547         * flow.c (PROP_POSTRELOAD): New macro.
1548         (update_life_info): Add it to prop_flags.
1549         (mark_set_1): If it is set, compute REG_N_SETS for the original
1550         register number of a hard reg.
1551
1552         * emit-rtl.c (gen_raw_REG): New function.
1553         (gen_rtx_REG, gen_reg_rtx, init_emit_once): Use it instead of
1554         gen_rtx_raw_REG.
1555         * print-rtl.c (print_rtx): Print ORIGINAL_REGNO.
1556         * final.c (alter_subreg): Update it.
1557         * regrename.c (do_replace): Likewise.  Use gen_raw_REG.
1558         * rtl.def (REG): Update comment.
1559         * rtl.h (X0UINT, ORIGINAL_REGNO): New macros.
1560         (gen_raw_REG): Declare.
1561
1562 2000-12-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1563
1564         * tree.c (get_set_constructor_bits): Use host_integerp and
1565         tree_low_cst.
1566
1567         * local-alloc.c (update_equiv_regs): Don't use copy_rtx on PATTERN.
1568
1569         * toplev.c (main): Call xmalloc_set_program_name.
1570         * gcc.c (main): Likewise.
1571
1572 2000-12-29  Philip Blundell  <philb@gnu.org>
1573
1574         * config/arm/arm.c (arm_override_options): Fix typo in warning
1575         message.
1576
1577 2000-12-29  Richard Henderson  <rth@redhat.com>
1578
1579         * config/alpha/alpha.c (alpha_expand_block_move): Initialize
1580         src_align and dst_align in bits.  Do unaligned quadword loads
1581         if possible for BWX too.
1582         (alpha_expand_block_clear): Initialize align in bits.  Track
1583         small leading offsets into a larger alignment.  Play games with
1584         stq_u for large 4-byte aligned blocks.  Use load/mask/store
1585         for appropreately aligned heads and tails.
1586
1587 2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
1588
1589         * function.c (assign_parms): Convert arguments passed by
1590         reference to the right mode.
1591
1592 2000-12-28  Geoffrey Keating  <geoffk@redhat.com>
1593
1594         * c-parse.in (select_or_iter_stmt): Use truthvalue_conversion
1595         on the condition of a FOR statement, so that it gets typechecked
1596         and optimised.
1597
1598 2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
1599
1600         * c-decl.c (grokdeclarator): Prevent crash in case of overflow in
1601         array size.
1602
1603         * calls.c (emit_library_call_value_1): Add to call_fusage the
1604         stack slot assigned to argument passed by reference.
1605
1606 2000-12-28  Jeffrey Oldham  <oldham@codesourcery.com>
1607
1608         * toplev.h (extern really_sorry): Remove extern declaration for
1609         nonexistent function.
1610
1611 2000-12-28  Jeffrey Oldham  <oldham@codesourcery.com>
1612
1613         * varasm.c (initializer_constant_valid_p): Indicate subtraction of
1614         pointers to the same string constant is absolute.
1615
1616 2000-12-28  Joseph S. Myers  <jsm28@cam.ac.uk>
1617
1618         * c-common.c (enum format_type): Add strfmon_format_type.
1619         (decl_attributes): Handle format attributes strfmon and
1620         __strfmon__.
1621         (FMT_FLAG_USE_DOLLAR, FMT_FLAG_ZERO_WIDTH_BAD,
1622         FMT_FLAG_EMPTY_PREC_OK): Define.
1623         (format_char_info): Update comment for flag_chars.
1624         (format_flag_spec): Add skip_next_char.
1625         (format_kind_info): Add left_precision_char.
1626         (printf_flag_specs, scanf_flag_specs, strftime_flag_specs,
1627         format_types): Update for these new structure members and flags.
1628         (time_char_table): Make const.
1629         (strfmon_length_specs, strfmon_flag_specs, strfmon_flag_pairs,
1630         monetary_char_table): New.
1631         (format_types): Add details of strfmon formats.
1632         (init_function_format_info): Create default attribute for strfmon.
1633         (check_format_info_main): Check the new flags.  Handle
1634         skip_next_char and left precision.
1635         * toplev.c (documented_lang_options): Update description of
1636         -Wformat.
1637         * extend.texi: Document strfmon format attributes.  Document
1638         attribute forms such as __printf__.  Clarify format_arg attribute
1639         documentation.
1640         * invoke.texi (-Wformat): Update for strfmon formats.
1641
1642 2000-12-28  Andreas Jaeger  <aj@suse.de>
1643
1644         * expmed.c (store_bit_field): Fix last patch.
1645
1646 2000-12-28  Alexandre Oliva  <aoliva@redhat.com>
1647
1648         * config/sh/crt1.asm (start_l): `__SH4_SINGLE_ONLY__' was missing
1649         the trailing `__'.
1650
1651 2000-12-28  Alan Lehotsky  <lehotsky@tiac.net>
1652
1653         * expmed.c (store_bit_field): Correctly compute smallest mode that
1654         is sufficient to contain all bits we are storing.
1655
1656 2000-12-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1657
1658         * builtins.c (build_function_call_expr): New function.  Use it
1659         everywhere in lieu of manually constructing a CALL_EXPR.
1660
1661 2000-12-27  Chandrakala Chavva  <cchavva@redhat.com>
1662
1663         * calls.c (store_one_arg):  If parm is passed both in stack and in
1664         register and offset is greater than reg_parm_stack_space, split
1665         the offset and call emit_push_insn().
1666
1667 2000-12-27  Nick Clifton  <nickc@redhat.com>
1668
1669         * ifcvt.c (noce_emit_store_flag): Handle jump insns that are
1670         PARALLEL.
1671
1672 2000-12-27  Alexandre Oliva  <aoliva@redhat.com>
1673
1674         * rtl.c (copy_most_rtx, shallow_copy_rtx): Copy frame_related
1675         flag.
1676
1677 2000-12-27  Bruce Korb  <bkorb@gnu.org>
1678
1679         * fixinc/Makefile.in: fix for ancient Bourne shell
1680         * fixinc/Makefile.BEOS: obsolete
1681         * fixinc/Makefile.DOS: obsolete
1682         * fixinc/fixincl.sh(LINKS): use `test -d' rather than `ls' for testing
1683
1684 2000-12-27  Bernd Schmidt  <bernds@redhat.com>
1685
1686         * sched-deps.c (get_condition, conditions_mutex_p): New functions.
1687         (add_dependence): Use them to avoid adding unnecessary dependencies
1688         between conditionally executed insns.
1689         (sched_analyze_1, sched_analyze_2, sched_analyze_insn): Don't free
1690         dependency lists if current insn is a COND_EXEC.
1691
1692 2000-12-27  Geoffrey Keating  <geoffk@redhat.com>
1693
1694         * config/rs6000/rs6000.md (define_attr "length"): Correct
1695         calculation.
1696
1697 2000-12-26  Kazu Hirata  <kazu@hxi.com>
1698
1699         * config/h8300/h8300.c: Fix a comment typo.
1700         (get_shift_alg): Fix a typo in the assembly code for 12-bit
1701         ASHIFTRT in HImode.  Do not output extra whitespace after one line
1702         of assembly code.  Output a tab after an opcode instead of a
1703         space.
1704         (emit_a_shift): Output a tab after an opcode instead of a space.
1705
1706 2000-12-23  Marek Michalkiewicz  <marekm@linux.org.pl>
1707
1708         * config/avr/avr.c (out_movqi_r_mr, out_movhi_r_mr, out_movsi_r_mr,
1709         out_movsi_mr_r, out_movqi_mr_r, out_movhi_mr_r): Use %o instead of
1710         %4 in output templates, do not modify operands passed by the caller.
1711
1712 2000-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
1713
1714         * builtins.def (BUILT_IN_LABS, BUILT_IN_LLABS, BUILT_IN_IMAXABS):
1715         Don't define.
1716         * builtins.c (expand_builtin): Don't handle BUILT_IN_LABS,
1717         BUILT_IN_LLABS and BUILT_IN_IMAXABS.
1718         * c-common.c (c_common_nodes_and_builtins): Use BUILT_IN_ABS for
1719         builtin labs, llabs and imaxabs.
1720         (expand_tree_builtin): Don't handle BUILT_IN_LABS, BUILT_IN_LLABS
1721         and BUILT_IN_IMAXABS.
1722
1723 2000-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
1724
1725         * c-common.c (builtin_function_2): New function.
1726         (c_common_nodes_and_builtins): Use it to define each pair (foo,
1727         __builtin_foo) of builtins in one place.
1728
1729 2000-12-22  Joseph S. Myers  <jsm28@cam.ac.uk>
1730
1731         * gccbug.in: Add libgcj and preprocessor categories.
1732
1733 2000-12-22  Bernd Schmidt  <bernds@redhat.com>
1734
1735         * config/ia64/ia64.c (itanium_reorder): Only schedule stops in
1736         the final scheduling pass.
1737
1738 2000-12-22  Nick Clifton  <nickc@redhat.com>
1739
1740         * config/arm/arm.h (struct machine_function): Add new field
1741         'lr_save_eliminated'.
1742         * config/arm/arm.c (arm_compute_save_reg_mask): Do not include the
1743         link register if its save has been eliminated.
1744         (output_arm_prologue): Mention if the save of the link register
1745         has been eliminated.
1746         (output_arm_epilogue): Rename 'live_regs_mask' to
1747         'saved_regs_mask'.
1748         Test 'saved_regs_mask' for the link register, not regs_ever_live.
1749         (arm_expand_prologue): If the link register has not been saved set
1750         lr_save_eliminated and emit a USE to prevent later passes from
1751         scavenging it.
1752
1753         * dwarf2out_frame_debug_expr: Allow the (scratch) frame
1754         pointer to be initialised from the stack pointer plus a
1755         constant.
1756
1757 2000-12-22  Bernd Schmidt  <bernds@redhat.com>
1758
1759         * regrename.c (struct du_chain): New field "earlyclobber".
1760         (enum scan_actions): Remove unused entry "note_reference".
1761         (enum scan_actions_name): Likewise.
1762         (note_sets, clear_dead_regs, merge_overlapping_regs): New static
1763         functions.
1764         (regrename_optimize): Use them to compute unavailable regs; get
1765         rid of the more simpleminded code we used to have here.
1766         Use a tick array to ensure registers are allocated in a more
1767         round-robin way.  Disable code that only optimizes registers
1768         that were seen more than once.
1769         (referenced_regs): Remove variable.
1770         (scan_rtx_reg): New arg "earlyclobber".  All callers changed.
1771         Store its value in newly generated du_chain structures.
1772         Add new du_chains at the end, not the start, of the list.
1773         Don't handle the "note_reference" action.
1774         (scan_rtx): New arg "earlyclobber".  All callers changed.
1775         (build_def_use): Lose code to keep track of referenced regs.
1776
1777 2000-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1778
1779         * Makefile.in (sched-deps.o, sched-rgn.o): Fix dependency typo.
1780
1781         * fp-bit.h (usi_to_float): Add prototype.
1782
1783         * i386.c (ix86_expand_builtin): Delete unused label.
1784
1785         * dwarf2out.c (file_info_cmp): Prototype.
1786         (dwarf2out_line): Hide variable `old_in_use'.
1787
1788         * objc-act.c (objc_fatal): Delete.
1789
1790         * sched-vis.c (visualize_stall_cycles): Remove unused variable.
1791
1792         * system.h (getopt): Fix error in last change.
1793
1794         * varasm.c (assemble_trampoline_template): Constify.
1795
1796 2000-12-22  Jason Merrill  <jason@redhat.com>
1797
1798         * collect2.c (main): Use auto_demangling.
1799
1800 2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
1801
1802         * function.c (assign_parms): Update parm's DECL_INCOMING_RTL
1803         when optimizing PARALLEL to REG.
1804
1805 2000-12-22  Graham Stott  <grahams@redhat.com>
1806
1807         * reload.c (update_auto_inc_notes): New, broken out from ...
1808         (find_reloads_address_1): ... use here, also correct possible
1809         use of uninitialised reloadnum.
1810
1811 2000-12-21  David O'Brien  <obrien@FreeBSD.org>
1812
1813         * config/freebsd.h (LIB_SPEC): remove -kthread option.
1814
1815 2000-12-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1816
1817         * resource.c (mark_set_resources): Use MARK_SRC_DEST for
1818         PRE_MODIFY and POST_MODIFY cases.
1819
1820         * rtlanal.c (side_effects_p): Handle PRE_MODIFY and POST_MODIFY.
1821
1822 2000-12-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1823
1824         * md.texi (Looping Patterns): New node.
1825
1826 2000-12-21  Joseph S. Myers  <jsm28@cam.ac.uk>
1827
1828         * gcc.texi, cpp.texi: Update last-updated dates.
1829
1830 2000-12-21  Chandrakala Chavva  <cchavva@redhat.com>
1831
1832         * varasm.c (output_addressed_constants): Use language specific
1833         expander on unknown nodes.
1834
1835 2000-12-21  Graham Stott  <grahams@redhat.com>
1836
1837         * combine.c (distribute_notes): Handle REG_NON_LOCAL_GOTO notes.
1838
1839 2000-12-21  Bernd Schmidt  <bernds@redhat.com>
1840
1841         * Makefile.in (out_object_file): Depend on sched-int.h.
1842         * rtl.h (single_set_1): New macro.
1843         (single_set_2): Renamed from single_set_1 and extra argument added.
1844         * rtlanal.c (single_set_2): Likewise.
1845
1846         * config/ia64/ia64-protos.h (get_bundle_name, ia64_issue_rate,
1847         ia64_adjust_cost, ia64_sched_init, ia64_sched_finish,
1848         ia64_sched_reorder, ia64_sched_reorder2, ia64_variable_issue):
1849         Declare.
1850         * config/ia64/ia64.c: Include "sched-int.h".
1851         (hard_regno_rename_ok): Also disallow renaming from the various
1852         reg_save_* regs.
1853         (ia64_safe_itanium_requiers_unit0, ia64_safe_itanium_class,
1854         ia64_safe_type, init_insn_group_barriers, group_barrier_needed_p,
1855         safe_group_barrier_needed_p, fixup_errata): New static functions.
1856         (rtx_needs_barrier):  Handle bundle selector and cycle display
1857         insns.
1858         (emit_insn_group_barriers): Accept additional FILE * arg.  All
1859         callers changed.  Rework to only generate stop bits between
1860         basic blocks that haven't been inserted by scheduling.
1861         (struct bundle, struct ia64_packet): New structures.
1862         (NR_BUNDLES, NR_PACKETS): New macros.
1863         (bundle, packets, type_names): New static arrays.
1864         (ia64_final_schedule): New variable.
1865         (ia64_single_set, insn_matches_slot, ia64_emit_insn_before,
1866         gen_nop_type, finish_last_head, rotate_one_bundle, rotate_two_bundles,
1867         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
1868         find_best_packet, itanium_reorder, dump_current_packet, schedule_stop):
1869         New static functions.
1870         (ia64_issue_rate, ia64_sched_init, ia64_sched_reorder,
1871         ia64_sched_finish, ia64_sched_reorder2, ia64_variable_issue): New
1872         functions.
1873         (ia64_reorg): Perform a final scheduling pass.
1874         * config/ia64/ia64.h (CONST_COSTS): Slightly increase SYMBOL_REF costs.
1875         (MAX_CONDITIONAL_EXECUTE, ADJUST_COST, ISSUE_RATE, MD_SCHED_INIT,
1876         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_FINISH,
1877         MD_SCHED_VARIABLE_ISSUE): Define macros.
1878         (ia64_final_schedule): Declare variable.
1879         * config/ia64/ia64.md (attr itanium_class): Add some more classes.
1880         (attr type): Account for them.
1881         (itanium_requires_unit0): New attribute.
1882         (function units): Rewrite.
1883         (some splitters): Don't create scheduling barriers here.
1884         (gr_spill_internal, gr_restore_internal): Don't predicate the
1885         pseudo-op.
1886         (nop_m, nop_i, nop_f, nop_b, nop_x, cycle_display, cycle_display_1,
1887         bundle_selector): New patterns.
1888         (insn_group_barrier): Now has an operand.
1889
1890 2000-12-21  DJ Delorie  <dj@redhat.com>
1891
1892         * dwarf2out.c (simple_decl_align_in_bits): new
1893         (field_byte_offset): Try both the type align and the
1894         decl align, use whichever works, preferring the type align.
1895
1896 2000-12-21  Joseph S. Myers  <jsm28@cam.ac.uk>
1897
1898         * gccbug.in: Fix typo.
1899
1900 2000-12-20  Benjamin Kosnik  <bkoz@redhat.com>
1901
1902         * Makefile.in (gcc_gxx_target_include_dir): Use instead of
1903         build_tooldir and libstdcxx_incdir.
1904
1905 2000-12-20  Robert Lipe <robertlipe@usa.net>
1906
1907         * haifa-sched.c (schedule_block): Provide empty source statement
1908         if not MD_SCHED_REORDER2.
1909
1910 2000-12-20  Richard Henderson  <rth@redhat.com>
1911
1912         * rtl.h (REG_NON_LOCAL_GOTO): New.
1913         * rtl.c (reg_note_name): Update.
1914         * stmt.c (expand_goto): Emit a REG_NON_LOCAL_GOTO note.
1915         * builtins.c (expand_builtin_longjmp): Likewise.
1916         * flow.c (make_edges): Check for REG_NON_LOCAL_GOTO and do
1917         not emit an edge.
1918
1919 2000-12-20  Marek Michalkiewicz  <marekm@linux.org.pl>
1920
1921         * config/avr/avr.c (out_movsi_r_mr, out_movsi_mr_r, out_movhi_mr_r):
1922         Do not output undefined opcodes where source or destination register
1923         overlaps with modified pointer register.  Handle (X + d) addresses.
1924         * config/avr/avr.md (*movhi, *movsi, *movsf): Correct insn length
1925         in alternatives with memory operand.
1926
1927 2000-12-20  Richard Henderson  <rth@redhat.com>
1928
1929         * c-typeck.c (build_asm_stmt): New, broken out from ...
1930         (c_expand_asm_operands): ... here.  Just do rtl expansion.
1931         (c_expand_return): Return the new stmt node.
1932         (c_start_case, do_case): Likewise.
1933         * c-common.c (c_expand_expr_stmt): Likewise.
1934         * c-common.h: Update declarations.
1935         * c-tree.h: Likewise.
1936         * c-semantics.c (build_stmt): Use STMT_LINENO not TREE_COMPLEXITY.
1937         * c-parse.in (fndef): Set DECL_SOURCE_LINE to the open brace.
1938         (nested_function, notype_nested_function): Likewise.
1939         (compstmt): Return the compound statement not the binding level.
1940         (lineno_labeled_stmt): Simplify.
1941         (lineno_stmt, lineno_label): Set STMT_LINENO.
1942         (stmt, label): Return the new stmt node.
1943
1944 2000-12-20  Bernd Schmidt  <bernds@redhat.com>
1945
1946         * Makefile.in (OBJS): Add sched-ebb.o.
1947         (sched-ebb.o): New rule.
1948         (sched-vis.o): Depend on hard-reg-set.h and $(BASIC_BLOCK_H).
1949         (haifa-sched.o): Depend on insn-flags.h.
1950         * haifa-sched.c: Include "insn-flags.h".
1951         (priority): Don't access BLOCK_NUM, use the new contributes_to_priority
1952         callback.
1953         * rtl.h (schedule_ebbs): Declare.
1954         * sched-int.h (struct sched_info): Add new members
1955         contributes_to_priority and compute_jump_reg_dependencies.
1956         * sched-rgn.c (contributes_to_priority, compute_jump_reg_dependencies):
1957         New functions.
1958         (region_sched_info): Add them.
1959         * sched-vis.c: Include "hard-reg-set.h" and "basic-block.h".
1960         * sched-ebb.c: New file.
1961         * sched-deps.c (sched_analyze_insn): Add code to handle JUMP_INSNs.
1962
1963         * flow.c (ior_reg_cond, and_reg_cond, elim_reg_cond): Properly
1964         handle all relational operators.
1965
1966 2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
1967
1968         * final.c (output_addr_const): Use ASM_OUTPUT_SYMBOL_REF.
1969         * tm.texi: Document it.
1970
1971 2000-12-19  Benjamin Kosnik  <bkoz@redhat.com>
1972
1973         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Use build_tooldir
1974         instead of gcc_tooldir.
1975
1976 2000-12-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1977
1978         * system.h (getopt): Update prototype to match include/getopt.h.
1979
1980 2000-12-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1981
1982         From Jeff Law.
1983         * pa.c (basereg_operand): Simplify.
1984
1985 2000-12-19  Bernd Schmidt  <bernds@redhat.co.uk>
1986
1987         * haifa-sched.c (rm_line_notes): Arguments are now head and tail,
1988         not block number.  All callers and prototype changed.
1989         (set_priorities): Likewise.
1990         (save_line_notes): Add head and tail arguments; all callers and
1991         prototype changed.
1992         (restore_line_notes): Likewise.  Don't crash on insns generated
1993         during scheduling.
1994         (schedule_block): Don't use BLOCK_HEAD/BLOCK_END macros.
1995         Call MD_SCHED_INIT with additional argument.
1996         When starting a new cycle, emit cycle_display insns if available.
1997         Don't stop scheduling when encountering a JUMP_INSN, but add another
1998         call to schedule_more_p in the inner loop.
1999         Call MD_SCHED_REORDER2 after scheduling an insn.
2000         Call MD_SCHED_FINISH once all insns are scheduled.
2001         (sched_init): Compensate for the fact that get_block_head_tail
2002         doesn't include leading notes.
2003         * sched-deps.c (free_deps): Free vectors here.
2004         * sched-rgn.c (compute_block_backward_dependencies): Not here.
2005         (last_was_jump): New static variable.
2006         (schedule_more_p): Test it.
2007         (init_ready_list): Initialize it.
2008         (can_schedule_ready_p): Set it if we have a JUMP_INSN.
2009
2010         * config/i386/i386.h (MD_SCHED_INIT): Add new arg.
2011         * config/m32r/m32r.h (MD_SCHED_INIT): Add new arg.
2012         * config/sparc/sparc.h (MD_SCHED_INIT): Add new arg.
2013
2014         * md.texi (cycle_display): Document.
2015         * tm.texi (MD_SCHED_INIT): Document new arg.
2016         (MD_SCHED_FINISH, MD_SCHED_REORDER2): Document.
2017
2018         * flow.c (ior_reg_cond, nand_reg_cond, not_reg_cond): Rewrite
2019         to use different representation.  All callers changed.
2020         (and_reg_cond): Renamed from nand_reg_cond; caller changed.
2021         (init_propagate_block_info): Don't test flags to determine
2022         whether to compute conditional lifetimes.
2023         Adjust code for new representation of conditional lifetimes.
2024         (mark_regno_cond_dead): Similar adjustment.
2025         (free_reg_cond_life_info): Similar adjustment.
2026         (elim_reg_cond): New function.
2027         (flush_reg_cond_1): Use it.
2028
2029 2000-12-19  Catherine Moore  <clm@redhat.com>
2030
2031         * reload1.c (reload_combine): Take multi-hard-regs into account
2032         when processing CALL_INSN_FUNCTION_USAGE.
2033
2034 2000-12-19  Joseph S. Myers  <jsm28@cam.ac.uk>
2035
2036         * invoke.texi (-print-search-dirs): Make references to cpp refer
2037         to cpp0 instead.
2038
2039 2000-12-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2040
2041         * fold-const.c (tree_expr_nonnegative_p): Treat truth values as
2042         non-negative.
2043
2044 Tue Dec 19 00:37:08 2000  J"orn Rennecke <amylaar@redhat.com>
2045
2046         * reload.c (push_reload): When using a dying register for the reload
2047         register in an in-out reload, use outmode if wider than inmode.
2048
2049 2000-12-19  Joseph S. Myers  <jsm28@cam.ac.uk>
2050
2051         * config/d30v/d30v.h (EXIT_BODY): Update comment.
2052
2053 2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
2054
2055         * config.gcc (*-*-linux*): Don't define HAVE_ATEXIT or BSTRING.
2056         * tm.texi (EXIT_BODY): Update documentation.
2057         * config/freebsd.h, config/netware.h, config/arm/coff.h,
2058         config/arm/conix-elf.h, config/arm/unknown-elf.h,
2059         config/d30v/d30v.h, config/mcore/mcore.h, config/pj/pj.h,
2060         sparc/sp86x-aout.h: Remove definitions of HAVE_ATEXIT (some
2061         commented out) and associated comments.
2062
2063 2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
2064
2065         * c-common.c (STD_C9L, ADJ_STD): Define.
2066         (printf_length_specs, scanf_length_specs): Mark "ll" as standard
2067         STD_C9L.
2068         (T99_LL): Rename to T9L_LL.
2069         (T99_ULL): Rename to T9L_ULL.
2070         (print_char_table, scan_char_table): Use T9L_LL and T9L_ULL
2071         instead of T99_LL and T99_ULL.
2072         (check_format_info_main): Use ADJ_STD on all format standard
2073         versions being compared.
2074         * c-common.h: Declare warn_long_long.
2075         * c-tree.h: Don't declare warn_long_long.
2076
2077 2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
2078
2079         * COPYING: Update to current
2080         ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references
2081         to 19yy as example year in copyright notice).
2082
2083 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
2084
2085         * c-lex.c (cb_file_change): Treat in_system_header as strictly
2086         boolean (0 or 1).
2087
2088 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
2089
2090         * cppmain.c: Update print.lineno with -P.
2091
2092 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
2093
2094         * c-lex.c: s/change_file/file_change.
2095         * cpplib.h: Similarly.
2096         * cppmain.c: Similarly.
2097         * fix-header.c: Similarly.
2098         * cppfiles.c (stack_include_file): Pass the buffer location and
2099         size to cpp_push_buffer.  Generate the file_change callback,
2100         so that sysp is already set.
2101         * cpphash.h: Add _cpp_do_file_change.
2102         * cpplib.c (do_line): Set buffer->sysp directly. Generate the
2103         file_change callback after setting sysp.
2104         (_cpp_do_file_change): Handle FC_ENTER and the FC_RENAME exception
2105         here.
2106         (cpp_push_buffer): Don't generate a callback.  Clear sysp.
2107         (cpp_pop_buffer): Clean up logic.
2108
2109 2000-12-18  Benjamin Kosnik  <bkoz@redhat.com>
2110
2111         * configure.in (gcc_gxx_include_dir): Simplify.
2112         (libstdcxx_incdir): Export.
2113         * configure: Regenerate.
2114         * Makefile.in (PREPROCESSOR_DEFINES): Add in
2115         GPLUSPLUS_TOOL_INCLUDE_DIR bits here..
2116         (libstdcxx_incdir): Add.
2117         * cppdefault.c (GPLUSPLUS_TOOL_INCLUDE_DIR): Add search path.
2118
2119 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
2120
2121         * c-lex.c (lex_lineno): Remove.
2122         (init_c_lex, c_lex): Remove lex_lineno.
2123         (cb_change_file): Update lineno correctly, both before calling
2124         push_srcloc and before leaving the function.
2125         (cb_def_pragma): Set lineno before outputting diagnostics.
2126
2127 Sun Dec 17 18:45:41 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2128
2129         * print-tree.c (print_node): Print DECL_USER_ALIGN and TYPE_USER_ALIGN.
2130         Print TYPE_MIN_VALUE and TYPE_MAX_VALUE for REAL_TYPE.
2131         Use print_node_brief to print bounds.
2132
2133 2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
2134
2135         * cpplib.h (struct cpp_reader): Remove references to string_pool
2136         and temp_string_pool.
2137         * cppinit.c (cpp_create_reader, cpp_cleanup): Similarly; using
2138         ident_pool in place.
2139         * cpplex.c (parse_number, unescaped_terminator_p, parse_string,
2140         save_comment, cpp_token_as_text): Similarly.
2141         * cpplib.c (do_define, glue_header_name, parse_assertion): Similarly.
2142         * cppmacro.c (make_number_token, builtin_macro, lock_pools,
2143         unlock_pools, stringify_arg, paste_tokens): Similarly.
2144
2145 Sun Dec 17 12:41:48 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2146
2147         * dwarf2out.c (loc_descriptor_from_tree, case NOP_EXPR): New case.
2148         (loc_descriptor_from_tree, case CONVERT_EXPR): Likewise.
2149         (loc_descriptor_from_tree, case NON_LVALUE_EXPR): Likewise.
2150
2151 2000-12-17  Richard Earnshaw  <rearnsha@arm.com>
2152
2153         * Makefile.in (check-po): Use $(MAKE).
2154         (risky-stage1, risky-stage2, risky-stage3, risky-stage4): Likewise.
2155
2156 2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
2157
2158         * cppmain.c (check_multiline_token): New function.
2159         (scan_buffer): Use it.
2160         (cb_change_file): Restructure to avoid warning.
2161         * cpperror.c (print_location): Initialize col.
2162
2163 2000-12-14  Philipp Thomas  <pthomas@suse.de>
2164
2165         * protoize.c (main): Correctly set locale categories.
2166         * gcc.c (main): Likewise.
2167         * cppmain.c (general_init): Likewise.
2168         * toplev.c (main): Likewise.
2169         * gcov.c (main): Likewise.
2170         * collect2.c (main): Likewise.
2171
2172 2000-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2173
2174         * c-common.c (c_common_nodes_and_builtins): Create a
2175         cstring_endlink, use it.  Rename int_ftype_string_string to
2176         int_ftype_cstring_cstring, string_ftype_string_int to
2177         string_ftype_cstring_int, and string_ftype_string_string to
2178         string_ftype_cstring_cstring.  Prefer sizetype_endlink and
2179         int_endlink to manually recreating them.  Fix the prototype
2180         set for __builtin_strspn/__builtin_strcspn.
2181
2182 2000-12-12  Marek Michalkiewicz  <marekm@linux.org.pl>
2183
2184         * config/avr/avr.c (out_set_stack_ptr): Update comment.
2185         (print_operand): Add support for %~ and %o.
2186
2187 2000-12-17 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2188
2189         * c4x.h: Add ASM_OUTPUT_DEF definition for bounded pointer code.
2190
2191 2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
2192
2193         * c-lex.c: Move main_input_filename handling to FC_ENTER. Clean up.
2194         * cpperror.c (print_containing_files): Get right line number.
2195         (print_location): Output column of 1 if 0.
2196         * cppfiles.c (stack_include_file): cpp_push_buffer handles
2197         the callback.
2198         * cpphash.h (_cpp_do_file_change): No longer external.
2199         * cpplib.c (do_file_change): Now local to cpplib.c.
2200         (do_line): Fake a buffer stack for preprocessed files.
2201         (cpp_push_buffer): Create a file_change callback.  Handle faked
2202         buffers.
2203         (cpp_pop_buffer): Similarly.
2204         * cpplib.h: BUF_FAKE: New buffer type.
2205         * cppmain.c: Update to handle correct file renaming where a
2206         #line is the first line of the main file, and produce only
2207         the renamed file, not the original file, as output.
2208
2209 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2210
2211         * config/c4x/c4x.md: Remove redundant @s from output patterns.
2212
2213 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2214             Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2215
2216         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Call c4x_init_pragma.
2217
2218         * config/c4x/c4x-protos.h (c4x_init_pragma): New prototype.
2219
2220         * config/c4x/c4x.c (c4x_init_pragma): New function.
2221         (c_lex_func): New variable.
2222         (c4x_parse_pragma): Use c_lex_func.
2223
2224 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2225             Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2226
2227         * config/c4x/c4x.h (MD_INIT_BUILTINS): Add void_list_node argument
2228           to c4x_init_builtins.
2229
2230         * config/c4x/c4x-protos.h (c4x_init_builtins): Add tree argument.
2231
2232         * config/c4x/c4x.c (c4x_init_builtins): Add tree argument.
2233         (c4x_output_ascii):  Fix.
2234
2235 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2236             Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2237
2238         * config/c4x/c4x.h (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Define.
2239
2240         * config/c4x/c4x-protos.h (c4x_init_builtins): New prototype.
2241         (c4x_expand_builtin): Likewise.
2242
2243         * config/c4x/c4x.c (c4x_init_builtins): New function.
2244         (c4x_expand_builtin): Likewise.
2245
2246         * config/c4x/c4x.md (floatunsqihf2): New pattern.
2247         (*floatqihf2_set, *fixhfqi_set, fix_trunchfqi2): Likewise.
2248         (fixuns_trunchfqi2, toieee, frieee, *ldhf_conditional): Likewise.
2249         (*ldhf_conditional_noov, movhfcc, trap, cond_trap_cc): Likewise.
2250         (*toieee_movqf_clobber, *frieee_movqf_clobber): Likewise.
2251
2252 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2253
2254         * libgcc2.h: Use Wtype for SItype and DWtype for DItype in prototypes.
2255         * libgcc2.c (__absvsi2): Use Wtype and DWtype.
2256         (__absvdi2, __addvsi3, __addvdi3, __subvsi3): Likewise.
2257         (__subvdi3, __mulvsi3, __mulvdi3, __negvsi2, __negvdi2): Likewise.
2258
2259 2000-12-16  Alexandre Oliva  <aoliva@redhat.com>
2260
2261         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Enclose the block
2262         statement in do/while(0).
2263
2264 Sat Dec 16 19:56:24 MET 2000  Jan Hubicka  <jh@suse.cz>
2265
2266         * i386.md (ashrsi3_cmpno, ashrhi3_cmpno, ashrqi3_cmpno, lshrsi3_cmpno,
2267         lshrhi3_cmpno): Remove redundant '@' from the template.
2268
2269         * i386.md (cmpstrsi_1): Fix type of the compare.
2270
2271         * genattrtab.c (attr_rtx_cost): New function.
2272         (simplify_test_exp): Avoid overactive inlining; use temporary
2273         obstacks for tests.
2274
2275 Sat Dec 16 10:41:11 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2276
2277         * diagnostic.c (finish_abort): Deleted.
2278         (fatal): Add code from finish_abort.
2279         (error_recursion, fancy_abort): Call fatal, not finish_abort.
2280         (trim_filename): Remove leading "../".
2281         * diagnostic.h (finish_abort): Deleted.
2282         * toplev.c (crash_signal): Call fatal, not finish_abort.
2283
2284         * stor-layout.c (place_field): Treat overflowing DECL_SIZE_UNIT
2285         as if size were variable.
2286
2287         * expmed.c (expand_mult): Write REG_EQUAL note with proper mode.
2288
2289 2000-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2290
2291         * tradcpp.c: T_WARNING: New.
2292         (do_warning): New function.
2293         (finclude): Skip past the newline and increase the line number
2294         before calling output_line_command.
2295         (do_line): Skip the new line after output_line_command.  Don't
2296         pre-decrement the line number.
2297
2298 2000-12-15  Diego Novillo  <dnovillo@redhat.com>
2299
2300         * i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix references to
2301         _GLOBAL_OFFSET_TABLE_ when using Intel syntax.
2302
2303 2000-12-15  Jakub Jelinek  <jakub@redhat.com>
2304
2305         * gcc.c (cpp_options): Pass -fno-operator-names.
2306         * cpplib.h (struct cpp_options): Add operator_names.
2307         * cppinit.c (cpp_create_reader): Initialize it.
2308         (initialize_builtins): If -fno-operator-names, don't add
2309         C++ alternate operator names.
2310         (COMMAND_LINE_OPTIONS): Add -fno-operator-names.
2311         (cpp_handle_option): Clear operator_names.
2312
2313 2000-12-15  Jason Merrill  <jason@redhat.com>
2314
2315         * jump.c (jump_optimize_1): Don't delete the line note after the
2316         prologue even if it seems redundant.
2317
2318         * config/arm/arm.c (arm_expand_prologue): Set RTX_FRAME_RELATED_P
2319         on all insns used to adjust the stack.
2320
2321 Fri Dec 15 15:32:16 MET 2000  Jan Hubicka  <jh@suse.cz>
2322
2323         * combine.c (cant_combine_insn_p): Get around SUBREGs when determining
2324         hardreg<->reg moves.
2325
2326 Fri Dec 15 14:48:37 MET 2000  Jan Hubicka  <jh@suse.cz>
2327
2328         * genrecog.c (add_to_sequence): Remove special case for
2329         const_int_operand.
2330         (maybe_both_true): Return 1 when falling out of sequence when
2331         trying to find common possition in the pattern.
2332
2333 Fri Dec 15 14:44:51 MET 2000  Jan Hubicka  <jh@suse.cz>
2334
2335         * integrate.c (copy_rtx_and_substitute): Copy mode too.
2336
2337 Fri Dec 15 14:11:57 MET 2000  Jan Hubicka  <jh@suse.cz>
2338
2339         * flow.c (notice_stack_pointer_modification_1): Cleanup.
2340
2341 2000-12-15  Alexandre Oliva  <aoliva@redhat.com>
2342
2343         * function.c (adjust_trampoline_addr): New function.
2344         (trampoline_address): Call it instead of round_trampoline_addr().
2345         * tm.texi (TRAMPOLINE_ADJUST_ADDRESS): Document it.
2346
2347 2000-12-14  Zack Weinberg  <zack@wolery.stanford.edu>
2348
2349         * cppfiles.c (hack_vms_include_specification): Delete function
2350         (not used since 1998).
2351
2352 Fri Dec 15 03:37:51 2000  J"orn Rennecke <amylaar@redhat.com>
2353
2354         * haifa-sched.c (sched_init): Don't put a note in front of any BARRIER.
2355
2356 2000-12-14  Jim Wilson  <wilson@redhat.com>
2357
2358         * alias.c (get_alias_set): Call record_component_aliases for
2359         COMPLEX_TYPE.
2360         (record_component_aliases): Handle COMPLEX_TYPE.
2361
2362 2000-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2363
2364         * fixinc/gnu-regex.c: Disable NLS.
2365
2366 2000-12-14  Richard Henderson  <rth@redhat.com>
2367
2368         * config/alpha/alpha.c (alpha_emit_conditional_move): Do not swap
2369         comparison operands when that would create non-canonical rtl.
2370
2371         * config/i386/i386.md (umulsi3_highpart): Remove * from name.
2372         (smulsi3_highpart): Likewise.
2373
2374 2000-12-14  Neil Booth  <neil@daikokuya.demon.co.uk>
2375
2376         * gcc.c (cpp_options): Add -remap.
2377
2378 2000-12-14  Neil Booth  <neil@daikokuya.demon.co.uk>
2379
2380        * gcc.c (cpp_options): Update to use '&'.
2381        (struct switchstr): Change type of validated to save space.
2382        New member 'ordering'.
2383        (handle_braces, validate_switches): Update to handle '&'.
2384
2385 2000-12-13  Laurynas Biveinis  <lauras@softhome.net>
2386
2387         * fixinc/inclhack.def: skip stdio_va_list fix if __DJ_va_list
2388         found in a header.
2389         * fixinc/fixincl.x: regenerated.
2390
2391 2000-12-13  DJ Delorie  <dj@redhat.com>
2392
2393         * config.gcc (cygwin, win32, mingw32): Use float-i386.h.
2394
2395 2000-12-13  Tom Tromey  <tromey@redhat.com>
2396
2397         * gcc.c (handle_braces): Handle %{<S*} spec correctly.
2398
2399 2000-12-13  Alexandre Oliva  <aoliva@redhat.com>
2400
2401         * function.c (assign_parms): Optimize incoming PARALLELs into
2402         REGs if possible.
2403
2404 2000-12-13  Bruce Korb  <bkorb@gnu.org>
2405
2406         * fixinc/Makefile.in(*): substantial rewrite to accommodate systems
2407         that cannot handle bi-directional pipes, viz. BeOS and DOS.
2408         * fixinc/fixlib.h(IGNORE_ARG): new macro
2409         (STATIC): define for all of fixinc to use
2410         * fixinc/fixfixes.c(*): eliminate unused arg warnings
2411         * fixinc/fixtests.c(*): ditto
2412         * fixinc/fixincl.c(start_fixer): chain_open now uses const arg list
2413         * fixinc/gnu-regex.c: reorder some includes to avoid _GNU_SOURCE
2414         warning.  Also, eliminate the ``#ifdef emacs'' stuff.
2415         (re_syntax_options): make global as it is declared so.
2416         * fixinc/mkfixinc.sh: process the argument list more consistently
2417         (beos/msdosdjgpp): set TARGETS to twoprocess vs. oneprocess
2418         * fixinc/procopen.c(globals): include "fixlib.h" for std defs
2419         * fixinc/server.c(globals): ditto
2420         * fixinc/server.h(defines): ditto
2421
2422 2000-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2423
2424         * tradcpp.c (special_symbol): Improve test for definedness,
2425         though it is still not perfect.
2426         (do_define): Don't define illegal macro names.
2427
2428 2000-12-07  Aldy Hernandez  <aldyh@redhat.com>
2429
2430         * config/mips/elf.h (ASM_OUTPUT_SECTION_NAME): emit @nobits
2431         if changing into .bss section.
2432         * config/mips/elf64.h: same.
2433         * config/mips/iris6.h: same.
2434         * config/mips/netbsd.h: same.
2435         * config/mips/openbsd.h: same.
2436
2437 2000-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2438
2439         * cppfiles.c (read_name_map): Return null if open () fails.
2440         (remap_filename): Simplify logic.  Add ICE if it doesn't work
2441         as expected. Perform secondary lookup attempt on base filename
2442         only.
2443
2444 Wed Dec 13 19:48:04 MET 2000  Jan hubicka  <jh@suse.cz>
2445
2446         * flow.c (notice_stack_pointer_modification_1): Notice midifications
2447         using PRE_MODIFY and POST_MODIFY.
2448
2449 Wed Dec 13 17:25:32 MET 2000  Jan Hubicka  <jh@suse.cz>
2450
2451         * genoutput.c (process_template): Add sanity checking for '@' templates.
2452
2453 2000-12-13  Bernd Schmidt  <bernds@redhat.co.uk>
2454
2455         * simplify-rtx.c (cselib_finish): Free reg_values and used_regs
2456         varrays.
2457
2458 2000-12-12  Mike Stump  <mrs@wrs.com>
2459
2460         * Makefile.in (distclean): Remove safe-ctype.c as well.
2461
2462 2000-12-12  Brad Lucier <lucier@math.purdue.edu>
2463
2464         * tradcpp.c (do_error): Cast difference of pointers to int
2465         for error message.
2466
2467 2000-12-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2468
2469         * config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Move from here...
2470         * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): ...to here.
2471
2472 2000-12-12  Jim Wilson  <wilson@redhat.com>
2473
2474         * rtlanal.c (may_trap_p): Check operand modes of LE, LT, GE, and GT.
2475
2476 2000-12-12  Alexandre Oliva  <aoliva@redhat.com>
2477
2478         * configure.in: Simplify language enabling/disabling code.
2479         * configure: Rebuilt.
2480         * ch/config-lang.in (target_libs): Set.
2481         (build_by_default): Set to no.
2482         * cp/config-lang.in (target_libs): Set.
2483         * f/config-lang.in (target_libs): Set.
2484         * java/config-lang.in (target_libs): Set.
2485         * objc/config-lang.in (target_libs): Set.
2486
2487 2000-12-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2488
2489         * tradcpp.c (enum node_type): Add T_ERROR.
2490         (do_error): New function.
2491         (directive_table): Add #error handler.
2492
2493 2000-12-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2494
2495         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Enable .file/.loc check
2496         for powerpc*-*-*.
2497         * configure: Regenerated.
2498         * config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
2499         * config/rs6000/rs6000.c (rs6000_unique_section): Use
2500         STRIP_NAME_ENCODING.
2501
2502 Mon Dec 11 13:51:09 2000  Jeffrey A Law  (law@cygnus.com)
2503
2504         * pa.c (cmpib_comparison_operator): Remove GEU and LTU.
2505         * pa.h (PREDICATE_CODES, cmpib_comparison_operator): Corresponding
2506         changes.
2507
2508 2000-12-11  Bruce Korb  <bkorb@gnu.org>
2509
2510         * fixinc/fixincl.tpl: initialize all fields for warnings
2511         * fixinc/fixincl.x: regenerate
2512
2513 2000-12-11  Neil Booth  <neilb@earthling.net>
2514
2515         * tradcpp.h: For tradcpp, NUL is not whitespace.
2516
2517 2000-12-11  Neil Booth  <neilb@earthling.net>
2518
2519         * fix-header.c (read_scan_file): Macro expansion is not a file buffer.
2520
2521 2000-12-05  Marek Michalkiewicz  <marekm@linux.org.pl>
2522
2523         * config/avr/avr.c (compare_condition, compare_sign_p): New functions.
2524         (compare_diff_p, compare_eq_p): Call compare_condition.
2525         (out_tsthi, out_tstsi): Call compare_sign_p.
2526         (avr_progmem_p): Check for error_mark_node.
2527
2528 2000-12-11  Neil Booth  <neilb@earthling.net>
2529
2530         * cpperror.c (print_location): New function.
2531         (print_containing_files): Simplify.
2532         (_cpp_begin_message): Simplify and use print_location.
2533         * cppfiles.c (stack_include_file): Update.
2534         (_cpp_pop_file_buffer): Update.
2535         * cpphash.h (struct cpp_buffer): New members
2536         include_stack_listed and type.
2537         * cpplib.c (_cpp_handle_directive): Buffer->inc is not null.
2538         (run_directive): Take buffer type.  cpp_push_buffer cannot fail.
2539         (_cpp_do__Pragma, cpp_define, _cpp_define_builtin, cpp_undef,
2540         handle_assertion): Update.
2541         (cpp_push_buffer): Take a buffer type and file name.
2542         (cpp_pop_buffer): Update.  Clear include_stack_listed.
2543         * cpplib.h (input_stack_listing_current): Remove.
2544         (enum cpp_buffer_type): New.
2545         (cpp_push_buffer): New prototype.
2546         * cppmacro.c (builtin_macro): Simplify; buffer cannot be null.
2547         * fix-header.c (read_scan_file): Update.
2548
2549 2000-12-10  Robert Lipe <robertlipe@usa.net>
2550
2551         * install.texi (i*86-*-sco3.2v5*): Remove information duplicated
2552         in html version.
2553
2554 2000-12-10  Richard Henderson  <rth@redhat.com>
2555
2556         * genrecog.c (find_operand): Handle 'V' format code.
2557         (find_matching_operand): New.
2558         (validate_pattern): Accept '=' for an in-out operand if there
2559         is another operand with a matching constraint.
2560
2561         * config/i386/i386.md (andqi_ext_0_cc): Use matching constraint
2562         for op1 to op0.
2563
2564 2000-12-10  Richard Henderson  <rth@redhat.com>
2565
2566         * genrecog.c (validate_pattern) [STRICT_LOW_PART]: Fix thinko.
2567
2568 2000-12-09  Richard Henderson  <rth@redhat.com>
2569
2570         * genrecog.c (validate_pattern): Verify that ZERO_EXTRACT and
2571         STRICT_LOW_PART as SET_DEST have in-out constraints.
2572
2573 2000-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2574
2575         * c-common.c (check_function_format): Don't suggest adding format
2576         attributes to functions with no parameter to which to add them.
2577
2578 2000-12-09  Nick Clifton  <nickc@redhat.com>
2579
2580         * config/arm/arm.c (arm_expand_prologue): Mark the generated
2581         insn not the set as being DWARF2_FRAME_RELATED_P.
2582
2583 2000-12-09  Laurynas Biveinis  <lauras@softhome.net>
2584
2585         * Makefile.in: use $(build_exeext) for all build
2586         system executable targets.
2587
2588 2000-12-09  Laurynas Biveinis  <lauras@softhome.net>
2589
2590         * install.texi: remove i[345]86-*-winnt3.5 section.
2591         * configur.bat: removed.
2592         * config/msdos: directory removed.
2593
2594 2000-12-09  Neil Booth  <neilb@earthling.net>
2595
2596         * cppfiles.c (NEVER_REREAD, DO_NOT_REREAD): Move from cpphash.h.
2597         * cpphash.h (NEVER_REREAD, DO_NOT_REREAD, ABSOLUTE_PATH): Delete.
2598         * cpplex.c (parse_identifier): Improve diagnostic.
2599         (_cpp_lex_token): Return unconditionally at the end of a directive.
2600         * cpplib.c (read_flag): Verify legality of each flag.
2601         (end_directive): Resotre pfile->skipping before skip_rest_of_line.
2602         (do_line): Use the new read_flag.
2603         * cppmacro.c (struct cpp_macro, parse_arg, replace_args,
2604         check_macro_redefinition, parse_params): Rename var_args to
2605         variadic.
2606
2607 2000-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2608
2609         * .cvsignore: Add info files.
2610
2611 2000-12-08 Laurynas Biveinis <lauras@softhome.net>
2612
2613         * config/winnt: Remove obsolete directory.
2614         * install.texi (Configurations): Remove obsolete documentation for
2615         Windows NT.
2616
2617 2000-12-08  Joseph S. Myers  <jsm28@cam.ac.uk>
2618
2619         * configure.in: Don't define INSTALL_INFO.
2620         * configure: Regenerate.
2621         * Makefile.in (INSTALL_INFO): Remove.
2622         (info): Depend on info files in source directory.
2623         (cpp.info, gcc.info, c-tree.info): Build info files in source
2624         directory.
2625         (distclean): Don't remove info files.
2626         (maintainer-clean): Remove info files from source directory.
2627         (install-normal): Depend on install-info.
2628         (install-info): Install info files from source directory, if they
2629         exist.
2630         * texinfo.tex: Update to version 2000-11-09.08 from ftp.gnu.org.
2631
2632 2000-12-08  Alexandre Oliva  <aoliva@redhat.com>
2633
2634         * lcm.c (optimize_mode_switching): Check whether an insn is a NOTE
2635         before taking its NOTE_LINE_NUMBER.
2636
2637 2000-12-08  Nick Clifton  <nickc@redhat.com>
2638
2639         * config/arm/arm.md (load_indirect_jump): Add pool ranges.
2640
2641         * extend.texi: Document ARM "interrupt" function attribute.
2642         Mention that the ARM also support the "naked" function
2643         attribute.
2644
2645         * config/arm/arm-protos.h (arm_current_func_type): Add
2646         prototype.
2647
2648         * config/arm/arm.h (EXCEPTION_LR_REGNUM): Define.
2649         (struct machine_function): Add 'func_type' field.
2650         Define bit values for 'func_type' field.
2651         (ARM_FUNC_TYPE): New macro.
2652         (IS_INTERRUPT): New macro.
2653         (IS_VOLATILE): New macro.
2654         (IS_NAKED): New macro.
2655         (IS_NESTED): New macro.
2656         (ARM_INITIAL_ELIMINATION_OFFSET): Use IS_VOLATILE.
2657
2658         * config/arm/arm.c (isr_attribute_args): New Structure.  A
2659         list of "interrupt" function attribute modifiers.
2660         (arm_isr_value): New Function: Returns the type of the current
2661         interrupt function.
2662         (arm_compute_func_type): New Function: Computes the type of
2663         the current function.
2664         (arm_current_func_type): New Function: Returns the type of the
2665         current function.
2666         (use_return_insn): Use arm_current_func_type.
2667         (arm_valid_type_attribute_p): Accept "interrupt" function
2668         attribute.
2669         (arm_comp_type_attributes): Check "interrupt" attributes.
2670         (arm_valid_machine_decl): Accept "interrupt" function
2671         attribute.
2672         (arm_function_ok_for_sibcall): Do not allow interrupt
2673         functions to use sibcalls.
2674         (arm_naked_function_p): Delete.
2675         (print_multi_reg): Remove redundant parameter 'hat'.
2676         (arm_compute_save_reg_mask): New Function: Compute a bit mask
2677         of registers saved during the current function's prologue.
2678         (output_arm_return_instruction): Use arm_current_func_type.
2679         Generate return instruction when LR is not poppsed off the
2680         stack.
2681         (arm_volatile_func): Delete.
2682         (output_arm_prologue): Use arm_current_func_type and
2683         arm_compute_save_reg_mask.
2684         Note presernce of interrupt functions.
2685         (arm_output_epilogue): Use arm_current_func_type and
2686         arm_compute_save_reg_mask.
2687         (arm_expand_prologue): Use arm_current_func_type and
2688         arm_compute_save_reg_mask.
2689         (arm_init_machine_status): Initialise func_type field, if
2690         necessary.
2691         (thumb_expand_prologue): Use arm_current_func_type.
2692         (output_thumb_prologue): Use arm_current_func_type.
2693
2694 2000-12-08  Brad Lucier <lucier@math.purdue.edu>
2695
2696         * tradcpp.c (do_include): Make pointer differences 64-bit clean.
2697
2698 Fri Dec  8 08:23:29 2000  J"orn Rennecke <amylaar@redhat.com>
2699
2700         * fp-bit.c (_fpmul_parts): Use USItype variables as inputs
2701         for multiplies.
2702
2703 2000-12-07  Mike Stump  <mrs@wrs.com>
2704
2705         * Makefile.in (distclean): Remove alloca.c hashtab.c.
2706
2707 2000-12-07  Zack Weinberg  <zack@wolery.stanford.edu>
2708
2709         * Makefile.in (HOST_RTL): Add safe-ctype.o.
2710         (safe-ctype.o): New rule.
2711         * system.h: Include safe-ctype.h, not ctype.h.  No need to
2712         wrap ctype macros.
2713
2714         * cpphash.h: Zap IStable and related macros.  Define is_* in
2715         terms of safe-ctype.h macros.
2716         * cppinit.c: Delete the IStable and all related code.
2717
2718         * tradcpp.c: Delete is_idchar, is_idstart, is_hor_space, and
2719         is_space arrays.  Delete initialize_char_syntax.  Change all
2720         references to the above arrays to use macros instead.
2721         * tradcpp.h: Define is_idchar, is_idstart, is_space, and
2722         is_nvspace in terms of safe_ctype.h's macros.
2723         * tradcif.y: is_idchar, is_idstart are macros not arrays.
2724
2725         * config/i370/i370.c, config/winnt/dirent.c,
2726         config/winnt/fixinc-nt.c, config/winnt/ld.c:
2727         Use uppercase ctype macros.  If we included ctype.h,
2728         include safe-ctype.h instead.
2729
2730         * fixinc/fixfixes.c: Use uppercase ctype macros.  Don't test
2731         ISLOWER(c) before calling TOUPPER(c).
2732         * fixinc/fixincl.c (extract_quoted_files): Simplify out some gunk.
2733         * fixinc/gnu-regex.c: Include safe-ctype.h, not ctype.h.  No need to
2734         wrap ctype macros.  Don't test ISUPPER(x) before calling TOLOWER(x).
2735
2736 2000-12-07  DJ Delorie  <dj@redhat.com>
2737
2738         * c-decl.c (grokdeclarator): preserve previous alignments when
2739         rebuilding array types.
2740
2741 2000-12-07  Neil Booth  <neilb@earthling.net>
2742
2743         * cppfiles.c (struct include_file): Move from cpphash.h.
2744         (_cpp_never_reread): New function.
2745         (open_file, read_include_file): Use it.
2746         (stack_include_file): Set the buffer's sysp according to the
2747         path in which the file was found.
2748         (find_include_file): Don't set sysp.
2749         (cpp_make_system_header, actual_directory): Update.
2750         (_cpp_execute_include): Do #include_next lookup handling here,
2751         not in cpplib.c.  Use _cpp_never_reread.
2752         * cpphash.h (struct_include_file): Remove.
2753         (struct cpp_buffer): New member sysp.
2754         (CPP_IN_SYSTEM_HEADER, _cpp_execute_include): Update.
2755         (_cpp_never_reread): New.
2756         * cpplib.c (read_line_number): Rename read_flag.  Rework slightly.
2757         (end_directive): Clear line_extension flag.
2758         (_cpp_handle_directive): Set line_extension flag for #number.
2759         (do_include_next): Handle path lookup in _cpp_execute_include.
2760         (do_line): Cleanup to use read_flag.  Don't allow flags in #line.
2761         (_cpp_do_file_change): Update.
2762         (do_pragma_once): Use cpp_never_reread.  Clean up.
2763         * cpplib.h (struct lexer_state): New member line_extension.
2764
2765 2000-12-07  Richard Henderson  <rth@redhat.com>
2766
2767         * flow.c (calculate_global_regs_live): Force the stack pointer live
2768         after reload as well.
2769
2770 2000-12-07  Bruce Korb  <bkorb@gnu.org>
2771
2772         * fixinc/Makefile.*(exeext): the variables are exeext, the
2773         substitution expression is build_exeext.
2774
2775 2000-12-07  Neil Booth  <neilb@earthling.net>
2776
2777         * c-common.c (parse_in): Make a cpp_reader *.
2778         * cppfiles.c (_cpp_fake_include): Remove.
2779         * cpphash.h: Similarly.
2780         * cpplib.c (do_line): Don't call _cpp_fake_include.  A valid
2781         #line always creates a callback; FC_RENAME if there are no
2782         #line flags.
2783         * fix-header.c (read_scan_file): cpp_push_buffer cannot fail.
2784         The first EOF must be our get_char buffer.
2785
2786 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2787
2788         * c-common.c (warn_format_security): New variable.
2789         (check_format_info): Warn about non-literal formats with no format
2790         arguments if either -Wformat-nonliteral or -Wformat-security is
2791         specified.
2792         (set_Wformat): Set warn_format_security for settings other than 1.
2793         * c-common.h (warn_format_security): Declare.
2794         * c-decl.c (c_decode_option): Decode -Wformat-security and
2795         -Wno-format-security.
2796         * invoke.texi: Document -Wformat-security.
2797         * toplev.c (documented_lang_options): Include -Wformat-security
2798         and -Wno-format-security.
2799
2800 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2801
2802         * c-common.c (check_format_info): Warn for non-constant format
2803         strings with strftime formats if -Wformat-nonliteral.  Where the
2804         format can convert arguments, if the format is not a string
2805         literal and there are no arguments to the format, give a different
2806         warning message from the general non-string-literal case.
2807
2808 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2809
2810         * c-common.c (format_wanted_type): Add reading_from_flag.
2811         (print_char_table): Mark %s and %S formats with flag "R".
2812         (check_format_info_main): Set up reading_from_flag appropriately.
2813         If aflag, always set writing_in_flag rather than relying on the
2814         format used being a scanf format and so having it set.
2815         (check_format_types): Check for formats reading through null
2816         pointers.
2817
2818 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2819
2820         * invoke.texi (-Wformat): Document what format features are
2821         checked.
2822
2823 2000-12-06  Kazu Hirata  <kazu@hxi.com>
2824
2825         * config/h8300/h8300.h: Fix formatting.
2826
2827 2000-12-06      Joel Sherrill <joel@OARcorp.com>
2828
2829         * config.gcc (a29k*-*-rtems*, arm*-*-rtems*, c4x-*-rtems*,
2830         h8300-*-rtems*, hppa1.1-*-rtems, *mips*-*-rtems*): New targets.
2831         * config.gcc (*-rtems*): Add support for gthr-rtems.h.
2832         * gthr-rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
2833         config/h8300/rtems.h, config/mips/rtems.h: New files.
2834
2835 2000-12-06  Mark Kettenis  <kettenis@gnu.org>
2836
2837         * config.gcc: Reorganize handling of *-*-gnu*, to share target
2838         specific make details with Linux.  Update comments to clarify
2839         the distinction between GNU/Linux and GNU/Hurd.
2840
2841 Wed Dec  6 19:22:02 2000  Jeffrey A Law  (law@cygnus.com)
2842
2843         * contrib.texi: Fix my email address.  Update Per's
2844         list of contributions.
2845
2846 2000-12-06  Rodney Brown  <RodneyBrown@mynd.com>
2847
2848         * c-lex.c (cb_indent): Decorate `str' argument, unused on HP-UX.
2849         * collect2.c (scan_libraries): Remove unused `ch'.
2850         (COFF specific stuff): Prototype ldgetname.  Declare and prototype
2851         ldbtread and ldclose.
2852
2853         * config/alpha/osf.h: Standarize copyright statement.
2854         * config/arc/arc.h: Likewise.
2855         * config/arm/elf.h config/arm/coff.h config/arm/aout.h: Likewise.
2856         * config/arm/arm.c config/arm/arm.h: Likewise.
2857         * config/elxsi/elxsi.h: Likewise.
2858         * config/i386/sco.h: Likewise.
2859         * config/m68k/crds.h config/m68k/hp320.h config/m68k/lynx.h: Likewise.
2860         * config/m68k/m68kv4.h config/m68k/next21.h: Likewise.
2861         * config/m68k/sun3.h: Likewise.
2862         * config/m88k/dgux.h config/m88k/dguxbcs.h: Likewise.
2863         * config/pdp11/2bsd.h config/pdp11/pdp11.h: Likewise.
2864         * config/romp/romp.h: Likewise.
2865         * config/rs6000/aix41.h: Likewise.
2866         * config/sparc/sysv4.h: Likewise.
2867         * config/we32k/we32k.c config/we32k/we32k.h: Likewise.
2868         * fixinc/gnu-regex.c fixinc/gnu-regex.h: Likewise.
2869         * cpplib.h cppexp.c cselib.h profile.c: Likewise.
2870         * longlong.h: Likewise.
2871         * libgcc2.c: Likewise.
2872
2873 2000-12-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2874
2875         * machmode.def: Use correct definition for BITSIZE on targets where
2876         BITS_PER_UNIT != 8.
2877
2878 2000-12-06  Bruce Korb  <bkorb@gnu.org>
2879
2880         * fixinc/Makefile.*: Reduce differences to (ultimately) reduce
2881         the number of them.
2882
2883 2000-12-06  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
2884
2885         * pa.c: Include expr.h before c-tree.h.
2886         (remove_useless_addtr_insns): Use reverse_condition_maybe_unordered
2887         instead of reverse_condition.
2888         (print_operand): Correct predicates for GT, GE, LT and LE.  Add
2889         predicates for LTGT, UNLE, UNLT, UNGE, UNGT, UNEQ, UNORDERED and
2890         ORDERED.
2891         (cmpib_comparison_operator): Add GEU and LTU codes.
2892         * pa.h (PREDICATE_CODES): Add codes for cmpib_comparison_operator.
2893         * pa.md (bltgt, bunle, bunlt, bunge, bungt, buneq, bunordered,
2894         bordered): New float conditional branch patterns.
2895
2896 Wed Dec  6 21:03:41 2000  J"orn Rennecke <amylaar@redhat.com>
2897
2898         * final.c (final_addr_vec_align): Fix clipping to BIGGEST_ALIGNMENT.
2899
2900 2000-12-06  Sylvain Pion  <Sylvain.Pion@sophia.inria.fr>
2901
2902         * cpplex.c (skip_escaped_newlines): Don't warn for spaces between
2903         backslash and newline, when inside a comment.
2904
2905 2000-12-06  Joseph S. Myers  <jsm28@cam.ac.uk>
2906
2907         * invoke.texi: Use @table @samp instead of @itemize @minus for
2908         table of language standards.  Fix use of @pxref.  From Zack
2909         Weinberg.  Also exclude specs documentation from generated
2910         manpage, and create separate ENVIRONMENT section.
2911
2912 2000-12-06  Michael Matz  <matzmich@cs.tu-berlin.de>
2913
2914         * gcse.c (compute_pre_data): Kill trapping expressions in
2915         destination blocks of abnormal edges.
2916
2917 2000-12-05  Richard Sandiford  <r.sandiford@redhat.com>
2918
2919         * config/mn10300/mn10300.c (mn10300_print_reg_list): Added.
2920         (mn10300_get_live_callee_saved_regs): Likewise.
2921         (mn10300_gen_multiple_store): Likewise.
2922         (store_multiple_operation): Likewise.
2923         (expand_prologue): Use mn10300_gen_multiple_store().
2924         * config/mn10300/mn10300-protos.h (mn10300_print_reg_list): Added.
2925         (mn10300_get_live_callee_saved_regs): Likewise.
2926         (mn10300_gen_multiple_store): Likewise.
2927         (store_multiple_operation): Likewise.
2928         * config/mn10300/mn10300.md (store_movm): Use a MATCH_PARALLEL
2929         tied to store_multiple_operation().
2930
2931 Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
2932
2933         * builtins.c (expand_builtin_setjmp_setup): Set
2934         current_function_has_nonlocal_label.
2935
2936 2000-12-05  Neil Booth  <neilb@earthling.net>
2937
2938         * cppfiles.c (stack_include_file): Push zero-length buffers
2939         in case of failure.  Return void, as we don't fail any more.
2940         (read_include_file): Check for files we shouldn't re-read.
2941         Don't return an error code; errors are implied by marking the
2942         file NEVER_REREAD.
2943         (_cpp_execute_include): Move the recursion and in-macro checks
2944         here.  Update for stack_include_file not failing.
2945         * cpplib.c (cpp_push_buffer): Always succeed, since
2946         _cpp_execute_include performs the recursion check.  Tidy up.
2947         * cpplib.h (cpp_push_buffer): Update prototype.
2948
2949 2000-12-05  Alexandre Oliva  <aoliva@redhat.com>
2950
2951         * sched-vis.c (visual_tbl_line_length): New variable.
2952         (get_visual_tbl_length): Set it.
2953         (visualize_stall_cycles): Don't let stalls overrun
2954         visual_tbl_line_length.
2955
2956 2000-12-05  Geoffrey Keating  <geoffk@redhat.com>
2957
2958         * global.c (global_conflicts): Allow for a REG_UNUSED note
2959         with a different mode to the REG set in the insn.
2960
2961 2000-12-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2962
2963         * Makefile.in (fixinc.sh): Pass $WARN_CFLAGS into fixinc dir.
2964
2965         * fixinc/Makefile.in (FIXINC_DEFS): Add $(WARN_CFLAGS).
2966
2967 2000-12-05  Bruce Korb  <bkorb@gnu.org>
2968
2969         * fixinc/mkfixinc.sh(*-gnu*): activate fixinc for GNU/Hurd and
2970         GNU/Linux.
2971
2972 2000-12-05  Richard Earnshaw  <rearnsha@arm.com>
2973
2974         * fixinc/mkfixinc.sh: Run fixinc on netbsd.
2975         * fixinc/inclhack.def (machine/ansi.h): Run this rule on all files,
2976         to cope with aliased copies.
2977         * fixinc/fixincl.x: Regenerate.
2978
2979 2000-12-05  Bernd Schmidt  <bernds@redhat.co.uk>
2980
2981         * sched-vis.c: Guard with #ifdef INSN_SCHEDULING.
2982         * sched-rgn.c: Likewise.
2983         (rgn_print_insn): Fix output.
2984
2985 2000-12-05  Bruce Korb  <bkorb@gnu.org>
2986
2987         * fixinc/Makefile.*: make these more consistent
2988         * fixinc/mkfixincl.sh: enable BeOS fixincludes
2989
2990 2000-12-05  Richard Henderson  <rth@redhat.com>
2991
2992         * stmt.c (warn_if_unused_value): Move side effects test earlier.
2993
2994 2000-12-05  Alan Modra <alan@linuxcare.com.au>
2995
2996         * bb-reorder.c (reorder_basic_blocks): Do check for EH edges even
2997         when using sjlj.
2998
2999 2000-12-05  Richard Henderson  <rth@redhat.com>
3000
3001         * flow.c (calculate_global_regs_live): Only force stack pointer
3002         live before reload.  Force pic register live before reload.
3003         (insn_dead_p): Don't protect pic references from deletion.
3004
3005 2000-12-05  Joseph S. Myers  <jsm28@cam.ac.uk>
3006
3007         * invoke.texi: Add support for using texi2pod.pl.  Don't use
3008         @multitable.
3009
3010 2000-12-04  Nick Clifton  <nickc@redhat.com>
3011
3012         * config/arm/arm.c (arm_override_options): Test 'insn_flags' not
3013         'tune_flags' for XScale nature.
3014         Remove spurious test of HARD_FLOAT and XScale flags.
3015
3016         * config/arm/arm.md (umulsidi3adddi): Restore "=&r" register
3017         contraint, accidentally changed during XScale contribution.
3018
3019         * config/arm/lib1funcs.asm (interwork_call_via_, call_via_): Do
3020         not create these functions if the target architecture does not
3021         support Thumb instructions.
3022
3023 2000-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3024
3025         * ONEWS: New file with the current contents of NEWS up to EGCS
3026         1.1.
3027         * NEWS: Generate automatically from online release notes from EGCS
3028         1.0 to GCC 2.95.2, using ../contrib/gennews.
3029
3030 2000-12-04  Neil Booth  <neilb@earthling.net>
3031
3032         * tradcif.y: Move lexptr to top of file.  Add rule to handle
3033         assertions in conditional expressions.
3034         * tradcpp.c (parse_answer): Assertions do not need to go to
3035         end of line in conditional directives.
3036         (parse_assertion): Get first character of identifiers correct.
3037         (test_assertion): New function.
3038         * tradcpp.h (test_assertion): New prototype.
3039
3040 2000-12-01  Rodney Brown  <RodneyBrown@mynd.com>
3041
3042         * config.gcc: Fix typo for UnixWare 7.
3043
3044 2000-12-03  Phil Edwards  <pme@sources.redhat.com>
3045
3046         * invoke.texi:  Replace `pedwarns' with clearer text.
3047
3048 2000-12-04  Bruce Korb  <bkorb@gnu.org>
3049
3050         * fixinc/Makefile.*(clean):  don't clean autogenerated files.
3051         (mainainer-clean): clean autogenerated files
3052
3053 2000-12-04  DJ Delorie  <dj@redhat.com>
3054
3055         * md.texi: Add overview, clarify match_dup and define_expand.
3056
3057 2000-12-04  DJ Delorie  <dj@redhat.com>
3058
3059         * print-tree.c (print_node): Target-specific builtins print
3060         numbers, not names.
3061
3062 2000-12-04  Jason Merrill  <jason@redhat.com>
3063
3064         * stor-layout.c (int_mode_for_mode): Handle MODE_VECTOR_INT,
3065         MODE_VECTOR_FLOAT.
3066
3067         * diagnostic.c (report_problematic_module): s/function/module/.
3068
3069         * c-lex.h: Remove decl for check_newline.
3070
3071 2000-12-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3072
3073         * README.APOLLO: Remove obsolete file.
3074
3075 2000-12-04  Neil Booth  <neilb@earthling.net>
3076
3077         * cppinternals.texi: New file.
3078
3079 2000-12-04  Neil Booth  <neilb@earthling.net>
3080
3081         * cppfiles.c (cpp_make_system_header): Take 2 booleans,
3082         and operate on current buffer.
3083         (cpp_read_file): Rename _cpp_read_file.
3084         * cpplib.c (do_line, do_pragma_system_header): Update calls to
3085         cpp_make_system_header.
3086         * fix-header.c: Similarly.
3087         * cpphash.h (_cpp_read_file): Move from...
3088         * cpplib.h: ... here.
3089         * cppinit.c (do_includes, cpp_start_read): Update appropriately.
3090
3091 2000-12-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3092
3093         * builtins.c (expand_builtin_strspn, expand_builtin_strcspn):
3094         Handle another transformation.
3095
3096 2000-12-03  Nick Clifton  <nickc@redhat.com>
3097
3098         * config.gcc: Add support for StrongARM targets.
3099         * config/arm/t-strongarm-elf: New file.
3100         * config/arm/t-strongarm-coff: New file.
3101         * config/arm/t-strongarm-pe: New file.
3102         * config/arm/strongarm-pe.h: New file.
3103
3104 2000-12-03  Nick Clifton  <nickc@redhat.com>
3105
3106         * NEWS: Mention XScale has been added.
3107         * config.gcc: Add support for XScale targets.
3108         * config/arm/arm.h: Add support for XScale processor.
3109         * config/arm/arm.c: Add support for XScale processor.
3110         * config/arm/arm.md: Add support for XScale processor.
3111         * config/arm/t-xscale-elf: New file.
3112         * config/arm/t-xscale-coff: New file.
3113         * config/arm/xscale-elf.h: New file.
3114         * config/arm/xscale-coff.h: New file.
3115
3116 2000-12-03  Richard Henderson  <rth@redhat.com>
3117
3118         * bb-reorder.c (reorder_basic_blocks): Don't check for EH edges
3119         unless exception handling is enabled, and if not using sjlj.
3120
3121         * builtins.c (expand_builtin_setjmp_setup): New.
3122         (expand_builtin_setjmp_receiver): New.
3123         (expand_builtin_setjmp): Split out _setup and _receiver functions.
3124         Move argument parsing in from ...
3125         (expand_builtin): ... here.
3126         * except.c (receive_exception_label): Branch around receiver
3127         unless new-style exceptions.  Call expand_builtin_setjmp_receiver.
3128         (start_dynamic_handler): Call expand_builtin_setjmp_setup.
3129         * expr.h: Update builtin setjmp decls.
3130
3131 2000-12-03  Bruce Korb  <bkorb@gcc.org>
3132
3133         * fixinc/mkfixinc.sh(build machine): Sometimes, there is no canonical
3134         build machine name.  Default to the target.
3135
3136 2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
3137
3138         * Makefile.in: use $(build_canonical), not $(canonical_build).
3139
3140 2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
3141
3142         * Makefile.in (OBJS): Add sched-rgn.o.
3143         (sched-rgn.o): New rule.  * haifa-sched.c (sched_verbose): No
3144         longer static.
3145         (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
3146         INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
3147         UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
3148         MAX_BLOCKAGE_COST): Move to sched-int.h.
3149         (MAX_RGN_BLOCKS, MAX_RGN_INSNS, INSN_REF_COUNT, FED_BY_SPEC_LOAD,
3150         IS_LOAD_INSN, struct haifa_edge, edge_table, NEXT_IN, NEXT_OUT,
3151         FROM_BLOCK, TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES,
3152         OUT_EDGES, edgelst, struct region, nr_regions, rgn_table,
3153         rgn_bb_table, block_to_bb, containing_rgn, RGN_NR_BLOCKS,
3154         RGN_BLOCKS, BLOCK_TO_BB, BB_TO_BLOCK, CONTAINING_RGN,
3155         debug_regions, find_single_block_region, find_rgns, too_large,
3156         init_regions, current_nr_blocks, current_blocks, bitset, bitlst,
3157         bitlst_table_last, bitlst_table_size, bitlst_table, bitset_member,
3158         extract_bitlst, bblst, struct candidate, candidate_table,
3159         bblst_table, bblst_size, bblst_last, IS_VALID, IS_SPECULATIVE,
3160         SRC_PROB, target_bb, split_edges, compute_trg_info,
3161         debug_candidate, debug_candidates, bbset, bbset_size, dom,
3162         IS_RGN_ENTRY, IS_DOMINATED, prob, GET_SRC_PROB, edgeset,
3163         rgn_nr_edges, rgn_edges, edgeset_size, edgeset_bitsize,
3164         EDGE_TO_BIT, edge_to_bit, pot_split, ancestor_edges,
3165         compute_dom_prob_ps, ABS_VALUE, INSN_PROBABILITY,
3166         IS_SPECULATIVE_INSN, INSN_BB, MIN_DIFF_PRIORITY, MIN_PROBABILITY,
3167         MIN_PROB_DIFF, check_live_1, update_live_1, check_live,
3168         update_live, set_spec_fed, is_pfree, find_conditional_protection,
3169         is_conditionally_protected, may_trap_exp, haifa_classify_insn,
3170         is_prisky, is_exception_free, add_branch_dependences,
3171         propagate_deps, compute_block_backward_dependences,
3172         debug_dependencies, is_cfg_nonregular, build_control_flow,
3173         new_edge, bb_deps, BITSET_UNION, BITSET_INTER, BITSET_DIFFER,
3174         BITSET_INVERT, BITSET_ADD, BITSET_REMOVE, debug_regions,
3175         UPDATE_LOOP_RELATIONS, INSN_TRAP_CLASS, WORST_CLASS, IS_REACHABLE,
3176         CONST_BASED_ADDRESS_P, free_pending_lists, sched_target_n_insns,
3177         target_n_insns, sched_n_insns, init_ready_list, deaths_in_region,
3178         can_schedule_ready_p, new_ready, schedule_more_p, rgn_print_insn,
3179         rgn_rank, region_sched_info): Move to sched-rgn.c.
3180         (debug_reg_vector): Delete useless function.
3181         (get_bb_head_tail): Likewise.
3182         (insn_issue_delay, insn_cost, ready_add, get_block_head_tail,
3183         no_real_insns_p, rm_line_notes, save_line_notes,
3184         restore_line_notes, rm_redundant_line_notes, sched_init): No
3185         longer static.
3186         (rm_line_notes, save_line_notes, restore_line_notes,
3187         schedule_block, set_priorities): Change argument to be a real
3188         basic block, not one of haifa's "bb"s.  All callers changed
3189         (rm_other_notes): Initialize note_list here, not in
3190         schedule_region.
3191         (sched_finish): New function, called from schedule_insn.  * *
3192         sched-int.h (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
3193         INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
3194         UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
3195         MAX_BLOCKAGE_COST): Moved here from haifa-sched.c.
3196         (get_block_head_tail, no_real_insns_p, rm_line_notes,
3197         save_line_notes, restore_line_notes, rm_redundant_line_notes,
3198         rm_other_notes, insn_issue_delay, set_priorities, schedule_block,
3199         sched_init, sched_finish, ready_add, insn_cost): Declare.
3200
3201 2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
3202             Bruce Korb  <bkorb@gnu.org>
3203
3204         * Makefile.in: pass $(build_canonical) to mkfixinc.sh.
3205         * fixinc/mkfixinc.sh: accept build system name as an argument.
3206         Use it for choosing the fix build method.  Use the target for
3207         selecting special fix rules.
3208
3209 2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
3210
3211         * Makefile.in (OBJS): Add sched-deps.o.
3212         (sched-deps.o): New rule.
3213         * haifa-sched.c (struct deps, struct haifa_insn_data): Moved to
3214         sched-int.h.
3215         (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved to
3216         sched-int.h.
3217         (SIZE_FOR_MODE): Delete unused macro.
3218         (reg_known_equiv_p, reg_known_value, reg_pending_clobbers,
3219         reg_pending_sets, reg_pending_sets_all, true_dependency_cache,
3220         anti_dependency_cache, output_dependency_cache,
3221         forward_dependency_cache): Variables moved to sched-deps.c.
3222         (add_dependence, remove_dependence, find_insn_list,
3223         find_insn_mem_list, add_insn_mem_dependence, flush_pending_lists,
3224         sched_analyze_insn, sched_analyze_1, sched_analyze_2,
3225         sched_analyze, group_leader, compute_forward_dependences,
3226         init_deps, free_deps, init_dependency_caches, free_dependency_caches):
3227         Functions moved to sched-deps.c.
3228         (schedule_region): Call init_deps_global and finish_deps_global
3229         instead of directly manipulating dependency data structures.
3230         * sched-deps.c: New file.
3231         (init_deps_global, finish_deps_global): New functions.
3232         * sched-int.h (struct haifa_insn_data, struct deps): Moved here from
3233         haifa-sched.c.
3234         (h_i_d): Declare.
3235         (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved here
3236         from haifa-sched.c.
3237
3238         * Makefile.in (OBJS): Add sched-vis.o.
3239         (sched-vis.o): New rule.
3240         * haifa-sched.c (get_unit_last_insn): New function.
3241         (sched_dump, insn_unit, actual_hazard_this_instance): No longer
3242         static.
3243         (schedule_block): Call visualize_alloc and visualize_free.  Delete
3244         spurious return statement.
3245         (init_target_units, insn_print_units, get_visual_tbl_length,
3246         init_block_visualization, print_block_visualization, safe_concat,
3247         visualize_scheduled_inns, visualize_no_unit, visualize_stall_cycles,
3248         print_exp, print_value, print_pattern, print_insn, target_units,
3249         MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, visual_tbl,
3250         n_vis_no_unit, vis_no_unit): Move scheduling visualization
3251         functions/variables...
3252         * sched-vis.c: ...here.  New file.
3253         (visualize_alloc, visualize_free): New functions.
3254         (visualize_scheduled_insns, visualize_stall_cycles,
3255         print_block_visualization): Lose basic block argument.  All callers
3256         changed.
3257         (visualize_scheduled_insns): Use new function get_unit_last_insn.
3258         * sched-int.h (current_sched_info, sched_dump): Declare.
3259         (init_target_units, insn_print_units, init_block_visualization,
3260         print_block_visualization, visualize_scheduled_inns,
3261         visualize_no_unit, visualize_stall_cycles, visualize_alloc,
3262         visualize_free): Declare functions.
3263
3264         * sched-int.h: New file.
3265         * Makefile.in (haifa-sched.o): Depend on it.
3266         * haifa-sched.c: Include it.
3267         (no_real_insns_p): New function.
3268         (current_sched_info): New static variable.
3269         (__inline, HAIFA_INLINE): Moved to sched-int.h.
3270         (get_block_head_tail): Minor cleanup.
3271         (init_ready_list, can_schedule_ready_p, new_ready, schedule_more_p,
3272         rgn_print_insn, rgn_rank): New functions, broken out of
3273         rank_for_schedule, schedule_insn and schedule_block, where they
3274         are now called through function pointers in current_sched_info.
3275         (queue_insn, schedule_insn, queue_to_ready, debug_ready_list,
3276         print_insn): To display uid and block number, call the print_insn
3277         function pointer in current_schedule_info.
3278         (region_sched_info): New static variable.
3279         (sched_target_n_insns, sched_n_insns, target_n_insns): New global
3280         variables, moved out of schedule_block.
3281         (schedule_block): Return void.  All callers changed.
3282         Move some of the setup code into schedule_region.  Get head/tail
3283         from current_sched_info, and update it when done.
3284         (schedule_region): Slightly rearranged, some code moved here from
3285         schedule_block.  Call no_real_insns_p to avoid doing work for a
3286         block that consists only of notes and labels.
3287         (schedule_insns): Initialize current_sched_info.
3288
3289 2000-12-03  Neil Booth  <neilb@earthling.net>
3290
3291         * cppmacro.c (funlike_invocation_p): Re-disable macros enabled
3292         by contexts drops AFTER argument pre-expansion, so that they
3293         remain enabled during argument pre-expansion.
3294         (_cpp_pop_context): Unconditionally re-enable a macro when
3295         dropping a context level.
3296
3297 2000-12-03  Manfred Hollstein  <manfredh@redhat.com>
3298
3299         * arm/t-linux (MULTILIB_OPTIONS): Comment.
3300         (MULTILIB_DIRNAMES): Likewise.
3301         (EXTRA_MULTILIB_PARTS): Likewise.
3302         (LIBGCC): Likewise.
3303         (INSTALL_LIBGCC): Likewise.
3304
3305 2000-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3306
3307         * builtins.c (expand_builtin_strcat, expand_builtin_strncat,
3308         expand_builtin_strspn, expand_builtin_strcspn): New functions.
3309         (expand_builtin): Handle BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
3310         BUILT_IN_STRSPN and BUILT_IN_STRCSPN.
3311
3312         * builtins.def (BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
3313         BUILT_IN_STRSPN, BUILT_IN_STRCSPN): New entries.
3314
3315         * c-common.c (c_common_nodes_and_builtins): Declare builtin
3316         strcat, strncat, strspn and strcspn.
3317         (string_ftype_string_cstring): Renamed from `string_ftype_ptr_ptr'.
3318
3319         * extend.texi (strcat, strcspn, strncat, strspn): Document new
3320         builtins.
3321
3322 2000-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3323
3324         * builtins.c (expand_builtin_strcmp): Use const*_rtx when
3325         expanding strcmp at compile-time.  Add another transformation.
3326         (expand_builtin_strncmp): Add more transformations.  Call
3327         expand_builtin_memcmp, not expand_builtin_strcmp, under
3328         appropriate conditions if HAVE_cmpstrsi.
3329
3330 2000-12-02  David Edelsohn  <edelsohn@gnu.org>
3331
3332         * rs6000.md (anddi3_internal[23]): Prefer rldic? over andis
3333         instruction.
3334         (cr logic): Really make operands sequential.
3335
3336 2000-12-02  Geoffrey Keating  <geoffk@redhat.com>
3337
3338         * c-common.c (combine_strings): When the ISO C standard specifies
3339         the maximum length of a string, it doesn't include the trailing
3340         zero byte.
3341
3342         * cpplib.c (do_ifdef): Add check_eol() call.
3343         (do_ifndef): Likewise.
3344
3345 2000-12-02  Daniel Berlin  <dberlin@redhat.com>
3346             Bruce Korb  <bkorb@gnu.org>
3347
3348         * fixinc/*: global substitute /__MSDOS__/SEPARATE_FIX_PROC/
3349         * fixinc/mkfixinc.sh: prepare to use Makefile.BEOS for *-*-beos*
3350         * fixinc/Makefile.DOS: define SEPARATE_FIX_PROC for build
3351         * fixinc/fixfix.c(wrap_fix): avoid wrapping files that
3352         use the "__need_" hackery.  It breaks them.
3353         * fixinc/fixincl.c(process - SEPARATE_FIX_PROC):
3354         Sometimes on DOS and BeOS the temp output file cannot be opened.
3355         Skip the file noisily.  Ought to be fixed instead.
3356
3357 2000-12-02  Bruce Korb  <bkorb@gnu.org>
3358
3359         From: 2000-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3360
3361         * fixfixes.c (emit_gnu_type, format_write): Prototype.
3362         (format_write, char_macro_use_fix, char_macro_def_fix): Use gcc's
3363         custom uppercase ctype macros.
3364         * fixincl.c (do_version): Make static and add ATTRIBUTE_NORETURN.
3365         Use gcc's custom uppercase ctype macros.
3366         (main): Prototype.
3367         (machine_matches): Add static prototype and constify variable.
3368         (create_file, test_test, egrep_test): Add static prototype.
3369         (quoted_file_exists): Likewise, and constify parameters.
3370         (extract_quoted_files, internal_fix, start_fixer, fix_applies,
3371         write_replacement, test_for_changes): Add static prototype.
3372         (write_replacement, test_for_changes): Delete excess argument to
3373         `create_file'.
3374         * fixtests.c (test): Make static.
3375         * server.c (load_data, sig_handler, server_setup, find_shell): Add
3376         static prototype.
3377         (sig_handler): Mark parameter with ATTRIBUTE_UNUSED.
3378
3379 2000-12-02  Bruce Korb  <bkorb@gnu.org>
3380
3381         * fixnc/mkfixinc.sh(msdosdjgpp): remove from fixincludes exception list
3382         (per Laurynas Biveinis  <lauras@softhome.net>)
3383
3384 2000-12-02  Richard Earnshaw  <rearnsha@arm.com>
3385
3386         * arm.h (ARM_REGNO_OK_FOR_BASE_P, THUMB_REGNO_MODE_OK_FOR_BASE_P): New
3387         macros.
3388         (REGNO_MODE_OK_FOR_BASE_P): Define in terms of above.
3389         (REGNO_OK_FOR_FOR_BASE_P): Delete.
3390         (ARM_REG_OK_FOR_BASE_P, THUMB_REG_MODE_OK_FOR_BASE_P): New macros for
3391         both strict and non-strict uses.
3392         (REG_MODE_OK_FOR_BASE_P): Define in terms of above.
3393         (ARM_REG_OK_FOR_INDEX_P, THUMB_REG_OK_FOR_INDEX_P): New macros.
3394         (REG_OK_FOR_INDEX_P): Define in terms of above.
3395         (REG_OK_FOR_BASE_P): Delete.
3396         (REG_OK_FOR_PRE_POST_P): Delete.
3397         (ARM_BASE_REGISTER_RTX_P): Renamed from BASE_REGISTER_RTX_P.
3398         (ARM_INDEX_REGISTER_RTX_P): Renamed from INDEX_REGISTER_RTX_P.
3399         (ARM_GO_IF_LEGITIMATE_INDEX): Renamed from GO_IF_LEGITIMATE_INDEX.
3400         (THUMB_LEGITIMATE_OFFSET): Renamed from LEGITIMATE_OFFSET.
3401         (ARM_GO_IF_LEGITIMATE_ADDRESS): Adjust for name changes.  Use ARM
3402         specific variants rather than general ones.  Use ARM_REG_OK_FOR_BASE_P
3403         in pre/post increment cases.
3404         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Similarly for Thumb.
3405         (ARM_LEGITIMIZE_ADDRESS): Similarly.
3406         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Similarly.
3407         * arm.c (legitimate_pic_address): Similarly.
3408
3409 2000-12-02  Neil Booth  <neilb@earthling.net>
3410
3411         * tradcpp.c (struct answer, parse_assertion, parse_answer,
3412         canonicalize_text, find_answer): New.
3413         (do_assert, do_unassert): Provide appropriate function bodies.
3414         (union hashval): New member answers.
3415
3416 2000-11-23  Marek Michalkiewicz  <marekm@linux.org.pl>
3417
3418         * config/avr/avr.md: Document UNSPEC usage.
3419         (*tablejump_rjmp, *tablejump_lib, *tablejump_enh, *tablejump):
3420         Make operand 0 input only, clobber it.  Use UNSPEC, not a bogus
3421         MEM for program memory word reference.  Do not add the label to
3422         the table index in each of the asm output templates, instead ...
3423         (casesi): ... do it in RTL.  Adjust to match the above change.
3424
3425 2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
3426
3427         * c-common.c (PTRDIFF_TYPE): Provide default here, ...
3428         * c-decl.c: ... not here.
3429
3430         * haifa-sched.c (sched_dump): Renamed from dump.  All users changed.
3431         (old_max_uid): New variable.
3432         (compute_forward_dependences): Renamed from
3433         compute_block_forward_dependences; changed to accept block head and
3434         tail instead of block number.  Caller changed.
3435         (free_deps, init_dependency_caches, free_dependency_caches,
3436         init_regions, sched_init): New functions, split out from
3437         schedule_insns and compute_block_backward_dependences.
3438
3439 2000-12-02  Neil Booth  <neilb@earthling.net>
3440
3441         * cppexp.c (parse_number): Update diagnostic test.
3442
3443 2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
3444
3445         * reload1.c (free_for_value_p): New function, frontend to
3446         reload_reg_free_for_value_p.  All callers of the latter now call
3447         this function with an additional mode argument.
3448
3449 2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3450
3451         * install.texi (Configurations): Remove obsolete documentation for
3452         hppa*-*-*.
3453
3454 2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3455
3456         * install.texi (Installation): Remove obsolete description for
3457         libstdc++ which is now an integral part of GCC.
3458
3459 2000-12-01  Jim Blandy  <jimb@redhat.com>
3460
3461         * dbxout.c (dbxout_parms): Correctly describe parameters passed by
3462         invisible reference in registers, but then spilled to the stack.
3463         Remove code to emit a second stab for such parameters; it attempts
3464         to describe the value's location by introducing a synthetic C++
3465         `reference' type, and then saying the stack slot has that
3466         reference type.  This loses type information (breaking GDB's
3467         `ptype' command, among other things) just to describe a location
3468         which stabs can represent correctly in other ways.
3469
3470 2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
3471
3472         * final.c (output_addr_const) <PLUS>: Don't assume at least one
3473         operand is a CONST_INT.
3474
3475         * config/sh/sh.c (reg_class_from_letter): Assign `k' to SIBCALL_REGS.
3476         (machine_dependent_reorg): Split all insns.
3477         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Compute
3478         reg_class_contents[SIBCALL_REGS].
3479         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add SIBCALL_REGS.
3480         * config/sh/sh.md (calli_pcrel, call_pcrel, call_valuei_pcrel,
3481         call_value_pcrel, call, call_value, sibcall): Match even when
3482         not optimizing.
3483         (sibcalli_pcrel, sibcall_pcrel): Likewise.  Use constraint `k'
3484         for call address.
3485         (sibcalli): Likewise.
3486
3487 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
3488
3489         * c-common.c (warn_format, warn_format_y2k,
3490         warn_format_extra_args, warn_format_nonliteral): Define.
3491         (check_format_info): Check warn_format_nonliteral and
3492         warn_format_extra_args.
3493         (check_format_info_main): Check warn_format_y2k.
3494         (set_Wformat): New function.
3495         * c-common.h (warn_format_y2k, warn_format_extra_args,
3496         warn_format_nonliteral, set_Wformat): Declare.
3497         * c-decl.c (warn_format): Remove definition.
3498         (c_decode_option): Handle -Wformat-nonliteral,
3499         -Wno-format-extra-args and -Wno-format-y2k, and negated versions.
3500         Use set_Wformat.
3501         * invoke.texi: Document these new options and -Wformat=2.
3502         * toplev.c (documented_lang_options): Add these new options.
3503
3504 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
3505
3506         * builtins.def (BUILT_IN_IMAXABS): Add.
3507         * builtins.c (expand_builtin): Also abort on BUILT_IN_IMAXABS.
3508         * c-common.c (c_common_nodes_and_builtins): Create builtin
3509         functions __builtin_imaxabs, and plain imaxabs unless
3510         flag_no_nonansi_builtin outside C99 mode.
3511         (expand_tree_builtin): Handle BUILT_IN_IMAXABS.
3512         * extend.texi: Document builtin imaxabs.
3513
3514 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
3515
3516         * c-common.c: Include "defaults.h".
3517         (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Define.
3518         (c_common_nodes_and_builtins): Create string_type_node,
3519         const_string_type_node, wint_type_node, intmax_type_node,
3520         uintmax_type_node, default_function_type, ptrdiff_type_node and
3521         unsigned_ptrdiff_type_node.
3522         * c-common.h (identifier_global_value): Declare.
3523         * c-decl.c (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Don't define.
3524         (init_decl_processing): Don't create string_type_node,
3525         const_string_type_node, wint_type_node, intmax_type_node,
3526         uintmax_type_node, default_function_type, ptrdiff_type_node and
3527         unsigned_ptrdiff_type_node.
3528         (identifier_global_value): New function.
3529
3530 2000-12-01  Neil Booth  <neilb@earthling.net>
3531
3532         * cppinit.c (initialize): Forgotten prototype.
3533         * cpplex.c (_cpp_lex_token): Loop until not skipping.
3534         Always clear PREV_WHITE upon meeting a new line.
3535         * cpplib.c (end_directive): Set pfile->skipping after
3536         skip_rest_of_line.
3537         * cpplib.h (cpp_reader): Remove macro_pos.
3538         * cppmacro.c (cpp_get_line): Don't do anything special inside
3539         macros.
3540         (parse_arg): Add PREV_WHITE if a token appears after new lines.
3541         (funlike_invocation_p): Save and restore the output position
3542         over a successful check for a '('.
3543         (enter_macro_context): Delete uses of macro_pos.
3544         (cpp_get_token): Don't use pfile->skipping.
3545
3546 2000-12-01  Phil Edwards  <pme@sources.redhat.com>
3547
3548         * diagnostic.c:  Fix typos in comments.
3549         * diagnostic.h:  Likewise.
3550
3551 2000-11-30  Phil Edwards  <pme@sources.redhat.com>
3552
3553         * rtl.texi (Machine Modes):  Document BImode and OImode.
3554
3555 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
3556
3557         * gcc.c (default_compilers): Add suffixes .mi, .cp, .ii, .FOR and
3558         .FPP.
3559
3560 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
3561
3562         * c-decl.c (grokdeclarator): If pedantic, warn about arrays with
3563         incomplete element type.
3564         (grokparms): Before checking for incomplete parameter type, check
3565         the type isn't error_mark_node.
3566
3567 2000-12-01  Jakub Jelinek  <jakub@redhat.com>
3568
3569         * builtins.c (target_char_cast): New function.
3570         (expand_builtin_strchr): Use it.
3571         (expand_builtin_strrchr): Use it.
3572         (builtin_memset_read_str): New function.
3573         (expand_builtin_memset): Use target_char_cast.
3574         Try to optimize memset with second argument non-zero using
3575         store_by_pieces.
3576
3577 2000-11-30  Marek Michalkiewicz  <marekm@linux.org.pl>
3578
3579         * install.texi (avr): Replace incomplete list of supported MCU
3580         types with a link to the current one ...
3581         * invoke.texi (AVR Options): ... here.  Update -mmcu= to list
3582         all supported MCU types.  Document -minit-stack= default.
3583         Document new options -mno-tablejump, -mtiny-stack.
3584         * md.texi (AVR family):  Fix typo in 'w' constraint letter
3585         description.  Document 'q'.  Update 'O'.
3586
3587 2000-12-01  Bernd Schmidt  <bernds@redhat.co.uk>
3588
3589         * combine.c (cant_combine_insn_p): Only disallow insns involving
3590         hard regs if they are reg-reg moves.
3591         (try_combine, can_combine_p, combinable_i3pat): Delete old
3592         SMALL_REGISTER_CLASSES tests.
3593
3594 2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
3595
3596         * config/sh/sh.c (shiftcosts): Don't get INTVAL before testing
3597         whether X is a CONST_INT.
3598         (addsubcosts): Likewise.
3599
3600         * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Use INTVAL instead of
3601         mis-used XINT.
3602         (ARG_POINTER_REGNUM): Set to AP_REG.
3603
3604 2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
3605
3606         * config/sh/sh.md (fpu_switch0, fpu_switch1, movpsi, fpu_switch,
3607         splits): Only match on TARGET_SH4.
3608
3609         * combine.c (try_combine): Disregard USEs when updating LOG_LINKS
3610         of subsequent insns.
3611
3612 2000-11-30  Richard Henderson  <rth@redhat.com>
3613
3614         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Disable.
3615         * config/alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
3616
3617 2000-11-30  Richard Henderson  <rth@redhat.com>
3618
3619         * config/alpha/elf.h (ASM_OUTPUT_SECTION_NAME): Copy elfos.h defn.
3620         (DO_SELECT_SECTION): New.
3621         (SELECT_SECTION): Use it.
3622         (UNIQUE_SECTION_P): New.
3623         (UNIQUE_SECTION): New.
3624
3625 2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
3626
3627         * c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status
3628         from va_list before using it.
3629
3630 2000-11-30  Michael Matz  <matzmich@cs.tu-berlin.de>
3631
3632         * flow.c (make_edge): Early out, if no flags to set.
3633         (calculate_global_regs_live): Clear out garbage only when necessary.
3634
3635         * simplify-rtx.c (varray_type used_regs): New.
3636         (clear_table): Use it to only clear necessary items.
3637         (cselib_lookup, cselib_record_set): Remember newly set items.
3638         (cselib_update_varray_sizes, cselib_init): Initialize and grow
3639         used_regs.
3640
3641         * local-alloc.c (update_equiv_regs): New local `cleared_regs'.
3642         Move clearing of dead regs out of insn-loop.
3643
3644 2000-11-30  Richard Henderson  <rth@redhat.com>
3645
3646         * calls.c (expand_call): Emit queued insns before creating
3647         the tail recursion sequence.
3648
3649 2000-11-30  J. David Anglin  <dave.anglin@nrc.ca>
3650             Bruce Korb  <bkorb@gnu.org>
3651
3652         * fixinc/inclhack.def(): prevent dual double definition protection
3653         * fixinc/fixincl.x: regenerate
3654
3655 2000-11-29  Loren J. Rittle  <ljrittle@acm.org>
3656
3657         * fixinc/Makefile.in (fixincl.x): Explicitly state the
3658         location of the generated file.
3659
3660 2000-11-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3661
3662         * README.FRESCO: Remove obsolete file.
3663
3664 2000-11-30  Mark Kettenis  <kettenis@gnu.org>
3665
3666         * config/t-gnu (LIBGCC1, CROSS_LIBGCC1, CRTSTUFF_T_CFLAGS,
3667         TARGET_LIBGCC2_CFLAGS): Remove.  We now use the settings from
3668         config/t-linux for the Hurd.
3669
3670 2000-11-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3671
3672         * config/mn10200/udivmod.c, config/mn10200/divmod.c,
3673         config/mn10200/udivmodsi4.c: Moved from here.
3674         * config/udivmod.c, config/divmod.c, config/udivmodsi4.c: To here.
3675         * config/mn10200/t-mn10200 (LIB2FUNCS_EXTRA): Use the generic
3676         C division functions.
3677         * config/m68hc11/t-m68hc11-gas (LIB2FUNCS_EXTRA): Likewise.
3678
3679 Thu Nov 30 01:12:52 2000  Jeffrey A Law  (law@cygnus.com)
3680
3681         * pa.md (conditional moves): Avoid holes in operand list.
3682         (mod, umod patterns): Similarly.
3683         (variable extract/shift patterns): Similarly.
3684
3685 2000-11-30  Neil Booth  <neilb@earthling.net>
3686
3687         * objc/objc-act.c (lang_init, finish_file, maybe_objc_comptypes,
3688         maybe_objc_check_decl, build_objc_string_object,
3689         objc_declare_alias, objc_declare_class, build_message_expr,
3690         build_protocol_expr, build_selector_expr, build_encode_expr,
3691         get_class_ivars, start_class, start_protocol): Remove
3692         redundant code, assuming doing_objc_thang is true.
3693
3694 2000-11-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3695
3696         * pa.c (restore_unscaled_index_insn_codes): Delete procedure.
3697         (record_unscaled_index_insn_codes): Likewise.
3698         (unscaled_index_insn_codes): Delete.
3699         (max_unscaled_index_insn_codes_uid): Delete.
3700         (output_function_prologue, output_function_epilogue, pa_reorg):
3701         Don't use the unscaled index insn hack.
3702
3703         * pa.md: Remove hack from all index insns to reverse the operand
3704         order of frame and stack pointer references incorrectly created
3705         in the reload pass.
3706
3707         * function.h (emit_status): Delete member regno_pointer_flag and
3708         rename regno_pointer_flag_length to regno_pointer_align_length.
3709         Delete define for REGNO_POINTER_FLAG.
3710         * integrate.h (inline_remap): Delete member regno_pointer_flag.
3711         Add member x_regno_reg_rtx.
3712         * rtl.h (rtx_def): Use frame_related bit to indicate register is
3713         a pointer in REG expressions.  Define REG_POINTER macro.
3714         * alias.c (find_base_value, find_base_term): Use REG_POINTER
3715         instead of REGNO_POINTER_FLAG.
3716         * combine.c (nonzero_bits, num_sign_bit_copies): Likewise.
3717         * emit-rtl.c (gen_reg_rtx): Use regno_pointer_align_length instead
3718         of regno_pointer_flag_length.  Remove code which refers to
3719         regno_pointer_flag.
3720         (mark_reg_pointer): Use REG_POINTER.
3721         (free_emit_status): Remove code which refers to regno_pointer_flag.
3722         (init_emit, mark_emit_status): Likewise.
3723         * flow.c (dump_flow_info): Likewise.
3724         * function.c (preserve_temp_slots): Likewise.
3725         * integrate.c (expand_inline_function, copy_rtx_and_substitute):
3726         Use x_regno_reg_rtx instead of regno_pointer_flag for function
3727         pointer determination in map.
3728         * loop.c (strength_reduce, maybe_eliminate_biv_1): Use REG_POINTER.
3729         * predict.c (estimate_probability): Likewise.
3730         * regclass.c (record_address_regs, reg_scan_mark_refs): Likewise.
3731         * unroll.c (unroll_loop): Use x_regno_reg_rtx instead of
3732         regno_pointer_flag for function pointer determination in map.
3733         * convex.h (RTX_COSTS): Don't test regno_pointer_flag and use
3734         REG_POINTER.
3735         * pa.c (hppa_legitimize_address, emit_move_sequence, basereg_operand):
3736         Use REG_POINTER.
3737         (restore_unscaled_index_insn_codes): Revise comment.
3738
3739         * expr.c (do_compare_and_jump): Add missing TYPE_MODE in statement.
3740
3741 2000-11-30  Joseph S. Myers  <jsm28@cam.ac.uk>
3742
3743         * extend.texi: Update documentation for attributes.
3744
3745 2000-11-29  David O'Brien  <obrien@FreeBSD.org>
3746
3747         * config/alpha/elf.h (IDENT_ASM_OP): Protect the #define.
3748         (ASM_DECLARE_OBJECT_NAME): Same.
3749         (ASM_FILE_END): Same.
3750         (ASM_FINISH_DECLARE_OBJECT): Same.
3751         (ASM_IDENTIFY_GCC): Same.
3752         (ASM_IDENTIFY_LANGUAGE): Same.
3753         (ASM_OUTPUT_CONSTRUCTOR): Same.
3754         (ASM_OUTPUT_DEF): Same.
3755         (ASM_OUTPUT_DESTRUCTOR): Same.
3756         (ASM_OUTPUT_EXTERNAL_LIBCALL): Same.
3757         (ASM_OUTPUT_SECTION_NAME): Same.
3758         (ASM_WEAKEN_LABEL): Same.
3759         (BSS_SECTION_ASM_OP): Same.
3760         (COMMON_ASM_OP): Same.
3761         (CONST_SECTION_ASM_OP): Same.
3762         (CONST_SECTION_FUNCTION): Same.
3763         (CTORS_SECTION_ASM_OP): Same.
3764         (DTORS_SECTION_ASM_OP): Same.
3765         (ESCAPES): Same.
3766         (FINI_SECTION_ASM_OP): Same.
3767         (IDENT_ASM_OP): Same.
3768         (IDENT_ASM_OP): Same.
3769         (INIT_SECTION_ASM_OP): Same.
3770         (INT_ASM_OP): Same.
3771         (MAX_OFILE_ALIGNMENT): Same.
3772         (SBSS_SECTION_ASM_OP): Same.
3773         (SDATA_SECTION_ASM_OP): Same.
3774         (SECTION_FUNCTION_TEMPLATE): Same.
3775         (SELECT_SECTION): Same.
3776         (SE_CONST_SECTION): Same.
3777         (SIZE_ASM_OP): Same.
3778         (SKIP_ASM_OP): Same.
3779         (STRING_ASM_OP): Same.
3780         (STRING_LIMIT): Same.
3781         (TYPE_ASM_OP): Same.
3782         (TYPE_OPERAND_FMT): Same.
3783
3784 2000-11-29  Neil Booth  <neilb@earthling.net>
3785
3786         * c-decl.c (c_decode_option): Don't handle -lang-objc.
3787         * objc/lang-options.h: Remove -lang-objc.
3788         * objc/lang-specs.h: Don't pass -lang-objc to cc1obj.
3789         * objc/objc-act.c (lang_init_options): Set c_language.
3790
3791 2000-11-29  Jakub Jelinek  <jakub@redhat.com>
3792
3793         * expr.c (can_store_by_pieces): Reinitialize max_size for reverse
3794         tests.
3795
3796 2000-11-29  Neil Booth  <neilb@earthling.net>
3797
3798         * c-pragma.c (init_pragma): Update for parse_in type change.
3799
3800 2000-11-29  Laurynas Biveinis  <lauras@softhome.net>
3801
3802         * configure.in: recognize DOS-style absolute paths.
3803
3804 2000-11-29  Jakub Jelinek  <jakub@redhat.com>
3805
3806         * expr.h (store_by_pieces): Add prototype.
3807         (can_store_by_pieces): Likewise.
3808         * expr.c (struct store_by_pieces): Renamed from clear_by_pieces.
3809         (can_store_by_pieces): New.
3810         (store_by_pieces): New.
3811         (clear_by_pieces): New.
3812         (clear_by_pieces_1): New.
3813         (store_by_pieces_1): Renamed from clear_by_pieces, handle storing
3814         arbitrary compiler generated constants into memory block.
3815         (store_by_pieces_2): Renamed from clear_by_pieces_1, likewise.
3816         * builtins.c (c_readstr): New.
3817         (builtin_memcpy_read_str): New.
3818         (expand_builtin_memcpy): If src is string constant and
3819         emit_block_move would move it by pieces, compute integer constants
3820         from the string and store it into memory block instead.
3821         (builtin_strncpy_read_str): New.
3822         (expand_builtin_strncpy): If N is not constant zero and c_strlen does
3823         not return INTEGER_CST, don't optimize.
3824         If N is larger than strlen(src) + 1, try to copy the string
3825         including padding with store_by_pieces.
3826         (expand_builtin_strcmp): If both arguments have side effects, don't
3827         optimize.
3828         (expand_builtin_fputs): If STR has side effects, don't optimize.
3829
3830 2000-11-29  Richard Earnshaw  <rearnsha@arm.com>
3831
3832         * arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
3833         Add use of link register.
3834
3835 2000-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
3836
3837         * extend.texi: Update documentation for default format attributes.
3838
3839 Tue Nov 28 21:56:45 2000  Jeffrey A Law  (law@cygnus.com)
3840
3841         * pa/pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
3842         a list, to keep track of the sections.
3843
3844 2000-11-28  Nick Clifton  <nickc@redhat.com>
3845
3846         * config/arm/arm.md (pic_load_addr): Split into
3847         pic_load_addr_arm and pic_load_addr_thumb.
3848
3849         * config/arm/arm.c (legitimize_pic_address): Generate either
3850         ARM or Thumb versions of pic_load_addr.
3851         (arm_finalize_pic): Generate either ARM or Thumb versions of
3852         pic_load_addr.
3853
3854 2000-11-28  Richard Henderson  <rth@redhat.com>
3855
3856         * calls.c (expand_call): Defer const/pure NO_DEFER_POP until
3857         after sibcall do_pending_stack_adjust.
3858
3859 Wed Nov 29 00:08:23 2000  J"orn Rennecke <amylaar@redhat.com>
3860
3861         * jump.c (delete_insn): Check that REG_LABEL note actually contains
3862         a CODE_LABEL.
3863
3864 2000-11-28  Neil Booth  <neilb@earthling.net>
3865
3866         * c-common.h: Remove flag_digraphs.
3867         * c-decl.c: Remove flag_digraphs.
3868         (c_decode_option): Don't set it.
3869         * c-lex.c (init_c_lex): Don't do anything for digraphs.
3870
3871 2000-11-28  Richard Henderson  <rth@redhat.com>
3872
3873         * c-parse.in (finish_parse): Update for parse_in type change.
3874         (_yylex): Likewise.
3875
3876 2000-11-28  Neil Booth  <neilb@earthling.net>
3877
3878         * cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean
3879         indicating whether to scan all buffers on the stack or
3880         just one.
3881         * cppinit.c (do_includes): Update.
3882         * cppmain.c (main): Update.
3883         * cpplib.h: Update prototype.
3884
3885 2000-11-28  Richard Henderson  <rth@redhat.com>
3886
3887         * genoutput.c (validate_insn_operands): New.
3888         (gen_insn): Call it.
3889
3890         * config/alpha/alpha.md (divmodsi_internal): Renumber operands.
3891         (divmoddi_internal): Likewise.
3892         * config/arm/arm.md (andsi3_compare0_scratch): Likewise.
3893         * config/i960/i960.md (branch patterns): Likewise.
3894         * config/ia64/ia64.md (tbit_and_0): Likewise.
3895         (tbit_and_1, tbit_or_0, tbit_or_1): Likewise.
3896         * config/m68k/m68k.md (zero_extract memory patterns): Likewise.
3897         * config/mips/mips.md (divmodsi4_internal): Likewise.
3898         (divmoddi4_internal): Likewise.
3899         * config/rs6000/rs6000.md (call patterns): Likewise.
3900         * config/sh/sh.md (movsi_y): Likewise.
3901         * config/sparc/sparc.md: Comment out if 0 v8p shift pattern.
3902
3903 2000-11-28  Richard Henderson  <rth@redhat.com>
3904
3905         * config.gcc: Kill residual pyramid support.
3906
3907 2000-11-28  Neil Booth  <neilb@earthling.net>
3908
3909         * c-lex.h (parse_in): Change parse_in to a cpp_reader *.
3910         * c-decl.c (c_decode_option): Update to match.
3911         * c-lex.c (init_c_lex, yyparse): Update to match.
3912         * c-lang.c (lang_init_options): Use cpp_create_reader.
3913         * cppinit.c (cpp_init): Rename initialize.
3914         (cpp_reader_init): Rename cpp_create_reader.  Create the
3915         reader.  Initialize cpplib if appropriate.
3916         * cpplib.h (cpp_create_reader) New prototype.
3917         (cpp_init, cpp_reader_init): Delete prototypes.
3918         * cppmain.c (general_init, setup_callbacks): New functions.
3919         (main): Use them.
3920         * fix-header.c (scan_in): Change type to cpp_reader *.
3921         (read_scan_file): Update for new cpplib interface and scan_in type.
3922
3923         * cp/decl.c (parse_in): Change to cpp_reader *.
3924         (lang_decode_option): Update.
3925         * cp/lex.c (lang_init_options): Use new cpplib interface.
3926         (init_cp_pragma, finish_parse, handle_pragma_implementation): Update.
3927         * cp/spew.c (read_token): Update.
3928         * objc/objc-act.c (lang_init_options): Update new cpplib interface.
3929
3930 2000-11-28  Jakub Jelinek  <jakub@redhat.com>
3931
3932         * loop.c (load_mems): Avoid using next_label to find end_label. If
3933         jumping outside of the loop (other than loop end), don't hoist MEMs
3934         out of loop.
3935
3936 2000-11-28  Jan Hubicka  <jh@suse.cz>
3937
3938         * calls.c (expand_call): Don't disable tail recursion based
3939         on the loop nest.
3940
3941 2000-11-28  Neil Booth  <neilb@earthling.net>
3942
3943         * tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT.
3944         (struct directive): Drop 4th argument from handlers.
3945         (do_define, do_line, do_include, do_undef, do_else, do_elif,
3946         do_endif): Similarly.
3947         (do_assert, do_unassert, do_ifdef, do_ifndef): New handlers.
3948         (do_ifxdef): Update as common handler of do_ifdef and do_ifndef.
3949         (make_definition, make_undef): Take a const char*.
3950         (make_assertion): New function.
3951         (struct directive_table): Update.
3952         (main): Handle -A command line argument.
3953         (handle_directive): Drop fourth handler argument.
3954
3955 2000-11-28  Bernd Schmidt  <bernds@redhat.co.uk>
3956
3957         * simplify-rtx.c (cselib_record_sets): Ignore sets whose destination
3958         is anything but REG or MEM, but look inside STRICT_LOW_PART.
3959
3960 Tue Nov 28 09:53:50 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3961
3962         * system.h (IS_DIR_SEPARATOR): Use uppercase macro name.
3963         (IS_ABSOLUTE_PATHNAME): New macro.
3964         * gcc.c (find_a_file, process_command, do_spec_1, main): Use it.
3965
3966 2000-11-28  Jakub Jelinek  <jakub@redhat.com>
3967
3968         * config/i386/i386.md (truncxfsf2_2): Fix predicate.
3969
3970 2000-11-27  Jim Wilson  <wilson@redhat.com>
3971
3972         * reload1.c (reload): Use HOST_WIDE_INT for old_frame_size.
3973
3974 2000-11-27  Matthias Klose  <doko@cs.tu-berlin.de>
3975
3976         * extend.texi (Nested Functions): Update URL of Usenix paper.
3977
3978 2000-11-27  Mark Mitchell  <mark@codesourcery.com>
3979
3980         * function.c (free_after_compilation): Clear x_clobber_return_insn.
3981
3982 2000-11-27  Neil Booth  <neilb@earthling.net>
3983
3984         * cppinit.c (cpp_reader_init): Remove handling of warn_paste
3985         command line options.
3986         (cpp_handle_option): Similarly.
3987         * cpplib.h (struct cpp_options): Remove warn_paste.
3988         * cppmacro.c (paste_tokens): Apart from assembler, make
3989         unpasteable token warning mandatory.
3990
3991 2000-11-27  Neil Booth  <neilb@earthling.net>
3992
3993         * tradcpp.c (enum pending_dir_t, struct pending_dir): New.
3994         (main): Allocate a pending directive set of these.  Use it.
3995         Merge handling of -D and -U.  Update handling of pending
3996         directives.  Free the memory after use.
3997
3998 2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
3999
4000         * flow.c (entry_exit_blocks): Add entry for cond_local_set.
4001         (struct propagate_block_info): Add new member cond_local_set.
4002         (propagate_block): Accept new arg cond_local_set.  All callers
4003         changed.
4004         (init_propagate_block_info): Likewise.
4005         (calculate_global_regs_live): Allocate & free cond_local_set.  Always
4006         rescan if there's overlap between cond_local_set and new_live_at_end.
4007         (mark_set_1): Set bits either in cond_local_set or local_set, as
4008         appropriate.
4009         * basic-block.h (struct basic_block_def): New field cond_local_set.
4010         (propagate_block, init_propagate_block_info): Update prototypes.
4011
4012 Mon Nov 27 17:29:44 2000  kaz Kojima <kkojima@rr.iij4u.or.jp>
4013
4014         * gcc/config/sh/sh.md (udivsi3_i4, udivsi3_i4_single): Clobber
4015         T register.
4016
4017 2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
4018
4019         * arm.c (select_dominance_cc_mode): Handle new way that combine
4020         canonicalizes conditional compares.
4021         (arm_select_cc_mode): Likewise.
4022         * arm.md: Garbage collect some dead code.
4023         (cmp_and, cmp_ior): New patterns.
4024         (splitter for conditional move with inverted false): Use cond_exec
4025         and handle unordered comparisons.
4026
4027 Mon Nov 27 17:22:56 MET 2000  Jan Hubicka  <jh@suse.cz>
4028
4029         * i386.c (ix86_force_to_memory, ix86_free_from_memory): New.
4030         * i386-protos.h (ix86_force_to_memory, ix86_free_from_memory): Declare
4031         * i386.md (float?i?f, int/fp operations): Rewrite spliters to use
4032         ix86_force_to_memory and ix86_free_from_memory.
4033
4034 2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
4035
4036         * arm.md (arm_adddi3, adddi_sesidi_di, adddi_zesidi_di, arm_addsi3,
4037         arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di,
4038         anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3,
4039         one_cmpldi2): Merge with splitters to create define_insn_and_split
4040         patterns.  Remove redundant splits.
4041         (peephole2 for add:SI of invalid immediate): New.
4042         (peephole2 for minus:SI of invalid immediate): New.
4043         (peephole2 for ior:SI of invalid immediate): New.
4044         (peephole for merge of move and compare): Convert ot peephole2.
4045         (addsf3, adddf3): Mark as commutative.
4046
4047         * arm.md (thumb peephole for merging stack adjustments): Convert to
4048         peephole2.